一种读写无线射频识别卡的方法和装置的制造方法

文档序号:10625063阅读:461来源:国知局
一种读写无线射频识别卡的方法和装置的制造方法
【专利摘要】本申请实施例提供了一种读写无线射频识别卡的方法和装置,在数据读写过程中,需要写卡或读卡设备与无线射频识别卡进行双向认证,并基于在双向认证过程中产生的随机数来生成会话密钥,利用该会话密钥对待写入数据或读卡指令进行加解密,以提高读写无线射频识别卡的安全性。
【专利说明】
一种读写无线射频识别卡的方法和装置
技术领域
[0001]本申请涉及数据读写技术领域,更具体的说是涉及一种读写无线射频识别卡的方法和装置。
【背景技术】
[0002]无线射频识别(RFID,Rad1Frequency Identificat1n)是一种通信技术,其通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或者光学接触。基于RFID技术的无线射频识别卡已经被广泛应用,将该RFID卡作为数据载体,可以起到标识识别,物品跟踪,信息采集等作用。然而由于目前读写无线射频识别卡内的过程中数据易于被复制,使得读写无线射频识别卡过程中数据的安全性低。

【发明内容】

[0003]有鉴于此,本申请提供了一种读写无线射频识别卡的方法和装置,以提高无线射频识别卡卡内数据读写的安全性。
[0004]为实现上述目的,本申请提供如下技术方案:一种写无线射频识别卡的方法,包括:
[0005]向所述无线射频识别卡发送认证请求;
[0006]接收所述无线射频识别卡返回的写卡验证随机数;
[0007]生成写卡设备的设备端随机数;
[0008]利用预置的初始密钥对所述设备端随机数和所述写卡验证随机数进行加密,得到第一加密数据;
[0009]将所述第一加密数据发送给所述无线射频识别卡进行认证,其中,如果所述无线射频识别卡利用存储的所述初始密钥从所述第一加密数据中解密出的所述写卡验证随机数与所述无线射频识别卡响应所述认证请求所生成的随机数相同,则对所述写卡设备认证通过;
[0010]接收所述无线射频识别卡对所述写卡设备认证通过后返回的第二加密数据;
[0011]利用所述初始密钥对所述第二加密数据进行解密;
[0012]当从所述第二加密数据中解密出的随机数中包含所述设备端随机数时,则将利用所述初始密钥对所述第二加密数据加密得到的第三加密数据作为当前的会话密钥,对待写入至所述无线射频识别卡的待写入数据进行加密;
[0013]将加密后的所述待写入数据写入至所述无线射频识别卡,以便所述无线射频识别卡利用所述初始密钥对所述第二加密数据进行加密得到所述会话密钥后,利用所述会话密钥对所述加密后的待写入数据进行解密后存储。
[0014]另一方面,本申请提供了一种写无线射频识别卡的方法,包括:
[0015]响应于写卡设备发送的认证请求,生成写卡验证随机数并返回给所述写卡设备;
[0016]接收所述写卡设备发送的第一加密数据;
[0017]利用存储的初始密钥对所述第一加密数据进行解密,得到卡端的随机数和所述写卡设备端生成的设备端随机数;
[0018]当所述卡端的随机数为所述写卡验证随机数时,基于所述设备端随机数,生成利用所述初始密钥加密的第二加密数据;
[0019]将所述第二加密数据发送给所述写卡设备进行认证,其中,当所述写卡设备利用预置的所述初始密钥从所述第二加密数据中解密出的所述设备端随机数与所述写卡设备发出所述认证请求后生成的随机数相同时,则所述写卡设备对所述无线射频识别卡认证通过;
[0020]接收所述写卡设备对所述无线射频识别卡认证通过后返回的写卡加密数据;
[0021]将利用所述初始密钥对所述第二加密数据加密得到的第三数据作为当前的会话密钥,对所述写卡加密数据进行解密,并存储解密出的写卡数据。
[0022]另一方面,本申请提供了一种读无线射频识别卡的方法,包括:
[0023]向无线射频识别卡发送认证请求,并读取所述无线射频识别卡的卡唯一标识;
[0024]接收所述无线射频识别卡返回的读卡验证随机数;
[0025]生成读卡设备的设备端随机数;
[0026]将所述卡唯一标识、设备端随机数和所述读卡验证随机数发送给指定服务器,以便所述指定服务器依据所述卡唯一标识确定所述无线射频识别卡的读卡密钥,并利用所述读卡密钥对所述设备端随机数和读卡验证随机数进行加密得到第一验证数据;
[0027]将所述指定服务器返回的所述第一验证数据发送给所述无线射频识别卡进行认证,其中,当所述无线射频识别卡从所述第一验证数据中解密出的所述读卡验证随机数与响应所述认证请求所生成随机数相同时,则所述无线射频识别卡对所述读卡设备的认证通过;
[0028]将所述无线射频识别卡对所述读卡设备认证通过后返回的第二验证数据发送给所述指定服务器进行解密,以便所述指定服务器利用所述读卡密钥对所述第二验证数据进行解密;
[0029]当所述指定服务器从所述第二验证数据中解密出所述设备端随机数时,利用从所述指定服务器获取到的会话密钥对读卡指令进行加密,其中,所述会话密钥为利用所述读卡密钥对所述第二验证数据加密得到的数据;
[0030]将所述加密后的读卡指令发送给所述无线射频识别卡,以便所述无线射频识别卡利用所述会话密钥对所述加密后读卡指令进行解密,并响应解密出的所述读卡指令。
[0031]另一方面,本申请还提供了一种读无线射频识别卡的方法,包括:
[0032]响应于读卡设备发送的认证请求,生成读卡验证随机数;
[0033]将所述读卡验证随机数发送给所述读卡设备;
[0034]接收所述读卡设备返回的第一验证数据;
[0035]利用存储的读卡密钥对所述第一验证数据进行解密,得到读卡设备侧生成的设备端随机数和卡端的随机数;
[0036]当所述卡端的随机数与所述卡验证随机数相同时,基于所述设备端随机数,得到由所述读卡密钥加密的第二验证数据;
[0037]将所述第二验证数据发送给所述读卡设备进行认证,其中,当所述读卡设备确定从所述第二验证数据中解密出所述设备端随机数时,则对所述无线射频识别卡的认证通过;
[0038]接收所述读卡设备对所述无线射频识别卡认证通过后返回的读卡加密指令;
[0039]利用所述读卡密钥对所述第二验证数据进行加密,得到加密的第二验证数据;
[0040]将所述加密的第二验证数据作为会话密钥,利用所述会话密钥对所述读卡加密指令进行解密,并响应解密出的读卡指令。
[0041]另一方面,本申请还提供了一种写无线射频识别卡的装置,包括:
[0042]认证请求单元,用于向所述无线射频识别卡发送认证请求;
[0043]第一接收单元,用于在所述认证请求单元发送所述认证请求后,接收所述无线射频识别卡返回的写卡验证随机数;
[0044]随机数生成单元,用于生成写卡设备的设备端随机数;
[0045]第一加密单元,用于利用预置的初始密钥对所述设备端随机数和所述写卡验证随机数进行加密,得到第一加密数据;
[0046]发送单元,用于将所述第一加密数据发送给所述无线射频识别卡进行认证,其中,如果所述无线射频识别卡利用存储的所述初始密钥从所述第一加密数据中解密出的所述写卡验证随机数与所述无线射频识别卡响应所述认证请求所生成的随机数相同,则对所述写卡设备认证通过;
[0047]第二接收单元,用于接收所述无线射频识别卡对所述写卡设备认证通过后返回的第二加密数据;
[0048]解密单元,用于利用所述初始密钥对所述第二加密数据进行解密;
[0049]第二加密单元,用于当所述解密单元确定从所述第二加密数据中解密出的随机数中包含所述设备端随机数时,则将利用所述初始密钥对所述第二加密数据加密得到的第三加密数据作为当前的会话密钥,对待写入至所述无线射频识别卡的待写入数据进行加密;
[0050]数据写入单元,用于将加密后的所述待写入数据写入至所述无线射频识别卡,以便所述无线射频识别卡利用所述初始密钥对所述第二加密数据进行加密得到所述会话密钥后,利用所述会话密钥对所述加密后的待写入数据进行解密后存储。
[0051]另一方面,本申请还提供了一种写无线射频识别卡的装置,包括:
[0052]认证响应单元,用于响应于写卡设备发送的认证请求,生成写卡验证随机数并返回给所述写卡设备;
[0053]第一接收单元,用于接收所述写卡设备发送的第一加密数据;
[0054]解密单元,用于利用存储的初始密钥对所述第一加密数据进行解密,得到卡端的随机数和所述写卡设备端生成的设备端随机数;
[0055]加密单元,用于当所述解密单元解密出的所述卡端的随机数为所述写卡验证随机数时,基于所述设备端随机数,生成利用所述初始密钥加密的第二加密数据;
[0056]认证单元,用于将所述第二加密数据发送给所述写卡设备进行认证,其中,当所述写卡设备利用预置的所述初始密钥从所述第二加密数据中解密出的所述设备端随机数与所述写卡设备发出所述认证请求后生成的随机数相同时,则所述写卡设备对所述无线射频识别卡认证通过;
[0057]第二接收单元,用于接收所述写卡设备对所述无线射频识别卡认证通过后返回的写卡加密数据;
[0058]存储单元,用于将利用所述初始密钥对所述第二加密数据加密得到的第三数据作为当前的会话密钥,对所述写卡加密数据进行解密,并存储解密出的写卡数据。
[0059]另一方面,本申请还提供了一种读无线射频识别卡的装置,包括:
[0060]认证请求单元,用于向无线射频识别卡发送认证请求,并读取所述无线射频识别卡的卡唯一标识;
[0061]接收单元,用于接收所述无线射频识别卡返回的读卡验证随机数;
[0062]随机数生成单元,用于生成读卡设备的设备端随机数;
[0063]第一加密单元,用于将所述卡唯一标识、设备端随机数和所述读卡验证随机数发送给指定服务器,以便所述指定服务器依据所述卡唯一标识确定所述无线射频识别卡的读卡密钥,并利用所述读卡密钥对所述设备端随机数和读卡验证随机数进行加密得到第一验证数据;
[0064]认证单元,用于将所述指定服务器返回的所述第一验证数据发送给所述无线射频识别卡进行认证,其中,当所述无线射频识别卡从所述第一验证数据中解密出的所述读卡验证随机数与响应所述认证请求所生成随机数相同时,则所述无线射频识别卡对所述读卡设备的认证通过;
[0065]解密单元,用于将所述无线射频识别卡对所述读卡设备认证通过后返回的第二验证数据发送给所述指定服务器进行解密,以便所述指定服务器利用所述读卡密钥对所述第二验证数据进行解密;
[0066]第二加密单元,用于当所述解密单元确定所述指定服务器从所述第二验证数据中解密出所述设备端随机数时,利用从所述指定服务器获取到的会话密钥对读卡指令进行加密,其中,所述会话密钥为利用所述读卡密钥对所述第二验证数据加密得到的数据;
[0067]读指令发送单元,用于将所述加密后的读卡指令发送给所述无线射频识别卡,以便所述无线射频识别卡利用所述会话密钥对所述加密后读卡指令进行解密,并响应解密出的所述读卡指令。
[0068]另一方面,本申请还提供了一种读无线射频识别卡的装置,包括:
[0069]认证响应单元,用于响应于读卡设备发送的认证请求,生成读卡验证随机数;
[0070]第一发送单元,用于将所述读卡验证随机数发送给所述读卡设备;
[0071]第一接收单元,用于接收所述读卡设备返回的第一验证数据;
[0072]解密单元,用于利用存储的读卡密钥对所述第一验证数据进行解密,得到读卡设备侧生成的设备端随机数和卡端的随机数;
[0073]第一加密单元,用于当所述解密单元解密出的所述卡端的随机数与所述卡验证随机数相同时,基于所述设备端随机数,得到由所述读卡密钥加密的第二验证数据;
[0074]第二发送单元,用于将所述第二验证数据发送给所述读卡设备进行认证,其中,当所述读卡设备确定从所述第二验证数据中解密出所述设备端随机数时,则对所述无线射频识别卡的认证通过;
[0075]第二接收单元,用于接收所述读卡设备对所述无线射频识别卡认证通过后返回的读卡加密指令;
[0076]第二加密单元,用于利用所述读卡密钥对所述第二验证数据进行加密,得到加密的第二验证数据;
[0077]读指令响应单元,用于将所述加密的第二验证数据作为会话密钥,并利用所述会话密钥对所述读卡加密指令进行解密,并响应解密出的读卡指令
[0078]经由上述的技术方案可知,在对无线射频识别卡进行数据写入或者读取之前,需要无线射频识别卡与该读卡设备或者写卡设备之间进行双向认证,保证了读卡设备以及写卡设备与无线射频识别卡之间身份的合法性,降低了通过伪造身份来实现数据读写的可能性。同时,由于对待写入数据以及读卡指令进行加密的会话密钥为双向认证过程中产生的随机数,使得每次对待写入数据以及读卡指令进行加密所使用的会话密钥不固定,提高了数据写入过程的安全性,进而提高了无线射频识别卡内数据的安全性。
【附图说明】
[0079]为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0080]图1示出了本申请一种写无线射频识别卡的方法一个实施例的流程示意图;
[0081]图2示出了本申请一种写无线射频识别卡的方法另一个实施例的流程交互图;
[0082]图3示出了本申请另一种写无线射频识别卡的方法一个实施例的流程示意图;
[0083]图4示出了本申请一种读无线射频识别卡的方法一个实施例的流程示意图;
[0084]图5示出了本申请另一种读无线射频识别卡的方法一个实施例的流程示意图;
[0085]图6示出了本申请一种写无线射频识别卡的装置的一个实施例的结构示意图;
[0086]图7示出了本申请另一种写无线射频识别卡的装置的一个实施例的结构示意图;
[0087]图8示出了本申请一种读无线射频识别卡的装置的一个实施例的结构示意图;
[0088]图9示出了本申请另一种读无线射频识别卡的装置的一个实施例的结构示意图。
【具体实施方式】
[0089]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0090]本申请提供了一种读写无线射频识别卡的方法和装置,以降低无线射频识别卡内数据的可复制性,进而提高无线射频识别卡内数据读写过程的安全性以及无线射频识别卡内数据的安全性。
[0091]参见图1,其示出了本申请一种写无线射频识别卡的方法一个实施例的流程示意图,本申请实施例的方法可以包括:
[0092]101,向无线射频识别RFID卡发送认证请求。
[0093]在本申请中写卡设备向无线射频识别RFID卡中写入数据之前,该写卡设备需要发起认证,以便RFID卡对该写卡设备进行认证。
[0094]102,接收该RFID卡返回的写卡验证随机数。
[0095]103,生成写卡设备的设备端随机数。
[0096]写卡设备发出认证请求后,该RFID卡响应该认证请求后会生成一个随机数。相应的,该写卡设备发出认证请求后也会生成一个设备端的随机数。
[0097]为了进行区分,本申请中将该写卡设备发出认证请求后生成的随机数称为设备端随机数。将RFID卡响应该认证请求后生成的随机数称为写卡验证随机数。
[0098]写卡设备可以依据该设备端随机数来对RFID卡的写卡权限进行验证,相应的,RFID卡也可以依据该写卡验证随机数来对请求认证的写卡设备进行权限验证。
[0099]需要说明的是,在本实施例中该步骤102和步骤103的顺序并不限于该图1流程所示,该步骤102和步骤103的顺序可以互换,即写卡设备端发出该认证请求后便生成一设备端随机数,而无需关心该RFID卡是否响应该认证请求返回写卡认证随机数。当然,也可以是如图1所示,当写卡设备接收到该RFID卡返回的写卡验证随机数后,生成该设备端随机数。
[0100]104,利用预置的初始密钥对该设备端随机数和写卡验证随机数进行加密,得到第一加密数据。
[0101]其中该初始密钥可以根据需要设置,初始密钥的数据位数也可以根据实际需要设定,例如,初始密钥中各位数据可以均为零。
[0102]105,将该第一加密数据发送给该无线射频识别卡进行认证。
[0103]其中,如果该RFID卡利用存储的该初始密钥从该第一加密数据中解密出的该写卡验证随机数与该RFID卡响应该认证请求所生成的随机数相同,则对该写卡设备认证通过。
[0104]由于该RFID卡中也存储着该初始密钥,如果写卡设备对该第一加密数据加密时所采用的加密密钥与该初始密钥相同时,则该RFID卡能够利用自身存储的该初始密钥对该第一加密数据进行解密;同时,由于该第一加密数据包含了该RFID卡发送给写卡设备的写卡验证随机数,则该RFID卡应能够从该第一加密数据中解密出该写卡验证随机数。因此,如果RFID卡能够利用存储的初始密钥对该第一加密数据进行解密,且能够从该第一加密数据中解密出自身生成的写卡验证随机数,则说明该写卡设备是具有对该RFID进行写操作的权限,则该写卡设备能够通过RFID卡的认证。
[0105]106,接收该无线射频识别卡对该写卡设备认证通过后返回的第二加密数据。
[0106]当该RFID对写卡设备认证通过后,为了保证该RFID卡是具备该写卡设备的写入权限,该写卡设备也会对该RFID卡进行认证。具体的,该RFID卡会向该写卡设备发送一个利用自身存储的初始密钥进行加密的第二加密数据,如果该写卡设备接收到的该第二加密数据中包含有该设备端随机数,则说明该RFID卡为该写卡设备认可的具有待进行写入操作的RFID卡。
[0107]107,利用该初始密钥对该第二加密数据进行解密。
[0108]108,当从第二加密数据中解密出的随机数中包含该设备端随机数时,将利用该初始密钥对该第二加密数据加密得到的第三加密数据作为当前的会话密钥,对待写入至该无线射频识别卡的待写入数据进行加密。
[0109]当写卡设备接收到该第二加密数据时,则确认该RFID卡对写卡设备的身份认证通过。同时,该写卡设备可以通过对该第二加密数据中的随机数进行比对,来对该RFID卡的身份进行认证,如果写卡设备可以利用初始密钥对该第二加密数据进行解密,且能够从该第二加密数据中解密出该设备端随机数,则说明该RFID为具有接受数据写入权限的RFID卡,该写卡设备向该RFID卡内写数据是安全的,认证通过。
[0110]写卡设备与RFID卡之间完成了双向认证之后,该写卡设备还需要对待写入数据进行加密,在本申请中利用初始密钥对该第二加密数据进行加密,并将得到的第三加密数据作为会话密钥第二加密数据对待写入数据进行加密,由于该第二加密数据是由双向认证过程中产生的随机数加密得到的数据,则使得作为会话密钥的该第三加密数据也具有随机性,使得每次写入过程中所用的加密密钥均不同,使得加密密钥具有动态性,从而不容易被其他设备截获并解密,进一步提高了数据写入的安全性。
[0111]109,将加密后的待写入数据写入至该无线射频识别卡。
[0112]该无线射频识别卡接收到该加密的待写入数据后,利用初始密钥对第二加密数据进行加密得到当前的该会话密钥后,然后利用该会话密钥对所述加密后的待写入数据进行解密后,从而可以解密出该待写入数据,并将该待写入数据进行存储,完成RFID卡的数据写入。
[0113]本申请实施例中在写卡设备对RFID卡进行数据写入之前,不仅需要RFID卡对写卡设备进行认证,还需要写卡设备对该RFID卡进行认证,保证了写卡设备与RFID卡之间身份的合法性,降低了伪造身份来实现数据读写的可能性。同时,由于写卡设备对待写入数据进行加密的会话密钥是根据双向认证过程中产生的随机数生成的数据,使得每次对待写入数据进行加密的会话密钥不固定,降低了待写入数据被截获并破解的可能性,降低了数据被复制的可能性,也提高了数据写入过程的安全性。
[0114]可以理解的是,在申请实施例中该写卡设备可以为目前能够对该RFID进行写入的设备,如RFID写卡器等。可选的,为了提高数据写入的便捷性,该写卡设备可以为移动终端,该移动终端具有近距离无线通信(NFC,Near Field Communicat1n)模块,基于移动终端上的该NFC模块可以实现与改RFID卡之间的通信,如该写卡设备可以为具有NFC模块的手机或者掌上电脑等。
[0115]可选的,在以上任意一个实施例中,RFID卡向该写卡设备发送的第二加密数据中可以只包含为写卡设备提供验证依据的该设备端随机数。当然,为了进一步提高第二加密数据的安全性,也使得每次进行身份验证所用的数据的位数相同。该第二加密数据中除了包含该设备随机数,还可以包括由该RFID卡在对所述写卡设备认证通过后生成的一个随机数,其中,为了便于区分将RFID卡对写卡设备认证通过后生成的随机数称为卡加密随机数。也就是说,该RFID卡在对写卡设备认证通过后生成了卡加密随机数,然后利用初始密钥对该卡加密随机数和该设备端随机数进行加密,得到该第二加密数据。这样,该写卡设备从该第二加密数据中解密出的随机数中就包含了设备端随机数和该卡加密随机数。而由于第二加密数据包含了写卡设备和RFID各自生成的随机数,则将利用初始谜语对该第二加密数据加密得到的第三加密数据的位数增多,将该第三加密数据作为当前对待写入数据加密的会话密钥,可以进一步降低了会话密钥被获取并破解的风险,提高了写数据的安全性。
[0116]可以理解的是,在本申请以上实施例中,写卡设备和RFID卡生成的随机数的位数可以预先设定,写卡设备生成的随机数与该RFID卡生成的随机数的位数可以相同,也可以不同。在实际应用中写卡设备利用初始密钥对该设备端随机数和写卡验证随机数进行加密,得到第一加密数据的过程,可以是将该设备端随机数和该卡端随机数按顺序组合,然后对组合的数据进行加密。例如,写卡设备生成的设备随机数和RFID卡生成的写卡验证随机数均为三位数,则组合成为六位数,可以是前面三位为设备端随机数,后面三位为写卡验证随机数,然后利用初始密钥对该组合后的数据加密,得到第一加密数据。
[0117]相应的,该RFID卡利用初始密钥加密得到该第二加密数据的过程与第一类似,如,当该第二加密数据可以包含该设备端随机数和该卡加密随机数进行组合,并利用初始密钥对组合后的数据进行加密。
[0118]当然,在本申请以上任意一个实施例中,得到第一加密数据、第二加密数据和第三加密数据的加密过程可以与现有的利用加密密钥对数据加密的过程相似。可选的,为了进一步保证数据加密的可靠性,第一加密数据、第二加密数据和第三加密数据可以是基于SM7算法进行加密的。即,利用预置的初始密钥,并采用SM7算法对设备端随机数和写卡验证随机数进行加密,得到该第一加密数据;利用初始密钥,并采用SM7算法对第二加密数据进行加密,得到作为会话密钥的第三加密数据。相应的,无线射频识别卡采用SM7算法,并利用该初始密钥对该第一加密数据进行解密;该无线射频识别卡采用SM7算法,基于设备端随机数生成由初始密钥加密的第二加密数据。
[0119]同时,写卡设备接收到第二加密数据后,该写卡设备可以采用SM7算法对第二加密数据的解密。
[0120]与此类似,在本申请中得到该会话密钥后,利用会话密钥对该待写入数据进行加密的过程也可以采用现有的加密方式。可选的,可以利用该会话密钥对该待写入数据按位进行加密,如,将会话密钥与待写入数据进行按位异或运算。
[0121]特别的,当待写入数据的位数较多时,如果从第三加密数据的位数不足,则会导致将第三加密数据作为会话密钥对该待写入数据按位加密时,出现由于会话密钥位数不够而无法完成加密的问题。因此,如果该当前的会话密钥的位数少于该待写入数据的位数,而导致待写入数据无法被完全加密时,则利用该初始密钥对该当前的会话密钥进行加密,将加密后的会话密钥作为更新后的更新会话密钥,并利用更新会话密钥继续对该待写入数据中未被加密的数据进行按位加密。例如,假设第三加密数据为八位,设为01234567,而待写入数据为12位,设为abcd543210ef,当将“01234567”作为当前的会话密钥时,可以依次按位与该待写入数据中的前八位进行异或运算,以进行加密,即可以利用“01234567”对待写入数据中“abcd543210ef ”中的“abcd5432”进行按位异或运算,而剩余的“ 1ef ”则无法被加密,在此时,可以利用初始密钥对该当前的会话密钥“01234567”进行加密,假设得到“cdefghij”,则“cdefghij”为更新后的更新会话密钥,并利用“cdefghij”依次按位对待写入数据中剩余的未加密数据“ 1ef ”进行按位异或运算,从而完成对待写入数据的加密。
[0122]可选的,与现有的RFID卡不同,在本申请实施例中,该RFID卡的存储区域被划分包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域,如该明文区可以用于存储写入至该RFID的卡唯一标识,则该卡唯一标识可以被读卡设备直接读取,而无需对读卡设备进行认证;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访问的存储区域。
[0123]基于本申请中RFID卡存储区域的划分,在写卡设备与RFID双向认证后,该写卡设备向该RFID写入的数据可以是包含待写入该RFID卡中一个或多个存储区域的数据,相应的,为了确定数据需要存储的区域,待写入数据中除了包含有需要写入某个存储区的数据,还需要包含向该存储区写入数据的写入指令。
[0124]具体的,该待写入数据包括以下一种或几种:
[0125]写入所述密文区的指令和写入所述密文区的数据内容;
[0126]写入所述明文区的指令和写入所述明文区的卡标识数据;
[0127]写入所述密钥区的指令和写入所述密钥区的读卡密钥。
[0128]其中该卡标识数据为唯一标识该RFID的数据。该RFID卡接收到该待写入数据后,依据解密出的写入指令,将与该写入指令对应的数据写入到相应的区域。
[0129]需要说明是,在本申请以上任意一个实施例中,在写卡设备向RFID卡写入数据之前,该写卡设备需要获取待写入数据,获取该待写入数据的时刻可以是在该写卡设备向该RFID卡发起认证请求之前,也可以是该写卡设备与该RFID卡完成双向认证之后,对此不加限制。另外,该写卡设备获取该待写入数据的方式也可以有多种,如待写入数据可以预先存储到该写卡设备内,则该写卡设备将自身存储的数据作为待写入数据;又如,待写入数据也可以预先存储至指定的服务器中,当需要获取待写入数据时可以从该指定服务器中调取当前需要写入的指令以及相应的数据内容。
[0130]为了能够更加清楚的理解本申请实施例的写无线射频识别卡的方法,下面以一个实例进行描述,参见图2,其示出了本申请一种写无线射频识别卡的方法另一个实施例的流程交互图,在本实施例中以写卡设备为具有NFC模块,能够与该RFID进行交互的移动终端为例进行介绍,并假设该移动终端为手机,本实施例包括:
[0131]201,手机从指定服务器获取待写入RFID卡的待写入数据。
[0132]可选的,该RFID卡的存储区域包括明文区、密文区和密钥区。该待写入数据可以包括写明文区指令以及写入明文区的卡唯一标识;写密文区指令和待写入密文区的数据;以及写密钥区的指令和待写入该密钥区的读卡密钥。
[0133]202,手机向RFID卡发送认证请求;
[0134]203,RFID响应于该手机的认证请求,生成写卡验证随机数RT ;
[0135]204,手机接收该写卡验证随机数RT,并生成手机侧的设备端随机数RR ;
[0136]205,手机利用预置的初始密钥对该设备端随机数和写卡验证随机数整体RRRT进行加密,得到第一加密数据encRRRT。
[0137]在本实施例中,可以采用SM7算法,并利用初始密钥对该设备端随机数和写卡验证随机数组合成的RRRT进行加密。
[0138]206,将该第一加密数据encRRRT发送给RFID卡进行认证;
[0139]207,RFID卡利用存储的该初始密钥对第一加密数据encRRRT进行解密,并将解密结果与写卡验证随机数RT进行比对;
[0140]该步骤为该RFID卡对手机的认证过程,如果从该encRRRT中解密出手机端生成的随机数RR’和RFID卡侧生成的随机数RT’后,该RFID比对解密出的该RT’与自身生成的写卡验证随机数RT相同,则说明该手机为具有写入权限的写入设备,认证通过。
[0141]当然,当该第一加密数据为手机采用SM7算法进行加密时,该RFID卡采用SM7算法对该第一加密数据进行解密。
[0142]208,RFID确定从encRRRT中解密出该写卡验证随机数RT时,生成卡加密随机数RTO ;
[0143]209,RFID将利用初始密钥对设备端随机数RR和卡加密随机数RTO整体RRRTO加密得到的第二加密数据encRRRTO发送给手机;
[0144]210,手机利用该初始密钥对该第二加密数据encRRRTO进行解密,并将解密结果与该设备端随机数RR进行比对;
[0145]220,手机确定从该第二加密数据encRRRTO中解密出该RR后,将利用该初始密钥对第二加密数据encRRRTO加密得到的第三加密数据reencRRRT作为会话密钥,对该待写入数据进行加密,并将加密后的待写入数据发送给RFID卡;
[0146]221,RFID基于初始密钥和第二加密数据生成该会话密钥reencRRRTO,并利用会话密钥对加密的该待写入数据进行解密,并依据该待写入数据中的写入指令,将与写入指令对应的数据内容存储至该写入指令所指向的存储区域。
[0147]另一方面,基于RFID侧对数据写入过程的处理,本申请还提供了另一种写无线射频识别卡的方法。
[0148]参见图3,其示出了本申请另一种写无线射频识别卡的方法,本实施例的方法应用于无线射频识别卡,本实施例的方法可以包括:
[0149]301,响应于写卡设备发送的认证请求,生成写卡验证随机数并返回给该写卡设备。
[0150]无线射频识别RFID卡接收到认证请求后,生成一个随机数,以便后续依据该随机数来验证接收到的数据中是否为自身生成的该随机数,来实现对写卡设备写入权限的验证。为了便于区分,在本申请实施例中将RFID卡响应该认证请求所生成的随机数称为写卡验证随机数。
[0151]302,接收该写卡设备发送的第一加密数据。
[0152]303,利用存储的初始密钥对该第一加密数据进行解密,得到卡端的随机数和写卡设备端生成的设备端随机数。
[0153]304,当卡端的随机数为该写卡验证随机数时,基于该设备端随机数,生成利用初始密钥加密的第二加密数据。
[0154]RFID卡将写卡验证随机数发送给写卡设备后,写卡设备将利用预置的初始密钥对自身生成的随机数以及由RFID卡发送的写卡验证随机数进行加密,得到该第一加密数据。可见,如果该写卡设备是发起认证请求的设备,则该RFID卡接收到的第一加密数据应该包含有该RFID卡响应认证请求时所生成的该卡端随机数,因此,当从该第一加密数据中解密出由RFID卡生成的随机数为该RFID卡生成的写卡验证随机数时,则RFID卡对写卡设备认证通过。
[0155]为了能够通过写卡设备的认证,该RFID卡还需要将从该第一加密数据中解密出的设备端随机数发送给写卡设备进行验证,以便写卡设备通过比对自身生成的设备端随机数和该RFID卡生成的随机数是否一致,来对RFID的合法性进行验证,因此,该RFID卡基于该设备端随机数生成了该第二加密数据。
[0156]305,将该第二加密数据发送给写卡设备进行认证。
[0157]其中,如果写卡设备从该第二加密数据中解密出的设备随机数与写卡设备发出该认证请求后生成的随机数相同,则所卡设备对RFID卡认证通过。
[0158]306,接收该写卡设备对该无线射频识别卡认证通过后返回的写卡加密数据。
[0159]307,将利用该初始密钥对该第二加密数据加密得到的第三加密数据作为当前的会话密钥,对该写卡加密数据进行解密,并存储解密出的写卡数据。
[0160]在本申请实施例中,RFID卡接收写卡设备的数据写入之前,不仅需要RFID卡对写卡设备进行认证,还需要写卡设备对该RFID进行认证,保证了写卡设备与RFID卡之间身份的合法性,降低了伪造身份来实现数据读写的可能性。同时,由于对写卡数据加密以及解密的密钥为基于初始密钥和第二加密数据得到的,而由于第二加密数据为双向认证过程中产生的随机数,即,使得每次对需要写入该无线射频识别卡内的待写卡数据加密以及解密的密钥不固定,降低了写卡数据被破解并复制的可能性从而提高了数据写入过程的安全性,也提高了该RFID卡内数据的安全性。
[0161]可选的,为了进一步提高会话密钥的安全性,该第二加密数据中还可以包含该RFID对该写卡设备认证通过后生成的一随机数,为了便于区分,将该随机数称为卡加密随机数。也就是说,在生成该第二加密数据之前,该RFID卡还生成了卡加密随机数。则生成该第二加密数据具体为:利用所述初始密钥对所述设备端随机数和所述卡加密随机数进行加密,得到第二加密数据。
[0162]可选的,与现有的RFID卡不同,在本申请实施例中,该RFID卡的存储区域被划分包括:所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后可以访问的存储区域。
[0163]相应的,该写卡数据包括以下一种或几种:
[0164]写入所述密文区的指令和写入所述密文区的数据内容;
[0165]写入所述明文区的指令和写入所述明文区的卡标识数据;
[0166]写入所述密钥区的指令和写入所述密钥区的卡更新密钥。
[0167]该RFID卡对写卡加密数据进行解密后,依据解密出的写入指令,将与该写入指令对应的数据写入到相应的区域。可选的,当解密出的写入指令为写入明文区的指令时,则只需要将待写入明文区的内容直接存储到明文区,如直接将该待写入明文区的卡唯一标识存储到该明文区;如果该写入指令为写入密文区或密钥区的指令,则该RFID卡还需要利用初始密钥对待写入密文区或密钥区的数据内容加密后存储。
[0168]可选的,为了与写卡设备端加密及解密过程中所用的算法对应,在本实施例中在对第一加密数据进行解密,加密得到第二加密数据和会话密钥时所采用的加密算法可以为SM7算法。S卩,利用存储的初始密钥,并采用SM7算法对第一加密数据进行解密;基于设备端随机数,并采用SM7算法生成的由初始密钥加密的第二加密数据。
[0169]可选的,与写卡设备端采用按位对写卡数据进行加密的过程相对应,在本实施例中得到作为会话密钥的第三加密数据后,利用该会话密钥与该写卡加密数据进行按位异或运算,以对该写卡加密数据进行解密。特别的,如果该会话密钥的位数少于该写卡加密数据的位数,而导致利用该会话密钥不能对该写卡加密数据中的各位上的数据均进行解密时,可以利用初始密钥对该会话密钥进行加密,得到更新后的更新密钥,并利用该更新密钥对该写卡加密数据中未被该解密的数据进行按位解密。
[0170]可以理解的是,图3所示实施例是与图1以及图2实施例中所示的写卡设备侧写无线射频识别卡的过程相对应的RFID卡的写过程,因此,对于图3实施例中与图1或图2中相同的步骤未进行详细描述,具体可以参见图3实施例之前的实施例的相关描述。
[0171]对应于本申请的写无线射频识别卡的方法,本申请还提供了一种读无线射频识别卡的方法。参见图4,其示出了本申请一种读无线射频识别卡的方法一个实施例的流程示意图,本实施例的方法可以应用于能够对无线射频识别进行数据读取的读卡设备。本实施例的方法可以包括:
[0172]401,向无线射频识别RFID卡发送认证请求,并读取该RFID卡的卡唯一标识。
[0173]在本申请实施例中,每个被写入过数据的无线射频识别卡中均有一个对应的唯一标识,基于该唯一标识可以确定与该唯一标识对应的密钥。
[0174]402,接收该RFID卡返回的读卡验证随机数。
[0175]其中,该读卡验证随机数为该RFID卡响应该认证请求后生成的随机数。为了便于区分将该RFID卡响应读卡设备发送的认证请求所生成的随机数称为读卡验证随机数。
[0176]403,生成读卡设备侧的设备端随机数。
[0177]404,将该卡唯一标识、设备端随机数和该读卡验证随机数发送给指定服务器,以便指定服务器依据该卡唯一标识确定该RFID卡的读卡密钥,并利用该读卡密钥对该设备端随机数和读卡验证随机数进行加密得到第一验证数据。
[0178]该指定服务器中预先存储了各个RFID卡的卡标识以及与卡标识对应的RFID卡的密钥,其中,此处的密钥是读该RFID卡的一个密钥,在本申请实施例中将与该卡唯一标识对应的密钥称为读卡密钥。指定服务器接收到该卡唯一标识后,查询该卡唯一标识所对应的读卡密钥,并利用该读卡密钥对该设备端随机数和读卡验证随机数进行加密,并将加密得到的第一验证数据返回给该读卡设备,从而使得而该读卡设备可以将该第一验证数据返回给RFID卡进行身份认证。
[0179]405,将该指定服务器返回的该第一验证数据发送给该RFID卡进行认证。
[0180]其中,当RFID卡从该第一验证数据中解密出的读卡验证随机数与该RFID卡响应该认证请求所生成随机数相同时,则说明该读卡设备的身份可靠,该RFID卡对该读卡设备的认证通过。
[0181]406,将RFID卡对读卡设备认证通过后返回的第二验证数据发送给该指定服务器进行解密,以便指定服务器利用该读卡密钥对第二验证数据进行解密。
[0182]该RFID卡对读卡设备认证通过后,该RFID卡会基于初始密钥和该设备端随机数生成一个加密的第二验证数据,以供读卡设备对RFID卡进行认证。
[0183]由于读卡设备没有该RFID卡的读卡密钥,因此,该RFID卡返回该第二验证数据后,该读卡设备仍需要将该第二验证数据发送给该指定服务器进行解密。该指定服务器接收到该读卡设备发送的第二验证数据后,仍利用该读卡密钥对该第二验证数据解密,并将解密出的数据返回给该读卡设备,以便该读卡设备依据解密结果来判断该第二验证数据中是否包含有该读卡设备生成的设备端随机数,进而根据判断结果验证该RFID卡的身份是否合法。
[0184]407,当该指定服务器从该第二验证数据中解密出该设备端随机数时,利用从该指定服务器获取到的会话密钥对读卡指令进行加密。
[0185]其中,该会话密钥为该指定服务器利用读卡密钥对所述第二验证数据加密得到的数据。该读卡密钥为该指定服务器之前利用该卡唯一标识确定的密钥。
[0186]指定服务器对该第二验证数据进行解密后,会将解密结果返回给该读卡设备。如果指定服务器向该读卡设备返回的解密结果中包含有该设备端随机数,则该读卡设备对该RFID卡认证通过。
[0187]读卡设备与RFID的双向认证后,该读卡设备可以调取读卡指令,同时通过指令服务器采用该会话密钥对该读卡指令进行加密。
[0188]408,将加密后的读卡指令发送给无线射频识别卡,以便该无线射频识别卡利用会话密钥对该加密后读卡指令进行解密,并响应解密出的读卡指令。
[0189]可以理解的是,该无线射频识别卡与该指定服务器生成该会话密钥的方式应该是一样的,才能保证该读卡设备与该无线射频识别卡之间均能对读卡指令进行加密与解密。即,无线射频识别卡也就是利用该读卡密钥对该第二验证数据进行加密得到的该会话密钥。如果该无线射频识别卡能够利用自身生成的该会话密钥对该读卡指令进行解密,则说明该读卡指令为合法指令,并响应解密出的读卡指令,以使得该读卡设备可以读取与该读卡指令对应的数据。
[0190]本申请实施例中在读卡设备对RFID卡进行数据读取之前,不仅需要RFID卡对读卡设备进行认证,还需要读卡设备对该RFID卡进行认证,保证了读卡设备与RFID卡之间身份的合法性,降低了伪造身份来实现数据读写的可能性。同时,由于读卡设备对读卡指令进行加密的会话密钥为双向认证过程中产生的随机数,使得每次对读卡指令进行加密的密钥不固定,降低对读卡指令被伪造或破解的可能性,也就降低了数据被复制的可能性,从而提高了数据读取过程的安全性。
[0191]需要说明的是,在本申请实施例中,该读卡设备从指定服务器获取该会话密钥的方式可以有多种。如,一种方式可以为:可以是该读卡设备确定从该第二验证数据中解密出该设备端随机数后,向该指定服务器发送请求会话密钥的消息,该指定服务器接收到该消息后,生成该会话密钥并返回给该读卡设备。又如,另一种获取会话密钥的方式可以为:该指定读取器对第二验证数据解密的同时,生成该会话密钥,并在返回该第二验证数据的解密结果的同时,将该会话密钥返回给该读卡设备。则该读卡设备接收该对该第二验证数据的解密结果的同时,接收该会话密钥。
[0192]可选的,在本申请读无线射频识别卡的方法的实施例中,该无线射频识别卡的存储区域可以包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域,如,在该明文区可以存储被写入的卡唯一标识;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后可以访问的存储区域。
[0193]相应的,读取所述无线射频识别卡的卡唯一标识,可以包括:
[0194]读取该无线射频识别卡中明文区内存储的卡唯一标识。
[0195]进一步的,该读卡指令也包括以下一种或几种:
[0196]读取所述密文区中存储的数据的指令;
[0197]读取所述密钥区中存储的数据的指令。
[0198]可以理解的是,与写RFID卡的方法实施例中写卡设备采用SM7算法加解密相对应,该第一验证数据也可以为指定服务器采用SM7算法加密得到的,即,采用SM7算法,并利用该读卡密钥对该设备端随机数和该读卡验证随机数进行加密,得到该第一验证数据。该第二验证数据也可以为该RFID卡采用该SM7算法,并基于该读卡密钥生成的。
[0199]可选的,从该第二加密数据中解密出的随机数还包括:该无线射频识别卡对所述写卡设备认证通过后生成的卡加密随机数。则该指定服务器从该第二验证数据中解密出的随机数包括该设备端随机数和该卡加密随机数。则该读卡设备比对从该第二验证数据中解密出的该设备端随机数是否为自身生成的随机数,如果是,则对该RFID卡认证通过。
[0200]可选的,在本申请中的该读卡设备可以为目前能够对该RFID进行数据读取的设备,如RFID读卡器等。可选的,为了提高数据读取的便捷性,该读卡设备可以为移动终端,该移动终端具有近距离无线通信(NFC,Near Field Communicat1n)模块,基于移动终端上的该NFC模块可以实现与改RFID卡之间的通信,如该读卡设备可以为具有NFC模块的手机或者掌上电脑等。
[0201]另一方面,基于RFID卡处理数据读取请求的过程,本申请还提供了一种读无线射频识别卡的方法。
[0202]参见图5,其示出了本申请一种读无线射频识别卡的方法,本申请实施例的方法应用于无线射频识别卡,本实施例包括:
[0203]501,响应于读卡设备发送的认证请求,生成读卡验证随机数。
[0204]接收到该认证请求后,该无线射频识别RFID卡生成一随机数,为了便于区分将接收到认证请求后所生成的随机数称为读卡验证随机数。
[0205]502,将该读卡验证随机数发送给该读卡设备。
[0206]生成该读卡验证随机数后,可以将该读卡验证随机数发送给该读卡设备,以依据该读卡验证随机数来对读卡设备进行身份认证。
[0207]503,接收该读卡设备返回的第一验证数据。
[0208]其中,该第一验证数据为利用读卡密钥进行加密,且包含有该读卡设备自身生成的设备端随机数和由该RFID卡响应认证请求后返回的随机数。为了使得更多的设备能够读取该RFID卡的设备,该读卡设备内一般不存储有该RFID卡的读卡密钥,如当该读卡设备为手机时,则用户持有的手机内不可能存储所有RFID卡对应的读卡密钥,因此,该读卡设备可以将从该RFID卡读取到的卡唯一标识、生成的设备端随机数以及该RFID发送的读卡验证随机数发送给该指定服务器,由指定服务器根据该卡唯一标识确定该RFID卡的读卡密钥,并利用该读卡密钥对该设备端随机数和卡验证随机数进行加密,得到第一验证数据。
[0209]504,利用存储的读卡密钥对所述第一验证数据进行解密,得到读卡设备侧生成的设备端随机数和卡端的随机数。
[0210]505,当卡端的随机数与卡验证随机数相同时,基于该设备端随机数,得到由该读卡密钥加密的第二验证数据。
[0211]如果该RFID卡利用该读卡密钥能够对该第一验证数据进行解密,且从第一验证数据中解密出该读卡验证随机数,则说明该读卡设备为可信设备。
[0212]具体的,该RFID卡对该第一验证数据进行解密,可以得到两部分数据,即由读卡设备侧生成的设备端随机数,以及由RFID卡生成的随机数。将该第一验证数据中包含的由RFID卡生成的卡端的随机数是否为该RFID生成的该读卡验证随机数进行比对,如果解密出的该卡端随机数与该卡验证随机数,则该RFID卡对该读卡设备的认证通过。
[0213]对该读卡设备的身份认证后,该RFID卡还需要基于该设备端随机数生成第二验证数据,以便该读卡设备通过该第二验证数据来对该RFID卡进行身份认证。
[0214]506,将第二验证数据发送给该读卡设备进行认证。
[0215]其中,当读卡设备确定从该第二验证数据中解密出该设备端随机数时,则对该无线射频识别卡的认证通过。读卡设备可以将该第二验证数据发送给该指定服务器进行解密,并比对解密结果,并在解密结果包含有该设备端随机数时,确定该RFID卡认证通过。
[0216]507,接收该读卡设备对该无线射频识别卡认证通过后返回的读卡加密指令。
[0217]508,利用该读卡密钥对该第二验证数据进行加密,得到加密的第二验证数据。
[0218]509,将该加密的第二验证数据作为会话密钥,利用会话密钥对该读卡加密指令进行解密,并响应解密出的读卡指令。
[0219]如果该RFID卡利用该会话密钥能够对该读卡加密指令进行解密,则说明该读卡加密指令所用的加密密钥也是基于双向认证过程中产生的该第二验证数据生成的该会话密钥,则说明该读卡加密指令为可靠的数据读取指令。
[0220]本申请实施例中在读卡设备对RFID卡进行数据读取之前,不仅需要RFID卡对读卡设备进行认证,还需要读卡设备对该RFID卡进行认证,保证了读卡设备与RFID卡之间身份的合法性,降低了伪造身份来实现数据读写的可能性。同时,由于读卡设备对读卡指令进行加密的会话密钥为双向认证过程中产生的随机数,使得每次对读卡指令进行加密的密钥不固定,降低了读卡指令被伪造或破解的可能性,降低了数据被复制的可能性,也提高了数据读取过程的安全性。
[0221]可选的,在本实施例中该无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域,所述明文区存储着所述无线射频识别卡的卡唯一标识;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后可以访问的存储区域。
[0222]相应的,对第一验证数据解密可以为:利用该密钥区存储的所述读卡密钥对所述第一验证数据进行解密。
[0223]相应的,读卡指令可以包括以下一种或几种:
[0224]读取该密文区中存储的数据的指令;
[0225]读取所述密钥区中存储的数据的指令。
[0226]可选的,在本申请以上任意一个实施例中,在所述基于所述设备端随机数,得到由所述读卡密钥加密的第二验证数据之前,还包括:生成卡加密随机数。则可以利用该读卡密钥对设备端随机数和卡加密随机数进行加密,得到第二验证数据。
[0227]可选的,在本申请实施例中,利用存储的读卡密钥对第一验证数据进行解密可以为:利用存储的读卡密钥,并采用SM7算法对第一验证数据进行解密;相应的可以基于设备端随机数,得到采用SM7算法且由读卡密钥加密的第二验证数据。
[0228]对应本申请的一种写无线射频识别卡的方法,本申请还提供了一种写无线射频识别卡的装置。参见图6,其示出了本申请一种写无线射频识别卡的装置一个实施例的结构示意图,本实施例的装置可以应用于任意能够对无线射频识别卡进行数据写入的写入设备中,本实施例的装置可以包括:
[0229]认证请求单元601,用于向所述无线射频识别卡发送认证请求;
[0230]第一接收单元602,用于接收所述无线射频识别卡返回的写卡验证随机数;
[0231]其中,所述写卡验证随机数为所述无线射频识别卡响应所述认证请求所生成的随机数;
[0232]随机数生成单元603,用于生成写卡设备的设备端随机数;
[0233]其中,随机数生成单元可以在第一接收单元接收到该写卡验证随机数后生成该设备端随机数,也可以是在该认证请求单元发送该认证请求后便生成该设备端随机数。
[0234]第一加密单元604,用于利用预置的初始密钥对所述设备端随机数和所述写卡验证随机数进行加密,得到第一加密数据;
[0235]发送单元605,用于将所述第一加密数据发送给所述无线射频识别卡进行认证,其中,如果所述无线射频识别卡利用存储的所述初始密钥从所述第一加密数据中解密出的所述写卡验证随机数与所述无线射频识别卡响应所述认证请求所生成的随机数相同,则对所述写卡设备认证通过;
[0236]第二接收单元606,用于接收所述无线射频识别卡对所述写卡设备认证通过后返回的第二加密数据;
[0237]解密单元607,用于利用所述初始密钥对所述第二加密数据进行解密;
[0238]第二加密单元608,用于当所述解密单元确定从所述第二加密数据中解密出的随机数中包含所述设备端随机数时,则将利用所述初始密钥对所述第二加密数据加密得到的第三加密数据作为当前的会话密钥,对待写入至所述无线射频识别卡的待写入数据进行加密;
[0239]数据写入单元609,用于将加密后的所述待写入数据写入至所述无线射频识别卡,以便所述无线射频识别卡利用所述初始密钥对所述第二加密数据进行加密得到所述会话密钥后,利用所述会话密钥对所述加密后的待写入数据进行解密后存储。
[0240]可选的,在本申请实施例的写RFID卡的装置中,从所述第二加密数据中解密出的随机数还可以包括:所述无线射频识别卡对所述写卡设备认证通过后生成的卡加密随机数。
[0241]可选的,本实施例中该无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后可以访问的存储区域。
[0242]所述待写入数据包括以下一种或几种:
[0243]写入所述密文区的指令和写入所述密文区的数据内容;
[0244]写入所述明文区的指令和写入所述明文区的卡标识数据;
[0245]写入所述密钥区的指令和写入所述密钥区的读卡密钥。
[0246]可选的,对设备端随机数写卡验证随机数进行加密可以是:利用预置的初始密钥,并采用SM7算法对设备端随机数和写卡验证随机数进行加密。相应的,可以是利用初始密钥,并采用SM7算法对第二加密数据进行解密。
[0247]另一方面,本申请还提供了另一种写无线射频识别卡的装置,该装置应用于无线射频识别卡。参见图7,其示出了本申请另一种写无线射频识别卡的装置一个实施例的结构示意图,本实施例的装置可以包括:
[0248]认证响应单元701,用于响应于写卡设备发送的认证请求,生成写卡验证随机数并返回给所述写卡设备;
[0249]第一接收单元702,用于接收所述写卡设备发送的第一加密数据;
[0250]解密单元703,用于利用存储的初始密钥对所述第一加密数据进行解密,得到卡端的随机数和所述写卡设备端生成的设备端随机数;
[0251]加密单元704,用于当所述解密单元解密出的所述卡端的随机数为所述写卡验证随机数时,基于所述设备端随机数,生成利用所述初始密钥加密的第二加密数据;
[0252]认证单元705,用于将所述第二加密数据发送给所述写卡设备进行认证,其中,当所述写卡设备利用预置的所述初始密钥从所述第二加密数据中解密出的所述设备端随机数与所述写卡设备发出所述认证请求后生成的随机数相同时,则所述写卡设备对所述无线射频识别卡认证通过;
[0253]第二接收单元706,用于接收所述写卡设备对所述无线射频识别卡认证通过后返回的写卡加密数据;
[0254]存储单元707,用于将利用所述初始密钥对所述第二加密数据加密得到的第三数据作为当前的会话密钥,对所述写卡加密数据进行解密,并存储解密出的写卡数据。
[0255]可选的,本实施例的装置还包括:随机数生成单元,用于在所述第一接收单元接收到所述第一加密数据后,生成卡加密随机数;
[0256]则所述加密单元,包括:
[0257]加密子单元,用于当所述解密单元解密出的所述卡端的随机数为所述写卡验证随机数时,利用所述初始密钥对所述设备端随机数和所述卡加密随机数进行加密,得到第二加密数据。
[0258]可选的,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访问的存储区域。
[0259]所述写卡数据包括以下一种或几种:
[0260]写入所述密文区的指令和写入所述密文区的数据内容;
[0261]写入所述明文区的指令和写入所述明文区的卡标识数据;
[0262]写入所述密钥区的指令和写入所述密钥区的卡更新密钥。
[0263]可选的,所述解密单元具体为:用于利用存储的所述初始密钥,并采用SM7算法对所述第一加密数据进行解密。
[0264]所述加密单元具体可以为:用于基于所述设备端随机数,并采用SM7算法生成的由所述初始密钥加密的第二加密数据。
[0265]另一方面,本申请还提供了一种读无线射频识别卡的装置。参见图8,其示出了本申请一种读无线射频识别卡的装置,本实施例的装置可以包括:
[0266]认证请求单元801,用于向无线射频识别卡发送认证请求,并读取所述无线射频识别卡的卡唯一标识;
[0267]接收单元802,用于接收所述无线射频识别卡返回的读卡验证随机数;
[0268]随机数生成单元803,用于生成读卡设备的设备端随机数;
[0269]第一加密单元804,用于将所述卡唯一标识、设备端随机数和所述读卡验证随机数发送给指定服务器,以便所述指定服务器依据所述卡唯一标识确定所述无线射频识别卡的读卡密钥,并利用所述读卡密钥对所述设备端随机数和读卡验证随机数进行加密得到第一验证数据;
[0270]认证单元805,用于将所述指定服务器返回的所述第一验证数据发送给所述无线射频识别卡进行认证,其中,当所述无线射频识别卡从所述第一验证数据中解密出的所述读卡验证随机数与响应所述认证请求所生成随机数相同时,则所述无线射频识别卡对所述读卡设备的认证通过;
[0271]解密单元806,用于将所述无线射频识别卡对所述读卡设备认证通过后返回的第二验证数据发送给所述指定服务器进行解密,以便所述指定服务器利用所述读卡密钥对所述第二验证数据进行解密;
[0272]第二加密单元807,用于当所述解密单元确定所述指定服务器从所述第二验证数据中解密出所述设备端随机数时,利用从所述指定服务器获取到的会话密钥对读卡指令进行加密,其中,所述会话密钥为利用所述读卡密钥对所述第二验证数据加密得到的数据;
[0273]读指令发送单元808,用于将所述加密后的读卡指令发送给所述无线射频识别卡,以便所述无线射频识别卡利用所述会话密钥对所述加密后读卡指令进行解密,并响应解密出的所述读卡指令。
[0274]可选的,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后可以访问的存储区域;
[0275]则所述认证请求单元,包括:
[0276]认证请求子单元,用于向无线射频识别卡发送认证请求,并读取所述无线射频识别卡中明文区内存储的卡唯一标识。
[0277]进一步的,读卡指令可以包括以下一种或几种:
[0278]读取所述密文区中存储的数据的指令;
[0279]读取所述密钥区中存储的数据的指令。
[0280]可选的,所述指定服务器对数据进行加密以及解密所采用的算法为SM7算法。
[0281]另一方面,本申请还提供了另一种读无线射频识别卡的装置,参见图9,其示出了本申请另一种读无线射频识别卡的装置一个实施例的结构示意图,本实施例的装置可以应用于无线射频识别卡,本实施例的装置可以包括:
[0282]认证响应单元901,用于响应于读卡设备发送的认证请求,生成读卡验证随机数;
[0283]第一发送单元902,用于将所述读卡验证随机数发送给所述读卡设备进行认证;
[0284]第一接收单元903,用于接收所述读卡设备认证通过后返回的第一验证数据;
[0285]解密单元904,用于利用存储的读卡密钥对所述第一验证数据进行解密,得到读卡设备侧生成的设备端随机数和卡端的随机数;
[0286]第一加密单元905,用于当所述解密单元解密出的所述卡端的随机数与所述卡验证随机数相同时,基于所述设备端随机数,得到由所述读卡密钥加密的第二验证数据;
[0287]第二发送单元906,用于将所述第二验证数据发送给所述读卡设备进行认证,其中,当所述读卡设备确定从所述第二验证数据中解密出所述设备端随机数时,则对所述无线射频识别卡的认证通过;
[0288]第二接收单元907,用于接收所述读卡设备对所述无线射频识别卡认证通过后返回的读卡加密指令;
[0289]第二加密单元908,用于利用所述读卡密钥对所述第二验证数据进行加密,得到加密的第二验证数据;
[0290]读指令响应单元909,用于将所述加密的第二验证数据作为会话密钥,并利用所述会话密钥对所述读卡加密指令进行解密,并响应解密出的读卡指令。
[0291]可选的,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域,所述明文区存储着所述无线射频识别卡的卡唯一标识;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访问的存储区域。
[0292]则该解密单元包括:解密子单元,用于利用密钥区存储的读卡密钥对第一验证数据进行解密,得到读卡设备侧生成的设备端随机数和卡端的随机数;
[0293]读卡指令包括以下一种或几种:读取所述密文区中存储的数据的指令;读取所述密钥区中存储的数据的指令。
[0294]可选的,本实施例的装置还包括:随机数生成单元,用于在所述第一接收单元接收到所述第一验证数据后,生成卡加密随机数;
[0295]相应的,该第一加密单元,可以包括:第一加密子单元,用于当该解密单元解密出的卡端的随机数与卡验证随机数相同时,利用读卡密钥对设备端随机数和卡加密随机数进行加密,得到第二验证数据。
[0296]可选的,该解密单元具体为:用于利用存储的所述读卡密钥,并采用SM7算法对所述第一验证数据进行解密。
[0297]则所述第二加密单元具体用于基于所述设备端随机数,得到采用所述SM7算法,且由读卡密钥加密的第二验证数据。
[0298]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0299]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【主权项】
1.一种写无线射频识别卡的方法,其特征在于,包括: 向所述无线射频识别卡发送认证请求; 接收所述无线射频识别卡返回的写卡验证随机数; 生成写卡设备的设备端随机数; 利用预置的初始密钥对所述设备端随机数和所述写卡验证随机数进行加密,得到第一加密数据; 将所述第一加密数据发送给所述无线射频识别卡进行认证,其中,如果所述无线射频识别卡利用存储的所述初始密钥从所述第一加密数据中解密出的所述写卡验证随机数与所述无线射频识别卡响应所述认证请求所生成的随机数相同,则对所述写卡设备认证通过; 接收所述无线射频识别卡对所述写卡设备认证通过后返回的第二加密数据; 利用所述初始密钥对所述第二加密数据进行解密; 当从所述第二加密数据中解密出的随机数中包含所述设备端随机数时,则将利用所述初始密钥对所述第二加密数据加密得到的第三加密数据作为当前的会话密钥,对待写入至所述无线射频识别卡的待写入数据进行加密; 将加密后的所述待写入数据写入至所述无线射频识别卡,以便所述无线射频识别卡利用所述初始密钥对所述第二加密数据进行加密得到所述会话密钥后,利用所述会话密钥对所述加密后的待写入数据进行解密后存储。2.根据权利要求1所述的方法,其特征在于,所述从所述第二加密数据中解密出的随机数还包括:所述无线射频识别卡对所述写卡设备认证通过后生成的卡加密随机数。3.根据权利要求1所述的方法,其特征在于,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访冋的存储区域; 所述待写入数据包括以下一种或几种: 写入所述密文区的指令和写入所述密文区的数据内容; 写入所述明文区的指令和写入所述明文区的卡标识数据; 写入所述密钥区的指令和写入所述密钥区的读卡密钥。4.根据权利要求1所述的方法,其特征在于,所述利用预置的初始密钥对所述设备端随机数和所述写卡验证随机数进行加密,包括: 利用预置的初始密钥,并采用SM7算法对所述设备端随机数和所述写卡验证随机数进行加密; 则所述利用所述初始密钥对所述第二加密数据进行解密,包括: 利用所述初始密钥,并采用所述SM7算法对所述第二加密数据进行解密。5.一种写无线射频识别卡的方法,其特征在于,包括: 响应于写卡设备发送的认证请求,生成写卡验证随机数并返回给所述写卡设备; 接收所述写卡设备发送的第一加密数据; 利用存储的初始密钥对所述第一加密数据进行解密,得到卡端的随机数和所述写卡设备端生成的设备端随机数; 当所述卡端的随机数为所述写卡验证随机数时,基于所述设备端随机数,生成利用所述初始密钥加密的第二加密数据; 将所述第二加密数据发送给所述写卡设备进行认证,其中,当所述写卡设备利用预置的所述初始密钥从所述第二加密数据中解密出的所述设备端随机数与所述写卡设备发出所述认证请求后生成的随机数相同时,则所述写卡设备对所述无线射频识别卡认证通过;接收所述写卡设备对所述无线射频识别卡认证通过后返回的写卡加密数据; 将利用所述初始密钥对所述第二加密数据加密得到的第三数据作为当前的会话密钥,对所述写卡加密数据进行解密,并存储解密出的写卡数据。6.根据权利要求5所述的方法,其特征在于,在所述基于所述设备端随机数,得到利用所述初始密钥加密的第二加密数据之前,还包括: 生成卡加密随机数; 则所述基于所述设备端随机数,生成利用所述初始密钥加密的第二加密数据,包括:利用所述初始密钥对所述设备端随机数和所述卡加密随机数进行加密,得到第二加密数据。7.根据权利要求5所述的方法,其特征在于,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访冋的存储区域; 所述写卡数据包括以下一种或几种: 写入所述密文区的指令和写入所述密文区的数据内容; 写入所述明文区的指令和写入所述明文区的卡标识数据; 写入所述密钥区的指令和写入所述密钥区的读卡密钥。8.根据权利要求5所述的方法,其特征在于,所述利用存储的初始密钥对所述第一加密数据进行解密,包括: 利用存储的所述初始密钥,并采用SM7算法对所述第一加密数据进行解密; 所述基于所述设备端随机数,生成利用所述初始密钥加密的第二加密数据,包括: 基于所述设备端随机数,并采用SM7算法生成的由所述初始密钥加密的第二加密数据。9.一种读无线射频识别卡的方法,其特征在于,包括: 向无线射频识别卡发送认证请求,并读取所述无线射频识别卡的卡唯一标识; 接收所述无线射频识别卡返回的读卡验证随机数; 生成读卡设备的设备端随机数; 将所述卡唯一标识、设备端随机数和所述读卡验证随机数发送给指定服务器,以便所述指定服务器依据所述卡唯一标识确定所述无线射频识别卡的读卡密钥,并利用所述读卡密钥对所述设备端随机数和读卡验证随机数进行加密得到第一验证数据; 将所述指定服务器返回的所述第一验证数据发送给所述无线射频识别卡进行认证,其中,当所述无线射频识别卡从所述第一验证数据中解密出的所述读卡验证随机数与响应所述认证请求所生成随机数相同时,则所述无线射频识别卡对所述读卡设备的认证通过;将所述无线射频识别卡对所述读卡设备认证通过后返回的第二验证数据发送给所述指定服务器进行解密,以便所述指定服务器利用所述读卡密钥对所述第二验证数据进行解密; 当所述指定服务器从所述第二验证数据中解密出所述设备端随机数时,利用从所述指定服务器获取到的会话密钥对读卡指令进行加密,其中,所述会话密钥为利用所述读卡密钥对所述第二验证数据加密得到的数据; 将所述加密后的读卡指令发送给所述无线射频识别卡,以便所述无线射频识别卡利用所述会话密钥对所述加密后读卡指令进行解密,并响应解密出的所述读卡指令。10.根据权利要求9所述的方法,其特征在于,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访冋的存储区域; 则所述读取所述无线射频识别卡的卡唯一标识,包括: 读取所述无线射频识别卡中明文区内存储的卡唯一标识; 所述读卡指令包括以下一种或几种: 读取所述密文区中存储的数据的指令; 读取所述密钥区中存储的数据的指令。11.一种读无线射频识别卡的方法,其特征在于,包括: 响应于读卡设备发送的认证请求,生成读卡验证随机数; 将所述读卡验证随机数发送给所述读卡设备; 接收所述读卡设备返回的第一验证数据; 利用存储的读卡密钥对所述第一验证数据进行解密,得到读卡设备侧生成的设备端随机数和卡端的随机数; 当所述卡端的随机数与所述卡验证随机数相同时,基于所述设备端随机数,得到由所述读卡密钥加密的第二验证数据; 将所述第二验证数据发送给所述读卡设备进行认证,其中,当所述读卡设备确定从所述第二验证数据中解密出所述设备端随机数时,则对所述无线射频识别卡的认证通过;接收所述读卡设备对所述无线射频识别卡认证通过后返回的读卡加密指令; 利用所述读卡密钥对所述第二验证数据进行加密,得到加密的第二验证数据; 将所述加密的第二验证数据作为会话密钥,利用所述会话密钥对所述读卡加密指令进行解密,并响应解密出的读卡指令。12.根据权利要求11所述的方法,其特征在于,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域,所述明文区存储有所述无线射频识别卡的卡唯一标识;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访问的存储区域; 则所述利用存储的读卡密钥对该第一验证数据进行解密,包括: 利用所述密钥区存储的所述读卡密钥对所述第一验证数据进行解密; 所述读卡指令包括以下一种或几种: 读取所述密文区中存储的数据的指令; 读取所述密钥区中存储的数据的指令。13.根据权利要求11所述的方法,其特征在于,在所述基于所述设备端随机数,得到由所述读卡密钥加密的第二验证数据之前,还包括: 生成卡加密随机数; 则所述基于所述设备端随机数,得到由所述读卡密钥加密的第二验证数据,包括:利用所述读卡密钥对所述设备端随机数和所述卡加密随机数进行加密,得到第二验证数据。14.根据权利要求11所述的方法,其特征在于,所述利用存储的读卡密钥对所述第一验证数据进行解密,包括: 利用存储的所述读卡密钥,并采用SM7算法对所述第一验证数据进行解密; 则所述基于所述设备端随机数,得到由所述读卡密钥加密的第二验证数据,包括: 基于所述设备端随机数,得到采用所述SM7算法且由所述读卡密钥加密的第二验证数据。15.一种写无线射频识别卡的装置,其特征在于,包括: 认证请求单元,用于向所述无线射频识别卡发送认证请求; 第一接收单元,用于在所述认证请求单元发送所述认证请求后,接收所述无线射频识别卡返回的写卡验证随机数; 随机数生成单元,用于生成写卡设备的设备端随机数; 第一加密单元,用于利用预置的初始密钥对所述设备端随机数和所述写卡验证随机数进行加密,得到第一加密数据; 发送单元,用于将所述第一加密数据发送给所述无线射频识别卡进行认证,其中,如果所述无线射频识别卡利用存储的所述初始密钥从所述第一加密数据中解密出的所述写卡验证随机数与所述无线射频识别卡响应所述认证请求所生成的随机数相同,则对所述写卡设备认证通过; 第二接收单元,用于接收所述无线射频识别卡对所述写卡设备认证通过后返回的第二加密数据; 解密单元,用于利用所述初始密钥对所述第二加密数据进行解密; 第二加密单元,用于当所述解密单元确定从所述第二加密数据中解密出的随机数中包含所述设备端随机数时,则将利用所述初始密钥对所述第二加密数据加密得到的第三加密数据作为当前的会话密钥,对待写入至所述无线射频识别卡的待写入数据进行加密; 数据写入单元,用于将加密后的所述待写入数据写入至所述无线射频识别卡,以便所述无线射频识别卡利用所述初始密钥对所述第二加密数据进行加密得到所述会话密钥后,利用所述会话密钥对所述加密后的待写入数据进行解密后存储。16.根据权利要求15所述的装置,其特征在于,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访冋的存储区域; 所述待写入数据包括以下一种或几种: 写入所述密文区的指令和写入所述密文区的数据内容; 写入所述明文区的指令和写入所述明文区的卡标识数据; 写入所述密钥区的指令和写入所述密钥区的读卡密钥。17.一种写无线射频识别卡的装置,其特征在于,包括: 认证响应单元,用于响应于写卡设备发送的认证请求,生成写卡验证随机数并返回给所述写卡设备; 第一接收单元,用于接收所述写卡设备发送的第一加密数据; 解密单元,用于利用存储的初始密钥对所述第一加密数据进行解密,得到卡端的随机数和所述写卡设备端生成的设备端随机数; 加密单元,用于当所述解密单元解密出的所述卡端的随机数为所述写卡验证随机数时,基于所述设备端随机数,生成利用所述初始密钥加密的第二加密数据; 认证单元,用于将所述第二加密数据发送给所述写卡设备进行认证,其中,当所述写卡设备利用预置的所述初始密钥从所述第二加密数据中解密出的所述设备端随机数与所述写卡设备发出所述认证请求后生成的随机数相同时,则所述写卡设备对所述无线射频识别卡认证通过; 第二接收单元,用于接收所述写卡设备对所述无线射频识别卡认证通过后返回的写卡加密数据; 存储单元,用于将利用所述初始密钥对所述第二加密数据加密得到的第三数据作为当前的会话密钥,对所述写卡加密数据进行解密,并存储解密出的写卡数据。18.根据权利要求17所述的装置,其特征在于,还包括:随机数生成单元,用于在所述第一接收单元接收到所述第一加密数据后,生成卡加密随机数; 则所述加密单元,包括: 加密子单元,用于当所述解密单元解密出的所述卡端的随机数为所述写卡验证随机数时,利用所述初始密钥对所述设备端随机数和所述卡加密随机数进行加密,得到第二加密数据。19.根据权利要求17所述的装置,其特征在于,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后可能够访问的存储区域; 所述写卡数据包括以下一种或几种: 写入所述密文区的指令和写入所述密文区的数据内容; 写入所述明文区的指令和写入所述明文区的卡标识数据; 写入所述密钥区的指令和写入所述密钥区的读卡密钥。20.一种读无线射频识别卡的装置,其特征在于,包括: 认证请求单元,用于向无线射频识别卡发送认证请求,并读取所述无线射频识别卡的卡唯一标识; 接收单元,用于接收所述无线射频识别卡返回的读卡验证随机数; 随机数生成单元,用于生成读卡设备的设备端随机数; 第一加密单元,用于将所述卡唯一标识、设备端随机数和所述读卡验证随机数发送给指定服务器,以便所述指定服务器依据所述卡唯一标识确定所述无线射频识别卡的读卡密钥,并利用所述读卡密钥对所述设备端随机数和读卡验证随机数进行加密得到第一验证数据; 认证单元,用于将所述指定服务器返回的所述第一验证数据发送给所述无线射频识别卡进行认证,其中,当所述无线射频识别卡从所述第一验证数据中解密出的所述读卡验证随机数与响应所述认证请求所生成随机数相同时,则所述无线射频识别卡对所述读卡设备的认证通过; 解密单元,用于将所述无线射频识别卡对所述读卡设备认证通过后返回的第二验证数据发送给所述指定服务器进行解密,以便所述指定服务器利用所述读卡密钥对所述第二验证数据进行解密; 第二加密单元,用于当所述解密单元确定所述指定服务器从所述第二验证数据中解密出所述设备端随机数时,利用从所述指定服务器获取到的会话密钥对读卡指令进行加密,其中,所述会话密钥为利用所述读卡密钥对所述第二验证数据加密得到的数据; 读指令发送单元,用于将所述加密后的读卡指令发送给所述无线射频识别卡,以便所述无线射频识别卡利用所述会话密钥对所述加密后读卡指令进行解密,并响应解密出的所述读卡指令。21.根据权利要求20所述的装置,其特征在于,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访冋的存储区域; 则所述认证请求单元,包括: 认证请求子单元,用于向无线射频识别卡发送认证请求,并读取所述无线射频识别卡中明文区内存储的卡唯一标识; 所述读卡指令包括以下一种或几种: 读取所述密文区中存储的数据的指令; 读取所述密钥区中存储的数据的指令。22.一种读无线射频识别卡的装置,其特征在于,包括: 认证响应单元,用于响应于读卡设备发送的认证请求,生成读卡验证随机数; 第一发送单元,用于将所述读卡验证随机数发送给所述读卡设备; 第一接收单元,用于接收所述读卡设备返回的第一验证数据; 解密单元,用于利用存储的读卡密钥对所述第一验证数据进行解密,得到读卡设备侧生成的设备端随机数和卡端的随机数; 第一加密单元,用于当所述解密单元解密出的所述卡端的随机数与所述卡验证随机数相同时,基于所述设备端随机数,得到由所述读卡密钥加密的第二验证数据; 第二发送单元,用于将所述第二验证数据发送给所述读卡设备进行认证,其中,当所述读卡设备确定从所述第二验证数据中解密出所述设备端随机数时,则对所述无线射频识别卡的认证通过; 第二接收单元,用于接收所述读卡设备对所述无线射频识别卡认证通过后返回的读卡加當指令; 第二加密单元,用于利用所述读卡密钥对所述第二验证数据进行加密,得到加密的第二验证数据; 读指令响应单元,用于将所述加密的第二验证数据作为会话密钥,并利用所述会话密钥对所述读卡加密指令进行解密,并响应解密出的读卡指令。23.根据权利要求22所述的装置,其特征在于,所述无线射频识别卡的存储区域包括:明文区、密文区和密钥区,其中,所述明文区为所述无线射频识别卡中,能够直接被所述写卡设备访问的存储区域,所述明文区存储有所述无线射频识别卡的卡唯一标识;所述密文区和密钥区为所述写卡设备通过所述无线射频识别卡的认证后能够访问的存储区域; 则所述解密单元,包括: 解密子单元,用于利用所述密钥区存储的所述读卡密钥对所述第一验证数据进行解密,得到读卡设备侧生成的设备端随机数和卡端的随机数; 所述读卡指令包括以下一种或几种: 读取所述密文区中存储的数据的指令; 读取所述密钥区中存储的数据的指令。24.根据权利要求22所述的装置,其特征在于,还包括: 随机数生成单元,用于在所述第一接收单元接收到所述第一验证数据后,生成卡加密随机数; 则所述第一加密单元,包括: 第一加密子单元,用于当所述解密单元解密出的所述卡端的随机数与所述卡验证随机数相同时,利用所述读卡密钥对所述设备端随机数和所述卡加密随机数进行加密,得到第二验证数据。
【文档编号】H04L9/32GK105989386SQ201510090700
【公开日】2016年10月5日
【申请日】2015年2月28日
【发明人】许明, 刘文东
【申请人】北京天威诚信电子商务服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1