如同我们人类社会一样,网络也是一个社会,各种接入到网络中的设备就是网络社会中的人。为了维持社会的稳定和辨识各终端用户,网络社会是怎么做到用户区分的呢?毕竟网络是我们人类创建的,所以它也就具备了我们所拥有的特性,网络社会中赋予了各个终端用户永久身份证号——IMSI、SUPI(SUCI)和一堆临时ID(外号)——GUTI、P-TMSI、5G-GUTI等。
那么这些ID之间是否需要一定的关联关系呢?答案是肯定的,但是他们之间有怎样的关系呢?
今天就先来聊一聊通信网络中的永久性身份证——IMSI和SUPI(SUCI)。
IMSI:2/3/4G网络中的用户身份证号
IMSI——International Mobile Station Identity作为通信网络中最重要的一个ID——网络身份证号——而存在,如同我们每个人的身份号一样的重要,是作为手机sim卡永久且唯一的号码,如图:
IMSI由三部分构成:
- Mobile Country Code(MCC)标识国家代码,占三位数字,如我国为460。
- Mobile Network Code(MNC)标识网络号,占两位或者三位数字,MNC用来标识在国家代码下的不同网络,即不同的PLMN,比如移动的00、02,联通的01,电信的03等。
- Mobile Subscriber Identification Number(MSIN)用户识别码用来标识一个PLMN下的唯一用户。同时MNC和MSIN构成了National Mobile Subscriber Identity(NMSI)可以理解为国家区域下的用户唯一ID。
IMSI如同我们的身份证号是对Sim卡/USIM卡唯一且永久的标识,所以至关重要,因此在网络通信过程中不到万不得已是不会动用IMSI的,那么什么是万不得已的呢?比如之前我们讲4G附着信令中的鉴权,必然要用到IMSI才可以到HSS中取得用户的鉴权向量和开户信息,另一个就是在建立session的过程中MME和SGW/PGW是要首先通过IMSI将Session建立并统一起来的。
既然IMSI如此重要,而且它所包含的只是PLMN网络信息和PLMN下用户的唯一信息MSIN,不利于用户定位,而且过多地暴露IMSI就如同打招呼告诉人家你的身份证号一样的尴尬:
- 您好,我是123456789009876543
- 您好,123456789009876543,我是098765432112345678。
因此为了避免尴尬,更为了能很好地保护用户信息(IMSI尽量少地在空口、无线和核心网之间暴漏,否则容易被临时基站截获),并且为了能准确定位用户,3GPP规范了如同我们外号一样的用户临时身份ID——4G中的GUTI和2/3G中的P-TMSI,以及5G中的5G-GUTI,我们之后会聊。
5G: SUPI and SUCI
5G是这两年通信中雷声大雨点小的革命性科技成果,有它自己的永久性身份证——SUPI。
SUPI(Subscription Permanent Identifier)——用户在5G中的永久标识ID,在规范23.003中定义了SUPI有两种类型:
- SUPI就是一个IMSI,这是为了能很好地完成网络演进和兼容,表示了与2/3/4G的统一;
- SUPI是一个NAI(Network Access Identifier,网络接入ID),比如username@realm格式(这种形式的ID其实在Wi-Fi Calling中已经使用)。
为了解决从2G到4G这几十年的“空口拦截IMSI”的问题,在5G安全规范中要求SUPI不能在空口中明文传输,这就引进了一个新的概念——SUCI(Subscription Concealed Identifier),用户隐藏标识符,其格式如下:
- SUPI Type(SUPI类型),表示隐藏在SUCI中的SUPI类型:
- 0: 表示是IMSI;
- 1: 表示是NAI;
- 2-7: 预留。
- Home Network Identifier,注册地网络标识:目前只考虑SUPI类型是IMSI的情况,此标识就是HPLMN即MCC+MNC。
- Routing Indicator,路由标识,1到4十进制数字 :由运营商预设到USIM卡中,并且需要和Home Network Identifier一起将SUCI的信令路由到服务此用户的AUSF和UDM中;需要注意的是每一个数字都是有意义的,比如“012”和“12”是不同的路由标识,如果USIM中没有路由标识,默认使用一个十进制数字“0”作为路由标识。
- Protect Scheme Identifier,保护方案ID,表示使用哪种方案来加密SUPI:
- 0表示是Null-Scheme
- 1表示使用33.501中的Profile A
- 2表示使用33.501中的Profile B
- 3-15:预留,可以运营商自由定制。
需要注意的是USIM卡中的这个保护方案ID需要跟UDM中定义的一致。
- Home Network Pulic Key Identifier,注册地公共密钥:运营商根据保护方案ID制定的用于保护SUPI使用的公共密钥,如果是null-sheme,则密钥为0。
- 需要注意的USIM卡中的Home Network Public Key Identifier是需要跟UDM配置一致的。
- Scheme Output,保护方案输出:即根据Protect Scheme而产生的输出结果,如果是null-scheme并且SUPI类型是IMSI,则输出结果为MSIN(IMSI中的用户识别码)
- 通过USIM卡上定义的Home Network Public Key而产生的一组加密Scheme
需要注意的是Public Key对应的Home Network Private Key是要配置到UDM中。
所以使用SUCI后ARPF/UDM需要通过UE发来的SUCI中的Protect Scheme ID也就是使用什么算法和Home Network Public Key ID也就是用的哪组秘钥做SUCI的解码和验证,从而拿到SUPI:
以上就是通信网络中的重要的永久性身份证——IMSI和SUPI,内容参考以下3GPP:
- 3GPP 23.003——Numbering, addressing and identification
- 3GPP 23.236——Intra-domain connection of Radio Access Network (RAN) nodes to multiple Core Network (CN) nodes
- 3GPP 33.401——System Architecture Evolution (SAE); Security architecture
以上,欢迎留言来一起了解学习ICT的相关知识!