组合模式过程表现了更高水平的安全性。APDU的数据部分不再作为明文传送,而由加密的形式取代,其过程为鉴别模式过程的扩充。
在组合模式过程中,就像在鉴别模式过程中那样,用加密校验和保护的数据对象首先要填补成8字节的整倍数并用CBC模式的DES算法加密,如图1所示。在这项处理中,为了和T=0协议所需的相容性,略去了头标。如果期望也对头标加密,则送给卡的命令就无法被识别,就必须使用T=0的ENVELOPE命令。用类字节中的一位表明使用了安全通信,数据在经接口传输时是已经加了密的。由于接收方知道加密用的秘密密钥,它可对 APDU解密,接收方可凭借重新计算在传输层的同一水平的附加的密码校验和以验证解密的正确性。读者在阅读图1时,应注意图中CLA,h和LDATA的改变(有或无“‘’)。
关于加密算法,那些对鉴别模式过程的解释也适用于此处。原则上,可使用任何字组加密算法。密钥应当是动态的,就像在鉴别模式过程中那样,对每一会话都使用导出密钥。
考虑到安全性的优势,普遍对所有APDU使用组合模式过程是值得推荐的。然而,安全性的增加伴随着数据传输率的显著降低。
图1 用组合模式过程建立一命令APDU,情况3的命令(例如UPDATE BINARY)被用于此,头标包括在加密校验和(ccs)中,应答APDU可用类似方式建立(‘PB’作为填补字节的指示)
未保护的APDU和用组合模式过程保护的APDU二者之间的传输率的差别的良好近似是因子4。这样鉴别模式过程和组合模式过程之间的速度差别就是因子2。于是,在每种情况下都要小心地检查,以便断定那些数据要用那种安全但费时的形式传输。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)