• 【5G NAS】5G SUPI 和 SUCI 标识符详解


    博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
    博主链接

    本人就职于国际知名终端厂商,负责modem芯片研发。
    5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。


    博客内容主要围绕:
           5G/6G协议讲解
           算力网络讲解(云计算,边缘计算,端计算)
           高级C语言讲解
           Rust语言讲解



    5G SUPI 和 SUCI 详细介绍

    在这里插入图片描述

           在电信系统中,网络运营商为每个SIM卡分配一个唯一标识符,在4G网络中称为IMSI(国际移动用户标识),在5G网络中称为SUPI(订阅永久标识符)。由于用户及其网络提供者之间的身份验证基于共享的对称密钥,因此只能在用户身份验证之后进行。然而,如果IMSI或者SUPI的值以明文形式通过无线链路发送,那么可以使用这些永久标识符识别、定位和跟踪用户。

           为了避免这种隐私泄露,所访问的网络会为SIM卡分配临时标识符(3G系统中称为临时移动用户标识符TMSI,而在4G和5G系统中称为GUTI)。然后,这些经常变化的临时标识符被用于无线链路上的身份认证。然而,在某些情况下,通过使用临时标识符进行身份验证是不可能的,例如,当用户第一次向网络注册时还尚未分配临时标识符;另一种情况是访问的网络无法从上报的TMSI或者GUTI中解析出IMSI或者SUPI

           一些劫持者可以故意模拟这种场景,迫使不知情的用户暴露其长期身份认证标识符。这些攻击被称为”IMSI捕捉”攻击,并持续存在于今天的移动网络,包括4G LTE/LTE-A。


    5G 对于“IMSI捕获攻击”的解决方案

           数十年来,IMSI捕获攻击一直威胁着移动通信(包括,2G、3G、4G)。由于遗留原因促进了向后兼容性,这个隐私问题似乎一直存在。然而,3GPP现在决定解决这个问题,在通过5G-GUTI识别失败的情况下,与前几代不同,5G安全规范不允许通过无线接口进行SUPI的明文传输。相反,通过使用椭圆曲线集成加密方案(ECIES)将SUPI封装在一个隐私保护标识符中进行传输。这个隐藏了SUPI的标识符称之为SUCI(订阅隐藏标识符)。


    Subscription Permanent Identifier (SUPI)

           SUPI是分配给每个用户的5G全球唯一订阅永久标识符(SUPI),相关定义在3GPP规范TS 23.501中。SUPI的值存储在USIM和5G核心网的UDM或者UDR中。

    一个有效的SUPI可以是以下任何一种形式:

    • IMSI(国际移动用户标识符),定义在TS 23.503中,用于3GPP RAT;
    • NAI(网络访问标识符),定义在RFC 4282中,用于非3GPP RAT。

    SUPI通常是由15个十进制数字组成的字符串。前三位数代表移动国家代码(MCC),之后的两或三位数代表移动网络代码(MNC),表示网络营运者。剩下的九或十个数字被称为移动用户识别号码(MSIN),代表该特定运营商的个人用户。SUPI相当于唯一标识ME的IMSI,也是一个15位数字的字符串。

    在这里插入图片描述


    Subscription Concealed Identifier (SUCI)

           SUCI是一个隐私保护标识符,包含了隐藏的SUPI。UE使用基于 ECIES 的保护方案以及一个位于USIM中的归属网络的公钥(开卡的时候由运营商写入)来生成一个SUCI。

    只有SUPI中的MSIN部分会使用保护策略加密,而归属网络标识符,例如,MCC/MNC,是直接用明文传输的。下图中给出了SUPI的数据结构:

    在这里插入图片描述

    • SUPI Type:取值范围为0 ~ 7。它指示隐藏在SUCI中的SUPI类型。定义了以下值:
      • 0:IMSI;
      • 1:Network Access Identifier (NAI);
      • 2 to 7: 保留未来使用。
    • Home Network Identifier:标识用户的归属网络。当SUPI Type为IMSI时,Home Network Identifier 由MCC和MNC组成。当SUPI类型为Network Access Identifier 时,归属网络标识符由一串可变长度的字符组成,这些字符代表一个域名,例如,user@techno.com;
    • Routing Indicator:它由1到4位十进制数字组成,由归属网络运营商分配,并在USIM中提供;
    • Protection Scheme Identifier:它是一个0 ~ 15范围内的值,用4 bit表示:
      • 0x0:null-scheme;
      • 0x1:Profile ;
      • 0x2:Profile
    • Home Network Public Key Identifier:取值范围为0 ~ 255。它代表了一个由HPLMN提供的公钥,用于指示在SUPI保护方案中使用的是那个公钥。在使用 null-scheme 方案的情况下,这个数据字段应该设置为0;
    • Protection Scheme Output:它由一串可变长度的字符或十六进制数字组成,具体值取决于使用的保护方案。

    终端与网络之间的5G身份交换

           当终端尝试首次注册时,终端将SUPI封装到SUCI中,并发送带有SUCI的初始注册请求消息。AMF使用 Authentication Request 消息将SUCI转发给AUSF和UDM,以查询对应的SUPI。AUSF使用 Authentication Response 消息回复查询到的SUPI信息。之后,AMF为这个SUPI生成一个GUTI,并保存GUTI到SUPI的映射,以供下一步注册或PDU会话请求时使用。

    在这里插入图片描述

    在后续的注册请求中,UE发送带有GUTI的注册请求消息。这里有两种可能的场景:

    1. AMF能够将GUTI映射为SUPI;
    2. AMF无法将GUTI映射为SUPI。

    在第一种情况下,AMF使用GUTI生成SUPI,使用AUSF的身份验证可以使用SUPI完成。在第二种情况下,当在AMF使用GUTI无法识别UE时,AMF向UE发送 Identity Request 消息,然后UE使用包含SUCI的 Identity Response 消息回复。



    在这里插入图片描述

  • 相关阅读:
    06 软件设计原则
    .NET Core多线程 (1) Thread与Task
    (附源码)计算机毕业设计SSM酒店停车管理系统
    leetcode/链表排序
    时序分解 | Matlab实现CEEMD互补集合经验模态分解时间序列信号分解
    k8s内网通信时如何配置NAT
    【C++】类的封装 ① ( 类和对象 | 面向对象三大特征 - 封装 继承 多态 | 类的封装引入 )
    Java如何绑定线程到指定CPU上执行?
    【Elasticsearch专栏 07】深入探索:Elasticsearch的倒排索引如何进行模糊查询和通配符查询
    (ICRA 2020) Instance Segmentation of LiDAR Point Clouds
  • 原文地址:https://blog.csdn.net/qq_31985307/article/details/126440655