登陆

​安全报文传送

fuzhika 2019-04-16 1608人围观 ,发现0个评论
成都配门禁卡IC卡微信yezhuka电话18200229189

安全报文传送
PBOC2.0规范的第1部分《 电子钱包/电子存折应用卡片规范》 中定义了安 全报文传送方式。
安全报文传送的目的是保证数据的可靠性、 完整性和对发送方的认证。 数据完整性和对发送方的认证通过使用MAC来实现。 数据的可靠性通过对数据域的加密来得到保证。
1 安全报文传送格式
规范中定义的安全报文传送格式应符合ISO 7816-4的规定。 当CLA字节的第二个半字节等于十六进制数字“4”时, 表明对发送方命令数据要采用安全报文传送。 卡中的FCI表明某个命令的数据域的数据是否应该以加密的方式处理。
 2报文完整性和验证
MAC是使用命令的所有元素( 包括命令头) 产生的。 一条命令的完整性,IC卡复制包括命令数据域( 如果存在的话) 中的数据元, 通过安全报文传送得以保证。
( 一) MAC的位置
MAC是命令数据域中最后一个数据元。
( 二) MAC的长度
MAC的长度为4个字节。
( 三) MAC密钥的产生
在安全信息处理过程中用到的MAC过程密钥是按照规范中规定的过程密钥的产生过程产生的。 MAC DEA密钥的原始密钥用于产生MAC过程密钥。 '
( 四) MAC的计算
使用单重或三重DEA加密方式产生MAC。
3 数据可靠性
为保证命令中明文数据的保密性, 可以将数据加密。 所使用的数据加密技术, 应被命令发送方和当前卡中被选择的应用所了解。
( 一) 数据加密密钥的计算
在安全报文处理过程中用到的数据, 加密过程密钥按照规范中描述的方式产生。 数据加密过程密钥的产生过程是从卡中的数据加密DEA密钥开始的。
( 二) 被加密数据的结构
当命令中要求的明文数据需要加密时, 它先要被格式化为以下形式的数据块:
• 明文数据的长度, 不包括填充字符(LD);
• 明文数据;
• 填充字符。
然后整个数据块使用数据加密技术进行加密。

(三) 数据加密计算

数据加密技术如下所述:

第一步:用LD表示明文数据的长度,在明文数据前加上LD产生新的数 据块。

第二步:将第一步中生成的数据块分解成8字节数据块,标号为Dl、D2、 D3和D4等。最后一个数据块长度有可能不足8位。

第三步:如果最后(或唯一)的数据块长度等于8字节,转入第四步;如 果不足8字节,在右边添加十六进制数字“80”。如果长度已达8字节,转人第 四步;否则,在其右边添加1字节十六进制数字“0”直到长度达到8字节。

第四步:每一个数据块使用数据加密方式加密。

第五步:计算结束后,所有加密后的数据块依照原顺序连接在一起(加密 后的D1、加密后的D2等)。并将结果数据块插人到命令数据域中。

(四) 数据解密计算

卡片接收到命令之后,需要将包含在命令中的加密数据进行解密。

 4 过程密钥的产生

MAC和数据加密过程密钥的产生,定义了基于单长度DEA密钥的过程密钥 和基于双长度DEA密钥的过程密'钥。

请发表您的评论
请关注微信公众号
微信二维码
不容错过