相关申请的交叉引用
本申请要求第16/51711号法国专利申请的优先权权益,其内容由此在法律许可的最大程度上通过整体引用被合并。
本公开总体上涉及电子电路,并且更具体地涉及非接触通信电路。本公开更具体地旨在选择在非接触通信终端与非接触通信电路之间的通信模式。
背景技术:
在接近耦合设备(pcd)(例如非接触终端(非接触读卡器))与非接触集成电路(接近集成电路pic)或非接触集成电路卡(接近集成电路卡picc)之间的非接触通信中有用的应用的发展产生新的困难。
特别地,通信遵守演进的标准,这可能产生不同代的设备或电路之间的兼容性问题。
另外,非接触集成电路(由于被包括在微电路卡、移动电话或任何其他便携式设备中)越来越普遍地能够托管具有不同安全水平的多个应用。例如,微电路卡可以托管银行应用(例如根据emv(eurocard-mastercard-visa)标准)以及其他所谓的私有应用,例如访问控制、运输和类似的应用。
这样的不同应用可能需要不同的协议。一般系统基于读卡器对卡能够根据一个标准或另一标准来通信的能力的检测。然而,这产生错误的拒绝,也就是,能够与读卡器通信的卡被上述读卡器拒绝。
技术实现要素:
想要一种用于验证用于通信的接近集成电路与接近耦合设备的兼容性的解决方案。
想要一种兼容现有的耦合设备的解决方案。
因此,实施例提供了一种配置非接触通信电路的方法,非接触通信电路托管兼容不同通信协议的至少两个应用,所述方法包括以下步骤:
将通信协议的标识符初始化为第一值;
如果与接近耦合设备的业务失败,则递增计数器;以及
当计数器的值达到阈值时,将标识符的值改为第二值。
根据实施例,针对每个成功的业务重置计数器。
根据实施例,针对每个业务将标识符重置为第一值。
根据实施例,标识符的值决定由电路接受的通信协议。
根据实施例,电路利用第一标识符根据iso14443-4协议通信并且利用第二标识符根据iso14443-3协议通信。
根据实施例,第一应用是emv应用。
根据实施例,第二应用是mifareclassic或mifareclassic+应用。
根据实施例,阈值具有在2到10之间的值。
实施例提供了一种非接触通信电路,其包括被编程以实现以上方法的微处理器。
实施例还提供了一种微电路卡,其包括这样的电路。
将结合附图在具体实施例的以下非限制性描述中详细讨论以上和其他特征和优点。
附图说明
图1非常示意性地示出接近通信设备的实施例;
图2是接近耦合设备的配置的一般示例的简化框图;
图3图示根据mifareplus协议的接近通信的建立;以及
图4是配置接近耦合设备的方法的实施例的简化框图。
具体实施方式
在不同附图中,相同的元件用相同的附图标记来指代。
为了清楚,仅示出并且将详述对于将要描述的实施例的理解而言有用的那些步骤和要素。特别地,没有详述通信完成之后接近耦合设备与接近集成电路之间的交换(exchange),所描述的实施例兼容一般的交换。
使用形成接近集成电路卡(picc)的非接触卡和形成接近耦合设备(pcd)的非接触读卡器作为示例来描述实施例。然而,它们更一般地适用于被用作接近耦合设备的任何设备并且适用于其中造成类似问题的任何非接触通信集成电路。另外,虽然参考支付应用,但是所描述的实施例适用于不同属性的应用,只要它们产生相同的问题并且兼容所描述的解决方案。
图1非常示意性地示出所描述的实施例所适用的类型的非接触通信系统的示例。
非接触通信终端1或接近读卡器(读卡器,reader)生成电磁场。位于读卡器的范围内的接近卡3(卡,card)检测场并且然后能够与读卡器交换信息。
非接触通信协议可以是“私有的”,也就是,由制造商来设置或者被标准化。特别地,银行卡使用所谓的emv技术,该技术使用基于iso14443-4标准的协议。然而,多应用卡不仅能够托管根据emv技术的银行应用,还能够托管使用被称为mifare的技术的应用。在某些实现中,mifare技术使用不支持iso14443-4协议的(应用)通信协议。要由卡来发起的应用取决于与其通信的读卡器。实际上,读卡器通常专用于应用(例如,银行、运输、访问控制等)并且卡在读卡器的场中的激活取决于卡接受的协议。
图2是图示卡在读卡器的场中的激活的一般序列的步骤的框图。
pcd读卡器周期性地或者在检测到(框21,开始,start)其生成的场中负载的存在时发送意图用于场中可能存在的卡的请求(reqa)。如果场中存在的picc卡解译请求reqa,则其发送确认消息atqa。在接收到这样的消息时,读卡器开始所谓的防冲突过程(框23,防冲突,acticollision)以确保其与单个卡通信。这样的过程包括:由卡发送卡的标识符uid以及sak(选择确认)码,sak码标识由卡托管的并且其应答的应用。读卡器验证标识符uid是否完整(框25,uid?)。如果其为否(框25的输出n),则防冲突过程继续进行直到接收到完整的标识符。如果其为是(框25的输出y),则读卡器读取sak码以确定与卡的通信的协议。通常,在本公开作为目标的应用中,pcd读卡器确定(框27,sak?)卡与(框27的输出y)14443-4还是(框27的输出n)14443-3协议兼容。
sak码或sak值确定卡接受的通信协议。
多应用卡的到达(特别是emv类型的银行应用和mifareplus类型的应用)产生困难。
mifare技术根据卡生成具有不同的安全水平sl0到sl3。更特别地,mifareclassic(sl1模式)或mifareclassic+(sl2模式)卡与iso14443-3协议兼容。mifareplus(sl3)卡与iso14443-4协议兼容。另外,先进的mifareplus卡向下兼容。因此,mifareplus卡也可以在更低安全水平下操作,以与现有的读卡器兼容。类似地,托管mifareplus应用的读卡器通常能够根据更低协议(mifareclassic或classic+)来操作。
为了得益于最近的协议并且特别是mifareplus协议的优点,托管mifareplus应用的读卡器首先尝试根据这一协议建立通信。因此,如果其场中存在卡,则其尝试根据iso14443-4协议建立通信。如果卡应答,则表示其与mifareplus技术兼容并且通信开始。如果卡没有应答,则读卡器切换到更低水平的mifareclassic协议并且根据14443-3标准来通信。
然而,如果存在托管emv应用和mifareclassic应用的卡,则不能建立通信,即使卡与读卡器兼容。实际上,当通信被建立时,卡应答其接受14443-4协议,因为其托管emv应用。读卡器然后开始在mifareplus模式下的通信。然而,卡没有响应,因为其mifare应用与mifareplus技术不兼容。已经在mifareclassic(或classic+)模式下与读卡器通信的卡由于托管emv应用而被阻止通信正是这种情况。
实际上,卡在接收链接至应用的具体的控制信号之前没有识别业务的属性(例如emv或mifareplus)。现在,mifareplus读卡器通过在向应用发送具体的控制信号之前使业务适合最高性能协议(mifareplus)来开始。这对于托管emv应用和mifare应用但是与mifareplus不兼容的卡而言产生业务的失败,即使读卡器和卡与mifareclassic技术兼容。
图3非常示意性地图示在这样的情况下的mifareplus读卡器对于业务的拒绝。
读卡器(pcd)打开(场打开,fieldon)场(激活场生成)并且周期性地发送(轮询)请求(reqa,图2)。卡(picc)应答并且防冲突过程开始。由于卡是emv卡,其使用与iso14443-4标准兼容的sak值来应答(应答防冲突)。对于emv和mifareclassic卡,sak值是0x28。在接收到应答时,读卡器发送被称为rats(对选择进行应答的请求)的iso14443-4标准的标准化请求,以使得能够在卡应答的情况下切换到mifareplus模式或者在相反情况下保持处于mifareclassic模式。由于卡托管emv应用,其应答(应答rats)14443-4标准的这一请求。读卡器然后在安全水平sl3下开始mifareplus业务(发送sl3命令)。然而,卡保持沉默(没有工作)或者返回错误(例如,通过提及未知的控制信号),因为其mifare应用与这一安全水平不兼容。读卡器然后关闭场(场关闭)。
虽然一般技术基于读卡器的检测,然而发明人提供了在卡侧执行检测以解决以上讨论的情况并且使得sl1或sl2水平mifare卡能够与mifareplus读卡器通信,而不管其托管emv应用这一事实。
图4非常示意性地图示卡建立mifare业务的请求的检测方法的实施例。
根据本实施例,卡在iso14443-4协议下对失败的业务的数目进行计数,并且在超过阈值的情况下,将其sak值修改为兼容iso14443-3标准的值。因此,这引起从mifareplus读卡器到mifareclassic模式的切换。
当卡在根据14443-4协议通信的读卡器的场中时,其将业务失败的数目的计数器(框41,f=0)以及其sak值初始化为对应于其托管的应用以及其mifare安全水平的值。例如,卡是emv和mifareclassic卡。其随后将sak值初始化为0x28(框42,sak0x28)。与读卡器的业务开始。卡递增计数器f(框43,f=f+1)。在存在mifareplus读卡器的情况下,后者执行(框44,防冲突,sl3命令,场关闭)图3中图示的步骤。业务失败(失败,fail)。卡然后将计数器值与阈值th相比较(框45,f>th?)。只要尚未达到这一阈值(框45的输出n),则卡保持其sak值并且读卡器尝试新的业务。在对应于阈值th的失败业务的次数之后(框45的输出y),卡修改其sak值(框46,sak0x08),使得其对应于单应用mifareclassic卡的sak值。因此,在下一业务时,卡将这一值通信给读卡器,读卡器没有切换到14443-4模式而是保持在14443-3模式并且可以执行业务。
应当注意,以上描述的操作没有不利地影响卡与其他读卡器的操作。实际上,如果卡面对emv支付终端,则读卡器使用14443-4协议发送emv控制信号,并且卡应答。如果卡面对mifareclassic终端,则后者根据14443-3协议发送并且卡侧的mifare应用的选择没有造成问题。
另外,失败业务的计数器的使用具有以下优点:避免了在业务偶然失败(例如通信的干扰)的情况下切换到更低模式。阈值的值最少是2,优选地最多是10,例如是3或4。
计数器f是非易失性存储器中的计数器,使得其能够被保持在两个业务之间。然而,其应当例如在业务成功时被重置。
另外,卡的sak值在给定时间之后或者在业务成功时或者在两个事件中的第一事件时被重置为其原始或本身值(多应用)。卡的sak值存储在非易失性存储器中。以上实施例的实现需要使用第二场来存储业务的sak值。例如,sak业务值存储在易失性存储器寄存器中。因此,这一寄存器针对每个业务被自动重置并且使本身值在每个业务的开始时被传送至其。
卡的本身sak值(框42)和其切换至的值(框46)取决于其mifare安全水平和卡类型(特别地取决于其存储器的大小)。因此,emv和mifareclassic卡对于2k(2千字节)的卡取sak值0x28和0x08,而对于4k卡取sak值0x38和0x18。emv和mifareclassic+卡对于2k卡取sak值0x30和0x10,而对于4k卡取sak值0x31和0x11。
以上描述的实施例在卡侧实现并且对于读卡器是透明的(其不需要读卡器侧的修改)。卡因此被形成(编程)并且因此与现有的读卡器兼容。
已经描述了各种实施例。本领域技术人员将想到各种备选和修改。特别地,虽然关于微电路卡来描述实施例,然而它们与其中造成类似问题的任何接近通信设备(例如配备有在卡模式下操作的nfc路由器的手机)中的实现兼容。另外,虽然关于到mifare和emv银行业务的应用的示例具体地描述实施例,然而它们适用于其中造成类似问题的其他应用。另外,所描述的实施例的实际实现在本领域技术人员基于上文中给出的功能指示并且通常通过使用或通过编程电路本身的能力的范围内。特别地,这些实施例适用于其的非接触集成电路通常包括至少一个微处理器、一个或多个易失性和非易失性存储器单元、接近通信接口以及根据托管的应用的其他电路。
这样的备选、修改和改进旨在作为本公开的一部分,并且旨在落入本发明的精神和范围内。因此,以上描述仅是示例,而非意图限制。本发明仅如以下权利要求及其等同方案中定义地被限制。