《5G核心网原理与实践》实践篇 · AMF 网元功能
《5GC原理与实践》实践篇(35) AMF能根据SUPI或Routing Indicator来选择AUSF
爱卫生
2023年02月13日 22:54
《5GC原理与实践》实践篇是按网元来规划的。包括AMF篇、SMF篇、PCF篇等。
本文是AMF篇的第35篇。
1.6.5 AMF能根据SUPI或Routing Indicator来选择AUSF
1.6.5.1 概述
根据规范,AMF需在注册流程中选择AUSF。具体来看,有两种场景。
取决于UE注册时用的是什么ID:加密的SUCI还是未加密的SUCI(null-scheme,本质上传递的还是明文的SUPI)。
如果采用加密的SUCI,是需要用户到运营商营业厅换卡的。
但如果用户没有去换卡(即运营商宣称的不换卡不换号),通常就只能使用未加密的SUCI方案了。
1)如果UE采用加密的SUCI注册,则AMF应能从注册请求NAS消息的SUCI中提取出routing-indicator,并以此作为查询条件,向NRF查
询AUSF。
2)如果UE采用未加密的SUCI注册,则AMF应能从SUCI中提取出SUPI,并以此作为查询条件,向NRF查询AUSF。
当NRF返回AUSF的信息后,AMF将调用AUSF的鉴权服务,发起后续的鉴权流程。
和上一节一样,AMF也是通过调用NRF暴露的Nnrf_NFDiscovery服务完成网元的发现与选择。
1.6.5.2 消息举例(基于Routing-indicator查询)
下面来看一个实际的AMF在注册中查询NRF选择AUSF的消息举例。本例中,AMF收到的UE-ID为加密的SUCI。
1)检查AMF收到的NAS注册请求消息。
可以看到本例中,UE-ID类型为SUCI,Routing-Indicator=0,加密算法是ECIES scheme profileB。采用的归属地的公钥ID=3,以及可
以看到Scheme output是SUPI加密的结果字符串。
2)AMF提取出routing-indicator=0,向NRF发起查询。发给NRF的查询请求,采用GET方法,Request-uri携带了查询的主要参数:
-Request-uri=/nnrf-disc/v1/nf-instances?service-names=nausf-auth&target-nf-type=AUSF&requester-nf-type=AMF&routingindicator=0
可以看到在uri中包含了查询条件routing-indicator=0。Target-nf-type=AUSF表示查询的是AUSF网元。service-names=nausf-auth表明
请求的AUSF网元需要支持鉴权服务。
3)NRF给AMF返回200 OK。在JSON编码的DATA部分包含了查询结果:
可以看到,NRF返回的结果中包含了AUSF的信息,该AUSF所支持的service-name以及routing-indicator均与AMF请求的一致。满足
AMF的需求。
1.6.5.3 消息举例(基于SUPI查询)
下面来看一个实际的AMF在注册中查询NRF选择AUSF的消息举例。本例中,AMF收到的UE-ID为未加密的SUCI(non-scheme算
法)。
1)检查AMF收到的NAS注册请求消息。
可以看到本例中,UE-ID类型为SUCI,Routing-Indicator=0,加密算法是NULL scheme。采用的归属地的公钥ID=0,以及可以看到
Scheme output实际上是明文的没有加密的。Scheme output加上前面的MCC/MNC就是IMSI。
2)AMF重新构建好SUPI(MCC+MNC+Scheme output),向NRF发起查询。发给NRF的查询请求,采用GET方法,Request-uri携带
了查询的主要参数:
-Request-uri=/nnrf-disc/v1/nf-instances?service-names=nausf-auth&target-nf-type=AUSF&requester-nf-type=AMF&supi=imsi460990000099999&routing-indicator=0
可以看到在uri中包含了查询条件routing-indicator=0和SUPI=imsi-460990000099999。Target-nf-type=SMF表示查询的是AUSF网元。
service-names=nausf-auth表明请求的AUSF网元需要支持鉴权服务。
3)NRF给AMF返回200 OK。在JSON编码的DATA部分包含了查询结果。输出结果和1.6.5.2节基本相同,不再赘述。