智能卡安全报文功能在网络认证和通信中的应用 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

智能卡安全报文功能在网络认证和通信中的应用

来源:中国一卡通网  作者:段 斌  发布时间:2010-07-30 14:43:45  字体:[ ]

关键字:智能卡  网络认证  网上支付  报文功能  

摘   要:智能卡的安全报文功能可以有效地解决数据的可靠性、完整性和对数据发送方的认证等问题, 当智能卡用于网上付费或网上身份认证时, 其安全报文功能对网络认证和网上通信有着极为重要的作用。本文介绍在服务器通过网络对客户端IC 卡发送指令和接收响应的安全报文的实现方法。


    值得注意的是, 设定为com b ined mode 的SM KEY, 可用于没有设定安全报文指令的au then t ic mode 安全报文形式和com b ined mode 安全报文形式。 

    6 网上安全报文工作流程
 


图3 安全报文工作示意图

    安全报文工作示意图如图3 所示。为最大限度地保证安全性, 安全顺序计数SSM 的值也用安全报文的形式生成并从网上传送。服务器端计算指令的MAC 和验证应答的MAC 工作都由PSAM 卡完成。

    7 CA SE4 指令及应答安全报文的实现方法
 
    (1) EXCHAN GE CHALL EN GE 指令的Com b ined mode 模式SM 形式CLA IN S P1 P2 L c TPV L P I‖CG YL e L L e TCS L Check sum8c 80 03 00 14 87 09 01‖eKSM (RND IFD 97 01 04 8e 04 xx xx xx xx 00
 
    (2) 计算Check sum 过程:
    ①将指令的头4 个字节垫以’80’, ’00’, ’00’, ’00’生成块1; CLA IN S P1 P2 PADD IN GS ‘8C’‘80’ ‘03’ ‘00’ ‘00’  ‘00’
    ②将(TPV ,L , P I) 和CG 域的头5 个字节组成块2;
    ③将CG 域剩余的3 个字节和TL c,L ,L e 再垫以80, 00 组成块3;
    ④将前面执行的无安全报文形式的EXCHAN GE CHALL EN GE 指令的应答中(RND ICC)的头二个字节作为SSC 的初始值, 并将SSC 加1, 将SSC 分别与CLA , IN S 异或, 生成新的块1:
    ⑤对数据块用SM 密钥做DES 运算, 数据块的链接用CBC 模式, 设初始值为8 个字节的‘00’, 按图4 所示方法计算前面形成的数据块对的MAC;
    ⑥将计算得出的MAC 的头4 字节作为指令的校验码CC。
 

     (3) 检测应答校验码的过程
    用户卡首先产生响应1: ’61’, ’11’。在执行完带L e= ’11’的GET RESPON SE 指令后,用户卡将产生如下所示的响应2:TCG LCG P I‖CG TCC LCC Check sum SW 1 SW 2‘87’ ‘09’‘01’‖eKSM (RND ICC) ‘8E’ ‘04 ‘xxxxxxxx’ ‘90’ ‘00’ 

    由响应中信息计算MAC 与响应中的Check sum 比较以检测响应报文校验码的操作过程如下:
    ①将TCG,L CG, P I 和CG 的头5 个字节组成块1将CG 域的后3 个字节并垫以‘80’,‘00’,‘00’,‘00’,‘00’组成块2 

    ②将SSC 加1
 

    ③将块1 的头2 字节分别与SSC 异或产生新的块1 

    ④对数据块用SM 密钥做DES 运算, 数据块的链接用CBC 模式, 设初始值In it ialvecto r 为8 个字节的‘00’, 按类似图4 所示方法计算前面形成的数据块队的MAC。

    ⑤将计算得出的MAC 的头4 个字节与应答中的Check sum 比较, 由此判断应答数据的完整性和正确性。对EXCHAN GECHALL EN GE 指令的应答不能作本步验证, 因IC 卡的SSC 已换成新的。但对于其它指令都需用此方法验证应答信息的可靠性。 
 


图4 计算指令MAC 的过程
 
图5 响应中应用数据密文计算明文的过程 

    (4) 由密文获取明文的方法:对密文数据块用SM 密钥做DES- 1 解密运算, 数据块的链接用CBC 模式, 设初始值In it ial vecto r 为8 个字节的‘00’, 按图5 所示方法计算出密文数据的明文。此数据的头二字节即为新的SSC。 

    8 指令流程 

    (1) 交换随机数:
    comm and: 80 80 03 00 04 01 02 03 04104respon se: 78 b1 f3 82 90 00得到SSC 的商始值: 78 61 

    (2) 计算exchange challenge 指令中的数据域密文comm and: 80 f8 00 87 08 01 02 03 04 80 00 00 00respon se: ac a6 00 16 02 d2 5a 72 d5 aa f6 34 5b 30 a6 e2 90 00得到数据域密文为: ac a6 00 16 02 d2 5a 72 

    (3) 计算com b ined mode 的exchange challenge 指令的MAC:comm and: 80 f8 00 87 18 f4 32 03 00 80 00 00 00 87 09 01 ac a6 00 16 02 d2 5a 72 97 0104 80 00respon se: c1 37 c2 16 5c fe af 38 31 7a 1a df 76 f0 79 26 22 35 2d 1e 37 5f 93 92 b8 9e b92b d9 35 b0 0e 90 00得到MAC: 22 35 2d 1e说明: 应答域设为97 01 08 则出错, 但没有应答域可以。 

    (4) 发com b ined mode 的exchange challenge 指令comm and: 8c 80 03 00 14 87 09 01 ac a6 00 16 02 d2 5a 72 97 01 04 8e 44 22 35 2d 1e 00 respon se: 87 09 01 99 f8 10 96 c3 e6 bc e0 8e 04 63 92 f5 ed 90 00 从密文数据99 f8 10 96 c3 e6 bc e0 解密出明文为: b3 a7 c5 5a, 得到SSC 的初始值为b3a7服务器将此SSC 加2 (因IC 卡生成应答安全报文时已将SSC 加1) , 便可生成发给IC 卡的指令安全报文形式。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖