无接触式通信电路的制作方法

文档序号:12861181阅读:287来源:国知局
无接触式通信电路的制作方法与工艺

本公开一般地涉及电子电路,并且更具体地涉及无接触式通信电路。本公开更具体地针对由无接触式通信终端进行的对无接触式通信电路的认证。



背景技术:

在接近耦合装置(PCD)(例如,无接触式终端(无接触式读取器))与无接触式设备(接近设备—PD)(特别是无接触式集成电路(接近集成电路—PIC)或无接触式集成电路卡(接近集成电路卡—PICC)))之间通过无接触式链路的通信一般是以所述接近设备与所述接近耦合设备的相互认证的操作开始的。

所述认证操作包括一连串的在所述接近耦合设备与所述接近设备之间进行数据交换的步骤以及由所述接近耦合设备和所述接近设备进行计算的步骤。这些步骤中的一些可能容易受到特别是针对与由所述接近设备执行的加密方法相关进行恢复信息的攻击。



技术实现要素:

期望一种更好地保护由接近耦合设备进行的对接近设备认证的操作的步骤。

因此,实施方式提供了一种利用无接触式通信终端来认证无接触式通信电路的方法,该方法连续地包括:

第一阶段,其包括由所述无接触式通信电路确定第一数(number),所述第一阶段以通过所述无接触式通信电路将所述第一数发送给所述无接触式通信终端结束;

第二阶段,其包括由所述无接触式通信终端通过使用所述第 一密钥对第一数进行解密来确定第二数,由所述无接触式通信终端基于所述第二数来确定第三数,以及由所述无接触式通信终端通过使用所述第一密钥对第三数进行加密来确定第四数,所述第二阶段以由所述无接触式通信终端将所述第四数发送给所述无接触式通信电路结束;以及

第三阶段,其包括由所述无接触式通信电路通过使用所述第一密钥而将所述第四数解密来获得第三数,以及如果从所述第三数获得的第六数不同于第七数,则由所述无接触式通信电路中断认证,其中,所述第一阶段不包括使用第一密钥的加密操作。

根据一个实施方式,所述第七数由所述无接触式通信电路基于通过由所述无接触式通信电路通过使用所述第一密钥来将所述第一数解密而获得的第八数来确定。

根据一个实施方式,所述方法包括,在所述第一阶段处,确定第九数,该第九数是随机的,且没有由所述无接触式通信电路进行加密操作。

根据一个实施方式,在第一阶段中,所述第一数等于所述第九数。

根据一个实施方式,在所述第一阶段中,所述第一数是通过由所述无接触式通信电路通过使用不同于所述第一密钥的第二密钥将所述第九数加密而获得的,所述第二密钥具有与所述第一密钥相同的大小,使用所述第二密钥的加密算法与使用所述第一密钥的加密算法相同。

根据一个实施方式,在所述第一阶段中,所述第一数是通过由所述无接触式通信电路通过使用所述第三密钥(其是随机的)将非随机的第十数加密而获得的,所述第三密钥具有与所述第一密钥相同的大小,使用所述第三密钥的加密算法与使用所述第一密钥的加密算法相同。

根据一个实施方式,在所述第一阶段中,所述无接触式通信电路随机地执行以下步骤:a)将所述第一数确定为等于利用所述第一 密钥将所述第九数加密的结果;b)将所述第一数确定为等于所述第八数。

根据一个实施方式,所述方法还包括,在步骤a)处,将所述第八数确定为等于所述第九数,并且在步骤b)处,使用不同于所述第一密钥的第四密钥来执行加密操作,所述第四密钥具有与所述第一密钥相同的大小,使用所述第四密钥的加密算法与使用所述第一密钥的加密算法相同。

根据一个实施方式,所述方法还包括在第三阶段中由无接触式通信电路执行步骤c),所述步骤c)包括,当执行了步骤a)时,使用不同于所述第一密钥的第五密钥来执行解密操作,所述第五密钥具有与所述第一密钥相同的大小,使用所述第五密钥的解密算法与所述使用第一密钥的加密算法相同,并且步骤c)包括,当执行了步骤b)时,通过由所述无接触式通信电路使用所述第一密钥将所述第一数解密来确定所述第八数。

根据一个实施方式,所述方法连续地包括在所述第一阶段中,如果布尔变量为真,则由所述无接触式通信电路将所述第一数确定为等于利用所述第一密钥将所述第九数加密的结果,并且如果所述布尔变量为假,则所述无接触式通信电路重复使用所述第一数的最后确定值,并且包括将所述布尔变量设置成假状态。

根据一个实施方式,所述方法还包括在所述第三阶段中,如果从所述第四数获得的所述第六数等于所述第七数,则由所述无接触式通信电路将所述布尔变量设置成真状态。

根据一个实施方式,所述方法包括在所述第二阶段中,由所述无接触式通信终端确定第十一数,该第十一数是随机的,并且由所述无接触式通信终端基于所述第二数来确定第十二数,所述第三数对应于所述第十一数和所述第十二数的并置。

根据一个实施方式,所述方法还包括在所述第三阶段中,由所述无接触式通信电路基于所述第三数来确定第十三数,通过利用所述第一密钥将所述第十三数加密来确定第十四数,所述第三阶段以 由所述无接触式通信电路将所述第十四数发送给所述无接触式通信终端结束。

另一实施方式提供了一种利用无接触式通信终端来认证无接触式通信电路的方法,该方法连续地包括:

第一阶段,其包括由所述无接触式通信电路确定第一数,所述第一数等于利用第一密钥将第二数加密的结果的,所述第二数是随机数,所述第一阶段以由所述无接触式通信电路将所述第一数发送给所述无接触式通信终端结束;

第二阶段,其包括由所述无接触式通信终端通过使用所述第一密钥对第一数进行加密来确定第三数,由所述无接触式通信终端基于所述第三数来确定第四数,以及由所述无接触式通信终端通过使用所述第一密钥对所述第四数进行加密来确定第五数,所述第五数包括至少第一和第二并置部分,所述第二阶段以由所述无接触式通信电路将所述第五数发送给所述无接触式通信终端结束;以及

第三阶段,其包括由所述无接触式通信电路基于所述第二数来确定第六数,利用密码块链接操作模式通过使用所述第一密钥将所述第六数和等于所述第五数的第一部分的初始化矢量加密来确定第七数,并且如果所述第七数不同于所述第五数的第二部分,则由所述无接触式通信电路中断认证。

根据一个实施方式,所述方法还包括,在所述第三阶段中,由所述无接触式通信电路通过使用所述第一密钥来将所述第五数解密以提供所述第四数。

根据一个实施方式,所述方法还包括,在所述第三阶段中,由所述无接触式通信电路基于第四数来确定第八数,通过利用所述第一密钥将所述第八数加密来确定第九数,所述第三阶段以由所述无接触式通信电路将所述第九数发送给所述无接触式通信终端结束。

根据一个实施方式,由所述无接触式通信电路执行的每个加密操作包括提供至少一个第一消息块和至少一个第二消息块,通过借助于所述第一密钥将在所述第一消息块与初始化矢量之间应用的 XOR函数的结果加密来提供第一加密消息块,并且通过借助于所述第一密钥将在所述第二消息块与所述第一加密消息块之间应用的XOR函数的结果加密来提供第二加密消息块。

根据一个实施方式,所述方法包括在所述第二阶段中,由所述无接触式通信终端确定第十数,所述第十数是随机的,并且由所述无接触式通信终端基于所述第三数来确定第十一数,所述第四数对应于所述第十数和所述第十一数的并置。

根据一个实施方式,所述第一阶段不包括使用所述第一密钥的加密操作。

另一实施方式提供一种无接触式通信电路,其包括被编程为执行先前定义的方法的微处理器。

另一实施方式提供一种微电路卡,其包括被编程为执行先前定义的方法的电路。

又一实施方式提供一种无接触式通信电路,其包括:无线通信电路,其被配置成检测无接触式通信终端,并且当所述无接触式通信电路在所述无接触式通信终端的附近时与之以电磁方式交换信息;以及微处理器,其被编程为生成被发送给所述无接触式通信终端的所述信息,并在至少三个阶段中分析从所述无接触式通信终端接收到的所述信息。其中,在所述第一阶段中的生成和分析包括:利用第一密钥将第一随机数加密以产生第一已加密消息;以及从所述无接触式通信电路向所述无接触式通信终端发送所述第一已加密消息,所述发送所述第一已加密消息结束所述第一阶段。其中,在第二阶段中的生成和分析包括:从所述无接触式通信终端接收第二已加密消息,所述第二已加密消息是从所述第一已加密消息的解密和第二随机数生成的,所述接收第二已加密消息使所述第二阶段结束。其中,在第三阶段中的生成和分析包括:利用所述第一密钥将所述第二已加密消息解密以产生已解密消息;对所述已解密消息执行至少一个逻辑操作;测试所述已解密消息是否是可信的;如果所述已解密消息是可信的,则执行加密操作以提供第三已加密消息,所述 加密操作包括密码块链接操作模式,其利用所述第一密钥将所述已解密消息的至少一部分和初始化矢量的至少一部分加密;以及从所述无接触式通信电路向所述无接触式通信终端发送所述第三已加密消息,所述发送所述第三已加密消息使第三阶段结束。

附图说明

参考以下各图来描述非限制性且非穷举性实施方式,其中,相同的附图标记遍及各种图指代相同部分,除非另外说明。在下文中参考附图来描述一个或多个实施方式。在特定实施方式的以下非限制性描述中将结合附图来详细地描述前述及其它特征和优点,在所述附图中:

图1非常示意性地示出了接近通信系统的实施方式;

图2是接近设备和接近耦合设备的相互认证的方法的通常示例的简化框图;

图3至图5是接近设备和接近耦合设备的相互认证的方法的实施方式的简化框图;

图6至图8是能够根据块链接操作模式来执行加密操作的加密电路的简化框图;以及

图9是接近设备和接近耦合设备的相互认证的方法的另一实施方式的简化框图。

具体实施方式

在不同的图中利用相同的参考标号来指定相同元件。为了清楚起见,仅示出并详细描述了对理解所述实施方式有用的那些元件。特别地,并未详述一旦已执行认证操作时接近耦合设备与接近集成电路之间的交换,所描述实施方式与通常交换相兼容。除非另外指定,措辞“近似”、“基本上”和“大约”意图在10%内,优选地在5%内。

以形成接近集成电路卡(PICC)的无接触式卡和形成接近耦合 设备(PCD)的无接触式读取器为例描述了实施方式。然而,他们更一般地适用于被用作接近耦合设备的任何设备和其中出现类似问题的任何无接触式通信集成电路。

图1非常示意性地示出了所描述实施方式所适用类型的无接触式通信系统的示例。

无接触式通信终端10或接近读取器(READER)产生电磁场。位于读取器内的无接触式卡12(CARD)检测到该场且然后能够与读取器10交换信息。

卡12可托管一个或多个应用程序。作为示例,这些应用程序可使用已知为MIFARE的技术。需由卡执行的应用程序可取决于其与之通信的读取器。事实上,读取器一般地专用于应用程序(例如,银行、运输、访问控制等),并且卡在读取器的场中的激活取决于卡所接受的协议。

技术具有不同的变型,特别是或MIFARE变型。和MIFARE是NXP B.V.在美国的注册商标。此类变型特别地因所执行的加密方法不同而不同。根据示例,加密方法对应于对称加密算法,例如将一个密钥、两个密钥或三个密钥用于加密的AES(高级加密标准)算法或DES(数据加密标准)算法。

图2是执行MIFARE DESFIRE或MIFARE PLUS技术的无接触式芯片与读取器的相互认证的方法的通常示例的简化框图。

认证PICC卡的方法在读取器已检测到卡的存在并想要认证该卡时开始。可以在认证开始之前发送其它命令。认证方法包括连续的阶段S1、S2、S3和S4,每个阶段包括连续步骤。

PCD和PD共享多个密钥值的知识。在阶段S1处,读取器(PCD)选择密钥(步骤20),并且将其标识符Idk连同认证控制信号一起发送给卡(PICC)。密钥k的长度尤其取决于所执行的加密算法。作为示例,密钥的长度可以是8、16或24位。

卡生成长度RL的随机数Rb(步骤22)。随机数Rb的长度RL 取决于所执行的加密算法。作为示例,长度RL可以是8或16位。卡然后通过使用具有标识符Idk的密钥k进行对随机数Rb的加密,来确定已加密消息A1,并且将所述已加密消息A1发送给读取器。

在阶段S2处,读取器通过使用同一密钥k来将已加密消息A1解密,并获得随机数Rb_pcd(步骤26)。读取器然后通过在二进制表示中将随机数Rb_pcd的位左旋转多个位(例如8位),而基于随机数Rb_pcd来确定随机数R'b_pcd(步骤28)。读取器生成长度RL的新随机数Ra_pcd(步骤30)。读取器通过对随机数Ra_pcd和随机数R'b_pcd的级联来确定消息Ra_pcd||R'b_pcd,并且通过使用密钥k进行消息Ra_pcd||R'b_pcd的加密来确定已加密消息B1(步骤32)并将已加密消息B1发送给卡。

在阶段S3处,卡通过使用密钥k来将已加密消息B1解密以获得消息Ra_pcd||R'b_pcd(步骤36)。该卡然后通过在二进制表示中将随机数Rb的位左旋转多个位(例如8位),而基于随机数Rb来确定随机数R'b(步骤38)。卡比较随机数R'b_pcd和R'b(步骤40)。如果两个随机数R'b_pcd和R'b是不相同的,则卡终端认证操作,该认证操作失败(步骤42)。这对应于由PICC进行的PCD的认证。如果两个随机数R'b_pcd和R'b是相同的,则卡然后通过将随机数Ra_pcd的位左旋转多个位(例如8位)而基于随机数Ra_pcd来确定随机数R'a(步骤44)。卡然后通过使用密钥k进行对随机数R'a的加密来确定已加密消息A2(步骤46),并且将已加密消息A2发送给读取器。

在阶段S4处,所述方法可包括附加步骤(步骤48),特别是由PCD通过以下操作进行的对PICC的认证:验证A2消息,确定被用于由读取器和卡进行的加密和解密的后续操作的会话密钥。可从随机数Ra和Rb获得会话密钥。

对于通过接触读取进行卡认证的方法,已知的是要提供由卡进行的对不成功认证尝试的次数的计数,并且当不成功尝试的次数超过阈值时,停止认证操作。然而,一般地在无接触式卡认证方法中不提供由卡进行的对不成功尝试次数的计数,该计数是耗时操作。 事实上,持有接近于PICC的欺诈性PCD的个人可能会一直发送无效认证直至卡被阻止为止。针对未提供解锁机制的技术,其导致卡的永久性损坏。此外,由于卡与读取器之间的数据交换仅仅是在卡接近于读取器的短时间期间发生的,所以认证操作应尽可能快速。攻击者因此可能会执行他/她期望次数的认证尝试。

前述认证方法的弱点是,攻击者可以重复卡在阶段S1处执行的同一密钥k的前述步骤。每次,确定新的随机数Rb和新的已加密消息A1。对有限数目的侧面通道攻击踪迹和所获得的已加密消息A1的分析使得能够相当大地减小可能密钥k的密钥空间而不会随后要求针对每次重复执行认证方法的其它阶段。PD生成新随机数的事实为攻击者提供引起注意的踪迹分布。攻击者然后可对减小的密钥空间执行暴力攻击。当卡在阶段S3的步骤40处执行的比较未导致失败时,攻击者知道攻击已成功。

前述认证方法的另一弱点是,卡在阶段S3处所使用的已加密消息B1可能会被攻击者利用。攻击者因此可以利用其选择的已加密消息B1将解密步骤36重复期望的次数,从而获取侧面通道攻击踪迹。然而,使用此弱点的攻击花费更多的时间,因为必须在每次尝试之前执行阶段S1和S2的步骤。

将描述认证方法的实施方式,其中卡在阶段S1处执行的步骤被修改以防止攻击者使用这些步骤来获得关于密钥k的足够信息。相对于卡在阶段S1处执行的步骤的前述弱点于是不能再被攻击者使用。

图3是由PCD读取器认证PICC卡的方法的实施方式的简化框图。该认证方法的实施方式包括先前相对于图2所述的认证方法的步骤,区别在于利用步骤50替换了步骤22和24,在步骤50处,通过生成长度RL的随机数来直接地获得数A1。本实施方式还包括在阶段S3处,在步骤36之前的通过由卡通过使利用密钥k来将数A1解密而确定随机数Rb的步骤52。

根据一种变型,利用通过使用不同于密钥k的假密钥进行的对 随机数的解密来确定已加密消息A1的步骤,来替换本实施方式前述步骤50。

根据另一变型,在步骤50处,通过利用等于长度RL的随机数的密钥对给定数(例如0)加密来获得已加密消息A1

相对于由卡在阶段S1处执行的步骤的前述弱点于是不能再被攻击者使用,因为这些步骤不再包括使用密钥k的加密。

图4是由读取器认证卡的方法的另一实施方式的简化框图。在本实施方式中,随机地执行先前相对于图2所述的方法或先前相对于图3所述的方法。

更具体地,该认证方法的实施方式包括先前相对于图2所述的认证方法的步骤,差别在于利用此后描述的步骤60、62、64和66替换了步骤22和24。卡生成长度RL的随机数R1(步骤60)。卡确定随机位c(步骤62)并将其与“0”相比较(步骤64)。如果位c等于“0”,则卡通过使用密钥k进行的对随机数R1的加密来确定已加密消息A1(步骤66),并且将已加密消息A1发送给读取器。在阶段S3处使用的随机数Rb于是等于随机数R1。如果位c等于“1”,则由卡发送给读取器的数A1等于R1且卡通过向数Rb分配通过使用不同于密钥k的假密钥将随机数R1加密的结果,来执行加密操作(步骤68)。此加密的结果并未使用,而是保证在使用侧面通道攻击的情况下,其中c等于“1”的情况与其中c等于“0”的情况提供相同的踪迹。

该认证方法的实施方式还包括在阶段S3处在步骤36之前的将在下文描述的附加步骤70、72和74。卡将随机位c与“0”相比较(步骤70)。如果位c等于“0”,亦即当已在阶段S1处执行步骤66时,卡通过向A1分配通过使用不同于密钥k的假密钥将随机数R1解密的结果,来执行解密操作(步骤72)。此解密的结果并未使用,而是保证在使用侧面通道攻击的情况下,其中c等于“1”的情况与其中c等于“0”的情况提供相同的踪迹。

如果位c等于“0”,亦即当已在阶段S1处执行步骤68时,卡 通过使用密钥k进行对数A1的解密来确定随机数Rb(步骤74)。

相对于由卡在阶段S1处执行的步骤的上述弱点于是不能再被攻击者使用,因为这些步骤不再包括使用密钥k的加密。此外,始终在阶段S1处执行加密步骤且始终在阶段S2处执行解密步骤,即使这些步骤根据位c的值而不一定有用。这使得能够防止侧面通道攻击,因为攻击者不能从没有用的一些加密/解密步骤知道有用的加密/解密步骤。

图5是由读取器认证卡的方法的另一实施方式的简化框图。在本实施方式中,只有当最后一个认证程序已正确地发生时,卡才执行前述步骤22和24。当最后一个认证程序并未正确地发生时,再次使用在已正确地发生的最后一个认证程序中使用的随机数Rb和已加密消息A1

更具体地,该认证方法的实施方式包括先前相对于图2所述的认证方法的步骤,并且还包括步骤80,在该步骤处,卡确定布尔变量ok是否为真,变量ok在第一次卡认证尝试时被初始化成真值。如果变量ok处于真状态,则由卡执行步骤22和24。如果变量ok处于假状态,则卡再次使用在先前的认证程序处确定的值Rb和A1(步骤82)。在已执行步骤22和24或步骤82之后,卡将变量ok设置成假状态(步骤84)。本实施方式还包括在步骤36至46之后的步骤86,在该步骤处卡将变量ok设置成真状态。

利用本实施方式,只有当先前的认证程序已正确地发生时才能由卡执行阶段S1处的加密步骤。其中阶段S1将被重复但却不导致成功认证(特别是要确定关于密钥k的信息)的攻击将不会在每次阶段S1被重复时引起新加密步骤的执行,这限制了攻击者可能期望恢复的有用信息。

通过使用至少一个加密/解密模块来进行加密/解密操作。加密/解密模块具有密码块长度BL,并且能够将长度与密码块长度相同的消息加密/解密。例如,针对DES算法,BL可以是8位,并且针对AES算法,BL可以是16位。针对比BL更长且对应于BL的倍数的 消息,可以通过密码块链接(CBC)来进行加密/解密操作。现在将描述另一实施方式,其适合于其中被用来确定已加密消息A1和B1的加密或解密方法通过密码块链接(CBC)来执行操作模式的情况。

图6是图示出根据CBC操作模式的加密操作的原理的加密电路90的框图。电路90包括加密模块MOD1、MOD2、MOD3,在图6中示出了三个模块。每个加密模块MOD1、MOD2、MOD3可以利用同一密钥k进行加密操作。电路90针对每个模块MOD1、MOD2、MOD3接收要加密的消息块E1、E2、E3,并且针对每个模块MOD1、MOD2、MOD3提供已加密消息块O1、O2和O3。每个模块MOD1、MOD2、MOD3接收数IN1、IN2、IN3,并且通过使用对于所有模块MOD1、MOD2、MOD3而言相同的密钥进行对数IN1、IN2、IN3的加密,来提供已加密消息块O1、O2、O3

该操作模式被称为块链接模式,因为被模块加密的每个数对应于在模块的输入数与由先前的模块提供的已加密消息块之间应用的XOR函数的结果。如图6中所示,数IN3是在数E3和O2之间应用XOR函数的结果,并且数IN2是在数E2与O1之间应用XOR函数的结果。针对第一模块MOD1,通过数E1和称为初始化矢量的数IV的二进制加法来获得数IN1

图7是在图6中所示的类型的加密电路92的框图,其能够在其中加密方法对应于使用一个密钥或两个密钥的DES算法或AES算法的情况下,在前述实施方式中实现。读取器或卡所使用的每个随机数的长度然后等于可以被加密模块加密的数的长度,亦即密码块长度。

图7作为示例而示出了用以基于随机数Ra_pcd和Rb_pcd来获得已加密消息B1的加密操作。已加密消息B1具有两倍长度BL并被划分成两个并置块,第一块B1,1和第二块B1,2,每个具有长度RL。模块MOD1接收在随机数Ra_pcd与初始化矢量IV之间应用的XOR函数的结果,并且提供已加密消息B1的第一块B1,1。模块MOD2接收在随机数Rb_pcd与已加密消息块B1,1之间应用XOR函数的结果,并且 提供已加密消息B1的第二块B1,2。在第一加密操作处,初始化矢量IV例如等于“0”。第二块B1,2例如在下一加密操作处被用作初始化矢量IV。作为变型,IV针对每个加密操作均被设置成等于“0”。

图8是在图6中所示的类型的加密电路94的框图,其能够在其中加密方法对应于使用三个密钥的DES算法的情况下在前述实施方式中实现。读取器或卡所使用的每个随机数的采用二进制表示的长度RL然后等于长度BL的两倍。

图8作为示例而示出了用以基于随机数Ra_pcd和Rb_pcd来获得已加密消息B1的加密操作。已加密消息B1具有四倍的长度BL,并被划分成长度BL的四个并置块B1,1a、B1,1b、B1,2a和B1,2b。随机数Ra_pcd划分成长度BL的两个并置块Ra_pcd,1和Ra_pcd,2,并且随机数Rb_pcd划分成长度BL的两个并置块Rb_pcd,1和Rb_pcd,2。模块MOD1接收在块Ra_pcd,1与初始化矢量IV之间应用XOR函数的结果,并且提供已加密消息B1的第一块B1,1a。模块MOD2接收在块Ra_pcd,2与已加密消息块B1,1a之间应用XOR函数的结果,并且提供已加密消息B1的第二块B1,1b。模块MOD3接收在随机数Rb_pcd,1与已加密消息块B1,1b之间应用XOR函数的结果,并且提供已加密消息B1的第三块B1,2a。模块MOD4接收在块Rb_pcd,2与块B1,2a之间应用XOR函数的结果,并且提供已加密消息B1的第四块B1,2b。第三块B1,2b例如在下一加密操作处被用作初始化矢量IV。第一和第二并置块B1,1a和B1,1b形成加密消息B1的长度RL的第一块B1,1,并且第三和第四并置块B1,2a和B1,2b形成已加密消息B1的长度RL的第二块B1,2

图9是由读取器认证卡的方法的实施方式的简化框图。

在本实施方式中,在阶段S3处,提供了附加步骤,以使得攻击者不能再控制被用于加密或解密操作的数。

更具体地,该认证方法的实施方式包括先前相对于图2所述的认证方法的步骤,差别在于在阶段S3处,不存在步骤38,并且卡在阶段S3处在步骤36之前执行此后描述的附加步骤100、102、104和106。该卡通过在二进制表示中将随机数Rb的位左旋转多个位(例 如8位)而基于随机数Rb来确定随机数R'b(步骤100)。卡通过使用密钥k和随机数R'b(其根据其长度而被提供给加密电路的一个或多个第一模块)来执行加密方法(步骤102)。针对图7中所示的加密方法的示例,其中每个加密模块可以接收具有与随机数R'b相同的长度RL的数,随机数R'b被供应给第一加密模块。针对图8中所示的加密方法的示例,其中每个加密模块可以接收到具有随机数R'b的一半长度RL的数,随机数R'b的第一块被供应给第一加密模块,并且随机数R'b的第二块被供应给第二加密模块。此外,通过使用与第一随机数关联的已加密消息B1的最后一个块作为初始矢量IV来执行加密方法,也即是说,所述最后一个对于图7中所示的加密方法的示例而言为已加密消息B1的块B1,1,而对于图8中所示的加密方法的示例而言的已加密消息B1的块B1,1b。加密电路的一个或多个第一模块然后提供长度RL的已加密消息块B1,2_picc。该卡然后将已加密消息B1的第二块B1,2与已加密消息块B1,2_picc相比较(步骤104)。如果已加密消息B1的第二块不同于数B1,2_picc,则卡中断认证阶段(步骤106)。如果两个数是相同的,则卡在前述步骤36处继续进行。

作为一种变型,步骤40和42可以不存在。

期望在阶段S3处执行攻击的攻击者可能会利用在阶段S3处被卡使用的已加密消息B1。然而,攻击者不可访问随机数R'b。由于在随机数R'b与已加密消息B1的块之间应用了XOR函数,所以攻击者并未控制加密模块在加密操作期间所使用的数。

前述实施方式是在卡侧执行的且对于读取器而言是透明的。这些实施方式不要求在读取器侧的任何修改。这样形成(编程)的卡因此与现有读取器兼容。

已描述了各种实施方式。本领域的技术人员将想到各种变更和修改。特别地,虽然已相对于微电路卡描述了实施方式,但其与其中出现类似问题的任何接近通信设备(例如装配有在卡模式下操作的NFC路由器的蜂窝电话)中的构成相兼容。此外,虽然已相对于对MIFARE交易的应用示例更具体地描述了实施方式,但其可变换 到其中出现有类似问题的其它应用。此外,所述实施方式的实际实现基于上文给定的功能指示且通过使用本质上普通的电路或通过对该电路编程而在本领域的技术人员的能力之内。特别地,这些实施方式所适用的无接触式集成通信电路一般包括至少一个微处理器、一个或多个易失性和非易失性存储器单元、接近通信接口和通常的根据托管应用程序的其它电路。

上文已描述了具有不同变型的各种实施方式。应注意的是本领域的技术人员可在未显示出任何创造性的情况下将这些各种实施方式和变型的各种元素组合。特别地,可用先前相对于图3、4和5所述的任何实施方式来执行先前相对于图9所述的实施方式。

可以将上述各种实施方式组合以提供更多实施方式。可以根据上文详述的描述对实施方式进行这些及其它改变。一般地,在以下权利要求中,不应将所使用的术语理解成使权利要求局限于在本说明书和权利要求中公开的特定实施方式,而是应理解成包括所有可能实施方式以及等价于此类权利要求的等同物的全部范围。因此,权利要求受到本公开的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1