“ 上一篇文章中提到,电信发布新的白皮书,指出新的5G卡可以更安全,那么详细的技术原理是什么呢?一个重要的机制就是5G SA中的“用户身份隐藏”,采用SUCI实现对用户真实身份的隐藏。”
在移动通信系统中,运营商通常给每个SIM卡分配一个唯一的标识,4G中这个标识是IMSI(国际移动用户识别码),5G中就是SUPI(用户永久标识符),这就好比是用户的“身份证”。如果IMSI/SUPI在无线空口接入中以明文发送,其它人就可能截获这些数据,并利用该数据对用户进行识别、定位和跟踪。
为避免这种用户身份泄露,网络侧为用户分配了临时标识(2G和3G网络下是TMSI,4G和5G网络是GUTI),这些频繁更换的临时标识,用作无线接入过程中用户标识。然而某些情况下不能使用临时标识,比如用户首次向网络注册此时还未分配临时标识符,再比如网络无法根据TMSI/GUTI查询到IMSI/SUPI,这时用户就需要上报真实身份。
在现实中可以模拟这个场景。例如伪基站,通过高信号强度压制真实基站把手机吸进来(手机会自动选择信号强度最强的基站),之后强行给连接过来的手机发送身份验证请求消息,手机就会乖乖的把自己真实身份报上来,达到“截获IMSI(IMSI Catching)”的目的。这种情况在当今包括4G LTE/LTE-Adv网络中依然存在。
01
5G中解决“截获IMSI”问题的方案
从2G到4G,“截获IMSI”问题已经有几十年历史了。由于通信系统的后向兼容,这个问题一直存在。3GPP决定解决这个问题,其代价就是牺牲后向兼容。5G决定引入公钥私钥的机制,公钥用来公开并加密,私钥用来保留并解密。将公钥存放在手机端,私钥存放在运营商手里;如此一来,只有运营商可以解密手机的真正的身份信息,攻击者只能拿到加密后的信息,没有私钥也无法解出用户真正身份信息。
5G(NR)的安全规范中不允许通过无线空口进行SUPI的明文传输,而是提出了一种基于椭圆曲线集成加密方案(ECIES)的隐私保护标识符,该标识符包括SUPI信息,这个隐藏了SUPI的标识符就是SUCI(用户隐藏标识符)。
02
5G用户的真实身份——SUPI
SUPI是分配给每个5G用户的全球唯一用户永久标识符,在3GPP TS 23.501中定义。SUPI值预置在USIM卡中,以及5G核心网中UDM /UDR。
SUPI值可以由如下两种方式之一定义:
(1)3GPP TS 23.503中为3GPP RAT定义的IMSI。
(2)3GPP TS 23.003 中为non-3GPP RAT定义的NAI(网络接入标识),NAI基于RFC4282规则定义。
SUPI和IMSI一样,也是由15位十进制数组成:前3位为国家代码MCC;中间2-3位为运营商代码MNC;剩余9-10位为移动用户标识码MSIN,代表用户和运营商。
03
5G用户的隐藏身份——SUCI
SUCI(用户隐藏标识符)是为保护隐私的标识符,其中隐藏了SUPI;UE使用基于ECIES算法和预置在USIM卡里的公钥生成SUCI。
SUPI中只有MSIN部分进行了隐藏,其它如MCC、MNC仍以明文传输。组成SUCI的数据字段如下:
04
5G用户认证交互流程
UE与基站的无线传输中,一开始就通过隐藏的身份(即SUCI)进行传递。具体交互流程如下:
1、UE将SUPI加密成SUCI,并使用SUCI向基站发送注册请求,基站收到消息后,转发给AMF。
2、AMF使用SUCI信息向AUSF发起鉴权请求,AUSF根据对应的SUCI,向UDM发起请求。
3、UDM根据SUCI解密出SUPI,发给AUSF,AUSF回复AMF鉴权响应,其中带有解码后的SUPI。
4、AMF 生成一个GUTI,GUTI和SUPI一一对应,这个GUTI将用于后续进一步注册或PDU会话请求。
5、在随后的注册流程中,UE使用GUTI发送注册请求,这时会出现两种情况:
(1)AMF能够根据GUTI和SUPI的映射关系生成SUPI
(2)AMF不能生成SUPI
对于第一种情况,AMF使用SUPI继续完成对UE的认证;对于第二种情况,AMF中不能使用GUTI识别出SUPI时,则AMF向UE发起身份识别请求;UE响应AMF请求,响应中携带SUCI信息;后续与第2步流程一样。
原文及参考文献如下:
[1] http://www.techplayon.com/5g-identifiers-supi-and-suci/
[2] https://club.mscbsc.com/t705070p1.html
[3] https://www.cnblogs.com/bonelee/p/9284499.html
如需下载中国电信《5G SA安全增强SIM卡白皮书》全文,请微信搜索关注公众号“5G终端漫谈”,在对话页面回复“5G卡”。