GPC-SCP03安全通道协议

概述:

规范全称: GlobalPlatform Technology Secure Channel Protocol '03' Card Specification V2.3 - Amendment D Version 1.1.2

安全通道的建立的标志即通讯双方都形成三个安全通道共享密钥(Derived Session Key),它们是Kmac, Krmac, Kenc(即标准中的S-MAC,S-RMAC,S-ENC)。

SCP03还是分成两大部分:

  • 第一部分,对S-MAC,S-RMAC,S-ENC的生成和通讯双方双向认证的过程做出一种规范并说明;
  • 第二部分,说明了安全通道建立后如何利用这三个密钥进行安全通道通信的框架和流程。

用例与要求:

安全通道用于在发行和发行后进行个性化卡片。使用伪随机卡挑战数(pseudo-random card chanllenges)的安全通道协议的模式允许在卡不存在的情况下离线准备个性化脚本,并在不在线连接到准备脚本的实体的情况下在卡上处理这些脚本。

当个性化涉及加载密码密钥(cyptographic key)时,确保传输的传输密钥(transport key)必须至少与正在传输的密钥一样

为了帮助确定合适的传输密钥(transport),美国国家标准与技术研究所(NIST)发布了一份名为“密钥管理建议”(Recommendation for key Management)的文件。本文件可在NIST网站上免费获得,参考文献NIST 800-57第1部分([NIST 800-57])也可免费获得,是美国联邦政府使用的强制性标准,也得到了世界上许多其他政府的认可。[NIST 800-57]根据其算法和大小提供了密钥的加密强度。结果表明,2TDEA密钥可以作为传输密钥加密其他2TDEA密钥、RSA 1024密钥或具有f = 160-223的ECC密钥,但不能用于加密以下密钥:

  • 3TDEA Length Keys
  • RSA above 1024
  • AES-128
  • AES-192
  • AES-256
  • ECC (f = 224 and above)

此外,作为传输密钥的3TDEA密钥只能加密另一个3TDEA密钥、RSA 2048或具有f = 224-255的ECC密钥,但不能用于加密:

  • RSA above 2048
  • AES-128
  • AES-192
  • AES-256
  • ECC (f = 256 and above)

由于上述类型的密钥开始在最新一代的JavaCards™中可用,因此GP平台提供一种机制,通过该机制可以将这些密钥加载到卡中就变得很重要了。

根据上述标准,AES密钥更适合于传输密钥

  • AES-128密钥可用于加密3个TDEA密钥,RSA高达3072,AES-128和ECC,f up to383。
  • AES-192密钥还可用于加密RSA和f = 384-511的RSA高达7680、AES-192和ECC。
  • 一个AES-256密钥可用于加密RSA高达15360,AES-256和ECC的f = 512+。

从加密分析的角度来看,这将确保基于AES的安全通道的持久性。

安全通道使用

加密: 加密采用S-ENC,加密的过程如下图所示:

GPC-SCP03安全通道协议_第1张图片

MAC: MAC生成过程如下图所示:

GPC-SCP03安全通道协议_第2张图片

R-MAC: MAC生成过程,如下图所示:

GPC-SCP03安全通道协议_第3张图片

你可能感兴趣的:(网络,eUICC,Javacard,eSIM,安全,GP)