当前位置: 主页 » 新闻资讯 » 公司新闻
[置顶]智能卡数据交互安全性的研究

证书由CA机构发放。该地区内用户共同信任的可信点CCA (C0untry CA) 为下面的子机构DCA(department CA)颁发身份认证证书,使得其他机构可以信任该组织颁发的证书,并在证书中设定访问权限项(access right,简写为ar),表明上级机构授予子机构的访问权限。子机构再为它管理的读卡器(T)发放证书,并设定访问权限(sub access right,简写为sar)。在证书发放和权限设置时

3 读卡器物理访问权限的认证 http://www.ahlibo.com 为了防止非法分子利用读卡器访问智能卡中基本数据,侵犯持卡人的个人隐私,保证读卡器的访问是在持卡人有意愿的情况下进行,需要在读卡器与智能卡建立通信的开始阶段验证读卡器的物理访问权限。智能卡表面的条形码只有在持卡人出示时才可以被读取,因此,我们通过验证读卡器是否读到正确的条形码来判断读卡器的物理访问权限。它的实现过程分为三步: 第一步:在智能卡初始化阶段,利用条形码的定长信息,采用密钥产生机制生成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进行对比,也可实现对智能卡的认证。 4 安全报文传输 为了保证传输的信息在信道中不被第三方窃听或者篡改,酒店智能门锁防止信息的重放,需要进行安全报文传输。通常的信息传输方式有明文方式,校验码方式,密文方式,密文+校验码方式,本方案采用密文+校验码方式,保证信息传输的完整性与保密性。其中会话密钥的产生过程如下: (1)利用读卡器物理访问权限认证中,读卡器产生的随机数(rand_reader)和智能卡产生的随机数(rand_card)异或值为根。(2)通过密钥生成机制产生密钥,加密密钥为前l6位,生成校验码的密钥为后16位字节。 校验码生成机制采用16字节密钥DES算法生成8字节校验码。传输数据的格式按照ISO/IEC 7816-4中定义的BER TLV编码规则。 5 读卡器访问高敏感数据权限的认证 为了防止对智能卡内敏感数据进行越权访问,保证数据的安全,必须设定读卡器对敏感数据的访问权限。它的设计包括三个部分: (1)第一部分:证书的扩展 根据X.509中对证书的定义,安检门可以在扩展区域添加它对敏感数据的访问权限,如图2所示。 根据PKI和PMI的原理,建议将设定访问权限的证书与设定公钥的证书进行分离,三辊闸避免权限证书中权限的频繁更改,增加证书机构的负担。

(2)第二部分:证书的发放 证书由CA机构发放。该地区内用户共同信任的可信点CCA (C0untry CA) 为下面的子机构DCA(department CA)颁发身份认证证书,使得其他机构可以信任该组织颁发的证书,并在证书中设定访问权限项(access right,简写为ar),表明上级机构授予子机构的访问权限。子机构再为它管理的读卡器(T)发放证书,并设定访问权限(sub access right,简写为sar)。在证书发放和权限设置时目前国内厂商和国际规范中关于数据保护主要集中于前三个问题的研究 ’ ,技术相对比较成熟,而关于读卡器不同程度的非法访问智能卡数据的两个问题没有提出比较好的解决方式,同时对于传输过程中信息的加密也比较薄弱,因此迫切需要解决数据交互中存在的安全问题。本文就是从智能卡与读卡器之问数据交互的安全性出发,在现有的安全技术基础上,提出比较完善的安全设计方案,解决目前数据交互过程中存在的安全问题。第二部分介绍提出的安全方案的总体框架,第三到第五部分是针对I前安全体系遗留问题,提出具体的解决方案,第六部分是对整个方案进行安全性分析。 2 智能卡与读卡器数据交互安全方案 在我们的安全方案中,根据智能卡中数据安全性要求的高低,将智能卡中的数据分为高敏感性数据和低敏感性数据。例如,掌纹、工业防火门,摆闸指纹等隐私性较强的信息称为高敏感数据;智能卡表面印制的条形码(MRZ),内部存储的一些卡片基本信息等相对个人隐私性较弱的信息称为低敏感数据。对于不同敏感程度的信息,建立不同的安全保护机制,具体安全方案如图l所示。其中,智能卡数据完整性认证,智能卡真伪认证,读卡器真伪认证可以采用目前比较成熟的安全技术 ’,因此,本文重点对读卡器物理访问权限认证、安全报文传输以及读卡器访问高敏感数据权限的认证进行讨论。

目前国内厂商和国际规范中关于数据保护主要集中于前三个问题的研究 ’ ,技术相对比较成熟,而关于读卡器不同程度的非法访问智能卡数据的两个问题没有提出比较好的解决方式,同时对于传输过程中信息的加密也比较薄弱,因此迫切需要解决数据交互中存在的安全问题。本文就是从智能卡与读卡器之问数据交互的安全性出发,在现有的安全技术基础上,提出比较完善的安全设计方案,解决目前数据交互过程中存在的安全问题。第二部分介绍提出的安全方案的总体框架,第三到第五部分是针对I前安全体系遗留问题,提出具体的解决方案,第六部分是对整个方案进行安全性分析。 2 智能卡与读卡器数据交互安全方案 在我们的安全方案中,根据智能卡中数据安全性要求的高低,将智能卡中的数据分为高敏感性数据和低敏感性数据。例如,掌纹、指纹等隐私性较强的信息称为高敏感数据;智能卡表面印制的条形码(MRZ),内部存储的一些卡片基本信息等相对个人隐私性较弱的信息称为低敏感数据。对于不同敏感程度的信息,建立不同的安全保护机制,具体安全方案如图l所示。其中,智能卡数据完整性认证,智能卡真伪认证,读卡器真伪认证可以采用目前比较成熟的安全技术 ’,因此,本文重点对读卡器物理访问权限认证、安全报文传输以及读卡器访问高敏感数据权限的认证进行讨论。

3 读卡器物理访问权限的认证 为了防止非法分子利用读卡器访问智能卡中基本数据,侵犯持卡人的个人隐私,保证读卡器的访问是在持卡人有意愿的情况下进行,需要在读卡器与智能卡建立通信的开始阶段验证读卡器的物理访问权限。智能卡表面的条形码只有在持卡人出示时才可以被读取,因此,我们通过验证读卡器是否读到正确的条形码来判断读卡器的物理访问权限。它的实现过程分为三步: 第一步:在智能卡初始化阶段,利用条形码的定长信息,采用密钥产生机制生成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进行对比,也可实现对智能卡的认证http://www.ahmenkong.com。 4 安全报文传输 为了保证传输的信息在信道中不被第三方窃听或者篡改,防止信息的重放,需要进行安全报文传输。通常的信息传输方式有明文方式,校验码方式,密文方式,密文+校验码方式,本方案采用密文+校验码方式,保证信息传输的完整性与保密性。其中会话密钥的产生过程如下: (1)利用读卡器物理访问权限认证中,读卡器产生的随机数(rand_reader)和智能卡产生的随机数(rand_card)异或值为根。(2)通过密钥生成机制产生密钥,加密密钥为前l6位,生成校验码的密钥为后16位字节。 校验码生成机制采用16字节密钥DES算法生成8字节校验码。传输数据的格式按照ISO/IEC 7816-4中定义的BER TLV编码规则。 5 读卡器访问高敏感数据权限的认证 为了防止对智能卡内敏感数据进行越权访问,自动门保证数据的安全,必须设定读卡器对敏感数据的访问权限。它的设计包括三个部分: (1)第一部分:证书的扩展 根据X.509中对证书的定义,可以在扩展区域添加它对敏感数据的访问权限,如图2所示。 根据PKI和PMI的原理,建议将设定访问权限的证书与设定公钥的证书进行分离,避免权限证书中权限的频繁更改,增加证书机构的负担。