Global Platform Technology安全通道协议SCP02 SCP10 SCP03 SCP11的简单分析和比较

Global Platform Technology(以下简称为GP)的安全通道协议(Secure Channel protocol,以下简称为SCP)是可信服务管理(Trusted Service Manager,以下简称为TSM)的安全基础。

安全通道协议通常分成两大部分,第一部分是相互认证和通道初始化流程,在此流程中生成过程密钥;第二部分基于此过程密钥进行安全数据信息交换,保证数据信息交换的保密性和完整性。另外按GP标准协议,安全通讯双方采用如下简称OCE(Off Card Entity), SD (Security Domain)。

本文根据以上两大部分的划分,对安全通道协议GP SCP02 SCP10 SCP03 SCP11进行简单分析和比较如下:

一、SCP02协议

协议可分成两大部分:

第一部分基于3DES CBC算法进行安全通道初始化,进行双向认证,协议支持两种形式的固定密钥,一种形式仅有一个固定密钥:安全通道基础密钥,或者采用另一种形式是有三个固定密钥:安全通道加密密钥,安全通道MAC密钥和数据加密密钥。由以上固定密钥可以派生出三个过程密钥:C-MAC过程密钥,R-MAC过程密钥和加密过程密钥,密钥派生通过固定密钥加密规定密钥分散因子的形式生成。

第二部分对基于C-MAC过程密钥、R-MAC过程密钥和加密过程密钥如何进行安全通道数据交换进行详细的规定,加密算法采用3DES CBC算法,生成MAC的算法是“Single DES Plus Final Triple DES MAC”的方式,具体引用标准协议是“ISO 9797-1”中的 “MAC Algorithm 3

二、SCP10协议

协议可分成两大部分:

第一部分基于RSA算法进行安全通道初始化,进行双向认证,SCP10协议通过RSA公钥加密传输OCE过程密钥信息给SD,按照协议,双方生成MAC过程密钥和加密过程密钥,按照协议交互双方基于RSA进行签名和验签完成双向认证。

第二部分则是对如何基于已经生成的MAC过程密钥和加密过程密钥进安全通信数据交换进行了详细的规定,加密算法采用3DES CBC算法,生成MAC的算法是“Single DES Plus Final Triple DES MAC”的方式,具体引用标准协议是“ISO 9797-1”中的 “MAC Algorithm 3

三、SCP03协议

协议可分成两大部分:

第一部分基于AES算法进行安全通道初始化,进行双向认证,SCP03有三个固定密钥K-ENC和K-MAC, K-DEK。由固定密钥派生出三个过程密钥S-ENC, S-MAC和S-RMAC三个过程密钥,过程密钥生成方式采用了“NIST SP 800-108”标准所述KDF算法中的计数模式。

第二部分对基于S-ENC, S-MAC和S-RMAC如何进行安全通道数据交换规则进行了详细的规定,加密算法采用AES算法,生成MAC的算法为AES-CMAC,具体引用标准协议参考“NIST SP 800-38B”。

四、SCP11协议

相对之前所述安全通道所述内容,SCP11比较特别的是只规定所述安全通道协议第一部分内容,第二部分内容则直接引用了SCP03协议第二部分的内容。SCP11协议按照安全通道基于ECC(Elliptic Curve Cryptography)算法进行完成认证,生成共享秘密,进行安全通道初始化,后续基于AES算法进行安全通道数据传输。SCP11 生成共享秘密后,按“BSI TR-03111, Version 2.0”标准协议所述的X9.63 KDF方法进行密钥分散,最终生成S-ENC, S-MAC和S-RMAC三个过程密钥用于SCP03安全通道的数据传输。

SCP11协议有三种形式,分别是SCP11a, SCP11b和SCP11c。它们之间的区别如下表所示:

五、小结

综上所述,在安全通道协议的实际应用方面,小结如下,如有错误,请指正:

  1. 通过以上安全通道协议的简单分析和比较,TSM采用SCP11生成过程密钥,基于过程密钥建立SCP03安全通道是当前适合的选择。
  2. 基于业内对DES算法安全性的考虑,新项目设计应避免使用基于DES算法的安全通道协议,如SCP02和SCP10。
  3. 上述SCP11和SCP03的组合应用安全通道的形式与Car Connectivity Consortium数字车钥匙标准中应用安全通道的形式在原理上是相通的,比如在CCC数字车钥匙标准中车主钥匙配对流程中,车辆和车主设备通过SPAKE2+算法过程中形成共同秘密生成过程密钥,再基于过程密钥建立SCP03安全通道进行数据交换;在CCC数字车钥匙标准中车主钥匙交易流程,则是交易双方通过交易流程中形成的共同秘密生成过程密钥,再基于过程密钥建立SCP03安全通道进行数据交换。
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: gp scp03协议是一种用于保护智能卡(SIM卡)上敏感数据和实现安全通信的协议。下面是gp scp03协议的流程: 1. 初始化阶段:在这个阶段,首先需要建立与智能卡的安全通道。终端设备发送初始化命令到智能卡,卡片通过认证验证终端设备,并生成一个公共密钥对和一个会话密钥。 2. 外部认证阶段:通过会话密钥进行外部认证,终端设备和智能卡都需要生成一些认证数据,并进行互相验证。这个阶段主要是确保双方身份的合法性,并认证双方的身份。 3. 密钥派生阶段:通过使用会话密钥,生成一系列用于后续通信的密钥。这些密钥用于保护数据的机密性、完整性和可用性。 4. 安全通信阶段:在这个阶段,终端设备和智能卡通过会话密钥进行加密和解密操作,以保护通信数据的机密性。同时,还使用会话密钥进行消息认证码(MAC)计算,以确保通信数据的完整性。 5. 会话密钥更新阶段:为了提高安全性,会话密钥需要定期更新。终端设备和智能卡通过一系列协商和认证过程,生成新的会话密钥,并更新到双方的安全通道中,以确保后续通信的安全性。 总体来说,gp scp03协议通过建立安全通道、进行身份认证和密钥派生,以及使用会话密钥进行加密和消息认证,实现了对智能卡上敏感数据的保护和安全通信的需求。这个协议的流程设计合理,安全性较高,适用于各种需要保护数据和实现安全通信的应用场景。 ### 回答2: GP SCP03Global Platform Secure Channel Protocol 03)是一种安全通信协议,用于在全球平台(Global Platform)环境下建立和维护一个安全通道。该协议提供了保护存储在智能卡中的数据和执行的应用程序的机制。 GP SCP03的流程如下: 1. 初始化:在建立安全通道之前,智能卡和终端之间需要进行初始化。终端会发送一个初始化请求给智能卡,并协商使用的安全算法和密钥等参数。 2. 密钥协商:智能卡和终端根据初始化阶段协商的参数,生成用于通信的会话密钥。这个密钥将用于后续的数据加密和解密过程。 3. 建立安全通道:智能卡和终端根据协商好的参数进行安全通道的建立。在这个过程中,终端计算一个挑战码(Challenge),发送给智能卡进行验证。智能卡使用会话密钥计算一个响应码(Response),并返回给终端。终端验证响应码的有效性后,安全通道建立完成。 4. 数据传输:建立安全通道后,智能卡和终端可以进行安全的数据传输。数据传输过程中,使用会话密钥进行数据的加密和解密,以保证数据的机密性。 5. 安全通道维护:在数据传输期间,智能卡和终端可以通过协商好的协议通道进行维护。例如,当通道密钥过期或不安全时,可以重新协商生成新的密钥。 总结来说,GP SCP03协议流程包括初始化、密钥协商、建立安全通道、数据传输和安全通道维护等步骤。通过这个流程,智能卡和终端可以安全地进行通信,保护存储在智能卡中的数据和应用程序的安全。 ### 回答3: GP SCP03GlobalPlatform 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、付费专栏及课程。

余额充值