free5GC+UERANSIM

使用arp、ifconfig、docker inspect及网桥brctl 相关命令,收集容器IP及Mac地址相关信息,可以梳理出UERANSIM+free5GC模拟环境组网,如下图所示:

如上图所示:环境基于ubuntu 18.04 VMware虚机部署,5GC网元分别部署在虚机的docker容器中。5GC各模拟网元模拟RAN 通过虚拟网桥进行数据交换。物理机上的VMware 虚拟网卡作为DN(互联网节点)通过虚拟网桥与容器中的UPF对接。

(需注意:确定Linux内核版本,必须要5.0.0-23-generic 或者 5.4.0之后的版本)

内核问题需要补充:确定Linux内核版本,必须要5.0.0-23-generic 或者 5.4.0之后的版本

ubuntu 22.04的内核有些是5.15.0-150-generic,有些是5.4.0-150-generic,导致在编译的过程中,总会报各种错误;而linux中关于内核降级非常复杂,因此建议一开始确定内核版本,或者直接采用ubuntu 18.04,其内核版本为3.x.x,虽然版本也不正确,但是linux中内核升级相对方便,只需要补充一下source.list,然后直接在线下载即可,不需要修改grub文件。原因很简单,Linux自动采用高版本的内核。如果不放心,建议修改grub文件,然后在开机过程中进入高级模式,方便调试。

bash 复制代码
sudo apt install 'linux-image-5.0.0-23-generic'
sudo apt install 'linux-headers-5.0.0-23-generic'

而当数据依赖包在从github进行下载时,可能会出现连接失败或者连接超时等问题,则可采用以下方案进行解决:

bash 复制代码
git config --global --unset http.proxy 
git config --global url."https://ghproxy.com/https://github.com".insteadOf "https://github.com"

该语句在执行中会报错git clone -b v0.2.0 https://github.com/PrincOwO/gtp5g.git,但是在执行过程中会出现问题。

解决方法:

bash 复制代码
git clone -b v0.2.0 https://github.com/PrinzOwO/gtp5g.git

5G核心网架构:

5G网络由众多网元构成,每个网元都有特定的功能,UE为用户设备,(R)AN为(无线)接入网络,DN为数据网络,红框内为核心网中的网元集合。

5G核心网采用基于服务的系统架构,在部署上采用虚拟机和容器的方式,采用软件定义网络(SDN)和网络功能虚拟化(NFV)的技术,将控制与转发分离,技术成本大幅降低,使网络更加开放,且具有编程能力。

5G核心网中拥有众多的网元,如AMF、UDM、NRF等,共同承担起核心网的功能,其中与用户注册管理关系最密切的网元是AMF网元,从图中也可看出,AMF网元与基站通过N2口进行通信。

用户注册管理:

用户注册管理是用于用户和网络之间进行注册和注销,在网络建立上下文的过程,用户想要获取网络提供的业务必须先向网络进行注册。

用户注册管理有四个场景:

1 用户初次注册网络

2 用户周期性注册网络

3 用户位置变更引起的网络重新注册

4 紧急业务引发的网络注册

5G终端初始注册接入核心网及会话建立流程:

5G终端初始注册接入核心网并建立会话的流程主要有以下几个步骤:

1 UE开机,连接到5G基站,发送5G网络注册请求,基站在该过程中透明,只会转发用户的注册请求到5G核心网。

2 在收到用户的注册请求时,因为是初始注册,核心网没有用户的上下文信息,所以就会向用户发送身份验证请求。

3 用户在验证了验证请求的真实性后,会向核心网发送身份验证信息,再次发送注册请求到核心网。

4 核心网收到用户的身份验证信息后,对用户的信息进行验证鉴权,如果通过,就返回注册接收消息,并且发送用户上下文初始化请求,根据用户的回应设置用户的上下文。

5 设置完成后,用户会发送PDU会话建立请求。

6 核心网接受了PDU建立请求后,设置相应的PDU资源。

7 用户可以与核心网进行通信,开始发送和接收数据,进行业务访问。

5G AKA协议核心原理:

参考TS33.501、TS33.102 5G AKA认证协议核心是基于鉴权向量AV的产生与传输、MAC的验证、RES的认证,其核心简要概括如下:
核心网 AV的产生

F1-F5算法通常采用Milenage算法。

计算消息认证码(MAC):MAC = F1K(SQN || RAND || AMF);

计算期望的认证应答(XRES):XRES = F2K (RAND);

网络认证令牌(AUTN):AUTN = (SQN⊕AK )|| AMF || MAC;

AV:AV=RAND||XRES||CK||IK||AUTN;

核心网发起认证时将AV传递到 UE。

UE 对于核心网AV的认证:
验证SQN是否在正确范围内

消息序列号(SQN):(SQN⊕AK )⊕AK

预期的计算消息认证码(XMAC):F1K(SQN || RAND || AMF);

UE认证的核心网即MAC与XMAC之间的比对。

核心网对于UE RES的认证:

核心网在生成AV的同时会记录XRES,UE认证MAC的同时会将RES返回核心网进行认证。

核心网认证UE核心即 RES与XRES之间的比对。

认证模型中K是如何来的?

5G 各网元密钥采用层次化的派生体系

每一个层级的密钥都有对应的KDF密钥导出函数进行推导,如K->Kausf 的推导,Kausf->Kseaf 的推导,具体参见《TS 33.501 5G 系统安全架构和过程》的 Figure 6.2.2-1:网络节点的5G密钥分发和密钥导出方案 。

至于UE 与核心网双向认证的模型中的K,应该就是本密钥层次模型中的顶层PermanentKey。

相关推荐
明朝百晓生5 小时前
无线感知会议系列【3】【基于WiFi和4G/5G的非接触无线感知:挑战、理论和应用-1】
网络·5g
Hqst_Kevin17 小时前
Hqst 品牌 H81801D 千兆 DIP 网络变压器在光猫收发器机顶盒中的应用
运维·服务器·网络·5g·网络安全·信息与通信·信号处理
AORO_BEIDOU1 天前
防爆手机+鸿蒙系统,遨游通讯筑牢工业安全基石
5g·安全·智能手机·信息与通信·harmonyos
晨曦_子画2 天前
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
5g·架构·istio
成都古河云3 天前
智慧园区:解析集成运维的未来之路
大数据·运维·人工智能·科技·5g·安全
思茂信息4 天前
5G毫米波阵列天线仿真——CDF计算(手动AC远场)
linux·服务器·网络·数据库·5g·matlab
NewsMash4 天前
南京移动5G-A无人机赋能螃蟹产业迎来运输革命
5g·无人机
万界星空科技6 天前
万界星空科技电池MES具体功能及解决方案
运维·经验分享·科技·5g·能源·制造·业界资讯
一路向前-执着7 天前
linux下lvm(逻辑卷管理器)
linux·运维·5g
汉思新材料8 天前
3C电子胶黏剂在手机制造方面有哪些关键的应用
嵌入式硬件·5g·智能手机·芯片封胶