閻占林,黃健文,黃 健,李俊磊,蔡秋艷,楊 光
(1.中國電信股份有限公司廣東研究院,廣東 廣州 510630;2.廣州優億信息科技有限公司,廣東 廣州 510630)
對于普通通信用戶而言,電信詐騙是生活中最常見的詐騙手段之一,垃圾短信、騷擾電話和詐騙電話時時刻刻存在身邊,不僅給日常生活造成困擾,還可能會造成經濟上的損失[1]。5G之前的通信系統,通信卡與通信網絡在空口之間通過國際移動用戶識別碼(International Mobile Subscriber Identity,IMSI)傳輸通信鑒權數據,IMSI一般不會直接暴露在空口中。在空口中直接暴露的是臨時移動用戶標識(Temporary Mobile Subscriber Identity,TMSI),TMSI相當于對IMSI進行了初步加密,然后再傳輸到網絡中,但當網絡中沒有存儲與用戶IMSI對應的TMSI時,就需要用戶將IMSI發送給網絡,從而保證用戶鑒權可以正常進行[2]。在這種場景下,IMSI會暴露在空口中,不法分子可以通過IMSI Catcher截獲用戶的IMSI,從而獲取用戶的身份信息。
一般,在認證過程之后,用戶終端和網絡之間會生成會話密鑰用于加解密,這個過程也稱為安全上下文建立的過程。在安全上下文建立之后,就可以對空口的信令和用戶數據加密,這個思路從2G到5G都是如此。但5G標準提供了一個新的、之前各代通信系統均不具備的加密特性,即在安全上下文建立之前,就可以對空口上出現的IMSI(5G中稱為SUPI)進行加密[3],而未加密的IMSI不會出現在空口中,保證用戶通信安全。
用戶永久標識符(Subscription Permanent Identifier,SUPI)是5G系統分配給每個用戶的全局唯一5G用戶永久標識符[4],并且提供給UDM/UDR。SUPI僅用在3GPP系統中。
SUPI格式定義2種類型:一種為IMSI;一種為采用訪問網絡標識符(Network Access Identifier,NAI)格式的網絡特定標識符(Network Specific Identifier,NSI),用于私有網絡[5]。
IMSI是用于區分移動通信網絡中不同用戶在所有移動通信網絡中不重復的識別碼。在GSM/UMTS系統中,應向每個移動用戶分配獨特的IMSI。
IMSI組成結構如圖1所示。

圖1 IMSI組成結構Fig.1 Structure of IMSI
IMSI由3部分組成:
① 移動國家代碼(Mobile Country Code,MCC),由3位數字組成,MCC唯一識別移動用戶所屬的國家;
② 移動網絡代碼(Mobile Network Code,MNC),3GPP網絡應用程序由2或3位數字組成的,MNC的長度(2或3位數字)取決于MCC的值,不建議在單個MCC區域內混合2和3位的MNC代碼,在同一個國家內,如果有多個公共陸地移動網(Public Land Mobile Network,PLMN),可以通過MNC來區別,即每一個PLMN都要分配唯一的MNC;
③ 移動用戶標識號碼(Mobile Subscriber Identification Number,MSIN),用以識別某一移動通信網中的移動用戶。
如果通信卡中130號服務可用,則NSI文件存在,該NSI類型的SUPI用于私有網絡。該文件包含NSI類型的SUPI,標識為NAI格式。本文件類型中的SUPI不能是IMSI。
NSI文件定義如表1所示。
表1 NSI文件定義
Tab.1 Definition of NSI file

文件標識符:′4F09′文件類型:透明文件可選/必選:可選短文件標識符(SFI):′09′文件大小:Z Byte (Z ≥X)更新頻率:低訪問條件: 讀權限 PIN 更新權限 ADM 去激活權限ADM 激活權限 ADM字節描述必選/可選長度1~X特定網絡標識TLV數據對象必選X Byte
特定網絡標識TLV數據對象:特定網絡標識符的NAI編碼格式為UTF-8字符串。
5G網絡與4G網絡相比變得更加開放,相比現有的相對封閉的移動通信系統來說,5G通信網絡面臨更多的網絡空間安全問題[6]。比如 APT 攻擊、DDOS及Worm 惡意軟件攻擊等,而且攻擊會更加猛烈,規模更大,影響也會更大。針對這些安全挑戰,相關的5G研究組織都進行了深入的需求分析,并且在5G移動通信中引入了隱藏性用戶標識符(Subscription Concealed Identifier,SUCI)的概念[7-9]。
SUCI組成結構如圖2所示。

圖2 SUCI組成結構Fig.2 Structure of SUCI
SUCI具體組成結構如下:
(1) SUPI類型,范圍0~7,指明SUPI類型,用于加密成SUCI,類型定義如下:
① 0 IMSI;
② 1 特定網絡標識;
③ 2~7 保留。
(2) 主網絡標識,用于表明用戶的主網絡。
當SUPI類型是IMSI時,主網絡標識符由兩部分組成:
① MCC:由3位小數組成,獨特地確定了移動用戶所在國家;
② MNC:由2或3個小數位組成,標識移動用戶的歸屬PLMN[10-12]。
當SUPI類型為NSI類型時,主網絡標識符由一個字符串組成(NAI),該字符串長度可變。
(3) 路由指示標識,主網絡分配在通信卡上1~4的4個十進制數字,該路由指示符允許連同主網絡標識符一起向能夠為用戶服務的AUSF和UDM路由網絡信令。如果在通信卡上沒有配置路由指示符,則應將此數據字段設置為值0并且提供給通信卡。
(4) 保護方案標識,范圍0~15。包括null-scheme,ECIES Profile A,ECIES Profile B或由本地公用陸地移動網絡(Home Public Land Mobile Network,HPLMN)專有的保護方案。
(5) 主網絡公鑰標識,范圍0~255。它表示由HPLMN提供的公鑰,并用于標識SUPI保護的密鑰。如果使用null-scheme,則此數據字段應設置為0。
(6) 方案輸出,即橢圓曲線集成加密方案(Elliptic Curve Integrated Encryption Scheme,ECIES)加密輸出。由具有可變長度或十六進制數字的字符串組成,該字符串的長度取決于所使用的保護方案,包括null-scheme,ECIES Profile A,ECIES Profile B加密方案的輸出或HPLMN專有的保護方案輸出。
當SUPI為IMSI類型時,5G通信卡從6F07(EFIMSI)文件中獲取MCC/MNC,從5FC0/4F0A(EFRouting_Indicator)文件中獲取路由標識信息,從5FC0/4F07(EFSUCI_Calc_Info)文件中獲取保護體系方案標識和主網絡公鑰標識,添加SUPI為IMSI類型的標志0,組成SUCI前5部分,再從6F07(EFIMSI)文件中獲取MSIN進行加密,生成SUCI第6部分ECIES加密輸出部分,這6部分共同組成一個完整的SUCI。
2.2.1 SUCI_Calo_Info文件
SUCI_Calo_Info文件,隱藏性用戶標識符計算信息文件。
如果“SUCI計算由終端執行”(通信卡中124號服務可用,125號服務不可用),則終端可以從通信卡中讀取該文件來獲取計算所需相關參數。
如果“SUCI計算由通信卡執行”(通信卡中124號和125號服務均可用),則終端不可以從通信卡中讀取該文件的相關參數。終端通過GET IDENTITY指令來獲取由通信卡計算出的SUCI信息。
如果通信卡中124號服務不可用,則此文件對終端不可用。
SUCI_Calo_Info文件定義如表2所示。
表2 SUCI_Calo_Info文件定義
Tab.2 Definition of SUCI_Calo_Info file

文件標識符:′4F07′文件類型:透明文件可選/必選:可選短文件標識符(SFI):′07′文件大小:X Byte(X≥ 2) 更新頻率:低訪問條件: 讀權限 PIN 更新權限 ADM 去激活權限ADM 激活權限 ADM字節描述必選/可選長度1~Z保護方案標識符列表數據對象必選Z ByteZ+1~Y+Z主網絡公鑰列表數據對象可選Y Byre
① 保護方案標識符列表數據對象
內容:此數據對象應始終存在。如果保護方案標識符列表數據對象長度不為零,則該數據對象包含保護方案標識符和相應的密鑰索引的列表。第一保護方案標識符條目具有最高優先級,最后的保護方案標識符條目具有最低優先級。密鑰索引值表示主網絡公鑰在主網絡公鑰列表中的位置,適用于保護方案。
② 主網絡公鑰列表數據對象
內容:此數據對象包含主網絡公鑰列表和相應的主網絡公鑰標識符,該標識符將由終端用于計算SUCI。如果保護方案標識符列表數據對象中包含的保護方案配置文件中沒有一個使用主網絡公鑰(例如,空方案),則該數據對象可能不存在。如果存在此數據對象,則至少包含一個主網絡公鑰和相應的主網絡公鑰標識符[13]。
2.2.2 Routing_Indicator文件
Routing_Indicator文件,路由指示器文件。
如果通信卡中124號服務可用,則此文件存在。此文件包含終端或通信卡計算SUCI所需的路由指示符。
Routing_Indicator文件定義如表3所示。
由圖7可知,隨著蛋白質質量濃度的增大,玉米醇溶蛋白與ZA對ABTS+·清除率均有增加。質量濃度為6 mg/mL時,玉米醇溶蛋白的ABTS+·清除率36%,ZA的ABTS+·清除率為 58%,表明 ZA的ABTS+·清除率更高一些。
表3 Routing_Indicator文件定義
Tab.3 Definition of Routing_Indicator file

文件標識符:′4F0A′文件類型:透明文件可選/必選:可選短文件標識符(SFI):′0A′文件大小:4 Byte更新頻率:低訪問條件: 讀權限 PIN 更新權限 ADM 去激活權限ADM 激活權限 ADM字節描述必選/可選長度1~4路由指示器必選4 Byte
路由指示器:
內容:此文件包含路由指示符,該指示符允許與MCC和MNC一起將具有SUCI的網絡信令路由到能夠為用戶服務的AUSF和UDM。
編碼:
字節1~2:2字節編碼。該文件應該至少包含一個路由標識的有效數字,即使該數字被設置為零。
字節3~4:RFU。
2.3.1 null-scheme方案輸出
null-scheme方案輸出如圖3所示。

圖3 null-scheme方案輸出Fig.3 Output of null-scheme
null-scheme方案輸出內容為移動用戶標識號碼或用戶名,不會對MSIN或用戶名進行加密。
橢圓曲線加密Profile A方案輸出如圖4所示。

圖4 橢圓曲線加密Profile A方案輸出Fig.4 Output of elliptic curve encryption scheme profile A
橢圓曲線加密Profile A方案輸出為如下3部分:
① ECC臨時公鑰格式為64個十六進制數字,允許編碼256位;
② 密文值為十六進制數字編碼的可變長度;
③ MAC標記值為16個十六進制數字,允許對64位進行編碼。
2.3.3 Profile B加密方案輸出
橢圓曲線加密Profile B方案輸出如圖5所示。

圖5 橢圓曲線加密Profile B方案輸出Fig.5 Output of elliptic curve encryption scheme profile B
橢圓曲線加密Profile B方案輸出為如下3部分:
① ECC臨時公鑰格式為66個十六進制數字,允許編碼264位;
② 密文值為十六進制數字編碼的可變長度;
③ MAC標記值被格式化為16個十六進制數字,允許對64位進行編碼。
2.3.4 HPLMN專有保護方案輸出
HPLMN專有保護方案的方案輸出如圖6所示。

圖6 HPLMN專有保護方案的方案輸出Fig.6 Output of HPLMN proprietary protection schemes
HPLMN專有保護方案輸出為十六進制數字的可變長度。
通過以上SUCI隱私保護類型的研究,現階段運營商主要考慮采用的應該是Profile A,Profile B和null-scheme3種方案。假如5G通信中Profile A,Profile B加密方案由于網絡側解析SUCI出現數據錯誤或計算方式與通信卡計算方式不一致等異常時,還可以采用null-scheme方案來保證用戶正常的通信功能。HPLMN專有保護方案目前應用場景尚不明確[14]。
SUCI隱私保護,也可稱為ECIES加密計算流程,即SUCI組成結構第6部分方案輸出的加密部分,是指運用ECC橢圓曲線加密算法對SUPI進行加密,然后輸出ECC臨時公鑰、密文值和MAC標簽值等過程。
ECIES加密計算流程如圖7所示。

圖7 ECIES加密計算流程Fig.7 ECIES encryption calculation process
(1)卡片生成秘鑰對
算法:Curve25519(Profile A)/secp256r1(Profile B);
輸出:公鑰、私鑰。
(2)Key Agreement
算法:X25519(Profile A)/Elliptic Curve Cofactor Diffie-Hellman Primitive(Profile B);
輸入:運營商公鑰 + USIM私鑰;
輸出:Eph.share.key。
(3)ShareInfo
算法:Elliptic-Curve-Point-to-Octet-String Conversion;
輸入:USIM私鑰、公鑰;
輸出:Share Infomation。
(4)KDF
算法:ANSI-X9.63-KDF;
輸入:Eph.share.key、Share Information;
輸出:Eph.enc key(16)、ICB(16)、Eph.mac key(32)。
(5)數據加密
算法:AES-128 in CTR mode;
輸入:SUPI、Eph.enc key、ICB;
輸出:Ciphertext value。
(6)計算MAC
算法:HMAC-SHA-256;
輸入:Ciphertext value、Eph.mac key;
輸出:MAC。
(7)組裝ECIES
輸出:the ECC ephemeral public key、 the ciphertext value、 the MAC tag value。
加密輸出的ECIES再加上SUCI結構的前5部分,即SUPI類型、主網絡標識、路由指示符、保護方案標識及主網絡公鑰標識,共同組合成一個完整的SUCI,作為鑒權數據的載體傳輸到網絡中,使終端和網絡能夠正常進行鑒權[15]。
舉例1:
假設SUPI格式為IMSI類型,IMSI為234150999999999,其中MCC為234、MNC為15,MSIN為0999999999,路由指示符為678,歸屬網絡公鑰標識符為27。
則Profile A加密方案下的SUCI組成為0,234/15,678,1,27,
舉例2:
假設SUPI格式為NSI類型,網絡特定標識符為user17@example.com,路由指示符為678,歸屬網絡公鑰標識標識符為27。
則NAI格式下的SUCI組成為1,678,1,27,
通過上述2個舉例可以看出,不同的SUPI類型對應不同的SUCI結構。當SUPI格式為IMSI類型時,對應的SUCI結構是完整的6部分結構組成方式;當SUPI格式為NSI類型時,對應的SUCI結構少了第2部分主網絡標識,但是在第6部分方案輸出那里加上了域名。根據目前4G通信卡的IMSI鑒權方式以及NSI類型私有網絡的不明確性,目前運營商在選擇5G通信卡SUPI類型的時候應該優先考慮IMSI類型,等將來NSI類型的私有網絡明確或者某個定制網絡有需求的時候,再采用NSI類型的SUPI。
通過本文的研究可以看出,在5G通信卡中,SUPI分為IMSI和NSI兩種類型,不同的SUPI類型對應著不同的SUCI組成結構,也對應著不同的應用網絡。SUPI通過不同的加密方案加密成SUCI,該加密過程可以簡單概括為使用ECC橢圓曲線加密算法的PKI加密機制,公鑰1*私鑰2=公鑰2*私鑰1,利用2對公私鑰的特殊性質,實現SUPI加密為SUCI。卡片入網信息由加密后的SUCI提供,這樣既可以保證空口SUPI不被泄露,還保證了終端和網絡鑒權的正常進行,從而讓SUCI實現了用戶信息的隱私保護,也體現出了5G對用戶安全及信息保護的初衷。