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

本人就职于国际知名终端厂商,负责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 消息回复。


【5G NAS】5G SUPI 和 SUCI 标识符详解相关推荐

  1. 【5G/4G】128-EEA3与128-NEA3算法详解

    文章目录 [5G/4G]128-EEA3与128-NEA3算法详解 本人就职于国际知名终端厂商,负责modem芯片研发. 在5G早期负责终端数据业务层.核心网相关的开发工作,目前牵头6G算力网络技术标 ...

  2. 【5G/4G】128-EEA1与128-NEA1算法详解

    文章目录 128-EEA1与128-NEA1算法详解 本人就职于国际知名终端厂商,负责modem芯片研发. 在5G早期负责终端数据业务层.核心网相关的开发工作,目前牵头6G算力网络技术标准研究. 博客 ...

  3. 【5G/4G】128-EEA2与128-NEA2算法详解

    文章目录 [5G/4G]128-EEA2与128-NEA2算法详解 本人就职于国际知名终端厂商,负责modem芯片研发. 在5G早期负责终端数据业务层.核心网相关的开发工作,目前牵头6G算力网络技术标 ...

  4. linux子程序标识符,linux过程标识符详解1

    linux进程标识符详解1 每个进程都有一个实际用户标识符和一个实际组标识符,它们永远是启动该进程之用户的用户标识符和组标识符. 进程的有效用户标识符和有效组标识符也许更重要些,它们被用来确定一个用户 ...

  5. 【5GC】开源5G核心网(Open5GS)架构详解

    博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发. 在5G早期负责终端数据业务层.核心网相关的开发工作,目前牵头6G ...

  6. 【5G RLC】AM模式的数据传输详解

    博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发. 在5G早期负责终端数据业务层.核心网相关的开发工作,目前牵头6G ...

  7. 5G时代不可或缺的关键技术:详解边缘计算参考架构3.0

    导读:边缘计算产业联盟(ECC)与工业互联网产业联盟(AII)在2018年11月联合发布了边缘计算参考架构3.0.本文将以这个参考模型为基础,来介绍边缘计算的目标架构. 作者:任旭东 等 来源:大数据 ...

  8. 谷歌 NAS + 目标检测:SpineNet论文详解

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:bearbee 知乎链接:https://zhuanlan.zhihu.co ...

  9. linux 文件唯一标识符,详解Linux中获取全球唯一标示符UUID的方法

    UUID(Universally Unique IDentifiers),全球唯一标示符.它是一个标识系统中的存储设备的字符串,使其确定系统中的所有存储设备. 为什么要使用UUID?因为系统自动分配的 ...

最新文章

  1. 百度造车和RoboTaxi利好自动驾驶?不,利好茅台
  2. SP1043 GSS1 - Can you answer these queries I(线段树,区间最大子段和(静态))
  3. 第七讲 一阶常系数线性ODE
  4. 如何正确解码用户的“玄学需求”?
  5. Feign,Apache Http Client,OkHttp的区别
  6. django不修改数据库创外键_python小项目使用django的数据库模型
  7. 人工神经网络matlab啊6,MATLAB人工神经网络教程
  8. asterisk 学习笔记1
  9. wan口有流量但电脑上不了网_wan口有ip地址但是上不了网怎么办?
  10. (XGBoost)提升树入门介绍(Inrtoduction to Boosted Trees)
  11. lvm讲解与磁盘挂载问题排除
  12. windows 2003下配置IIS6为iis5方式的隔离模式运行
  13. Android中怎么方便的调试关机充电
  14. 国标:PAAS应用程序管理要求
  15. 52类110个主流的Java框架
  16. 戴尔G5 5590重装系统
  17. 攻防演习防御体系构建之第一篇之介绍和防守的四个阶段
  18. 多维向量空间中点到线的距离公式
  19. 计算机连接苹果手机不能找到照片目录,苹果手机上照片在电脑找不到了怎么办...
  20. Scikit-Learn机器学习(knn算法)

热门文章

  1. mysql 竖列变成横行_mysql 横变竖 竖变横
  2. 工作中那些让人印象深刻的BUG(3)
  3. core dumped ?完了?
  4. 程序员们一个一个的都挺神的,堪称 35 岁毕业之后再就业的标兵,不服不行
  5. 微信小程序 教学质量问卷调查 小程序实现
  6. 已解决Resource stopwords not found. Please use the NLTK Downloader to obtain the resource:
  7. kafka中文文档new comsumer配置参数
  8. C# dotnet 获取某个字符所在 Unicode 字符平面映射
  9. 图片太大,导致页面加载过慢的处理方法
  10. 阿里P6和P7待遇差别有多大网友干的活差不多,工资差很多