1. UE初始註冊的關鍵流程為:
(1)UE向AMF傳送註冊請求
(2)AMF查詢NRF得到AUSF,獲取歸屬地的AUSF可以發起鑑權請求
(3)獲取到AUSF地址後,AMF請求AUSF對UE進行鑑權,AUSF透過UDM獲取鑑權向量返回給AMF
(4)AMF對UE合法性進行鑑權,UE透過鑑權向量計算得到鑑權結果RES轉發到AMF
(5)AMF首先站在拜訪地對UE進行鑑權,鑑權透過後轉發UE計算的鑑權結果到AUSF進行再次鑑權
(6)鑑權透過後,AMF對UE發起安全流程,用於NAS訊息的加密和完整性保護(防止被篡改)
(7)AMF到UDM中做註冊登記,完成UE和AMF的繫結,同時獲取UE的簽約資料
(8)AMF根據GPSI(手機號)向NRF查詢,獲取PCF地址
(9)得到PCF地址後,向PCF傳送請求獲取接入管理策略am-policy
(10)AMF向UE回覆註冊接受請求
1.1 UE發給AMF的註冊請求(UE-ID為SUCI)
註冊請求中的主要引數:
(1)Messagetype:Registrationrequest。這個是5GNAS訊息型別。這裡是註冊請求。
(2)5GS registration type:initialregistration。表示因為開機發起的初始註冊。和週期性註冊、移動性註冊更新、緊急註冊這幾種註冊型別區分出來。
(3)Security header type取值為0,表示未加密的明文NAS訊息。即5G-EA0演算法。
(4)NAS keyset identifier:用於安全上下文的標識。本例取值為7。另外子引數TSC表示NAS安全上下文的型別。Native表示是5GAMF原生的安全上下文(而不是4-->5對映過來的)
(5)5GS mobile identity:5G使用者標識。可以是5G-GUTI或者SUCI。這裡是SUCI。SUCI包括了RoutingIndicator(本例為0,用於迴歸屬地AUSF/UDM的定址)、HomeNetworkpublickeyid(本例為3,表示UE加密SUCI用到的公鑰標識)、Schemeoutput(是SUPI加密以後的密文輸出)、ProtectionschemeId(取值為1表示採用ECIESprofileA加密演算法,中文叫橢圓曲線加密演算法)。
(6)UE security capability:UE所支援的加密和完整性保護演算法。用於和AMF的演算法協商,取交集。
1.2 AMF查NRF得到AUSF
AMF根據UE註冊請求中提供的Routing Indicator查NRF,得到歸屬地AUSF。這樣可以發起鑑權請求。AMF呼叫NRF的Discovery服務,發起AUSF的查詢。用的是HTTP Get方法。但Get方法是不允許透過JSON來封裝引數的。只能把引數部分放在request uri裡,多個引數用&分隔。在Get請求中攜帶了多個引數。包括:
(1)service-names=nausf-auth。我要選擇的網元是AUSF,並支援AUTH這個服務。
(2)requester-nf-type=AMF。請求者也就是我是誰?我是AMF。
(3)routing-indicator=0。這就是查詢條件。拿RI來換AUSF的nfprofile(網元檔案)。
NRF返回200 OK,包括了AUSF的nf profile(定址資訊和能力資訊),主要引數有:
(1)validity Period:結果的有效期,這裡是180秒。
(2)nf Instances:網元例項名。每個例項就代表一個活的網元,通常是uuid格式。
(3)nf Type:網元型別,這裡返回AUSF。
(4)nf Status: REGISTERED。表示在NRF中的註冊狀態。這裡是已註冊。
(5)plmnList:目標網元支援的PLMN列表。-capacity:AUSF的靜態容量。
(6)sNssais:AUSF所支援的切片。
(7)FQDN:AUSF的域名
(8)priority:AUSF優先順序。
(7)nf Services:AUSF所支援的服務。-ipEndPoints:AUSF的IP和埠號。
(8)ausfinfo:ausf網元的特有引數。包括AUSF所支援的supi range:也就是使用者IMSI號段。AUSF對應的group、以及關聯的Routing indicator。
1.3 AMF請求AUSF進行鑑權並獲取鑑權引數
AMF呼叫AUSF的authentication服務,請求AUSF對UE進行鑑權,該服務是HTTP Post方法。AUSF通常和UDM是合設的,因此AUSF會把SUPI或SUCI發給UDM,UDM據此選擇UE的鑑權方法,並返回相關的鑑權向量組(如果收到的是SUCI,UDM需要先根據本地的私鑰解密成SUPI。)。AUSF發201 Created響應,並把鑑權向量組返回給AMF。AMF給AUSF的請求訊息:
(1)Request-uri是:/nausf-auth/v1/ue-authentications,是AUSF的鑑權服務入口。
引數包括SUCI和AMF的拜訪地serving network name。AUSF回的201 created。主要引數有:
選擇的鑑權演算法authType:5G_AKA 表示UDM為UE選擇的鑑權演算法是5G AKA。
5g AuthData是鑑權引數組中的rand(隨機數,要發給UE,用於UE計算鑑權結果)、autn(發給UE,用於UE對網路側的鑑權)、hxresStar(發給AMF,用於AMF站在拜訪地角度,比對鑑權結果。)
1.4 AMF向AUSF轉發UE計算結果,AUSF進行鑑權比對
AMF站在拜訪地角度對UE進行鑑權後(比對HRES*和HXRES*),再次呼叫AUSF的auth服務(PUT方法)將UE的計算結果RES*發給AUSF進行比對。AUSF比對成功後返回200 OK。AMF-->AUSF的PUT請求,主要引數有:
(1)request-uri:/nausf-auth/v1/ue-authentications/112233/5g-aka-confirmation。其中112233是authctxid
(2)res*:UE計算出的鑑權結果。
AUSF給AMF的響應引數包括
(1)authresult:鑑權結果。本例取值為success表示鑑權成功。
(2)Kseaf:用於金鑰派生的Kseaf。
(3)supi:UDM解密後的SUPI,由AUSF發給AMF。
1.5 AMF對UE發起安全流程(加密和完整性保護)
AMF接下來可以對UE發起安全流程,用於NAS訊息的加密和完整性保護(防止被篡改),對應的NAS訊息是Security mode Command和Security mode Complete。
AMF-->UE的Security mode Command主要引數有:
(1)NAS security algorithms:網路側選擇的加密和完整性保護演算法。本例取值是5G-EA0和128-5G-IA1
(2)UE security capability:UE的安全能力。其實也是之前從UE收到的。
(3)IMEISV request:AMF可以藉此向UE要求提供IMEISV。
(4)ngKSI:NAS安全上下文標識。
UE-->AMF UE的Security mode Complete主要引數有:
(1)Security header type取值為4,表示帶有新5G安全上下文和完保、加密的訊息。
(2)Message authentication code:訊息摘要碼。用於完整性保護。
(3)5GS mobile identity:UE返回的IMEISV。
1.6 AMF根據SUPI查NRF得到UDM
AMF接下來要去到UDM中做註冊登記(UECM服務)和獲取簽約資料(SDM服務)。因此,AMF呼叫NRF的Discovery服務,發起UDM的查詢。用的是HTTP Get方法。NRF返回200 OK,包含了UDM的nfprofile。
Get請求中的主要引數包括:
(1)service-names=nudm-sdm,我要選擇的網元是UDM,並支援SDM這個服務。
(2)requester-nf-type=AMF,請求者也就是我是誰?我是AMF。
(3)SUPI=imsi。這就是查詢條件,拿SUPI來換UDM的nfprofile(網元檔案)。
UDM返回的資訊包括:
(1)所有網元的公共引數:validity Period(結果有效期)、nfInstances(網元例項名)、nfType(網元型別,本例為UDM)、nfStatus(註冊狀態)、priority(網元的優先順序)、capacity(網元的靜態容量值)、nfServices(UDM所支援的服務)
(2)UDM特有的引數udminfo:包括supirange(UDM支援的UE號段)、routing-indicator(UDM支援的Routing Indicator的範圍)