5G的SUCI、SUPI、5G-GUTI使用场景及关系

使用场景(来源于对23.501、23.502、33.501、23.003的理解)
在这里插入图片描述

1、UE初始注册时,根据HN Public Key把SUPI加密成SUCI,并发送初始注册请求
2、AMF转发SUCI给AUSF和UDM进行认证,并获取解密后的SUPI
3、AMF根据SUPI生成一个5G-GUTI,并保存映射关系,用于下次注册或PDU会话请求,并通知UE注册完成
4、下一次注册请求,UE使用5G-GUTI发送注册请求:
AMF根据5G-GUTI找到SUPI,使用SUPI完成认证
AMF根据5G-GUTI找不到对应的SUPI,AMF再向UE请求SUCI,根据SUCI重新进行认证
5、只有在成功激活NAS安全性后,AMF才能向UE发送新的5G-GUTI
6、在从UE接收到“初始注册”或“移动性注册更新”或“定期注册更新”类型的注册请求消息时,AMF应该在注册过程中向UE发送新的5G-GUTI
7、在接收到UE响应于寻呼消息而发送的服务请求消息时,AMF将向UE发送新的5G-GUTI。这个新的5G-GUTI应在当前的NAS信令连接被释放之前发送。(注1:实际情景中要比上述情况更频繁地重新分配5G-GUTI,例如在收到来自UE的Service Request消息而非网络触发。)
8、当UE处于CM-IDLE时,AMF可以延迟向UE提供新的5G-GUTI,直到下一个NAS事务。

5G-GUTI(5G Globally Unique Temporary UE Identity )

5G全局唯一的临时UE标识,减少在通信中显示使用UE的永久性标识,提升安全性
在这里插入图片描述

<5G-GUTI> =  <GUAMI> <5G-TMSI>1<GUAMI>:标识由哪个AMF分配的5G-GUTI
<GUAMI> = <MCC><MNC><AMF Identifier>
<AMF Identifier> = <AMF Region ID><AMF Set ID><AMF Pointer>
2<5G-TMSI>:UE在AMF内唯一的id,32bit

5G-GUTI和GUTI

在这里插入图片描述

SUCI
在这里插入图片描述

SUPI Type:0 IMSI(0-IMSI,1-NAI(Network Access Identifier),2~7-扩展用)
IMS由3GPP TS 23.503定义
NAI根据TS 23.003 for non-3GPP RAT由RFC4282定义
Home Network Identifier:MCC-MNC(SUPI TYPE:0),代表域名的字符串(SUPI TYPE:NAI)
Routing Indicator:路由标识,用于发现UDM和AUSF

Protection Scheme Id:0-NULL-scheme,1-Profile<A>, 2-Profile<B>

Home Network Public Key Id:归属网络提供的公钥ID,范围0-255,只有NULL-scheme情况下置为0
Scheme Output:终端ID加密后的密文,NULL-scheme和IMSI情况下即IMSI中的MSIN部分
注:关于SUCI更详细的说明,可参考下文中的【type of identity “SUCI”】:

艾偶倜:一文看懂5GS mobile identity

SUPI

用户的5G全球唯一用户永久标识符
IMS由3GPP TS 23.503定义
SUPI由15位十进制数组成,其中前三位为国家代码MCC,中间2-3位为运营商代码MNC,剩余9-10位为移动用户标识码MSIN共同来代表用户和运营商;SUPI就等同于唯一标识ME的IMSI,也是一个15位的字符串。
在这里插入图片描述

NAI由RFC4282定义

SUCI与SUPI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60008.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【微服务】Spring AI 使用详解

目录 一、前言 二、Spring AI 概述 2.1 什么是Spring AI 2.2 Spring AI 特点 2.3 Spring AI 带来的便利 2.4 Spring AI 应用领域 2.4.1 聊天模型 2.4.2 文本到图像模型 2.4.3 音频转文本 2.4.4 嵌入大模型使用 2.4.5 矢量数据库支持 2.4.6 数据工程ETL框架 三、Sp…

【jvm】方法区的理解

目录 1. 说明2. 方法区的演进3. 内部结构4. 作用5.内存管理 1. 说明 1.方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码缓存等数据。它是各个线程共享的内存区域。2.尽管《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分&#xff0c;但它却…

大数据-226 离线数仓 - Flume 优化配置 自定义拦截器 拦截原理 拦截器实现 Java

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…

编译OpenCV的速度,家里和公司的电脑相差很大

这一段时间&#xff0c;研究OpenCV带ffmpeg的编译问题。然后发现&#xff0c;同样是虚拟机&#xff0c;编译速度&#xff0c;家里的电脑明显比公司慢多了。 都是在SSD上。虚拟机内存&#xff0c;家里是16G&#xff0c;公司是8G。CPU&#xff0c;家里是E5 2667&#xff0c;公司…

Qt 的 QThread:多线程编程的基础

Qt 的 QThread&#xff1a;多线程编程的基础 在现代应用程序中&#xff0c;尤其是需要处理大量数据、进行长时间计算或者进行 I/O 操作时&#xff0c;多线程编程变得至关重要。Qt 提供了一个功能强大且易于使用的线程类 QThread&#xff0c;可以帮助开发者在 Qt 应用程序中实现…

Java 线程池介绍与实践

文章目录 引言概念优势Java 中的线程池实现线程池的核心参数1. corePoolSize&#xff1a;核心线程数2. maximumPoolSize&#xff1a;最大线程数3. keepAliveTime&#xff1a;线程空闲时间4. unit&#xff1a;时间单位5. workQueue&#xff1a;任务队列6. threadFactory&#xf…

富格林:安全指正规防欺诈套路

富格林指出&#xff0c;在现货黄金投资操作中&#xff0c;有众多的投资技巧和投资方式&#xff0c;但其实并不是所有的都适用。投资者应该注意选择安全、可信的投资方式去规防欺诈套路。值得提醒的是&#xff0c;现货黄金虽然拥有很多获利的机会&#xff0c;但也有不少欺诈套路…

PyAEDT:Ansys Electronics Desktop API 简介

在本文中&#xff0c;我将向您介绍 PyAEDT&#xff0c;这是一个 Python 库&#xff0c;旨在增强您对 Ansys Electronics Desktop 或 AEDT 的体验。PyAEDT 通过直接与 AEDT API 交互来简化脚本编写&#xff0c;从而允许在 Ansys 的电磁、热和机械求解器套件之间无缝集成。通过利…

SpringBoot(二十六)SpringBoot自定义注解

注解在springboot日常开发中使用的频率是很高的,官方为我们提供了很多注解,比如:@Autowired、@GetMapping等…… 但是我们有些特定的需求官方提供的注解是没有的。我们可以自定义注解。 下面我们来了解一下自定义注解的过程。 一:元注解 Java为我们提供了几个元注解来自定…

DHTMLX-gantt组件显示不同的颜色

在 dhtmlxGantt 组件中&#xff0c;你可以通过自定义任务的颜色来显示不同的任务类型或状态。这通常通过配置任务的 color 属性来实现。你可以在初始化 Gantt 图表时或在动态添加任务时设置这个属性。 以下是一些常见的方法来为任务设置不同的颜色&#xff1a; 1. 初始化时设…

什么是迭代器?Python迭代器及其用法

迭代器是一种对象&#xff0c;它表示一个数据流&#xff0c;可以一次访问一个成员&#xff08;元素&#xff09;。 迭代器从集合的第一个元素开始访问&#xff0c;直到所有的元素被访问完结束。迭代器只能往前不会后退。 在Python中&#xff0c;迭代器是一个实现了迭代协议的…

什么是C++中的友元函数和友元类?

友元函数&#xff08;Friend Function&#xff09;和 友元类&#xff08;Friend Class&#xff09;是用于控制类的访问权限的机制。这允许特定的函数或类访问另一个类的私有成员和保护成员&#xff0c;打破了 C 的封装性规则。 友元函数 定义 友元提供了不同类的成员函数之间…

深入理解 CSS 属性 pointer-events: none

pointer-events 是 CSS 中一个用于控制元素响应鼠标事件&#xff08;或触摸事件&#xff09;的属性。 通过这个属性&#xff0c;我们可以控制元素是否能够接受鼠标事件&#xff0c;例如点击、悬停、拖动等。 其中&#xff0c;pointer-events: none 是 pointer-events 属性的一…

定时器(QTimer)与随机数生成器(QRandomGenerator)的应用实践——Qt(C++)

一、QTimer与QRandomGenerator &#xff08;一&#xff09;QTimer&#xff08;定时器&#xff09;[2] QTimer类为定时功能提供了一个高级编程接口。在使用QTimer时&#xff0c;实例化一个QTimer对象并将其timeout()发射信号与合适的信号槽相连接。通过调用QTimer的start()函数…

用redis的zset实现日榜,周榜,月榜

思路&#xff1a; 1.初始化一个月的数据&#xff1a; /*** 初始化一个月数据*/Testpublic void initMonthData(){//计算当前时间小时的keylong hourSystem.currentTimeMillis()/(1000*60*60);for(int i1;i<24*30;i){String key"W_hour"(hour-i);Random random new…

《MySQL 实战教程:从零开始到高手进阶》

当然可以。下面是一篇关于MySQL的学习指南&#xff0c;它适合初学者到中级用户&#xff0c;涵盖了MySQL的基础知识、安装步骤、基本命令以及一些高级功能。 MySQL 学习指南 1. 了解 MySQL MySQL 是一个关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;由瑞典…

通过shell脚本分析部署nginx网络服务

通过shell脚本分析部署nginx网络服务 1.接收用户部署的服务名称 [rootlocalhost xzy]# vim 1.sh [rootlocalhost xzy]# chmod x 1.sh [rootlocalhost xzy]# ./1.sh2.判断服务是否安装 已安装&#xff1b;自定义网站配置路径为/www&#xff1b;并创建共享目录和网页文件&…

威胁驱动的网络安全方法论

摘要 目前的网络安全风险管理实践很大程度上是由合规性要求驱动的&#xff0c;这使得公司/组织不得不在安全控制和漏洞上投入人力/物力。&#xff08;风险管理涉及多个方面&#xff0c;包括资产、威胁、漏洞和控制&#xff0c;并根据事故发生的可能性及造成的影响进行评估。威…

『VUE』30. 生命周期的介绍(详细图文注释)

目录 生命周期生命周期的8阶段生命周期小例子总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 生命周期 每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤&#xff0c;比如设置好数据侦听&#xff0c;编译模板&#xf…

在 Unix 和类 Unix 操作系统中,信号是一种异步的通知机制,用于通知进程发生了一些特定的事件。

在 Unix 和类 Unix 操作系统中&#xff0c;信号是一种异步的通知机制&#xff0c;用于通知进程发生了一些特定的事件。以下是一些常见的信号及其用途和默认行为的详细介绍&#xff1a; 常见信号及其用途 SIGINT (2) 含义&#xff1a;中断信号&#xff08;Interrupt Signal&…