通过无线电阅读器来验证无线电标签的方法

文档序号:6594202阅读:222来源:国知局
专利名称:通过无线电阅读器来验证无线电标签的方法
技术领域
本发明涉及一种用于通过射频标识阅读器(reader)来验证射频标识标签的技 术。具体地,本发明可有利地应用于射频标识或“RFID”的领域。
背景技术
射频标识是用于通过使用被称为射频标识标签(或“RFID标签”)的标志来远程 地存储和恢复数据的技术。射频标识标签是诸如自附着标记(self-adhesive label)之类 的小物体,其可被胶合到物体或产品、或者被合并在物体或产品中。它包括与电子芯片相关 联的天线,该电子芯片使得它能够接收从称为阅读器的发射机-接收机发送的射频请求并 对该射频请求作出响应。射频标识标签例如在标签被合并到护照、交通工具票或支付卡中 时用于标识人、或如利用条形码来标识产品。传统上,阅读器在无线电信道上发送具体的询问信号,标签对该询问信号作出响 应。来自标签的一个可能响应是这个标签的数字标识。然后,阅读器可查找数据库以标识 或检查对标签的访问。为了保护私生活的目的,特别是为了保护持有射频标识标签的人的 私生活的目的,通常期望阅读器的射频标识标签验证协议具有三个属性-所述协议必须匿名的,也就是说,必须使恶意对手(adversary)不可能标识在验 证中使用的标签。-所述标签必须是不可追踪的,也就是说,必须不可能关联同一标签的两个不同验 证,以及-如果恶意对手通过无论什么的任何方法(通过所谓的“反向工程”方法、通过对 卡的物理攻击等)获得标签的标识符,则必须不可能识别该标签的先前验证。这个最后的 属性被称为“前向私密”属性。当这样的协议用于标识人时,将理解,这三个属性有助于使得私生活能够得到尊重。Ohkubo, Suzuki和Kinoshita已经提出了被称为“0SK”协议的协议,其提供了这 三个安全属性。所述协议可描述如下标签具有唯一标识符(表示为ID),并且适合于读取 标签的阅读器有权访问包含所有标签标识符的数据库。在接收到阅读器所发送的验证请求 时,标签通过发送根据第一散列(hash)函数(例如,“SHA-256”(代表“安全散列算法”)) 计算的其标识符的散列来进行响应。我们将把这个散列表示为H1 (ID)。然后,标签通过使用不同于第一函数的第二散列函数H2计算其标识符的第二散列 (表示SH2(ID))来更新其标识符ID。于是,所述新的标识符ID是H2 (ID)。当接收到标识符的第一散列H1 (ID)时,阅读器通过使用第一散列函数来计算数据 库中的标识符的散列。如果它发现等于!!^^))的值,则阅读器接受标签的验证,并以与所 述标签相同的方式(即,通过计算吐(10))来更新标识符ID。如果阅读器没有在标识符的 数据库中找到任何等于&(ID)的值,则阅读器通过使用第二散列函数H2来计算所有标识符的散列,并然后它利用新计算的标识符来重复所述操作,直到验证成功为止。利用这个协议,发现了 -在标签和阅读器之间循环的是通过向标识符施加散列函数而获得的值。这里表 示为H的散列函数具有如下属性对于通过散列函数来获知图像H(X)中的任何X,于是很 难计算y以使得H(X) =H(y)0依靠这个属性,遵从了标签的匿名性。恢复标识符的散列的 恶意对手不能先验地重新得到标识符;-标签响应于验证请求所发送的每个消息对应于不同的标识符,这是因为在两次 验证之间更新标签的标识符。因此,遵守了不可追踪性的属性;以及-由于在两次验证请求之间更新标签的标识符、并且散列函数被认为是不可逆的, 于是要恢复标签标识符的恶意对手将不能把先前的验证与这个标签标识符相关联。这样, 遵守了所谓的“前向保密”的属性。然而,这个验证协议具有几个弱点。实践中,由于标签在来自阅读器的每次验证请 求之后更新其标识符,所以将向标签进行m次连续验证请求的对手将激起标签对其标识符 的m次更新、以及标签与阅读器之间的显著同步丢失。这样,在阅读器所请求的实际验证 中,阅读器在找到与当前正被验证的标签对应的标识符之前、将把标识符数据库中的所有 标识符更新m次。所述m次更新对应于阅读器与标签的重新同步。这样的拒绝服务类型的 攻击具有减慢这样的射频标识系统、乃至使其饱和以最终阻止其它验证的企图。当由射频标识系统生成的标签的数目高时,于是标签的验证在时间和资源上变得 昂贵。易于进行的这个攻击示例使得射频标识系统中的验证协议失效。在例如其中这样的 系统位于公共交通工具中、以使得订户能够当通过呈现他们的包含射频标识标签的预订卡 而在用回转门(turnstile)所实施的访问终端处得到验证之后、访问所述交通工具的情况 下,如果这些订户在已经呈现他们的预订卡之后、不得不等待几秒钟来使回转门打开(特 别是在高峰时间),则这些订户的不满可想而知。因此,需要一种射频标识系统中的验证协议,其对趋向于致使射频标识系统失效 的服务拒绝类型的攻击不敏感。

发明内容
本发明通过提出一种用于通过射频标识阅读器来验证射频标识标签的方法来解 决这个需要,所述标签具有阅读器可经由标签标识符的数据库来访问的标识符,该方法包 括-由阅读器向标签发送验证请求,-由标签发送通过向至少所述标识符施加第一函数而计算的响应,-由标签且由阅读器通过向所述标识符施加第二函数来计算新标识符,其特征在于,所述方法包括-如果标签所发送的响应对应于通过向所述库中的标识符施加所述第一函数而 获得的结果,则由阅读器发送通过向来自所述库的所述标识符施加第三函数而计算的第一 值,-如果所发送的第一值对应于通过向所述标签标识符施加第三函数而获得的值, 则在所述标签中用由标签计算的所述新标识符来替换所述标识符,
-向阅读器发送通过施加第四函数到由标签计算的所述新标识符而获得的第二 值,-如果所发送的第二值对应于通过向由阅读器计算的所述新标识符施加第四函数 而获得的值,则在所述数据库中用所述新标识符来替换所述标签标识符。利用根据本发明的方法,所述标签和所述阅读器仅仅在特定条件下更新标签标识 符。对于标签,仅仅在已经从阅读器接收到阅读器知道标签标识符的证明之后进行标 识符的更新。这样,标签确信已经与可信的阅读器进行交互。对于阅读器,仅仅在已经从标 签接收到证实了标签已经更新其标识符的消息并已经检查该消息之后,进行在标识符的数 据库中的标签标识符的更新。因此,标签(分别地,阅读器)确信与可信的阅读器(分别地,标签)进行交易。标签向阅读器发送的用于证实它已经更新其标识符的消息保留过多的失步 (desynchronization),这是因为在标签更新其标识符之后发送的这个消息触发了阅读器 对数据库中的标签标识符的更新。不可能过度地使标签和数据库失步。实践中,在对手发送m次验证请求到标签的 情况下(其中该对手不能够提供标签所期望的消息),标签不像它根据现有技术的传统协 议将进行的那样将它的标识符更新m次。这样,在实际的验证中,阅读器在重新得到标签的 标识符之前不必须将数据库中的标识符更新m次。当阅读器管理大量的标识符时,多次更 新显著地减慢标签的验证。这样,根据本发明的方法对来自对手的服务拒绝类型的攻击不 敏感,所述类型的攻击趋向于减慢阅读器、乃至使阅读器饱和以阻止其它验证。根据本发明的方法还具有期望的安全属性-所述验证方法是匿名的在标签和阅读器之间循环的标识符处于散列形式中, 其通过向标识符施加一个或多个散列函数而获得。由于散列函数难以逆转,所以恢复标识 符的散列的恶意对手不能标识在验证中使用的标签;-标签不能被追踪在使用所述协议的一般情况下,由于标签响应于验证请求所 发送的每个消息对应于不同的标识符(这是因为在两次验证之间更新标签的标识符),所 以标签的两次连续验证不能被关联在一起;以及-如果对手获得标签的标识符,则他不能识别标签的先前验证。实践中,在两次连 续的验证之间更新标识符。此外,难以逆转的散列函数的使用不允许先前验证与这个标签 标识符相关联。这个属性是所谓的“前向保密”属性。此外,所述验证方法在标签级别保持轻便,这是因为它仅需要四个散列计算。在本发明的一个实施例中,所述方法包括,如果由标签发送的响应不对应于通过 施加所述第一函数到所述库中的每个标签标识符而获得的任何结果,则-在所述库中的、连续向其施加第二函数及然后的第一函数的标识符之中搜索标 签所发送的响应,-如果由标签发送的响应对应于通过向来自所述库的标签标识符施加第二函数及 然后的第一函数而获得的结果,则在所述库中通过向所述标识符施加第二函数来更新所述 标识符。利用根据本发明的方法,对手不可能多于一次地使标签与阅读器所访问的数据库失步。实践中,由于标签仅仅在已经从阅读器接收到第一值H3(ID)之后才更新其标识符, 所以在标签更新标识符之后并且在标签发送第二值H4Ol2(ID))到阅读器之前、可通过中断 所述协议来产生失步。在这个情况下,阅读器不更新所述库并且不用新的标识符吐(ID)来 替换标签标识符。因此,使标签和阅读器失步一次,这是因为新的标签标识符是H2 (ID)、而 数据库仍旧具有ID作为标签标识符。然而,不可能使标签和数据库再一次失步。实践中,在其中对手发送新的验证请求到标签的情况下,于是,由于对手不能产生 并发送第一值H3(ID)到标签(这是因为该对手不知道标签的标识符),所以标签将不更新 它的标识符。在其中响应于验证请求而向阅读器发送随机元素的第二情况下,为了使阅读器在 标识符的数据库中不确定地搜索标识符,阅读器在所述库中搜索通过施加第一散列函数而 获得的随机元素的散列。如果它没有找到该散列,则它通过向所述库中的每个标识符施加 第二散列函数及然后的第一散列函数来在所述库中搜索它。如果它没有找到所述散列,则 阅读器不再执行任何搜索,并且所述验证失败。在失败的这个情况下,它必然是不可靠的标 签或伪标签。在任一情况下,无论是在标签级别还是在数据库级别,都不更新标识符。然而,当使标签和阅读器失步一次(这是因为标签已经更新它的标识符但是数据 库还没有更新)、并且阅读器发送验证请求以引起标签的注意时,于是存在标签与标识符的 数据库的重新同步。实践中,从标签接收到对验证请求的响应的阅读器将当它在标识符的 数据库中的第二搜索时(也就是说,在它通过向所述库中的每个标识符施加第二散列函数 及然后的第一散列函数而执行的搜索期间)在所述库中发现这个响应。在发现所述响应的 情况下,于是更新所述库中的标签标识符,并且继续验证协议。这样,通过这个有效的验证 请求来重新同步标签和数据库。在根据本发明的方法的具体实施例中-所述验证请求包括由阅读器生成的第一随机值(randomvaluel),并且-所述响应包括由标签生成的第二随机值(randomvalud)、以及通过向包括标签 的标识符、从阅读器接收的第一随机值(randomvaluel)和第二随机值(randomvalud)的 数据施加第一函数而获得的散列。在消息中使用随机值加强了验证方法的安全性。由阅读器发送第一随机值 randomvaluel使得可能避免重放标签与阅读器之间的失步。由标签生成的第二随机值 randomvalue2确保几个连续验证之间的不可追踪性,特别是在以下攻击的情况下,在该攻 击期间、当在标签和阅读器之间循环的特定消息被拦截的情况下、标签将不更新标签标识 符。本发明还涉及一种射频标识标签,其适合于通过射频标识阅读器来验证,所述标 签具有标识符,并且包括-接收部件,被安排为从阅读器接收验证请求和第一值,-发送部件,被安排为向阅读器发送对所述验证请求的响应和第二值,-用于计算所述响应的部件,被安排为通过向至少所述标识符施加第一函数来计 算所述响应,-用于计算新标识符的部件,被安排为通过向所述标识符施加第二函数来计算所 述新标识符,
-用于计算所述第二值的部件,被安排为通过向所述新标识符施加第四函数来计 算所述第二值,-用于计算第三值的部件,被安排为通过向所述标识符施加第三函数来计算所述
第三值,-用于替换标识符的部件,被安排为用所述新标识符来替换标签中的所述标识符, 以及-比较部件,被安排为比较所接收的第一值和所计算的第三值,并且如果存在匹 配,则激活所述用于替换标识符的部件。本发明还涉及一种射频标识阅读器,其适合于验证由标识符所标识的至少一个射 频标识标签,阅读器可通过用于访问标签标识符的数据库的部件来访问所述标识符,所述 阅读器包括-发送部件,被安排为向标签发送验证请求和第一值,-接收部件,被安排为从标签接收对所述验证请求的响应和第二值,-计算部件,被安排为进行如下计算·通过向与所述标签有关的来自数据库的标识符施加第二函数来计算所述标签的 新标识符,·通过向与所述标签有关的来自所述库的所述标识符施加第三函数来计算第一 值,·通过向所述新标识符施加第四函数来计算第三值,-用于搜索数据库中与标签有关的标识符的部件,被安排为确定由所述标签发送 的响应是否对应于通过向来自所述库的标识符施加第一函数而获得的结果,所述发送部件 被安排为在肯定搜索的情况下、发送通过向与所述标签有关的来自所述库的所述标识符施 加第三函数来计算的第一值,-替换部件,被安排为在所述数据库中用所述新标识符来替换与所述标签有关的 所述标识符,-比较部件,被安排为比较从标签接收的第二值和所述第三值,所述比较部件被安 排为在第二值与第三值匹配的情况下、激活所述替换部件。在根据本发明的阅读器的具体实施例中-所述计算部件还被安排为向来自所述库的标签标识符接连地施加第二函数及然 后的第一函数,-所述用于搜索数据库中与标签有关的标识符的部件还适合于,在标签所发送的 响应不对应于通过向所述库中的标签标识符的每一个施加所述第一函数而获得的任何结 果的情况下,在由所述计算部件接连地向其施加第二函数及然后的第一函数的所述库中的 标识符之中搜索由标签发送的响应,-所述替换部件还适合于,在标签所发送的响应对应于通过向来自所述库的标签 标识符施加第二函数及然后的第一函数而获得的结果的情况下,通过向所述标识符施加第 二函数来更新所述库中的标识符。本发明还涉及一种射频验证系统,包括-根据本发明的射频标识阅读器,和
-至少一个根据本发明的射频标识标签。本发明还涉及一种意图安装在射频标识阅读器的存储器中的计算机程序,包括当 由处理器执行所述程序时、用于实现根据本发明的由阅读器执行的用于验证射频标识标签 的方法的步骤的指令。本发明还涉及一种数据介质,在其上存储了根据本发明的计算机程序。


在阅读了作为非限制性示例给出的、参考附图进行的具体实施例的描述时,本发 明的众多细节和优点将被更好地理解,并且在附图中-图1描绘了根据本发明具体实施例的用于通过射频标识阅读器来验证射频标识 标签的方法的步骤;-图2描绘了根据本发明的射频标识标签的第一示范实施例;-图3描绘了被安排为验证图2中描绘的射频标识标签的射频标识阅读器的第一 示范实施例。
具体实施例方式现在,将结合图1描述通过射频标识阅读器来验证射频标识标签的方法的步骤。射频标识阅读器30被安排为验证在阅读器30有权访问的标签标识符数据库(未 描绘)中参考的一组射频标识标签。在阅读器30有权访问的标识符数据库中参考提供有 唯一标识符ID的射频标识标签20。如果验证成功,则使用通过向标签20的标识符ID施加后面将说明的、表示为吐的 散列函数而获得的新标识符,来一方面在标签中、并且另一方面在数据库30中更新标签20 的标识符ID。这样的更新可比照通过根据现有技术的射频标识标签验证协议(例如,“0SK” 协议)所执行的更新。在初始步骤ElO中,阅读器30在消息mlO中发送验证请求。在接收到验证请求mlO之后,在用于计算并发送响应的步骤Ell中,标签20计算 其标识符的散列H1(ID),并发送包括这个标识符散列H1 (ID)的响应mil。散列H1 (ID)是通 过向其标识符ID施加已知的第一散列函数H1来计算的。例如,标签20使用SHA-256 (SHA 代表“安全散列算法”)作为该散列函数。在搜索步骤E12中,阅读器30借助于第一散列函数H1来计算在标签标识符的数 据库中的每个标识符的散列,并比较所获得的散列和所接收的响应mil。如果所获得的散列 与在响应mil中从标签接收的所述散列H1 (ID)匹配,则这意味着阅读器30已经找到数据 库中的标签20的标识符。如果在步骤E12中执行的搜索是肯定的(图1中的“是”分支),则在步骤E13中, 阅读器30通过向标签的标识符ID施加第三散列函数H3来计算第一值H3(ID),并发送包含 这个所计算的第一值H3(ID)的消息ml2。消息ml2是证实阅读器30知道标识符ID的证 明。因此,它使得标签20能够检查从阅读器30接收的验证请求的真实性、并从而验证阅读 器30的可信性(honesty)。在检查步骤E14中,标签通过向其标识符ID施加第三散列函数来计算检查值,并比较所计算的检查值和在消息ml2中接收的第一值。如果存在匹配,则标签20已经证明阅 读器30知道其标识符ID。这样,它确信与可信的阅读器30进行交互。实践中,无法先验地 知道标签20的标识符的不可信阅读器不能发送包含根据这个标识符而计算的值的消息。在跟随在步骤E14中执行的肯定检查(图1中的“是”分支)之后的步骤E15中, 标签20计算其标识符的更新。为此目的,标签将第二散列函数吐施加到其标识符ID以获 得新的标识符吐(ID)。优选地,第二散列函数吐不同于第一散列函数氏。在步骤E16中,标签在未描绘的存储器中用新标识符吐(ID)来替换其标识符ID。在本发明的变体实施例中,在同一步骤中进行新标识符的计算和在标签20的存 储器中用新标识符来对所述标识符ID的替换。这样,没有新标识符吐(ID)的临时存储,这 可有利于具有减少的存储器容量的标签。在步骤E17中,标签20发送包含第二值的消息ml3,该第二值通过向在步骤E15中 计算的新标识符吐(皿)施加第四散列函数H4来计算。由标签20来发送消息ml3,以便向 阅读器30证实标签20已经执行其标识符ID的更新。由于消息ml3取决于标签20的标识 符ID,因此对手不能够发送这样的消息。因此,接收到消息ml3的阅读器30确信这个消息 的确源自处于验证处理中的标签。在步骤E18中,阅读器通过向标识符ID施加第二散列函数吐来计算标签的新标 识符。在检查步骤E19中,阅读器通过向在步骤E18中计算的新标识符H2(ID)施加第四 散列函数来计算检查值,并且比较所计算的检查值和在消息ml3中接收的第二值。如果它 们匹配,则阅读器30确信标签20已经执行其标识符ID的更新。在跟随在步骤E19中执行的肯定检查(图1中的“是”分支)之后的步骤E20中, 阅读器30通过在标识符的数据库中用在步骤E18中计算的新标识符吐(ID)来替换标签20 的标识符ID来更新标签20的标识符。在本发明的未描绘的具体实施例中,其中,在步骤E12中,在标签标识符的数据库 中没有找到从标签接收的响应H1 (ID),于是阅读器30比较所接收的响应H1 (ID)、和通过接 连地施加第二散列函数吐及然后的第一散列函数H1而为标签标识符的数据库中的每个标 识符所计算的第二散列。如果找到所接收的响应,则阅读器在所述库中通过向所述标识符 施加第二散列函数来更新标识符ID。将注意到,在标识符的数据库中仅更新标签20的标识 符。所述方法然后以步骤E13而继续,标签20的标识符ID于是为更新后的标识符。在本发明的这个实施例中,如果阅读器没有找到所接收的响应,则停止该验证方 法。没有提供要对所述响应进行的、在将已经被两次施加第二散列函数及然后的第一散列 函数的库中的标识符之中的新搜索。这样的搜索在实践中是无意义的,这是因为利用本发 明方法不可能使标签与阅读器多于一次访问的数据库失步。用于计算各个散列的散列函数H1、H2、H3和H4例如是取自SHA-256、SHA-384、 SHA-512的函数。在本发明的具体实施例中,可能仅使用一个散列函数(这里,表示为H)并且例如 可能-通过在对常数(例如1)与标签的标识符ID进行级联(concatenation)(表示为 H1(I) |ID))的情况下施加散列函数H来计算H1(ID),
-通过在对第二常数(例如2)与标签的标识符ID进行级联(表示为H2OIIlD)) 的情况下施加散列函数H来计算H2 (ID),-通过在对第三常数(例如3)与标签的标识符ID进行级联(表示为氏(3||ID)) 的情况下施加散列函数H来计算H3 (ID),-通过在对第四常数(例如4)与标签的标识符ID进行级联(表示为HJ4||ID)) 的情况下施加散列函数H来计算H4 (ID)。这样,对于同一参数(在这个情况下为标签的标识符ID),根据相同散列函数H而 获得了四个不同的散列。这个实施例在具有受限存储器容量的标签的情况下是有利的。实 践中,这个实施例仅需要单个散列函数。在没有描绘的本发明的替换实施例中,由阅读器30向标签20发送的验证请 求mlO还包括由阅读器生成的第一随机值randomvaluel。在用于计算并发送响应的步 骤Ell中,标签使用散列函数H1来计算通过对标签的标识符ID、从阅读器接收的随机值 randomvaluel和由标签生成的第二随机值randomvalud进行级联而获得的数据的散列。 所述级联表示为Hl (ID| randomvaluel | randomvaluel。由标签发送的响应mil包括所获 得的散列和第二随机值randomvalud。由阅读器发送第一随机值randomvaluel使得可能避免当在标签和阅读器之间存 在失步时的重放。实践中,如果对手想要观察乃至拦截在阅读器和标签之间流动的消息 (例如,来自标签的响应mil),则它可初始地拦截由标签向阅读器发送的消息ml3,以便证 实标识符已经被标签更新。消息ml3的拦截激起了标签与标识符的数据库之间的失步,这 是因为虽然标签已经用新的标识符来替换了它的标识符、但是还没有接收到消息ml3的阅 读器还没有用标识符的数据库中的新标识符来替换标签的标识符ID。于是,对手可在由阅 读器发送的新验证请求之后返回它在先前的交换中已经观察到的响应mil,然后返回它已 经拦截的消息ml3。这样,尽管是对手用先前发送的消息对来自阅读器的验证请求作出响 应,但是阅读器相信它已经验证了有效的标签。对手掌控的事实上的错误标签可能被阅读 器有效地验证。阅读器发送的随机值randomvaluel避免了这类攻击,这是因为标签在来自 阅读器的验证请求之后返回包含取决于随机值randomvaluel的散列的响应mil。不知道标 签的标识符的对手不能产生这样的响应。由标签生成的第二随机值randomvalud确保了几个连续验证之间的不可追踪 性。实践中,让我们假设在第一验证期间,消息ml2没有到达标签(阅读器没有发送消息, 或者标签没有接收到消息)。在这个情况下,标签不计算其新标识符,并且不用新的标识符 来替换它的标识符。然后,在阅读器对标签的新验证期间,在阅读器发送验证请求之后,标 签返回与在第一验证期间发送的响应不同的响应mil,尽管标签的标识符在两次验证之间 还没有改变。实践中,在每次验证时,由标签生成的随机值randomvalud不同。这样,的确 保证了连续验证之间的不可追踪性属性,因为不可能将同一标签的两次验证关联在一起。现在,将结合图2描述根据本发明的射频标识标签。根据本发明的标签20适合于 在符合先前描述的根据本发明的方法的步骤的验证序列期间、与射频标识阅读器(图2中 未描绘)对话。在这里描述的具体示例中,标签20是在阅读器进行的询问中从阅读器接收其能 量的无源装置。标签20具有唯一标识符ID,并且通常包括
-发送和接收部件,包括天线210,适合于从阅读器进行接收并向阅读器进行发 送。所述接收部件适合于从阅读器接收验证请求和第一值(H3(ID))。所述发送部件适合于 向阅读器发送响应和第二值(H4(H2 (ID)));-硅芯片220,包括多个适合于形成不可编程布线逻辑的逻辑门的多个晶体管。所 述布线逻辑定义了-计算响应(H1(ID))的部件230,被安排为将第一函数(H1)施加到至少所述标识 符,-计算新标识符的部件M0,被安排为通过向所述标识符施加第二散列函数H2来 计算新标识符吐(ID),-计算第二值的部件250,被安排为通过向所述新标识符吐(11))施加第四散列函 数H4来计算第二值,-计算第三值的部件沈0,被安排为通过向所述标识符施加第三函数H3来计算所
述第三值,-替换标识符的部件270,被安排为用所述新标识符吐(ID)来替换标签中的所述 标识符,-比较部件观0,被安排为比较从阅读器接收的第一值H3(ID)和第三值,所述比较 部件在第一值等于第三值的情况下激活替换标识符的部件270。在本发明的具体实施例(其中从阅读器接收的验证请求包括随机值 randomvaluel,并且由标签返回的响应包括第二随机值randomvalue2)中,所述标签还包 括被安排为生成随机值的随机值生成器(未描绘)。在本发明的这个具体实施例中,接收部件210被安排为还从阅读器接收第一随机 值randomvaluel。计算响应的部件230还被安排为与随机值生成器协作,并向包括标签的 标识符ID、第一随机值randomvaluel和由随机值生成器生成的第二随机值randomvalud 的数据施加第一散列函数Hi。例如,所述数据是这三个值的级联。现在,将结合图3描述根据本发明的射频标识阅读器。射频标识阅读器30是发送射频的有源装置,其通过向接近于它而通过的标签供 给该标签所需要的能量来激活该标签(图3中未描绘)。根据本发明的阅读器30适合于在 符合先前描述的根据本发明的方法的步骤的验证序列期间与标签对话。所述阅读器30包括多个模块-处理模块310,或“CPU”(中央处理单元),-一组存储器,包括易失性存储器315、或“RAM” (随机存取存储器),用于执行代 码指令、存储变量等,-天线325,适合于经由无线电信道来进行发送和接收,-传送模块335,被安排为发送请求到标签。所述传送模块335使用天线325来进 行发送,并且当与天线325耦接时,它构成阅读器30的传送部件。具体地,所述传送部件被 安排为向标签发送验证请求和第一值H3 (ID),-接收模块330,被安排为从标签接收对由传送部件325、335传送的请求的响应。 所述接收模块330使用天线325来进行接收,并当与所述天线325耦接时,它构成阅读器30 的接收部件。具体地,所述接收部件被安排为从标签接收响应H1 (ID)和第二值扎012(10)),
-模块320,用于访问在阅读器外部的标签标识符的数据库(未描绘),-计算模块340,被安排为通过向标识符施加第二散列函数吐来计算标签的新标 识符,通过向所述标识符施加第三散列函数H3来计算第一值(H3(ID)),通过向新标识符 (H2(ID))施加第四函数H4来计算第三值,-搜索模块345,被安排为通过向标识符的数据库中的标识符施加第一函数来在 所述库中搜索从标签接收的响应H1 (ID),在所述搜索部件找到所述响应的情况下,所述发 送部件335、325发送通过向所述标识符施加第三函数H3而计算的第三值H3 (ID),-用于替换标识符的模块350,被安排为在标识符的数据库中用新标识符来替换 标签的标识符,-比较模块355,被安排为比较从标签接收的第二值H4(H2(ID))和第三值,所述比 较部件在所述第二值等于所述第三值的情况下、激活用于替换标识符的模块350。所述模块经由通信总线来进行通信。模块320、330、335、340、345、350、355被安排为实现先前描述的通过射频标识阅 读器来验证RFID标签的方法的步骤。它们优选地为包括用于执行标签验证方法的步骤的 软件指令的软件模块。本发明因此还涉及-计算机程序,包括当由处理器执行这个程序时、用于实现如先前描述的验证标签 的方法的指令;-存储介质,可由阅读器读取,在其上存储了上述的计算机程序。所述软件模块可存储在数据介质中,或通过数据介质来传送。所述数据介质可以 是硬件存储介质(例如,CD-ROM、磁盘或硬盘)、乃至传送介质(诸如,信号、或电信网络)。在其中由标签返回的响应H1 (ID)不对应于通过向所述库中的每个标签标识符施 加所述第一函数而获得的任何结果的、本发明的具体实施例中,在所述库中的、连续向其施 加了第二函数及然后的第一散列函数的标识符之中执行对所发送的响应的搜索。在其中由 标签发送的响SH1(ID)对应于通过向所述库中的标签标识符施加第二函数、然后的第一函 数而获得的结果H1 Ol2(ID))的情况下,通过向所述标识符施加第二函数(H2)来在所述库中 更新标签的标识符ID,标签20的标识符ID于是为更新后的标识符。在这个具体实 施例中-计算部件340还被安排为向所述库中的标签标识符接连地施加第二函数吐及然 后的第一函数H1,-用于搜索数据库中的与标签有关的标识符的部件345还适合于在其中由标签 发送的响应H1 (ID)不对应于通过向所述库中的每个标签标识符施加所述第一函数而获得 的任何结果的情况下,在数据库中的、由计算部件340向其接连施加第二函数H2及然后的 第一函数H1的标识符之中搜索由标签发送的响应,-替换部件350,还被安排为在其中由标签发送的响应H1(ID)对应于通过向所述 库中的标签标识符施加第二函数及然后的第一函数而获得的结果H1 Ol2(ID))的情况下,通 过向所述标识符施加第二散列函数吐来在所述库中更新标识符ID。在本发明的另一具体实施例(其中由阅读器发送的验证请求包括随机值 randomvaluel,并且从标签接收的响应包括第二随机值randomvalud)中,所述阅读器还包括-随机值生成器(未描绘),被安排为生成随机值。在本发明的这个实施例中-传送部件325、335被安排为与随机值生成器协作,以在验证请求时向标签发送 第一随机值 randomvaluel,-接收部件325、330被安排为还从标签接收第二随机值randomvalud,-计算部件340还被安排为将第一散列函数Hl施加到包括来自所述库的标识符、 第一随机值randomvaluel、和从标签接收的第二随机值randomvalue〗的数据。例如,所述 数据是这三个值的级联。在未详述的本发明的具体实施例中,标签20是有源装置。所述标签20于是配备 有使得它能够发送信号的电池。这样,所述标签20和阅读器30可在比其中标签20是从阅 读器接收其能量的无源装置的情况下的距离更大的距离上进行交互。在未详述的本发明的另一实施例中,标签20具有可比照芯片卡的结构的结构,并 且包括密码微处理器、数据存储器和程序存储器。
权利要求
1.一种用于通过射频标识阅读器(30)来验证射频标识标签00)的方法,所述标签具 有阅读器能够经由标签标识符的数据库来访问的标识符(ID),该方法包括-由阅读器向标签发送(ElO)验证请求,-由标签发送(Ell)通过向至少所述标识符施加第一函数而计算的响应(H1(ID)), -由标签且由阅读器通过向所述标识符施加第二函数来计算(E15、E18)新标识符 (H2(ID)),其特征在于,所述方法包括-如果标签所发送的响应(H1(ID))对应于通过向所述库中的标识符施加所述第一函数 而获得的结果,则由阅读器(30)发送(EU)通过向来自所述库的所述标识符施加第三函数 而计算的第一值(H3(ID)),-如果所发送的第一值(H3(ID))对应于通过向所述标签标识符施加第三函数(H3)而 获得的值,则在所述标签00)中用由标签计算的所述新标识符(H2(ID))来替换(E16)所 述标识符(ID),-向阅读器发送(E17)通过施加第四函数到由标签计算的所述新标识符Ol2(ID))而获 得的第二值(H4(H2(ID)))j-如果所发送的第二值(H4(H2(ID)))对应于通过向由阅读器计算的所述新标识符 (H2(ID))施加第四函数(H4)而获得的值,则在所述数据库中用所述新标识符来替换(E20) 所述标签标识符。
2.根据权利要求1的方法,包括如果由标签发送的响应(H1(ID))不对应于通过施加所 述第一函数到所述库中的每个标签标识符而获得的任何结果,则-在所述库中的、连续向其施加第二函数及然后的第一函数的标识符之中搜索标签所 发送的响应,-如果由标签发送的响应(H1(ID))对应于通过向来自所述库的标签标识符施加第二函 数及然后的第一函数而获得的结果,则在所述库中通过向所述标识符(ID)施加第二函数 (H2)来更新所述标识符。
3.根据权利要求1的方法,其中-所述验证请求包括由阅读器生成的第一随机值(randomvaluel),并且 -所述响应包括由标签生成的第二随机值(randomvalud)、以及通过向包括标签的标 识符、从阅读器接收的第一随机值(randomvaluel)和第二随机值(randomvalud)的数据 施加第一函数而获得的散列。
4.一种射频标识标签,其适合于通过射频标识阅读器来验证,所述标签具有标识符 (ID),并且包括-接收部件010),被安排为从阅读器接收验证请求和第一值(H3(ID)), -发送部件010),被安排为向阅读器发送对所述验证请求的响应和第二值 (H4(H2(ID)))j-用于计算所述响应(H1(ID))的部件030),被安排为通过向至少所述标识符施加第 一函数(Hl)来计算所述响应,-用于计算新标识符的部件040),被安排为通过向所述标识符施加第二函数(H2)来 计算所述新标识符Ol2(ID)),-用于计算所述第二值的部件050),被安排为通过向所述新标识符Ol2(ID))施加第 四函数(H4)来计算所述第二值,-用于计算第三值的部件060),被安排为通过向所述标识符施加第三函数(H3)来计 算所述第三值,-用于替换标识符的部件070),被安排为用所述新标识符Ol2(ID))来替换标签中的 所述标识符,以及-比较部件080),被安排为比较所接收的第一值(H3(ID))和所计算的第三值,并且如 果存在匹配,则激活所述用于替换标识符的部件。
5.一种射频标识阅读器,其适合于验证由标识符(ID)所标识的至少一个射频标识标 签,阅读器能够通过用于访问标签标识符的数据库的部件来访问所述标识符(ID),所述阅 读器包括-发送部件(325、335),被安排为向标签发送验证请求和第一值(H3(ID)), -接收部件(325、330),被安排为从标签接收对所述验证请求的响应(H1(ID))和第二 值(H4(H2(ID)))j-计算部件(340),被安排为进行如下计算 通过向与所述标签有关的来自数据库的标识符施加第二函数(H2)来计算所述标签的 新标识符(H2(ID)), 通过向与所述标签有关的来自所述库的所述标识符施加第三函数来计算第一值 (H3(ID)), 通过向所述新标识符Ol2(ID))施加第四函数(H4)来计算第三值, -用于搜索数据库中与标签有关的标识符的部件(345),被安排为确定由所述标签发 送的响应(H1(ID))是否对应于通过向来自所述库的标识符施加第一函数而获得的结果,所 述发送部件被安排为在肯定搜索的情况下、发送通过向与所述标签有关的来自所述库的所 述标识符施加第三函数(H3)来计算的第一值(H3(ID)),-替换部件(350),被安排为在所述数据库中用所述新标识符来替换与所述标签有关 的所述标识符,-比较部件(355),被安排为比较从标签接收的第二值(H4Ol2(ID)))和所述第三值,所 述比较部件被安排为在第二值与第三值匹配的情况下、激活所述替换部件。
6.根据权利要求5的射频标识阅读器,其中-所述计算部件(340)还被安排为向来自所述库的标签标识符接连地施加第二函数 (H2)及然后的第一函数(H1),-所述用于搜索数据库中与标签有关的标识符的部件(34 还适合于,在标签所发送 的响应(H1(ID))不对应于通过向所述库中的标签标识符的每一个施加所述第一函数而获 得的任何结果的情况下,在由所述计算部件(340)接连地向其施加第二函数(H2)及然后的 第一函数(H1)的所述库中的标识符之中搜索由标签发送的响应,-所述替换部件(350)还适合于,在标签所发送的响应(H1(ID))对应于通过向来自所 述库的标签标识符施加第二函数及然后的第一函数而获得的结果(H1Ol2(ID)))的情况下, 通过向所述标识符施加第二函数(H2)来更新所述库中的标识符(ID)。
7.一种射频验证系统,包括-根据权利要求5的射频标识阅读器,和 -至少一个根据权利要求4的射频标识标签。
8.一种意图安装在射频标识阅读器的存储器中的计算机程序,包括当由处理器执行所 述程序时、用于实现根据权利要求1到3之一的由阅读器执行的用于验证射频标识标签的 方法的步骤的指令。
9.一种数据介质,在其上存储了根据权利要求8的计算机程序。
全文摘要
本发明涉及一种用于通过无线电阅读器(30)来验证无线电标签(20)的方法,所述标签拥有阅读器能够经由标签标识符的数据库来访问的标识符(ID),该方法包括由阅读器向标签分派(E10)验证请求,由标签分派(E11)通过向至少所述标识符施加第一函数而计算的响应(H1(ID)),由标签且由阅读器通过向所述标识符施加第二函数来计算(E15、E18)新标识符(H2(ID)),其特征在于,所述方法包括如果标签所分派的响应(H1(ID))对应于通过向所述库的标识符施加所述第一函数而获得的结果,则由阅读器(30)分派(E13)通过向所述库的所述标识符施加第三函数而计算的第一值(H3(ID)),如果所分派的第一值(H3(ID))对应于通过向标签的所述标识符施加第三函数(H3)而获得的值,则在所述标签(20)中用由标签计算的所述新标识符(H2(ID))来替换(E16)所述标识符(ID),向阅读器分派(E17)通过施加第四函数到由标签计算的所述新标识符(H2(ID))而获得的第二值(H4(H2(ID))),如果所分派的第二值(H4(H2(ID)))对应于通过向由阅读器计算的所述新标识符(H2(ID))施加第四函数(H4)而获得的值,则在所述数据库中用所述新标识符来替换(E20)所述标签的所述标识符。
文档编号G06K19/077GK102090017SQ200980126737
公开日2011年6月8日 申请日期2009年5月5日 优先权日2008年5月9日
发明者伊文·科伊塞尔, 塞巴斯蒂安·卡纳德 申请人:法国电信公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1