当前位置: 首页 > ai >正文

RSP-BSP-1

2.6.4.6 密钥替换

会话密钥可通过受保护的TLV命令(见第5.5.4节)提供新密钥和新的初始MAC链值进行替换。
密钥替换后,用于计算加密ICV(初始校验值)的数据块计数器应重置为初始值。


2.6.5 密码算法协商、算法及密钥长度

本节描述eUICCRSP服务器在TLS协议之上的应用层密码算法协商机制。TLS自身协商机制见第2.6.6.1节,应用层协商独立于TLS。

1. 协商流程
  • 每次RSP会话开始时,eUICC与RSP服务器通过通用双向认证流程(见第3.0.1节)协商密码算法。

  • 算法选择基于RSP服务器证书(CERT.XXauth.SIG)的签名算法,并受限于表4c和4d定义的算法集合。

2. 算法协商步骤
  1. eUICC提供支持列表

    • ES9+.InitiateAuthentication函数中,eUICC声明其支持的eSIM CA根证书公钥标识符(用于签名验证与生成)。

  2. RSP服务器选择证书链

    • SM-DP+选择一条以eUICC支持的eSIM CA根证书为终点的证书链(CERT.XXauth.SIG)。

    • 证书链中所有证书的签名算法必须一致(确保接收方能验证证书链和签名)。

3. 算法确定规则

根据CERT.XXauth.SIG的签名算法,会话中使用的密码算法按下表确定:

证书签名算法及参数密钥协商算法及参数PPP对称算法SM-XX签名哈希算法
ECDSA, NIST P-256ECKA, NIST P-256, SHA-256AES-CBC-128, AES-CMAC-128同证书签名算法(当前仅SHA-256)
ECDSA, BrainpoolP256r1ECKA, BrainpoolP256r1, SHA-256AES-CBC-128, AES-CMAC-128同证书签名算法
ECDSA, FRP256V1ECKA, FRP256V1, SHA-256AES-CBC-128, AES-CMAC-128同证书签名算法
SM2签名ECKA, SM2曲线, SM3SM4-CBC, SM4-CMACSM3

  • ECDSA遵循GlobalPlatform卡规范修订版E [12]。

  • ECKA算法定义见第2.6.4节。

  • 当前哈希算法限制为SHA-256(SM2/SM3除外)。

4. 算法参考标准
  • NIST P-256:NIST数字签名标准[29]

  • BrainpoolP256r1:RFC 5639 [18](BSI推荐)

  • FRP256V1:ANSSI ECC [20](法国国家网络安全局推荐)

  • AES-CBC-128:NIST SP 800-38A [83]

  • AES-CMAC-128:NIST SP 800-38B [84]

  • SM2/SM3/SM4:中国国密算法(RFC 8998 [96]、[93]-[95])

5. 实现要求
  • eUICC预置参数

    • 出厂时须预装至少两组椭圆曲线参数(需对应eSIM CA支持)。

  • RSP服务器兼容性

    • 须支持所属eSIM CA信任链下的所有曲线参数。

  • 签名算法灵活性

    • eUICC可使用与RSP服务器不同的签名算法(需双方支持),由RSP服务器在ES9+.InitiateAuthentication响应中指定(字段euiccCiPKIdToBeUsed)。

    • 对于配置文件安装结果等签名,eUICC必须使用RSP服务器指定的算法;其他通知类签名则沿用配置文件下载安装流程中选择的算法(见表4d)。


表4d:eUICC签名算法集合

eUICC证书签名算法及参数签名哈希算法
ECDSA, NIST P-256同证书签名算法(SHA-256)
ECDSA, BrainpoolP256r1同证书签名算法
ECDSA, FRP256V1同证书签名算法
SM2签名SM3

核心要点

  1. 分层安全:TLS负责传输层加密,应用层算法通过证书链动态协商。

  2. 国密支持:SM2/SM3/SM4算法与国际标准(AES/ECDSA)并行,满足区域合规要求。

  3. 前向兼容:通过预置多组参数支持未来算法升级。

该机制确保RSP生态在灵活适配不同密码标准的同时,维持高安全性与互操作性。

http://www.xdnf.cn/news/7356.html

相关文章:

  • 生成式人工智能认证(GAI认证)在企业中的认可度怎样?
  • 基于 STM32 的自动温度巡检小车控制系统设计与实现
  • 第五天的尝试
  • 经典算法复习——快速模幂
  • 51单片机点亮一个LED介绍
  • C++ 函数对象、仿函数与 Lambda 表达式详解
  • 12.vue整合springboot首页显示数据库表-实现按钮:【添加修改删除查询】
  • 深入Java G1 GC调优:如何解决高延迟与吞吐量瓶颈
  • 嵌入式学习笔记 - STM32独立看门狗IWDG与窗口看门狗WWDG的区别
  • HTTPS实验室——TLS/TLCP一站式解决方案
  • C语言——深入理解指针(一)
  • rosbag使用记录
  • 搭建一个永久免费的博客
  • Java设计模式之组合模式:从入门到精通(保姆级教程)
  • Java 泛型详解
  • 黄仁勋Computex演讲:将于三季度推出下一代GB300系统,个人AI计算机DGX Spark已全面投产
  • 进程和线程有什么区别?多线程有什么优缺点?线程的创建方式有哪些?如何简单的使用线程?用户线程和守护线程有什么区别?start 和 run 方法有什么区别?
  • go 与面向对象编程(OOP)
  • 设置IDEA打开新项目使用JDK17
  • 【OpenCV基础2】图像运算、水印、加密、摄像头
  • 信号量基础入门:并发控制的核心概念
  • BGP选路
  • 常用ECSQL整理
  • ‌AT6558R-5N22北斗B1I单频导航芯片
  • 《深入理解数组名:sizeof(arr)、arr 和 arr 的区别》
  • 三种嵌入式开发常用的组网方式
  • 【C++】C++的IO流
  • 青岛地铁二号线列车运行图优化系统
  • AIGC与文本生成:人工智能写作的新纪元
  • Adminer:一个基于Web的轻量级数据库管理工具