专利名称:针对近程通信信道的接近性确保的制作方法
技术领域:
本发明实施例涉及针对两个设备之间近程通信连接的接近性确保(proximityassurance)。
背景技术:
诸如NFC (近场通信)和RFID (射频识别)系统之类的近程通信系统的安全性易受到诸如中继攻击之类的攻击。在中继攻击中,消息通常经由备选的通信信道从发送方传送至该消息的有效接收方。在图1中示出中继攻击的图示。一家人101正在度假并且刚离开他们的宾馆房间。妻子102采用近程通信系统钥匙卡以电子方式锁上宾馆门105并将钥匙卡(未示出)放入她的口袋中。在中继攻击中涉及两个攻击者:攻击者110拿着藏在公文包120中的伪造钥匙卡并站在宾馆门105附近;攻击者115具有藏在公文包130中的钥匙卡读取器并站在这家人101附近。公文包120中的伪造钥匙卡和公文包130中的钥匙卡读取器经由快速、远程通信信道连接,该通信信道用作宾馆房间门105的钥匙卡读取器112的范围扩展。如果攻击者115足够靠近这家人101,则可以打开宾馆房间门105,因为可以在宾馆房间门105的钥匙卡读取器112和妻子102的口袋中的钥匙卡之间建立连接。如果钥匙卡读取器112得到对妻子102的口袋中的钥匙卡103在钥匙卡读取器112附近的确保,可以防止这种中继攻击。然而,以安全级3运行的MIFARE PLUS中执行的现有独立接近性检查违背ISO 14443兼容性,因为它采用修改的(不完整)的框架结构。通常希望接近性检查是ISO兼容的。此外,MIFARE PLUS采用定时方案来确定接近性并且仅是单向接近性检查。仅读取器检查RFID卡的接近性,这意味着RFID卡不具有验证读取器接近性的独立方法。双向接近性检查通常比单向接近性检查更安全。
发明内容
根据本发明,公开了两个设备的接近性检查,其典型地仅采用局部认证来提供可靠的接近性确保。根据本发明,设备可以为例如智能卡、智能电话、读卡器和/或平板电脑。通过引入诸如光和声音传感器之类的附加传感器和MEMS加速度计来实现接近性确保。根据本发明,可以保护诸如RFID和NFC之类的近程通信免受诸如中继攻击之类的攻击。
图1图示典型的中继攻击。图2a示出根据本发明的实施例。图2b示出根据本发明的实施例。图3a示出根据本发明的实施例。图3b示出根据本发明的实施例。图4a示出根据本发明的实施例。图4b示出根据本发明的实施例。
图5a示出根据本发明的实施例。图5b示出根据本发明的实施例。图6示出根据本发明实施例中用于读取器和智能卡型设备的示例性加速度计数据。
具体实施例方式根据本发明的实施例涉及如图2a所示的两个设备之间的双向(对称)接近性检查。在根据本发明的实施例中,通信涉及的两个设备201和202中的每一个都确立另一设备在该设备的附近(在这两个设备之间使用的通信系统的典型范围内)。通信中涉及的两个设备201,202各自装配有加速度计205,206。为发起两个设备201和202之间的通信,要求用户将设备201和202撞击在一起。每个设备201和202能够采用自己相应的加速度计205和206,通过存储加速度计数据的短暂历史,分别记录撞击。根据本发明,需要注意的是,加速度计205和206足够灵敏。例如,如果设备201的效质量显著大于设备202的有效质量,则加速度计205需要比加速度计206灵敏。每个设备201和202均执行图2b中示出的步骤以获得接近性确保,从而实现对称的双向接近性确保。在步骤210中,在设备201和202之间建立近程通信连接200以允许数据交换。近程连接200可以为RFID或NFC连接。设备201和202中的每一个可以分别保持它们的加速度计205和206的短暂加速度计数据历史207和208。采用这种加速度计数据历史,每个设备201和202可以检测撞击(即,冲击)。设备201和202中的每一个轮询它们各自的加速度计205和206并更新它们的数据历史,直到检测到撞击。在步骤220中,当设备201或202检测到“撞击”时,加速度计历史在相应的设备中被冻结。随后采用预定的加密散列函数,如消息摘要算法5(MD5)或从安全散列算法-2(SHA-2)集中选择的一种算法,在加速度计数据历史207和208上计算分别针对设备201和202的散列值203和204。随后在步骤225中,采用近程通信连接200,设备201将散列值203发送至设备202,设备202将散列值204发送至设备201。当设备202已经接收到散列值203并且设备201已经从设备202接收到散列值204时,设备201继续进行步骤230。在步骤230中,采用近程通信连接200,设备201将它的加速度计数据历史207发送至设备202,并接收来自设备202的加速度计数据历史208。在步骤240中,在采用近程通信连接200由设备201传送加速度计数据历史207之前,设备201使用利用近程通信连接200从设备202接收到的散列值204来验证加速度计数据历史208。这允许设备201检测到设备202何时在伪造加速度计数据208。例如,设备202可以接收加速度计数据历史207,将一些噪声添加至该历史并作为加速度计数据208返回至设备201。在这种情况下,散列值204不匹配加速度计历史208,并且设备201将中断接近性检查,并通过返回步骤220而等待下一次撞击。类似地,在采用近程通信连接200由设备202传送加速度计数据历史208之前,设备202使用利用近程通信连接200从设备201接收到的散列值203来验证加速度计数据历史207。在非伪造加速度计数据历史207和208的情况下,设备201和202进行至步骤250,否则设备201和202返回步骤220。注意,在仅有单向验证的情况下,设备201和202返回步骤220。在步骤250中,设备201将加速度计数据历史207与加速度计数据历史208相匹配。如果设备201和202实际上撞击在一起,则加速度计数据历史207和加速度计数据历史208将匹配,如例如由加速度计数据历史207和加速度计数据历史208之间的足够高的相关度所指示的。如果该相关度不够高,指示了缺乏匹配,则设备201中断接近性检查并通过返回步骤220而等待下一次撞击。类似地,设备202将加速度计数据历史208与加速度计数据历史207相匹配,并且如果相关度不够高,指示了缺乏匹配,则设备202中断接近性检查并通过返回步骤220而等待下一次撞击。注意,在仅有单向匹配的情况下,设备201和202返回步骤220。如果两个加速度计数据历史207和208相互匹配,则设备201得到确保的是设备202接近设备201,设备202得到确保的是设备201接近设备202。随后在步骤260中继续
连接建立。由于两个设备201和202都执行图2b中的步骤,因此在根据本发明的实施例中实现了对称的双向(或相互)接近性确保。接近性是通过加速度计数据历史207和208的匹配而得以确保的。步骤225中散列值203和204的交换对于为每个设备201和202提供接近性确保而言是基本的。如上所述,例如,通过接收来自设备201的加速度计数据历史207,然后例如通过添加一些高斯噪声来略微修改加速度计数据历史207并且随后将修改的加速度计数据历史作为加速度计数据历史208发送回设备201,设备202可能导致安全性受损。这使得看起来两个加速度计数据历史来自两个不同加速度计(因为它们稍微不同),但这两个加速度计数据历史仍将呈现“撞击匹配”,因为仅添加了少量的噪声。在实际的加速度计数据历史交换之前进行散列值交换,这防止上述安全漏洞。之后,设备201和202中的每一个能够测试加速度计数据历史的完整性。每个设备201和202针对接收到的加速度计数据历史,采用相同的加密散列函数来计算散列值,并检查它是否与接收到的散列值匹配。不匹配指示了破坏安全性的(潜在的)尝试。在根据本发明的实施例中,不仅能够实现接近性确保而且能够实现认证。这可以通过用可以被视为密钥加密散列函数(keyed cryptographic hashfunction)的消息认证码(MAC)代替散列值来实现。在图3a中示出了 MAC的操作。散列函数和MAC算法之间的差别在于,MAC算法不仅采用消息作为输入而且采用秘密密钥作为输入。因此,图3a中的设备310和320不仅可以检查加速度计数据历史308和309的完整性,而且可以检查发送方设备是否知道该秘密密钥K。如果发送方设备310使用了错误的密钥K来计算MAC 315,或者如果加速度计数据历史308在之后已被操纵过,则接收方设备320可以确定这些情况,这是因为接收到的MAC316将不匹配接收方设备320已针对接收到的加速度计数据历史309而计算的MAC 317。接收方设备320通过将接收到的加速度计数据历史309与它自己的加速度计数据历史(未示出)进行匹配,还可以确定发送方设备310是否正试图执行重放攻击。这允许接收方设备确定发送方设备310已用来计算MAC 315的加速度计数据历史308是否是“新的”。如果加速度计数据历史308是“新的”,这意味着MAC 315是真实可信的,而不是先前协议运行的重放。
在根据本发明的实施例中,代替使用基于对称加密的MAC来进行认证,而是可以使用基于公共密钥加密的签名来进行认证,如图3b所示。代替在加速度计历史数据308上计算MAC,而是采用私有密钥Ks在加速度计数据历史308上产生数字签名325。接收方设备320可以随后通过采用公共密钥Kp和签名326,来验证加速度计数据历史309之后是否已经被操纵过,以验证加速度计数据历史309的真实性,其中KS、KP形成密钥对。在根据本发明的实施例中,可以使用基本撞击检测器来实现单向(不对称)接近性检查。例如,假设在根据本发明的示例性实施例中,设备401为读取器且设备402为智能卡,并且每个设备都分别装配有基本撞击检测器405和406,如一维加速度计或可以检测冲击或振动(撞击)的其它MEMS传感器,如图4a所不。可以如图4b所示根据本发明的示例性实施例进行单向接近性检查。在步骤410中,一旦智能卡402移动到读取器401附近,就在智能卡402和读取器401之间建立近程通信连接400。随后在步骤420中,读取器401要求智能卡402准备进行接近性检查。这包括将智能卡402设置为发送模式,使得智能卡402能够尽可能快地发送数据。在步骤430中,智能卡402撞击读取器401,并且这种“撞击”由智能卡402和读取器401 二者采用撞击检测器406和405分别检测到。在步骤440中,智能卡402采用近程通信连接400以最短可能往返时间直接对读取器401作为响应。由于读取器401也已经检测到撞击,在步骤450中,读取器401可以通过与某个预定阈值进行比较来确定智能卡402是否已经足够快速地进行了响应。如果响应未足够快速地出现,则读取器401返回步骤420。在步骤460中,如果智能卡402和读取器401接近,则连接建立继续。注意,在根据ISO 14443标准通信的情况下,已经记录了撞击与接收到响应的开始之间的时间间隔包括三个分量:Tdifdt:最小帧延迟时间(FDT,如,在13.56MHz的频率处,对于最低比特速率,最小帧延迟时间为86.43 μ s)。TmFDT是由读取器401发送的最末暂停的结束与由智能卡402发送的开始比特内的第一个调制沿之间的时间。Tett:往返时间(即,在读取器401和智能卡402之间或在读取器401和攻击者之间)。Tproc:智能卡402需要的额外处理时间(即,除Tiiifdt之外额外的处理时间)。通常这与Tdifdt相比是可忽略的。因而,典型地,必须针对如下时间来设置预定阈值:该时间大于上述三个值的总和,但不是显著地大得多。预定阈值越大,攻击者可用的残余时间窗变得越大。任何残余时间可以由攻击者用来增加Τκττ,即增加离智能卡402的可用距离,从智能卡402发起攻击。所使用的实际预定阈值将取决于所希望的安全级别以及读取器401侧可用的时间测量的粒度。注意,在步骤430中发生“撞击”之前,在步骤420中读取器401要求智能卡402进入发送模式。这允许几乎在发生撞击之后立即从智能卡402发送响应。该实施例中的撞击传感器不需要非常精确,因为不对撞击检测器的数据进行匹配。在根据本发明的示例性实施例中,采用光源505和光传感器506,可以实现单向(不对称)接近性检查,采用光源505和光传感器506在设备501 (如,读取器)和设备502(如,智能卡)之间添加了第二通信连接,如图5a所示。通过由设备502(如,智能卡)中的光传感器506检测来自光源505的光实现接近性检查,而不采用加速度计。在根据本发明的实施例中,光源505可以为红外发光二极管(IR-LED),光传感器506可以为红外传感器。参照图5b,在步骤520中,在设备501(如,读取器)和设备502 (如,智能卡)之间建立近程通信连接500以允许数据交换。在步骤530中,设备501(如,读取器)请求设备502 (如,智能卡)准备进行接近性检查。在步骤540中,设备501(如,读取器)发送来自光源505的光。在步骤550,设备502 (如,智能卡)采用光传感器506感测来自设备501 (如,读取器)的光,并采用近程通信连接发送接近性响应信号。在步骤560中,设备501(如,读取器)检查响应时间,如果接近性响应时间大于被选择以使中继攻击不可能的预定阈值,则设备501 (如,读取器)返回至步骤530以请求设备502 (如,智能卡)准备进行接近性检查。如果接近性响应是及时的,则在步骤570中,设备501 (如,读取器)和设备502 (如,智能卡)继续进行连接建立。此外,在根据本发明的实施例中,在步骤540中,设备501(如,读取器)可以调制来自光源505的光以将数据发送至设备502 (如,智能卡)。例如,该数据可以包括会话ID,例如随机数。随后在步骤550中,设备502(如,智能卡)采用近程通信连接500来将接收到的会话ID附加地回传(echo back)至设备501 (如,读取器)。因此,在步骤560中,设备501 (如,读取器)还确定接收到的会话ID是否匹配发送的会话ID。如果匹配,则该过程前进至步骤570,如果不匹配,则设备501 (如,读取器)返回至步骤530。会话ID的使用提供了附加安全性,因为通常这使得重放攻击更加困难,并且在这种情况下,这也使得中继攻击更加困难,因为还需要拦截和中继光信号。可替换地,代替在图5a和5b的实施例中采用光源505和光传感器506,可以采用代替光源505的小扬声器和代替光传感器506的声音传感器(如,MEMS麦克风)实现根据本发明的实施例。与图2a和2b的实 施例类似,通过添加从设备502 (如,智能卡)到设备501 (如,读取器)的光/声音信道,可以将根据本发明的采用光或声音不对称接近性检查的上述实施例扩展至双向接近性检查。根据本发明,在图6和图2a的情况下描述用于检测相关加速度计测量的处理实施方案。假设设备201和设备202之间的接触(“撞击”)在时间tstart处开始并持续了时间间隔t_tac;t,如图6所示。由于设备201和设备202撞击在一起,因此应当对接触期间的加速度测量进行相关。作为近似,假设在时间间隔t_tac;t期间,在示出了来自加速度计206的加速度数据的时间序列610和示出了来自加速度计205的加速度数据的时间序列620之间存在线性关系,由比例因子s和偏差b限定的。由加速度计206和加速度计205进行的测量不是同步的。设备202中加速度计206中的时间延迟^通常由通信延迟引起。因此在根据本发明的示例性实施例中,可以采用下述关系由设备202(如,智能卡)的加速度&。-来近似设备201 (如,读取器)的加速度areader:areader (t) ^ f (acard) = (s acard (t+td) +b)(I)根据本发明,f(aMJ的其它更复杂和精确的表示也是可能的。近似的读取器加速度f (aeaJ、时间序列610和所测量的读取器加速度aMader之间的平方距离之和SSD可以用来测量时间序列610和时间序列620是如何地相似或相关:
权利要求
1.一种接近性确保方法,针对具有第一加速度计的第一设备和具有第二加速度计的第二设备之间的近程通信连接,该方法包括: 在第一设备和第二设备之间建立近程通信连接以允许数据交换; 通过使第一设备和第二设备物理接触来形成撞击,并将撞击记录在第一加速度计和第二加速度计中,以产生该撞击的第一加速度计历史和第二加速度计历史; 采用第一加速度计历史产生第一值并采用第二加速度计历史产生第二值; 采用近程通信信道在第一设备和第二设备之间交换所述值; 在第一设备和第二设备之间交换加速度计历史; 由第二设备验证第一值是否与第一加速度计历史一致,并由第一设备验证第二值是否与第二加速度计历史一致;以及 确定第一加速度计历史是否匹配第二加速度计历史,以验证物理接近性。
2.根据权利要求1所述的方法,其中第一值和第二值包括散列值。
3.根据权利要求1所述的方法,其中第一值和第二值包括密钥加密散列值。
4.根据权利要求1所述的方法,其中第一值和第二值包括采用私有密钥形成的数字签名。
5.根据权利要求1所述的方法,其中第一设备包括读取器。
6.根据权利要求 1所述的方法,其中第一设备包括智能电话。
7.一种接近性确保方法,针对具有第一撞击检测器的第一设备和具有第二撞击检测器的第二设备之间的近程通信连接,该方法包括: 在第一设备和第二设备之间建立近程通信连接以允许数据交换; 通过使第一设备和第二设备物理接触来形成撞击; 在第一和第二撞击检测器二者中检测撞击; 在由第二撞击检测器检测到撞击时,使第二设备采用近程通信信道将第二直接响应提供至第一设备;以及 在第一设备中确定第二设备的第二直接响应的时间是否小于第二预定阈值,以验证物理接近性。
8.根据权利要求7所述的方法,其中第二撞击检测器包括简单加速度计。
9.根据权利要求7所述的方法,其中第一设备包括读取器。
10.根据权利要求7所述的方法,还包括: 在由第一撞击检测器检测到撞击时,使第一设备采用近程通信信道将第一直接响应提供至第二设备;以及 在第二设备中确定第一设备的第一响应的时间是否小于第一预定阈值,以建立针对物理接近性的双向接近性验证。
11.一种接近性确保方法,针对具有第一源的第一设备和具有第二传感器的第二设备之间的近程通信连接,该方法包括: 在第一设备和第二设备之间建立近程通信连接以允许数据交换; 在第二设备的第二传感器中检测来自第一设备中第一源的第一信号; 当在第二传感器中检测到第一信号时,使第二设备采用近程通信信道将第二直接响应提供至第一设备;以及在第一设备中确定第二设备的第二直接响应的时间是否小于第一预定阈值,以验证物理接近性。
12.根据权利要求11所述的方法,其中第一信号为光信号。
13.根据权利要求11所述的方法,其中第一信号为声信号。
14.根据权利要求11所述的方法,其中第一设备包括读取器。
15.根据权利要求11所述的方法,其中第一设备还包括第一传感器,并且第二设备还包括第二源,该方法进一步包括: 在第一设备的第一传感器中检测来自第二设备中第二源的第二信号; 当在第一传感器中检测到第二信号时,使第一设备采用近程通信信道将第一直接响应提供至第二设备;以及 在第二设备中确定第一直接响应的时间是否小于第二预定阈值,以建立针对物理接近性的双向接近性验证。
16.一种系统,包括读取器和智能卡,其中采用权利要求1的方法验证读取器和智能卡的物理接近性。
17.一种系统,包括读取器和智能卡,其中采用权利要求7的方法验证读取器和智能卡的物理接近性。
18.一种系统,包括读取器和智能卡,其中采用权利要求10的方法验证读取器和智能卡的物理接近性。
19.一种系统,包括读取器和智能卡,其中采用权利要求11的方法验证读取器和智能卡的物理接近性。
20.一种系统,包括读取器和智能卡,其中采用权利要求15的方法验证读取器和智能卡的物理接近性。
全文摘要
接近性检查确保卡物理地接近读取器设备以禁止中继攻击。接近性检查使得中继攻击更加困难,因为必须拦截和/或欺骗或中继附加信道。该方案可以用于任何类型的近程通信,包括近场通信(NFC)。
文档编号H04B5/00GK103095346SQ201210430870
公开日2013年5月8日 申请日期2012年11月1日 优先权日2011年11月4日
发明者蒂莫·范雷蒙德, 让·布朗德, 卢卡兹·佐斯泰克, 马克·沃克莱尔, 佐兰·兹科维克 申请人:Nxp股份有限公司