您好,欢迎访问三七文档
当前位置:首页 > 法律文献 > 理论/案例 > GP-Amendment-D
SCP03简单介绍安全与识别事业部安全通道(SecureChannel)SecureChannel安全通信协议和相关安全服务的统称安全通道在应用会话期间为卡片和卡外实体提供了一个安全的通信路径安全通道三阶段安全通道在应用会话期间为卡片和卡外实体提供了一个安全的通信路径。安全通道会话可划分为三个连续的阶段:安全通道的开启-在此过程中,卡片应用与卡外实体通过交换足够的信息使得它们能够完成必要的加密功能,安全通道的开启总是包括卡片应用对卡外实体的认证过程;安全通信的运行-在此过程中,卡片应用与卡外实体在安全通道会话的加密保护下进行数据交换,安全通道服务在不同的安全通道协议下可能是各不相同的;安全通道的终止-当卡片应用或卡外实体的某一方判断出没有必要借助该安全通道会话继续进行通信时,该通道就会被终止。安全通道协议标识符标识出了安全域实现了何种特定的安全通道协议和安全服务系列,其分配的值如下所示:'00':不可用;'01'到'7F':保留给GlobalPlatform使用;‘01’:安全通道协议1,定义在GP主规范附录D中,不推荐使用;'02':安全通道协议2,定义在GP主规范附录E中;'10':安全通道协议'10',定义在GP主规范附录F中;使用非对称密钥的安全通信协议'10'提供了基于公共密钥体系的认证服务,以及对APDU命令和响应采取的、基于对称密钥加密的安全消息传送保护服务'80'到'EF':用于GlobalPlatform注册的独立模式;‘80’:安全通道协议‘80’,定义在《ETSITS102225规范》和《ETSITS102226规范》中;定义了空中下载的安全模式'F0'到'FF':用于没有在GlobalPlatform注册的私有安全级别;SCP03SCP03是基于AES对称算法的安全通道协议,与其他SCP02比较不同之处:1、算法不同2、过程密钥生成机制不同SCP03使用到算法1、AES算法特点密钥长度16、24、32字节,AES-128、AES-192、AES-256数据最小分块16字节,SCP03使用是AES-1282、加密、解密CBC模式–参考【NISTSP800-38A】3、MACCMAC–参考【NISTSP800-38B】4、AESPadding方式补80直到数据为16字节整数倍SCP03dataderivationscheme数据推导机制,用于生成密钥、卡片伪随机数或卡片密文A12byte“label”consistingof11byteswithvalue'00'followedbyaonebytederivationconstantasdefinedbelow.Aonebyte“separationindicator”withvalue'00'.A2byteinteger“L”specifyingthelengthinbitsofthederiveddata(value'0040','0080','00C0',or'0100').A1bytecounter“i”asspecifiedintheKDF(whichmaytakethevalues'01'or'02';value'02'isusedwhen“L”takesthevalues'00C0'and'0100',i.e.whenthePRFoftheKDFistobecalledtwicetogenerateenoughderiveddata).The“context”parameteroftheKDF.ItscontentisfurtherspecifiedinthesectionsbelowapplyingthedataderivationschemeDataDerivationContantsSCP03“i”parameterSessionEncKeySessionEncKeyDerivationData=“00”×11+“04”+“0080”+hostchallenge(8bytes)+cardchallenge(8bytes)DerivationData(32bytes)NISTSP800-38B(PRFCMAC)EncKey(16bytes)SessionEncKey(16bytes)SessionMacKeySessionMacKeyDerivationData=“00”×11+“06”+“0080”+hostchallenge(8bytes)+cardchallenge(8bytes)MacKey(16bytes)DerivationData(32bytes)NISTSP800-38B(PRFCMAC)SessionMacKey(16bytes)SessionR-MacKeySessionR-MacKeyDerivationData=“00”×11+“07”+“0080”+hostchallenge(8bytes)+cardchallenge(8bytes)MacKey(16bytes)DerivationData(32bytes)NISTSP800-38B(PRFCMAC)SessionR-MacKey(16bytes)CardChallengeAsindicatedinthe“i”parameter(bit5),thecardchallengeshalleitherberandom(bit5=0)orpseudo-random(bit5=1)pseudo-randomDerivationData=“00”×11+“02”+“0040”+sequencecounter(3bytes)+AIDoftheapplicationinvokingtheSecureChannelinterface(5to16bytes)(12bytes)pseudo-randomEncKey(16bytes)DerivationData(32bytes)NISTSP800-38B(PRFCMAC)pseudo-random(8bytes)CardAuthenticationCryptogramDerivationData=“00”×11+“00”+“0040”+hostchallenge(8bytes)+cardchallenge(8bytes)MacKey(16bytes)DerivationData(32bytes)NISTSP800-38B(PRFCMAC)CardAuthenticationCryptogram(8bytes)HostAuthenticationCryptogramDerivationData=“00”×11+“01”+“0040”+hostchallenge(8bytes)+cardchallenge(8bytes)MacKey(16bytes)DerivationData(32bytes)NISTSP800-38B(PRFCMAC)HostAuthenticationCryptogram(8bytes)APDUcommandCMAC生成和验证APDUResponseR-MAC生成和验证APDUcommandC-MAC和C-DECRYPTION生成和验证APDUcommandR-MACandR-ENCRYPTION生成和验证敏感数据加密指令说明指令说明PutkeySTOREDATA(AESKey-DEK)参考附录A1、密钥值加密2、加密数据长度必须是16整数倍,否则最后一块Padding3、CheckValue
本文标题:GP-Amendment-D
链接地址:https://www.777doc.com/doc-5552703 .html