一种智能卡和受理终端的双向验证方法和装置的制造方法_2

文档序号:9202525阅读:来源:国知局
卡受理终端获取智能卡的识别信息:
[0042]首先需要说明的是,本发明实施例所述的每张智能卡上携带有智能卡的识别信息。所述识别信息可以为智能卡的卡片号码,也可以为持卡人的姓名,当然也可以为其它能够识别该智能卡的识别信息。另外,识别信息还可以为多种号码的组合。
[0043]当智能卡为联名卡时,所述识别信息还可以由会员号和卡片识别号组成。进一步地,所述识别信息还可以由主账户应用序列号、会员号和卡片号码组成。从各个不同的号码中挑选出特定位置上的数字,将这些数字按照一定顺序排列组合成的数字组即为识别信息。
[0044]其中,会员号是发卡机构分配给客户的号码,该会员号用于识别客户,客户在更换卡时该会员号不会改变。卡片识别号用于区别同一客户的不同卡片的号码,客户换卡时卡片识别号会发生改变。
[0045]为了避免必须采用统一配置的受理终端获取智能卡的识别信息,在本发明实施例中,可以将智能卡的识别信息同时设置在智能卡的不同位置。例如将智能卡的识别信息印刷在智能卡的卡面上,若智能卡为磁条卡时,还可以同时将智能卡的识别信息存储在智能卡的磁条上,若智能卡为芯片卡时,又可以同时将智能卡的识别信息存储在智能卡的芯片内。
[0046]为了能够使得同一张智能卡能够为不同配置的受理终端识别,本发明实施例提供的智能卡优选为集磁条和芯片于一体,并且将智能卡的识别信息同时存储在磁条和芯片内。另外,还可以同时将智能卡的识别信息印刷在卡片上。
[0047]当智能卡的卡面上印刷有智能卡的识别信息时,所述智能卡受理终端获取智能卡的识别信息具体为:向智能卡受理终端上输入智能卡的识别信息,从而使得智能卡受理终端获取到智能卡的识别信息。
[0048]当智能卡上设置有磁条,并且智能卡的识别信息存储在该磁条内,则所述智能卡受理终端获取智能卡的识别信息具体为:智能卡受理终端刷智能卡的磁条,从所述磁条内读取所述智能卡的识别信息。此时,智能卡受理终端需要配置能够刷磁条卡的设备。
[0049]另外,当智能卡为芯片卡,并且智能卡的识别信息存储在芯片内,则所述智能卡受理终端获取智能卡的识别信息具体为:智能卡受理终端通过智能卡上的芯片接口读取存储在芯片内的智能卡识别信息,从而使得智能卡受理终端获取到智能卡的识别信息。此时,智能卡受理终端需要配置能够读取芯片卡的设备。
[0050]当智能卡集存储有智能卡识别信息的磁条、芯片于一体,并且将智能卡的识别信息印刷在卡面上,则智能卡受理终端可以采用其各自的技术手段来获取智能卡的识别信息,这种智能卡免去了对受理终端配置的要求,有利于智能卡的推广应用。
[0051]进一步地,由于芯片卡具有硬件加密结构,可以作为加密器件使用,而且其特殊的软件体系-C0S(Chip Operat1n System)又为数据存储和操作提供了较高的安全性,可用于小批量数据的存储。因此,本发明实施例所述的智能卡优选为芯片卡。
[0052]需要说明的是,本发明实施例所述的智能卡受理终端可以为POS机终端、还可以为连接读卡器的电脑软件,又可以为使用NFC功能的移动终端的客户端。进一步地,这些智能卡受理终端可以为配置在与发卡机构合作的商家内的受理终端,也可以为配置在发卡机构内的受理终端。当智能卡受理终端为配置在发卡机构内的受理终端时,该智能卡受理终端还可以为用于测试发出的智能卡是否正确的检测软件。另外,该检测软件也可以配置在商家内部。
[0053]S102、智能卡受理终端将所述识别信息发送至密钥分散动态库。
[0054]需要说明的是,本发明实施例所述的智能卡和受理终端的双向验证方法中,密钥发行采用密钥分散方法。具体地说,密钥发行由上级生成下一级所需的子密钥。密钥分散的目的,即使某个子密钥泄露了,那也不会威胁管理主密钥的安全,因为无法从子密钥和分散数据推导出主密钥,提高了系统的安全性,降低了安全风险和管理成本。
[0055]在本发明实施例中,将主密钥封装成密钥分散动态库,密钥分散动态库内存储有主密钥,并且密钥分散动态库能够保护主密钥不暴露在外,因此,密钥分散动态库能够保证主密钥的安全。
[0056]另外,在本发明实施例提供的智能卡和受理终端之间的双向验证方法中,密钥分散动态库存在两次密钥分发,一次是制卡过程中卡片个人化时需要通过分散算法从密钥分散动态库的主密钥中分散出不同智能卡的卡片子密钥,并将其写入到智能卡中,另外一次是在智能卡受理过程中根据获取的智能卡的识别信息从密钥分散动态库中还原出智能卡的卡片子密钥,并将其用于智能卡内数据的读取或更新。所述卡片子密钥包括外部认证密钥和内部认证密钥。
[0057]S103、密钥分散动态库根据所述识别信息以及分散算法从密钥分散动态库的主密钥中分散出智能卡的外部认证密钥:
[0058]在本发明实施例中,智能卡受理终端将识别信息发送至密钥分散动态库,该识别信息作为密钥分散动态库的明文输入。另外,在智能卡的卡片结构中,还设置有不同类型密钥的密钥序列号,密钥分散动态库可以根据密钥序列号选择主密钥,该主密钥作为加密算法的密钥。然后,密钥分散动态库接收到识别信息密钥序列号后,将识别信息作为密钥分散因子,然后密钥分散动态库根据密钥分散因子选择相应的主密钥,该主密钥作为加密算法如3DES算法的密钥,最后密钥分散动态库根据该密钥以及加密算法计算得到智能卡的外部认证密钥。
[0059]由于在智能卡受理过程中,智能卡需要验证受理终端是否为合法终端,同时受理终端也要验证智能卡的真伪。因此,在每个智能卡受理终端或后台服务器上均配置有密钥分散动态库,配置在每个智能卡受理终端的密钥分散动态库通过网络发送至每个受理终端或受理终端的后台服务器上,由于密钥分散动态库能够保证存储其内的主密钥不暴露在夕卜,所以,通过网络将存储有主密钥的密钥分散动态库发送至每个受理终端,不会对主密钥的安全性造成影响。
[0060]如图2所示,步骤S103具体包括以下步骤:
[0061]S1031、密钥分散动态库根据密钥序列号选择主密钥,作为加密算法的密钥:
[0062]需要说明的是,在本发明实施例中,所述加密算法可以为3DES算法。
[0063]S1032、密钥分散动态库将所述识别信息作为加密算法的明文输入:
[0064]作为本发明的一个具体实施例,所述识别信息可以由智能卡的主账户应用序列号、智能卡的卡号最后两位数字、会员号组成,将主账户应用序列号、卡号最后两位以及会员号按照一定的顺序连接起来作为加密算法的明文输入。
[0065]S1033、密钥分散动态库根据所述主密钥和加密算法计算得到外部认证密钥。
[0066]图2所示的分散卡片子密钥的方法中,通过一次密钥分散就得到了外部认证密钥。实际上,作为本发明的另外一个实施例,所述外部认证密钥还可以包括第一部分和第二部分,其中第一部分密钥是密钥分散动态库根据第一顺序排列的识别信息和主密钥计算得到的卡片子密钥,第二部分密钥是密钥分散动态库根据第二顺序排列的识别信息和主密钥计算得到的卡片子密钥。将第一部分密钥和第二部分密钥按一定顺序串接起来从而形成外部认证密钥。其中,第一顺序和第二顺序不同,两者可以为相反的顺序。
[0067]S104、密钥分散动态库将其分散出的外部认证密钥发送至智能卡受理终端。
[0068]S105、智能卡受理终端向智能卡发送获取随机数的指令:
[0069]S106、智能卡接收到获取随机数的指令后,向受理终端返回第一随机数:
[0070]S107、受理终端利用外部认证密钥对第一随机数计算第一 MAC码,并将该第一 MAC码组装成外部认证指令,然后将该外部认证指令发送至智能卡:
[0071]S108、智能卡接收到外部认证指令后,截取所述外部认证指令中的第一 MAC码,利用智能卡自身存储的外部认证密钥对第一随机数计算第二 MAC码:
[0072]需要说明的是,本发明实施例所述的智能卡内存储有外部认证密钥,并且密钥分散动态库内的外部认证密钥和存储在智能卡内的外部认证密钥为对称密钥。
[0073]S109、智能卡比较第一 MAC码和第二 MAC码是否一致,当第一 MAC码和第二 MAC码一致时,受理终端为合法终端,当第一 MAC码和第二 MAC码不一致时,受理终端为非法终端:
[0074]由于第一 MAC码是利用从密钥分散动态库内分散出的外部认证密钥对随机数进行计算得到的MAC码,第二 MAC码是利用智能卡自身存储的外部认证密钥对同一随机数采用同样的计算方法计算得到的MAC码。若第一 MAC码和第二 MAC码一致,则说明从密钥分散动态库内分散出的外部认证密钥和智能卡自身存储的外部认证密钥一致,两密钥为对称密钥,进而也就说明智能卡受理终端为合法终端。反之,当第一 MAC码和第二 MAC码不一致时,智能卡受理终端为非法终端。
[0075]当确定受理终端为合法终端后,还可以包括以下步骤:
[0076]S110、当智能卡受理终端为合法终端时,智能卡执行所述外部认证指令对应的操作,并向受理终端返回所述操作对应的状态标识。
[0077]S111、若状态标识正确,智能卡允许受理终端对所
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1