建和公司教你如何保障超市会员卡的安全
文章标签:超市会员卡 发布时间:2015年10月29日 点击次数:
从目前市场情况看超市会员卡已经从磁条卡过度到了会员卡阶段。磁条卡安全更依赖于管理系统而感应卡本身储存信息要远远高于磁条卡,并且具备磁条卡没有的对数据加密功能,防止恶意篡改数据对超市造成损失。
会员卡数据存在的安全问题主要来自于以下五个方面:篡改IC卡中数据或者伪造IC卡,使得数据存储在不安全的卡上;改造读卡器;窃听读卡器与IC卡的通信信道,截获、更改或者重放报文信息;非法分子利用合法读卡器在持卡人未知的情况下,试图读取IC卡中的基本数据;读卡器越权访问会员卡中的敏感信息。
为了防止恶意利用读卡器访问会员卡中基本数据,侵犯持卡人的个人隐私,保证读卡器的访问是在持卡人有意愿的情况下进行,需要在读卡器与会员卡建立通信的开始阶段验证读卡器的物理访问权限。会员卡表面的条形码只有在持卡人出示时才可以被读取,因此,我们通过验证读卡器是否读到正确的条形码来判断读卡器的物理访问权限。它的实现过程分为三步:
第一步:在会员卡初始化阶段,利用条形码的定长信息,采用密钥产生机制生成16字节的加密密钥Kenc, 16字节MAC生成密钥Kmac,然后存储在会员卡中。密钥产生机制的过程包括:
(1)以定长数据为根,通过SHA1产生20字节的摘要值;
(2)摘要值中的前16字节为加密密钥,生成MAC的密钥。
与读卡器之间基于对称密钥的认证方式,对密钥进行认证。具体步骤如下:
(1)读卡器发送取随机数的命令,获取会员卡产生的8字节的随机数A;
(2)读卡器产生8字节的随机数B, 并产生16字节的随机数random—read,用加密密钥Kencl对A,B和random—read进行加密得密文C;对密文C用Kmac生成校验码macl,将密文C和校验码macl发送给会员卡;
(3)会员卡收到信息后,获取其中的密文C和校验码macl,利用卡内存储的密钥Kmac生成mac2,将mac2与macl进行比对,比对成功则解密,得到明文,认证随机数A 的正确性,完成对读卡器的认证;
(4)会员卡从明文中获取随机数B, 产生16字节的随机数random—card,并利用加密密钥Kenc对A,B和random—card,进行加密,获取密文C1,用Kmac对密文生成校验码mac’;将密文和校验码发送给读卡器;
(5)读卡器收到信息后,利用密钥Kmacl先生成mac’2;与获取的MAC值进行比对,一致则解密信息,对获取的随机数B进行对比,也可实现对会员卡的认证。
文章编辑:深圳建和诚达会员卡制作厂家