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,加密的过程如下图所示:

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

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

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: gp scp03协议是一种用于保护智能卡(SIM卡)上敏感数据和实现安全通信的协议。下面是gp scp03协议的流程: 1. 初始化阶段:在这个阶段,首先需要建立与智能卡的安全通道。终端设备发送初始化命令到智能卡,卡片通过认证验证终端设备,并生成一个公共密钥对和一个会话密钥。 2. 外部认证阶段:通过会话密钥进行外部认证,终端设备和智能卡都需要生成一些认证数据,并进行互相验证。这个阶段主要是确保双方身份的合法性,并认证双方的身份。 3. 密钥派生阶段:通过使用会话密钥,生成一系列用于后续通信的密钥。这些密钥用于保护数据的机密性、完整性和可用性。 4. 安全通信阶段:在这个阶段,终端设备和智能卡通过会话密钥进行加密和解密操作,以保护通信数据的机密性。同时,还使用会话密钥进行消息认证码(MAC)计算,以确保通信数据的完整性。 5. 会话密钥更新阶段:为了提高安全性,会话密钥需要定期更新。终端设备和智能卡通过一系列协商和认证过程,生成新的会话密钥,并更新到双方的安全通道中,以确保后续通信的安全性。 总体来说,gp scp03协议通过建立安全通道、进行身份认证和密钥派生,以及使用会话密钥进行加密和消息认证,实现了对智能卡上敏感数据的保护和安全通信的需求。这个协议的流程设计合理,安全性较高,适用于各种需要保护数据和实现安全通信的应用场景。 ### 回答2: GP SCP03(Global Platform Secure Channel Protocol 03)是一种安全通信协议,用于在全球平台(Global Platform)环境下建立和维护一个安全通道。该协议提供了保护存储在智能卡中的数据和执行的应用程序的机制。 GP SCP03的流程如下: 1. 初始化:在建立安全通道之前,智能卡和终端之间需要进行初始化。终端会发送一个初始化请求给智能卡,并协商使用的安全算法和密钥等参数。 2. 密钥协商:智能卡和终端根据初始化阶段协商的参数,生成用于通信的会话密钥。这个密钥将用于后续的数据加密和解密过程。 3. 建立安全通道:智能卡和终端根据协商好的参数进行安全通道的建立。在这个过程中,终端计算一个挑战码(Challenge),发送给智能卡进行验证。智能卡使用会话密钥计算一个响应码(Response),并返回给终端。终端验证响应码的有效性后,安全通道建立完成。 4. 数据传输:建立安全通道后,智能卡和终端可以进行安全的数据传输。数据传输过程中,使用会话密钥进行数据的加密和解密,以保证数据的机密性。 5. 安全通道维护:在数据传输期间,智能卡和终端可以通过协商好的协议通道进行维护。例如,当通道密钥过期或不安全时,可以重新协商生成新的密钥。 总结来说,GP SCP03协议流程包括初始化、密钥协商、建立安全通道、数据传输和安全通道维护等步骤。通过这个流程,智能卡和终端可以安全地进行通信,保护存储在智能卡中的数据和应用程序的安全。 ### 回答3: GP SCP03(GlobalPlatform Secure Channel Protocol 03)是一种用于建立安全通道协议,主要用于保护智能卡与读卡器之间的通信安全GP SCP03协议的流程如下: 1. 随机数交换:通信的双方,即智能卡和读卡器,首先互相交换随机数。智能卡和读卡器各自生成一个随机数,并将生成的随机数发送给对方。 2. 密钥派生:双方使用交换后的随机数作为输入,通过派生算法生成会话密钥。该密钥将用于后续的加密和解密操作,确保通信的机密性。 3. 密钥协商:双方使用加密算法和密钥派生算法,协商确定用于后续通信的加密和解密密钥,并进行密钥协商验证。密钥协商过程中的各个步骤,如密钥计算、密钥验证等,都需要使用会话密钥进行加密和解密。 4. 安全消息传输:通信双方使用协商好的密钥进行加密和解密操作,实现安全通信。在传输过程中,数据包被加密以保护数据的机密性,同时还进行了消息完整性校验,保证传输的数据未被篡改。 GP SCP03协议通过以上流程,实现了智能卡与读卡器之间的安全通信。通过交换随机数、密钥派生和协商、以及加密和解密操作,确保通信过程中数据的机密性和完整性。这为智能卡应用提供了更高的安全性,保护用户的隐私和数据安全

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值