测量应答器的响应时间的断开及其认证的制作方法

文档序号:7943004阅读:247来源:国知局
专利名称:测量应答器的响应时间的断开及其认证的制作方法
技术领域
本发明涉及一种读取器,用于确定到应答器的连接的有效性,所述读取器被设计 为测量应答器的响应时间以及认证所述应答器。此外,本发明涉及一种应答器,用于确定 到读取器的连接的有效性,所述应答器被设计为向所述读取器提供用于响应时间测量的信 息,以及向所述读取器提供用于认证的信息。此外,本发明涉及一种用于读取器确定到应答 器的连接的有效性的方法,以及一种用于应答器确定到读取器的连接的有效性的方法。此 外,本发明涉及一种程序单元。此外,本发明还涉及一种计算机可读介质。
背景技术
当使用应答器(具体是智能卡和RFID标签)时,出现所谓“中继(relay)攻击问 题”。通常,非常靠近应答器的读取器读取应答器(近场通信)。中继攻击释放这个局部绑 定,用于犯罪行为。在示例中,人A处于酒吧中并已经将他的车停放在酒吧的前面。所述车配备有较 少进入特征的钥匙(这是说利用应答器访问车,具体是智能卡)。人B从A 口袋中的应答器 读取数据,并经由移动电话向车旁站着的人C发送数据。按照这个方式,C能够打开车而没 有给A获悉窃贼的机会。由于经由例如GSM的发送比近场通信占用更长的响应时间,当读取器读取应答器 时,能够测量响应时间的量度来检测这种中继攻击。如果响应时间超出预定的时间窗,则拒 绝访问。由于越来越快的发送手段,试图使该时间窗尽可能的小。然而,在认证期间需要时间用于加密/解密。由于认证的算法变得越来越复杂,存 在对于时间窗的物理限制。Hancke, G. P. , Kuhn, M. G. , "An RFID Distance Bounding Protocol", First International Conference on Security and Privacy for Emerging Areas in Communications Networks 2005,pp. 67-73,披露了诸如无接触智能卡的射频标识令牌,如 果其用于邻近认证,则容易收到中继攻击。攻击者能够在更远距离以外使用转发交换信号 的应答器来设法避免无线电信道的有限范围。加密的距离边界协议提供了可能对策,所述 协议精确地测量无线电信号的往返延迟。所述协议从信息传播不会快于光速的事实推导出 读取器和令牌之间的距离的上边界。披露了一种基于超宽带脉冲通信的距离边界协议。针 对在令牌中仅使用简单、异步、低功率硬件来实现,该方法具体适合用于无源低耗令牌、噪 声环境和高速应用。

发明内容
因此,本发明的目的是提供一种按照安全方式进行操作的读取器和\或应答器。通过根据独立权利要求的一种应答器、一种读取器、方法、一种程序单元和一种计 算机可读介质来实现本发明的目的。根据示例性实施例,提供一种读取器(其可以与应答器通信地相连),用于确定到应答器的连接的有效性(具体是可以与读取器通信地相连的授权应答器),其中在两个分 离的步骤(具体是通过在之间的时间间隔发送的两个分离的通信消息)中完成应答器的响 应时间的测量(具体是响应于读取器的对应请求,其中响应时间可以是从读取器向应答器 的发送请求和接收到响应来自应答器的响应之间的时间间隔)以及应答器的认证(具体是 通过在先前发送另一个未加密的通信信息之后,从应答器向读取器发送加密的通信信息, 以便响应时间测量)。在响应时间的测量期间,读取器和应答器之间传输(具体是在认证之 前)的通信消息可以包括用于(具体是随后)认证的至少一部分数据。根据另一个示例性实施例,提供了一种应答器用于确定到读取器的连接的有效 性,其中在两个分离的步骤中向所述读取器提供用于响应时间测量的信息和用于认证的信 息。在响应时间的测量期间,在读取器和应答器之间传输(具体是在认证之前)的通信消 息可以包括用于(具体是随后)认证的至少一部分数据。根据另一个示例性实施例,提供了一种用于读取器(或通过读取器执行)确定 (读取器)到应答器的连接的有效性的方法,所述方法包括读取器向所述应答器发送第一命令(诸如第一通信消息)和第二随机数(步骤 1);读取器从所述应答器接收第一随机数(具体是明文形式)(步骤2);读取器从应答器接收第一随机数的加密和第二随机数(具体是加密形式)的加密 (步骤3);读取器利用与应答器使用的相同密钥对接收的数(具体是加密的第一和第二随 机数)进行解密,或利用所述密钥对第一随机数和第二随机数进行解密(步骤4);读取器检验步骤2的第一随机数和第二随机数是否与步骤3的第一随机数和第二 随机数一致(步骤5);读取器检验是否在预定时间窗内接收到第一随机数(步骤6);以及如果在步骤5中检验的结果和在步骤6中检验的结果(具体都)为真,则读取器 认为到应答器的连接为有效(步骤7)。根据另一个示例性实施例,提供了一种用于应答器确定到读取器的连接的有效性 的方法,所述方法包括应答器从所述读取器接收第一命令和第二随机数;应答器向所述读取器发送第一随机数;应答器向所述读取器发送第一随机数和第二随机数的加密。根据另一个示例性实施例(在图5中提供详细解释和相应描述),提供了一种用于 读取器确定到应答器的连接的有效性的方法,所述方法包括向所述应答器发送第一命令和第二随机数;从所述应答器接收第一随机数;向应答器发送基于第一随机数和第二随机数产生的第一消息认证码(MAC);从应答器接收可以基于第一随机数和第二随机数产生的第二消息认证码(MAC);检验第二消息认证码(MAC)是否有效;检验是否在预定时间窗内接收到第一随机数;以及如果检验的结果都为真,则认为到应答器的连接为有效。
根据另一个示例性实施例(在图5中提供详细解释和相应描述),提供了一种用于 应答器确定到读取器的连接的有效性的方法,所述方法包括从所述读取器接收第一命令和第二随机数;向所述读取器发送第一随机数(具体地,立即响应于接收到的第一命令);从读取器接收基于第一随机数和第二随机数产生的第一消息认证码(MAC);检验第一消息认证码(MAC)是否有效;当第一消息认证码(MAC)有效时,向读取器发送基于第一随机数和第二随机数产 生的第二消息认证码(MAC)(当第一消息认证码(MAC)无效时,应答器可以向读取器发送不 是基于第一随机数和第二随机数产生的另一个消息认证码(MAC),例如可以产生以指示认 证失败)。根据另一个示例性实施例,提供了一种程序单元(例如源代码或执行代码的软件 例程、例如可下载程序),当处理器执行时,其适于控制或执行具有上述特征的方法之一。根据本发明的另一示例实施例,提供了一种计算机可读介质(例如⑶、DVD、USB 棒、软盘或硬盘),其中存储有计算机程序,在由处理器执行时,所述计算机程序适于控制或 执行具有上述特征的方法之一。可以根据本发明实施例来执行的数据处理可以由计算机程序(即由软件)或通过 使用一个或多个特殊电子优化电路(即由硬件)或以混合形式(即通过软件单元和硬件单 元)来实现。术语“应答器”可以具体表示RFID标签或(例如非接触)智能卡。更具体地,应 答器可以是一种在由来自质询器的特殊信号激活时可以自动发送特定(例如编码的)数据 的设备(例如包括芯片)。术语“读取器”可以具体表示一种适于发送电磁辐射波束以读出应答器并检测反 射回的或发射的信号的基站。读取器设备可以适配为由以下组成的组中的一项读取和/ 或写入设备、RFID读取器、非接触芯片卡读取器、无源应答器和近场通信设备。然而,也可 以基于有线接口进行通信。一个或多个“应用,,可以由读取器和应答器形成的通信系统来提供。这种应用可 以具体表示由读取器和应答器形成的通信系统内的服务,应答器和/或可以为该服务提供 贡献。这种贡献的提供可以涉及应答器提供存储或计算的数据、提供处理能力等等的能力。 这种服务的示例是应答器的用户支付使用公共交通的费用、无线支付系统支付物品的购 买价格等等。术语“消息认证码”(MAC)可以具体表示用于认证消息的短信息。MAC算法可以接 受秘密密钥和要认证的任意长度的消息作为输入,并且可以输出MAC。MAC值可以通过允许 验证方(也拥有该秘密密钥或对应的公开密钥)来保护消息的数据完整性及其真实性。术语“循环冗余校验”(CRC)可以具体表示将任何长度的数据流作为输入,并产生 特定空间的值(例如特定比特数的整数)作为输出的功能的类型(或其输出)。CRC可以 用作校验和,以检测发送期间的数据改变。本发明的实施例提供了以下优点通过及时分离用于响应时间测量的通信以及用 于安全目的的通信,可以以较高的确定性执行认为读取器和应答器之间的连接为有效(这 是确定是否破坏连接)。换句话说,这意味着能够以较高的概率检测到攻击,具体是中继攻击。这可以通过从应答器的响应时间的测量断开加密操作所需的时间来实现。此外,可以 协同地使用在时间测量部分期间读取器和应答器之间的通信来传送随后用于认证的码。这 可以允许非常有效地使用带宽和快速的初始化阶段。此外,通过交换这种码,可以阻止在两 个实体中这种码的并行产生,因此减小了系统的计算负担,这是由于仅在两个实体中的一 个产生这种码就足够了。例如,从应答器向读取器请求读取器立即响应于响应时间测量的 第一命令可以承载随机数,作为用于后续加密认证的一部分码。本发明的实施例还可以具有以下优点例如,这种系统可应用于大量发送,还可用于车辆和多个其他应用中的无钥匙进 入系统。例如,对应的通信系统可应用于仅在特定位置消耗的DRM保护内容。例如,对应的通信系统可应用于需要呆在家里的假释中的囚犯。因此,本发明的实施例提供一种适当的解决方案,用于确定在读取器和应答器之 间连接的有效性。下文中,将解释读取器的另一个实施例。然而,这些实施例还应用于所述应答器、 所述方法、所述程序单元和所述计算机可读介质。根据示例性实施例,所述读取器可以被设计为测量响应时间,作为从所述读取器 向所述应答器发送的第一命令和响应于第一命令从所述应答器接收到第一随机数之间的 时间间隔。换句话说,响应时间可以指示应答器向读取器的查询发送应答需要的时间。当 读取器测量这种时间间隔时,可以估计应答器用于发送第一随机数需要的时间。在中继攻 击问题(这涉及由于攻击导致的附加发送路径)的情况下,该时间将长于预定阈值。当在 响应时间测量的情况下发送第一随机数到读取器之前应答器没有对第一随机数进行加密 时(因此希望没有由于加密导致的延迟),除了读取器和应答器之间消息的传播以外的任 何附加延迟很可能造成中继攻击。不存在这种附加延迟则可以允许读取器推出与应答器的 通信是有效。具体地,在读取器(响应于第一请求)以明码文本或未加密的形式接收到第 一随机数的场景中,应答器的响应时间是用于确定是否存在中继攻击问题的适当度量。例 如,如果测量的响应时间小于预定阈值,可以将应答器和读取器之间的连接分类为有效。还参考上述实施例,所述读取器可以被设计为基于以下评价来认证应答器在已 经接收到用于测量响应时间的第一随机数之后从应答器接收到的第一随机数(这是响应 于第二请求从应答器向读取器按照加密的方式发送的第一随机数)的加密与接收到的用 于测量响应时间的第一随机数是否一致。换句话说,将响应于第一命令发送的第一随机数 与响应于第二命令发送的第一随机数(在解密之后,可以从应答器向读取器发送的加密第 一随机数)相比较。因此,从认证验证可以断开响应时间测量,这是由于首先发送没有加密 的相同随机数,仅用于响应时间测量目的,并按照加密的方式随后重新发送同一随机数,用 于认证目的。在优选的实施例中,所述读取器可以被设计为测量响应时间,作为向所述应答器 发送第一命令和第二随机数以及响应于第一命令接收来自应答器的第一随机数之间的时 间间隔。换句话说,与发送第一请求一起,读取器可以同时向应答器发送第二随机数,所述 第二随机数可以随后用于以下两个目的中的至少一个。一个目的是应答器可以使用接收的 第二随机数以便导出第三随机数,应答器可以在将来的对话使用所述第三随机数。第二个目的是已经从读取器发送到应答器的该第二随机数还可以(除了第一随机数以外)用于认 证目的,如将在下文中所解释。即,所述读取器设备可以被设计为基于以下评价来认证应答器在已经接收第一 随机数用于测量响应时间之后,从应答器接收到的第二随机数的加密和第一随机数的加密 与接收到的用于测量响应时间的第一随机数和第二随机数是否一致。在这个场景中,读取 器可以在响应时间测量的情况下向应答器发送第二随机数。在随后的过程中,则发射机可 以同时利用应答器中已经存储第一随机数和从读取器接收到第二随机数,可以对认证消息 进行加密。可以用(读取器也已知的)特定密钥对这两个随机数一起进行加密。这可以允 许安全地识别应答器,并同时确保仅授权的应答器与读取器进行通信,因此以高度的安全 性消除了中继攻击问题。所述读取器被设计为,只有当确定响应时间间隔在预定的时间窗(例如,预定的 时间窗小于预定阈值)内AND在从应答器向读取器以加密的形式发送的第一随机数(以及 可选的附加第二随机数)之间同时存在一致性时,认为到应答器的连接为有效。因此,在两 个准则之间的逻辑AND结合是必要的,以接受应答器和读取器之间的连接为有效。第一准 则是应答器用于响应第一命令的时间间隔短于预定阈值。这能够确保排除中继攻击问题的 可能性。由于执行第一响应的发送,而应答器没有执行任何处理负荷或任务,在中继攻击问 题的情况下实际发送时间是用于应答器和读取器之间传输路径的长度的适当测量,并且会 显著改变。第二准则确保响应于第一命令的相同应答器还提供加密的口令,由第一随机数 (存储在应答器中)和第二随机数(由读取器连同第一命令一起发送)的结合可以形式所 述加密的口令。所述读取器被设计与读取器交换被拆分为多个通信消息的用于认证的数据和/ 或用于邻近检验的数据。因此,无需将所有认证信息或所有邻近检验(例如,通过响应时间 测量)信息包括在读取器和应答器之间交换的单个消息中。相反,对应码可以被划分为不 同部分,从读取器向应答器发送的不同通信消息可以发送所述不同部分,或反之亦然。例 如,邻近检验可以被划分为多个片段来获得精确的时间信息。所述读取器被设计为发送不具有循环冗余校验(CRC)的第一命令(可以包括第二 随机数)。与ISO 14444-4系统相比较,这个概念是完全不同的方法,ISO 14444-4系统依靠 附在从读取器向标签通信的数据部分的结尾处的CRC。本发明的实施例可以将CRC附在从 标签向读取器发送的响应消息上,用于纠错。为了读取器确定没有通信的失真出现,该CRC 可以包括第一命令(包括第二随机数)和响应(包括第一随机数)。接下来,将解释应答器的另一个实施例。然而,这些实施例还应用于所述读取器、 所述方法、所述程序单元和所述计算机可读介质。所述应答器被设计为向读取器发送第一随机数,用于响应于从应答器接收的第一 命令的响应时间测量。可以按照未加密(或明文)形式从应答器向读取器发送该第一随机 数。通过采用该措施,读取器要执行的加密过程不会人为地延迟读取器发送命令和从应答 器接收响应之间的时间间隔的测量,这是由于这种加密过程的执行会人为地增加了响应时 间,以使不可能在与读取器进行通信的授权应答器的规律响应和中继攻击问题的存在之间 进行区分。因此,以未加密的方式发送第一随机数可以增加关于有效性的判决的可靠性。具体地,所述应答器可以被设计为向读取器发送不延迟的第一随机数,用于响应时间测量。因此,可以按照这种方式配置应答器,以便响应于第一命令的第一随机数的发送 尽可能快地发生,而不会增加用于附加处理或类似的任何延迟。这可以允许增加以可靠方 式检测到不存在中继攻击问题的可能性。所述应答器被设计为响应于第一命令来发送第一随机数,所述第一命令包括第二 随机数。因此,第一命令可以包括第二随机数,使用所述第二随机数作为应答器的触发器, 用于发送回包括第一随机数的响应。例如,在已经向读取器发送第一随机数之后,应答器基 于第二随机数可以产生和存储第三随机数,以替代第一随机数用于将来的会话(会话持续 与卡再次离开读取器的无线电范围一样长的时间)。例如,在应答器中存储第二随机数是可 能的,将特定算法应用于第二随机数来计算第三随机数。在向读取器发送回第一随机数之 后完成该所有操作,即,在应答器不具有处理能力的时间间隔中。这个过程可以允许更新用 于另一对话的第一随机数,以便应答器和读取器设备之间的通信,由此由于应答器和读取 器之间用于响应时间测量和认证交换的随机数的改变,进一步增加了安全性。所述应答器被设计为在接收到发送第一命令后从所述应答器发送的第二命令之 后,发送第一随机数的加密。因此,在读取器按照未加密的方式已经从应答器接收第一随机 数之后,读取器可以发送第二命令。然而,当应答器执行第一随机数与第二随机数结合的加密时,这向读取器保证了 应答器不仅按照足够快的方式进行回复以排除中继攻击问题,还授权目前的通信应答器用 于这种通信,这是由于该操作需要第一和第二随机数以及加密密钥的知识。当接收包括第一和第二随机数的加密通信消息以便认证时,读取器具有两个机 会。第一机会是对包括从应答器获得的第一和第二随机数的加密的通信消息进行解密,并 将明文的解密第一和第二随机数与存储在读取器的存储器中的第一和第二随机数相比较。 即,读取器按照第一回复形式已经从应答器接收第一随机数。此外,由于读取器已经与第一 命令一起向应答器发送第二随机数,读取器已知第二随机数。第二机会是读取器利用应答 器也使用的已知密钥对已知的第一和第二随机数进行加密。然后,读取器产生的所述加密 的通信消息与从应答器获得的第二响应相比较。所述应答器被设计为分析与读取器交换的通信消息,由此确定应答器是否位于读 取器的邻近,并当确定应答器没有位于读取器的邻近时终止通信。因此,读取器不仅可以分 析读取器和应答器之间足够的邻近(例如,读取器和应答器之间的距离小于阈值或响应时 间小于阈值),还可以执行检验是否执行关于足够邻近的预定准则。验证邻近检验(VPC)消 息和响应都可以允许确定邻近(读取器进行时间测量并检验应答器接收和发送的内容,应 答器检验其接收的内容以及读取器接收的内容)。所述应答器被设计为与读取器交换被拆分为多个通信消息的用于认证的数据和/ 或用于邻近检验的数据。因此,不必将所有认证信息或所有邻近检验信息(例如,通过响应 时间测量)包括在读取器和应答器之间交换的单个消息中。与此相反,对应码可以划分为 不同部分,可以由从读取器向应答器发送的不同通信消息发送所述不同部分,或反之亦然。 例如,邻近检验可以划分为多个片段来获得精确的时间信息。所述应答器被设计为向读取器发送第一随机数和循环冗余校验(CRC)。通过对于 包括命令的响应应用CRC可以执行错误恢复。可以基于RACl命令、随机数#1和随机数#2 来计算CRC。
所述应答器被设计为发送加密和信息,所述信息指示了应答器和读取器之间的通 信的定时,具体是速度。这种信息可以指示通信伙伴之间操作的速度。读取器和应答器之间 交换的通信消息中可以包括对应数据部分,以及可以将对应数据部分称作PPSE数据字段。 读取器可以使用该字段来停止与应答器的通信。所述应答器被设计为检测和限制频率,当在所述频率处操作时,一旦频率在界限 以外则停止与读取器的通信。执行该操作以便不会增大剩余中继攻击窗。对于应答器命令的响应可以仅包括foidR以外的多个字节,可选地包括CRC。应答 器命令不具有CRC。在另一个实施例中,可以进行改变,以便在应答器命令(包括随机数) 中从应答器发送的部分foidR之后是CRC,如同接收到部分RbdR的延伸。前面的读取器不具 有检测通信错误以及从中恢复的可能性,因此在通信错误之后邻近检验可能失败,并且应 答器不得不处于场外或不进行选择。不应该对应答器命令执行的CRC,这是由于CRC会加宽 剩余中继攻击窗。在后一种实施例中,读取器能够检测通信错误,并在这种情况下重新开始 邻近检验操作(当然,使用新的foidC和foidR)。每个随机数可以是伪随机数或真随机数。与伪随机数相反,真随机数是独立于其 产生准则产生的数。为了加密,基于物理测量的数可以被认为是随机的。伪随机数可以是 具有尽可能少的可检测模式的数,而不是真随机。计算机程序可以制造伪随机数,这是由于 计算机程序不能制造真随机数。随机数发生器可以是应答器/读取器的一部分。随机数和密钥中的任何一个可以是数字字符的任意序列、字母的序列或任何数字 代码。本发明的实施涉及应答器,具体是智能卡和RFID标签。尽管对于本领域普通技术 人员来说,本发明的实施例通常等同地涉及RFID标签和应答器以及通常基于有线或无线 连接进行通信的设备,为了清楚,该描述主要参考智能卡。参考下文中所述的实施例,本发明的这些和其他方面是显而易见的,并将阐明本 发明的这些和其他方面。


以下参照附图中示出的实施例,通过非限制性示例来更详细地描述本发明图1示出了中继攻击的原理。图2示出了根据本发明示例性实施例的读取器和应答器之间的消息流。图3示出了可以使用本发明实施例的示例性领域。图4示出了根据本发明示例性实施例的通信系统。图5示出了根据本发明另一个示例性实施例的读取器和应答器之间的消息流。
具体实施例方式示出了附图中的场景。在不同附图中,相同的附图标记用于类似或相同的组件。本发明的示例性实施例允许阻止应答器读取器系统的中继攻击。在下文中,参考图1来解释什么是中继攻击。为了这个目的,考虑了使用安全组件的事务,所述安全组件意欲以一定距离而不 是在紧密邻近处用于这些事务。
图1示出了指示正常操作的第一场景100,其中应答器120和真正读取器140紧密 相邻。例如,应答器120可以是智能卡或NFC(近场通信)电话。图1示出了指示中继攻击存在的第二场景150。除了应答器120和读取器140以 外,在应答器120和读取器140的通信路径中还引入入侵者160的第一通信设备和入侵者 170的第二通信设备。尽管附加通信设备160、170的存在具有增加应答器120和读取器140 之间通信时间的结果,通常通信设备160、170可以按照不期望的方式操作应答器或读取器 120,140ο即使当这些设备160、170不知道任何密钥时,中继攻击仍可以进行。如果可以进 行事务而无需用户动作(如到大量传输的访问),中继攻击尤其能够良好进行。例如,在满 乘的公车或地铁中,入侵者可以轻易地发现拥有应答器的一些人,所述应答器会如读取器 140 一样响应于入侵设备160、170。经由移动电话160或170与在地铁站入口处持有电话 的其他一些人通信是可能的。这种人可以得到访问,而在公车中的人支付。这种中继攻击 例如应用于大量传输,还应用于车辆中的无钥匙入口系统。然而,以上系统描述仅是本发明实施例的用来阻止成功的中继攻击的一个示例。 作为入侵者试图中继攻击的场景的备选,还有可能对合法用户应用本发明的示例性实施 例,所述合法用户试图在另一系统中远程地使用服务,而所述服务意欲仅用在邻近处。例 如,DRM保护的内容仅在特定位置消耗或用于假释中需要呆在家里的囚犯。因此,本发明的 示例性实施例可以应用在不同技术的场景中。本发明的示例性实施例的要点是测量应答器的响应时间。当完成中继攻击时,这 将占用一些时间。当读取器检测出所述时间长于正常时(超出容限),可以得出中继攻击已 经安装的结论。应答器可以执行相同操作。然而,这种场景可能出现问题存在其中非攻击系统的响应可以输入的时间窗。如 果该窗较大能够容纳系统行为的较大变化(在一个系统内或系统之间),则快速系统留出 时间来安装攻击。根据本发明的示例性实施例,解决方法是产生小于最快中继攻击添加的 时间量的时间窗。因此,应该使尽中继攻击窗可能小。图2示出了一种通信系统,其中实施了本发明的示例性实施例。还参考图4,参考 数字420指示读取器,以及参考数字440指示应答器。图2还区分了应答器440的安全部 分205和应答器440的调制解调器芯片或功能之间的不同。读取器420被认为是读取器芯 片部分215和特定应用220的结合。沿着图2的水平方向,示出了应答器440和读取器420 形成的通信系统中的事件。沿着图2的垂直方向,绘制了时间。图2详细地示出了本发明的实施例是如何工作的。在步骤0中,在本质上已知的反冲突过程之后,读取器420可以在无线电范围中选 择一个应答器,以便进一步通信。在应答器440中,当用于中继攻击检验的第一部分RACl 的命令到达时,在写入缓冲器中存储第一随机数RANDOM #1使其准备就绪。在步骤1中,应用220(例如,位于连接到读取器芯片215的微型控制器处)向读 取器芯片215发送用于中继攻击检验RACl的命令以及第二随机数RANDOM #2。读取器芯片 215向应答器440的芯片210发送数据,没有进一步处理。在步骤2中,卡440立即向读取器420发送回第一随机数RANDOM #1,第一随机数 RANDOM #1在步骤0已经存储在卡芯片中。
在步骤3中,向应答器440的密码处理器205发送第二随机数RANDOM #2,所述应 答器440将该数字作为产生第三随机数RANDOM #3的基础。然后,存储该第三随机数RANDOM #3用于读取器420的下一个请求(然后,盖写第一随机数RANDOM #1)。在步骤4中,应用220发送命令用于中继攻击检验的第二部分RAC2。将该命令透 明地转发到应答器440的密码处理器205。在步骤5中,密码处理器205对第一随机数RANDOM #1和第二随机数RANDOM #2 进行加密,并向读取器420发送回结果MAC (RANDOM #1、RANDOM #2)。在步骤6中,应用220利用与应答器440使用的相同密钥对接收的数据进行解密, 或利用相同密钥对第一随机数RANDOM #1和第二随机数RANDOM #2再次进行加密。应指出 本发明的实施例不局限于对称密钥加密。还可以使用公共密钥基础设施或类似来完成MAC。 然后,应用220检验之前发送的第二随机数RANDOM #2和之前接收的第一随机数RANDOM #1 是否一致。在步骤7中,执行是否在专用时间窗内接收到第一随机数RANDOM #1的检验,以及 是否有效地认证应答器440。如果条件都为真,则由于以下原因不破坏读取器420和应答器 440之间的连接a)在有效时间框内接收到第一随机数RANDOM #1 ;以及b)第一随机数RANDOM #1明确地来自有效应答器440。由于不需要复杂的计算,步骤1紧跟步骤2之后。此外,响应时间不会遭受显著抖 动,如果存在复杂加密过程则会出现显著抖动。因此,可以使有效时间窗非常小。然后,时 间消耗认证过程运行“无激励”。相应地,完整的断开响应时间和认证过程的测量。在下文中,还将解释另一些考虑。本发明的实施例是基于挑战(challenge)-响应协议,然而不需要时间来计算基 于挑战的响应。可以基于发送的消息RACl和接收的随机数精确地确定计时。在链中仅存在具有低抖动的组件。因此,可以存在非常小的剩余中继攻击窗。为了检测消息的伪造,发送MAC的RANDOM #1和RANDOM #2。SAM或应用220检验 所述响应。入侵者不能计算MAC。原理上,RAC2命令是过多的。也可以在没有请求的情况下发送MAC的RANDOM #1 和 RANDOM #2。协议允许在会话中多次执行中继攻击检验,因此随机数#3。如果不需要重新检验, 则省略该操作。但是对于其他应用,例如设备的合法拥有者当使用服务时需要待在邻近处, 可以执行周期性重新检验。例如,对于移动电话或读取器,非伪造时钟是有效的假定。然而,例如对于无接触 卡或当移动电话没有准确的时钟可用时,例如由于当拆下电池时还需要功能,这是个问题。 在那些情况下,卡可以同步于读取器时钟,读取器可以是个被篡改的中继读取器,以便运行 更快。如果入侵者让卡以例如双倍的速度运行,卡可以在认为是ca. 80 μ s之后发送响 应,但是实际上是40 μ S。中继攻击窗口是ca. 80μ 8_40μ s = 40μ S。针对这种场景的解决方法是将频率传感器放置在卡中,以便如果卡在频率范围以外操作时关闭卡。图3演示了通信系统的两个不同示例。在参考数字300指示的第一示例中,卡或移动电话与例如大量发送基础设施进行 交互。在参考数字350指示的第二场景中,卡或移动电话与移动电话进行交互。如图3所示,这种系统的性质被分类为有线的和可信任的;无线的和不可信任的; 以及有线的和可信任的。在下文中,参考图4,将解释根据本发明的示例性实施例的通信系统400。通信系统400与图2所示的场景类似,包括读取器420和应答器400。
读取器420包括通信地与发射机天线似4和接收机天线似6相连的处理器422 (诸 如微型处理器或中央处理单元)。发射机单元422能够向应答器440发送通信消息428。接 收机似6能够从应答器440接收通信消息430。尽管在图4中将发送天线4M和接收天线 似6演示为两个不同天线,备选实施例还可以使用单个共享收发机天线。天线似4、似6与处理器422电连接,以便可以从处理器422向发送天线似4发送 数据,以便通信消息4 进行传输。处理器422还可以分析和处理通过接收机天线似6接 收的通信消息430。诸如半导体存储器的存储单元432与处理器422相连,以便允许存储处理器422 可访问的数据。此外,示出了允许用户操作读取器设备420的输入/输出单元434。输入/ 输出单元434可以包括诸如按钮、小键盘、操纵杆或类似的输入组件。经由这种输入组件, 用户可以向读取器420输入命令。此外,输入/输出单元434可以包括诸如液晶显示器的 显示器单元,允许读取器设备420的读取过程的显示结果对于用户可见。还如图4所示,应答器440包括发送和接收机天线436、诸如微型处理器的处理器 422和存储器438。在实施例中,存储器438和处理器442可以集成在一个集成电路(IC) 中,所述集成电路与天线436连接并附在诸如一片结构的支撑444上。可以按照无线方式在实体420、440之间交换通信消息428、430。为了确定读取器420和应答器440之间连接的有效性(S卩,用于确定读取器420和 应答器440之间的连接是否有效),首先读取器420可以向应答器440发送第一命令(图2 中指示为RAC1)连同第二随机数(在图2中指示为RANDOM #2)。当接收到该通信消息时, 例如图4的通信消息,应答器440可以按照明文形式立即发送回包括第一随机数(在图2 中指示为RANDOM #1)的通信消息430。因此,应答器440可以以不延迟和未加密的方式进 行回复以减少中继攻击窗。当通信消息4 还包括第二随机数(在图2中指示为RANDOM #2)时,在存储器438中可以存储该数,该数可以用于导出新的第一随机数,以便应答器440 和诸如读取器设备420的读取器设备之间的连续通信会话。读取器设备420的处理器422 可以在存储器432中存储接收的第一随机数用于后面的使用。随后,可选地,读取器420现在按照加密的方式向应答器440发送另一个第二请 求,要求应答器440发送另一个通信消息。然而,备选地,由于应答器44可能在运动中向读 取器420发送第二通信消息,这种另一个请求是非必要的。该第二通信消息可以包括以加 密的或MAC的方式的第一随机数和第二随机数(指示为RANDOM #1和RANDOM #2)。处理器 422对接收的数进行解密可以允许将从应答器440发送的第一随机数和第二随机数与在存储器432中存储的第一和第二随机数相比较。在使用MAC的情况下,处理器422计算针对 相同消息的MAC,并将结果与接收的MAC进行比较。仅在对于第一请求的响应时间小于预定阈值以及应答器440基于第二响应发送 的第一和第二随机数与在存储器432中存储的第一和第二随机数之间存在适合匹配的场 景中,将读取器420和应答器440之间的通信接受为有效。本领域技术人员应当注意,根据典型实施例的所述应答器、所述读取器和所述方 法不局限于非接触数据通信,还可以应用于有线通信。在实施例中,通过测量挑战-响应交互的往返时间来执行邻近检验。如果攻击者 希望安装中继攻击,则必然会引入延迟。取决于延迟的程度,可以检测所述延迟。时间测量 和剩余中继攻击窗的准确度取决于PCD (这是读取器的)的非接触前端(PCD-CLF)的实现, 这是考虑非接触通信的PCD的一部分,也是PD (这是应答器的)的CLF。通过该实现会对使 用移动电话安装的中继攻击进行反击。尽管可以利用单个命令和单个响应完成检验,所述 协议至少使用三个命令-响应对。在PD侧随机数的实际图样和加密的计算会比应当返回 响应的时间占用更多的时间。因此,将三个部件断开为1.让PD得出随机数的图样,以及在其完成之前不发送响应。2. 一旦挑战随机数到达,就回复响应随机数。P⑶可以将该步骤拆分为多个挑 战-响应对。3.执行加密的检验来确保数字没有被篡改。根据本发明的实施例,图5示出了读取器420和应答器440之间的消息流500。图5给出了邻近检验协议的概述,并给出了邻近检验期间消息交换的示例。首先,PD发送准备邻近检验(PPC)命令。这命令PD准备7字节随机数。PPC命 令仅由命令代码组成。例如PD利用成功返回代码进行回复。在这之后,P⑶用部分或全7 字节随机挑战发送邻近检验(PC)命令。P⑶可以立即发送完整7字节数字,每次仅向下一 个字节。在这个命令中,可选地可以省略通常由IS014443-4规定的CRC。在直接发送上一 比特之后,推荐由P⑶开始计时器。然后,PD必须在早于IS014443-4允许的最早精确时间 处,这是在最小帧延迟时间之后,利用相等长度的预备随机响应的一部分进行响应。发送这 个响应而没有返回代码。在这个响应中,还省略由IS014443-4规定的所有字段。当接收了 P⑶响应的第一比特时,P⑶直接停止计时器。测量的时间是发送随机 数和接收响应随机数之间的时间,即最小帧延迟时间(FDT)加上往返时间(PTT)。P⑶重复发送部分随机数作为挑战-响应对的这个过程,直到交换了完整的7字 节。能够自由地选择随机数被划分为多大尺寸,以及结果PCD使用多少邻近检验命令。在 这个实施例中,挑战-响应对的最大数字是七。在结束处收集接收的部分7字节随机数并 记住接收的命令的次序。推荐在发送上一比特之后开始计时,并当接收到第一比特时停止,这是由于实际 上可能发生的操作将依据PCD-CLF。PCD-CLF的不同实现允许不同时间测量技术,因此允许 不同剩余中继攻击窗。以下建议的工作的方式加上时间测量的精细粒度,将导致最小剩余 中继攻击窗。将测量的时间与预定阈值相比较,无接触基础设施操作员依据PCD-CLF可能使用 的时间测量的粒度和剩余风险的估计来进行选择。在每个邻近检验命令之后(或当超出阈值时使用超时的计时器),PCD检验测量的时间,或记住测量的最大时间,以及仅在结束处 进行检验。如果超出阈值,邻近检验协议失败。一旦利用邻近检验命令处理完整η字节(例如7字节)随机挑战,P⑶发送验证 邻近检验(VPC)命令。该命令包括针对完整7字节随机数的MAC,以及关于PD和P⑶操作 (存储在PPSE字节中)速度的信息,因此入侵者不能以ISO标准允许的不同(更高的)速 度来操作卡,以及获得时间来安装攻击(对于速度的其他检验还是可能的)。用于MAC输入 的随机数序列反映了如在邻近检验命令的发送期间相同的划分。PD应该验证输入的MAC。 如果MAC验证失败,PD进入不接受其他操作的状态(不再)。根据本发明的示例性实施例,读取器和应答器的全部功能可以颠倒,因此协议流 处于另一方向。这是显式披露的系统等同解决方案并处于权利要求书的范围之内。最终,应当注意,上述实施例示意而非限制本发明,在不脱离所附权利要求限定的 本发明的范围的前提下,本领域技术人员能够设计处许多备选实施例。在权利要求中,置于 括号中的任何参考标记不应被解释为限制权利要求。词语“包括”等不排除出现不同于任 何权利要求或说明书作为整体所列出的之外的元件或步骤。对元件的单数引用不排除这种 元件的复数引用,反之亦然。在列出多个装置的设备权利要求中,这些装置中的若干个可以 由同一项软件或硬件来实现。仅根据特定措施在互不相同的从属权利要求中记载的事实不 能表明不能使用这些措施的组合来进行改进。
权利要求
1.一种读取器G20),用于确定到应答器040)的连接的有效性,其中,所述读取器 (420)被设计为测量应答器(440)的响应时间以及以两个分离的步骤来认证应答器040), 其中,在响应时间的测量期间在读取器G20)和应答器(420)之间传输的通信消息中包括 用于认证的数据的至少一部分。
2.根据权利要求1所述的读取器G20),其中,所述读取器(420)被设计为基于在向所 述应答器(440)发送第一命令(RACl)与接收到响应于第一命令(RACl)来自应答器(440) 的第一随机数(RANDOM #1)之间的时间间隔,来测量响应时间。
3.根据权利要求2所述的读取器020),其中,所述读取器(420)被设计为基于在已经 接收到用于测量响应时间的第一随机数(RANDOM #1)之后从应答器(440)接收的第一随机 数(RAND0M#1)的加密与接收到的用于测量响应时间的第一随机数(RAND0M#1)是否一致的 评估,来认证所述应答器G40)。
4.根据权利要求1所述的读取器G20),其中,所述读取器(420)被设计为基于在向所 述应答器(440)发送第一命令(RACl)连同第二随机数(RANDOM #2)与接收到响应于第一 命令(RACl)来自应答器(440)的第一随机数(RANDOM #1)之间的时间间隔,来测量响应时 间。
5.根据权利要求4所述的读取器020),其中,所述读取器(420)被设计为基于在已 经接收到用于测量响应时间的第一随机数(RANDOM #1)之后从应答器(440)接收到的第二 随机数(RAND0M#2)的加密和第一随机数(RANDOM #1)的加密与接收到的用于测量响应时 间的第一随机数(RANDOM #1)和第二随机数(RAND0M#2)是否一致的评估,来认证应答器 (440)。
6.根据权利要求3或5所述的读取器020),其中所述读取器(420)被设计为只有当 确定时间间隔在预定的时间窗内且存在一致性、并且应答器(440)操作的通信速度与读取 器(420)所认为的应答器(440)操作的通信速度相同时,才认为到应答器G40)的连接有效。
7.根据权利要求1所述的读取器G20),其中所述读取器(420)被设计为与应答器 (440)交换被拆分为多个通信消息的用于认证的数据和/或用于邻近检验的数据。
8.根据权利要求4所述的读取器020),其中,所述读取器(420)被设计为在无循环冗 余校验的情况下发送第一命令(RACl)。
9.根据权利要求1所述的读取器G20),其中,所述读取器(420)被设计为从应答 器(440)接收包括循环冗余校验的通信消息,其中所述循环冗余校验是根据发送到应答器 (440)消息和从应答器(440)接收的消息而计算的;以及当检测到包括循环冗余校验的通 信消息中存在通信错误时,认为与应答器G40)交换的消息的无效性。
10.根据权利要求4所述的读取器020),其中,读取器(420)被设计为从应答器(440) 接收包括循环冗余校验的通信消息,其中所述循环冗余校验是由应答器(440)基于从读取 器(420)接收的、与第一随机数(RANDOM #1)和第二随机数(RANDOM #2)拼接的消息(RACl) 来产生的。
11.一种应答器G40),用于确定到读取器(420)连接的有效性,其中,所述应答器 (440)被设计为向所述读取器(420)提供用于响应时间测量的信息,以及向所述读取器 (420)提供用于以两个分离的步骤进行认证的信息,其中,在响应时间的测量期间在读取器(420)和应答器(440)之间传输的通信消息中包括用于认证的数据的至少一部分。
12.根据权利要求11所述的应答器G40),其中,所述应答器(440)被设计为向读取器 (420)发送第一随机数(RANDOM #1),用于响应于从应答器(440)接收的第一命令(RACl) 的响应时间测量。
13.根据权利要求12所述的应答器040),其中,所述应答器(440)被设计为向读取器 (420)发送未加密的第一随机数(RANDOM #1),用于响应时间测量。
14.根据权利要求12所述的应答器040),其中,所述应答器(440)被设计为响应于包 括第二随机数(RANDOM #2)的第一命令(RACl)来发送第一随机数(RANDOM #1)。
15.根据权利要求14所述的应答器040),其中,所述应答器(440)被设计为基于第 二随机数(RANDOM #2)来产生和存储第三随机数(RANDOM #3),以替代第一随机数(RANDOM #1)用于将来的会话。
16.根据权利要求14所述的应答器040),其中,所述应答器(440)被设计为在接收到 发送第一命令(RACl)之后从所述应答器(440)发送的第二命令(RAU)之后,发送第一随 机数(RANDOM #1)的加密和第二随机数(RANDOM #2)的加密。
17.根据权利要求11所述的应答器G40),其中,所述应答器(440)被设计为分析与读 取器(420)交换的通信消息,由此确定应答器(440)是否位于读取器G20)的邻近,并在确 定应答器(440)没有位于读取器G20)的邻近时终止通信。
18.根据权利要求11所述的应答器G40),其中,所述应答器(440)被设计为与读取器 (420)交换被拆分为多个通信消息的用于认证的数据和/或用于邻近检验的数据。
19.根据权利要求12所述的应答器040),其中,所述应答器(440)被设计为向读取器 (420)发送第一随机数(RANDOM #1)连同循环冗余校验。
20.根据权利要求11所述的应答器G40),其中,所述应答器(440)被设计为向读取器 (420)发送通信消息连同指示了应答器(440)和读取器(420)之间的通信的定时的信息,所 述信息具体指示了速度。
21.根据权利要求11所述的应答器G40),其中,所述应答器(440)被设计为检测和限 制频率以便限制剩余中继攻击窗,其中所述频率是如下频率一旦所述频率在界限以外,则 所述应答器(440)进行操作以停止与读取器G20)的通信。
22.根据权利要求14所述的应答器040),被设计为产生包括循环冗余校验的通信消 息,其中所述循环冗余校验是基于从读取器(420)接收的、与第一随机数(RANDOM #1)和第 二随机数(RANDOM #2)拼接的消息(RACl)来产生的。
23.一种用于读取器(420)确定到应答器G40)的连接的有效性的方法,所述方法包括向所述应答器(440)发送第一命令(RACl)连同第二随机数(RANDOM #2),从所述应答器(440)接收第一随机数(RANDOM #1),从所述应答器(440)接收第一随机数(RANDOM #1)的加密和第二随机数(RANDOM #2) 的加密,利用应答器(440)使用的相同密钥对接收的数进行解密,或利用所述密钥对第一随机 数(RANDOM #1)和第二随机数(RANDOM #2)进行加密,检验从所述应答器(440)接收的第一随机数(RANDOM #1)和第二随机数(RANDOM #2)是否与从应答器(440)接收的作为加密的第一随机数(RANDOM #1)和第二随机数(RANDOM #2) 一致,检验第一随机数(RANDOM #1)是否是在预定的时间窗内接收到的,和 如果检验的结果都为真,则认为到应答器G40)的连接为有效。
24.根据权利要求23所述的方法,还包括接收响应于第一命令(RACl)来自所述应答器040)的第一随机数(RANDOM #1), 在发送第一命令(RACl)之后向所述应答器(440)发送第二命令(RAC2), 接收响应于第二命令(RAC2)来自应答器040)的第一随机数(RANDOM #1)的加密。
25.一种用于读取器(420)确定到应答器G40)的连接的有效性的方法,所述方法包括向所述应答器(440)发送第一命令连同第二随机数, 从所述应答器(440)接收第一随机数,向应答器(440)发送基于第一随机数和第二随机数产生的第一消息认证码(MAC),从应答器(440)接收基于第一随机数和第二随机数产生的第二消息认证码(MAC),检验第二消息认证码(MAC)是否有效,检验第一随机数是否是在预定的时间窗内接收到的,和如果检验的结果都为真,则认为到应答器G40)的连接为有效。
26.一种用于应答器(440)确定到读取器G20)的连接的有效性的方法,所述方法包括从所述读取器(420)接收第一命令(RACl)连同第二随机数(RANDOM #2), 向所述读取器(420)发送第一随机数(RANDOM #1),向所述读取器(420)发送第一随机数(RANDOM #1)的加密和第二随机数(RANDOM #2) 的加密。
27.一种用于应答器(440)确定到读取器020)的连接的有效性的方法,所述方法包括从所述读取器(420)接收第一命令和第二随机数, 向所述读取器(420)发送第一随机数,从所述读取器(420)接收基于第一随机数和第二随机数产生的第一消息认证码 (MAC),检验第一消息认证码(MAC)是否有效,当第一消息认证码(MAC)有效时,向读取器(420)发送基于第一随机数和第二随机数 产生的第二消息认证码(MAC)。
28.一种存储计算机程序的计算机可读介质,当处理器(422、44幻执行计算机程序时, 所述计算机程序适合实现或控制根据权利要求23或25或沈或27的方法。
29.一种程序单元,当处理器(422、44幻执行程序单元时,所述程序单元适合实现或控 制根据权利要求23或25或沈或27的方法。
全文摘要
一种读取器(420),用于确定到应答器(440)的连接的有效性,所述读取器(420)被设计为测量应答器(440)的响应时间以及按照两个分离的步骤认证应答器(440)。一种应答器(440),用于确定到读取器(420)连接的有效性,其中,所述应答器(440)被设计为向所述读取器(420)提供用于响应时间测量的信息,以及向所述读取器(420)提供用于按照两个分离的步骤进行认证的信息,其中,在响应时间的测量期间在读取器(420)和应答器(420)之间传输的通信消息中包括用于认证的至少一部分数据。
文档编号H04L9/32GK102047606SQ200880129415
公开日2011年5月4日 申请日期2008年11月3日 优先权日2008年5月26日
发明者保罗·胡伯默尔, 布鲁斯·默里, 彼得·蒂林格, 汉斯·德容, 海克·诺伊曼, 苏珊·斯顿 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1