本文节选自论文《Relay attacks on passive keyless entry and smart systems in modern cars》,首先介绍了汽车PEPS的功能,然后提出了针对无钥匙进入的中继攻击的两种方式,最后也指出了中继攻击的应对策略。
“泡椒坛子”是某高校安全专业的研一学生,本文他在学习过程中的部分翻译材料,编者与其学习交流过程中,发现本篇中继攻击通俗易懂,想必也能让大家对于无钥匙进入有初步的了解,于是邀请他对翻译材料进行了完善,因此有了以下推文。如有不对的地方,还望大家指正。--编者
一、引言介绍
关于进入汽车和授权驾驶(启动汽车):
1.传统上,访问和授权是通过物理钥匙和锁系统实现的,即用钥匙插入车门和点火锁;
2.在过去十年中,在这一系统基础上又增加了远程访问功能,按下钥匙扣上的按钮,就能远程打开汽车;
3.无钥匙进入和一键启动(Passive Entry and Passive start)也就是PEPS系统,如下图:
远程访问功能: 按钮远程Open/close汽车电池+通过超高频(315 or 433 MHz)通信,传输距离一般为10--100 米。
Transponder key(防盗器钥匙):其中射频识别(RFID)技术通常采用低频技术(120--135 KHz),RFID 芯片被嵌入钥匙弓中。当钥匙插入点火锁时,汽车会查询 RFID 标签,以确认钥匙是否经过授权。
RFID有两种工作模式:
被动工作模式(人无需动作):钥匙中的 RFID 标签通过感应耦合由汽车供电,通过汽车传输的电力,钥匙唤醒微控制器,解调挑战,计算响应信息,并在低频信道上回复。(要求钥匙和汽车之间的距离很近)
主动模式:与PEPS一起使用,钥匙与汽车之间的通信采用磁耦合射频信号。
注:RFID标签分为三种类型:低频(LF)、高频(HF)、超高频(UHF)
低频(LF)RFID标签通常工作在125 kHz或134 kHz频率范围内,具有较短的读取距离,通常用于近距离的识别和安全应用,如门禁系统、宠物标识等。
高频(HF)RFID标签通常工作在13.56 MHz频率范围内,具有较高的数据传输速率和适中的读取距离,常用于智能卡、支付系统、图书馆管理等领域。
超高频(UHF)RFID标签通常工作在860 MHz到960 MHz频率范围内,具有远距离读取、高速识别的特点,适用于物流追踪、库存管理、零售等需要大规模标签识别的场景。
一般来说,LF频段的信号传输距离较短、数据传输速率相对较低、信号穿透能力较强;HF频段的传输距离适中;UHF频段具有较远的传输距离、数据传输速率较高、穿透能力较差。
二、PEPS介绍
PEPS(无钥匙进入和一键启动)系统是指驾驶人员在随身携带智能钥匙的前提条件下,走进汽车车门把手的感应区域时拉动门把手,车辆即被解锁,待驾驶人员进入汽车内,只需按下一键启动按钮或转动一键启动旋钮就能够完成车辆的启动操作。(PEPS通常与外后视镜折叠以及自动升窗功能搭配使用,以显示自动锁车完成)。
PEPS 汽车钥匙使用一个LF(低频) RFID 标签进行短距离通信(主动模式下 1-2 米内,被动模式下几厘米内),并使用UHF(超高频) 收发器进行长距离通信(10 至 100 米内)。低频信道用于检测钥匙扣是否位于车内(启动发动机)和车外区域(1.5 m)。
PEPS 通常支持两种操作模式,即正常模式和备份模式。正常模式依赖于充电和工作的电池,而备用模式则在没有电池的情况下运行(例如,当电池电量耗尽时)。
正常模式两种实现方式:
a) 在典型的实现过程中,汽车会通过短信标(short beacons)定期探测信道是否存在钥匙;如果钥匙处于探测范围内,汽车和钥匙之间就会签订挑战-响应协议,允许或拒绝钥匙进入;由于密钥检测依赖于非常短的信标,因此这种方式非常节能。
b) 在第二种实现方式中,汽车定期直接用包含汽车标识符的较大挑战信标探测信道。如果密钥在探测范围内,它就会直接回应挑战。
备用模式:钥匙扣中嵌入一把备用物理钥匙,用于打开车门;为了启动发动机,系统使用钥匙的无源低频射频识别(RFID)功能;由于通信距离非常短,用户需要将钥匙放在车内某个预定位置(如汽车启动按钮)附近。
PEPS系统可能受到中继攻击的主要原因是, 为了打开和启动汽车,汽车不是验证正确的密钥是否在其物理邻域内,而是验证它是否能与正确的密钥通信,假定通信能力(即通信邻域)意味着邻域(即物理邻域)。这只适用于非对抗环境;在对抗环境下,通信邻域不能作为物理邻域的证明。有鉴于此,任何安全的 PEPS系统都需要让汽车和密钥能够安全地验证它们的物理邻近性;这是理所当然的,因为只有当合法用户(持有钥匙)与汽车物理距离较近时,汽车才能打开。
三、中继攻击
中继攻击是针对通信系统的一种众所周知的攻击,在基本的中继攻击中,信息从一个位置中继到另一个位置,以使一个实体看起来更接近另一个实体。
在这篇文章中,设计并实现了一种物理层中继攻击。这种攻击不需要解释信号,也不需要修改信号,即只引入模拟射频元件的典型延迟。只向一个方向(从汽车到密钥)中继信号就足以实施攻击,而密钥和汽车之间的真实距离仍然很大(测试距离达 50 米,非视距)。通过设置,智能钥匙可以在最远8米的地方被唤醒。
之前提出的许多中继攻击都是对信号进行调制和解调,它们通常依赖于假冒的阅读器和 RFID 标签;
明显优势是可以使用现成的商用(COTS)硬件
缺点是首先,调制和解调会大大增加攻击的响应时间;这一额外时间可能会被检测到,并被用作中继存在的证据。其次,这种实现依赖于信号的调制和编码,这使得中继特定于某些密钥模型,不具有普遍性。
1) 线缆中继攻击
中继器由两根环形天线和一根电缆连接组成,可放置放大器以提高信号功率。当环形天线靠近门把手时,捕捉汽车信号并形成局部磁场。信号经过电缆传输到第二根天线,最终激发钥匙的天线,触发钥匙发送开门信号,解锁车门后将中继天线带入车内,启动汽车以使钥匙发送启动信息。这样,攻击者可以通过超高频信道发送打开或启动授权信息,实现车辆进入和启动。(通过电缆进行中继可能会带来不便或引起怀疑;如墙壁或门的存在可能会阻碍中继)
2)远程中继攻击
放大与滤波 放大与滤波
我们的攻击使用专用射频链路转发汽车的低频信号,通过发射器和接收器两部分组成的链路实现。发射器捕捉低频信号并将其转换成2.5 GHz信号后放大传输,接收器接收并下变频,再次放大并发送到环形低频天线上,再现汽车原始信号。实施打开和启动汽车发动机的程序与此相同。
在电缆低频中继中,延迟主要由固体同轴电缆中的波传播速度引起,大约为空气中传播速度的66%。放大器的延迟约为几纳秒。
而在无线低频中继中,发射器和接收器电路的延迟约为15-20纳秒,其余延迟由于天线之间的距离引起,例如30米的距离约为100纳秒。
当攻击者成功启动汽车离开时,中继器将停止激活。汽车可能会检测到钥匙丢失,但出于安全考虑不会立即停止行驶,而是继续。钥匙丢失可能有多种原因,包括电池耗尽。有些汽车型号在行驶时未检测到钥匙不会通知用户,而其他型号会发出警告音。在发动机启动后未检测到钥匙时,经过评估的汽车不会停止发动机。
四、中继攻击对策
1) 直接对策:
屏蔽钥匙:将汽车钥匙(钥匙扣)置于保护性金属内,从而在钥匙周围形成一个法拉第笼来实现这一目的;(铝衬小钥匙箱)
移除密钥上的电池:要禁用密钥的无线通信能力,只需取出钥匙中的电池即可,这将使超高频无线电失效;
通过简单的软件修改:用户可以暂时禁用无钥匙汽车装置。当用户按下钥匙扣上的关闭按钮关闭汽车时,无钥匙进入系统(PKES)将保持禁用状态;
门禁限制:例如,在没有检测到钥匙存在的情况下,汽车会在门把手被拉出后迅速停止发送信号,尽管无法阻止中继攻击,但这会迫使攻击者做好充分准备并保持同步。攻击者必须在钥匙持有人经过中继天线前拉出车门把手;
硬件改装:在钥匙上加一个简单的开关,就能产生与拆除钥匙扣电池类似的反制效果。
2) 依赖射频距离边界的PKES
PKES系统的主要目的是允许靠近汽车的用户进入并授权其驾驶。通过距离约束法实现安全PKES系统是一种自然方法。距离绑定协议涉及验证者和证明者之间的快速信息交换,通过测量往返时间来计算设备之间的距离。射频距离绑定是PKES系统中可行的选择,因为超声波容易受到中继攻击。
验证者发出挑战,证明者回复,并根据挑战的函数计算响应。距离绑定协议依赖于信息的认证和新鲜度以防止攻击。最近的射频距离绑定方法表明验证者处理时间稳定在较小方差内,满足PKES系统要求。PKES系统通过执行安全的距离界限协议来允许用户进入汽车并启动。汽车验证钥匙位置的可验证多方位协议需要在汽车内放置三个验证节点(或者更多节点),形成验证三角形,从而安全计算密钥位置。
从而实现以下场景:当用户接近汽车时,密钥和汽车会执行一个安全的距离界限协议。如果验证钥匙在 2 米距离内,汽车将解锁并允许用户进入;为了启动汽车,汽车将验证钥匙是否在车内。
3) 具体来说,这个方法包括以下关键步骤:
距离界限协议的建立:通过验证者(如汽车)和证明者(如钥匙)之间的快速信息交换,测量它们之间的距离界限。验证者发送挑战信息,证明者处理并回复,验证者根据往返时间和处理时间计算距离。
使用射频通信:选择射频作为通信方式,以克服超声波距离绑定易受中继攻击的问题,并实现快速、准确的信息交换。
确保信息认证和新鲜度:通过实施挑战-响应机制,保证验证者发出的挑战对证明者是不可预测的,而证明者的回复是基于这些挑战计算得出的,从而防止攻击者缩短测量距离。
精确测量往返时间:精确测量验证者和证明者之间的往返时间,并根据这个时间差计算出实际的距离。通过比较测量结果与预期的延迟,可以检测到任何由中继攻击造成的额外延迟。
稳定处理时间:确保证明者(钥匙)具有稳定的处理时间,这对于准确测量距离至关重要。
应用可验证多方位协议:为了启动汽车,需要验证钥匙是否在车内。通过采用可验证多方位协议,在汽车内部设置多个验证节点,形成一个验证区域,以安全地确定钥匙的位置。
五、总结
本文研究了汽车无钥匙进入系统(PKES)的安全性,并揭示了一个令人担忧的问题:来自不同汽车制造商的汽车中的PKES系统均存在易受中继攻击的风险。这种攻击手段巧妙利用了中继原理,攻击者只需在钥匙持有人附近放置一根天线,同时在汽车附近放置另一根天线,便能轻易地打开车门并启动发动机。
为了更全面地了解这一攻击方式,我们分析了PKES系统的关键时间特征,并成功地在有线和无线环境中演示了这种攻击的可行性。值得注意的是,尽管我们的测试集中在一组特定的PKES系统上,但由于中继攻击的普遍性和PKES系统设计的相似性,我们推测其他基于类似设计的PKES系统也很可能面临同样的安全风险。
为了应对这一挑战,我们提出了一些简单的应对措施,这些措施能够在一定程度上降低中继攻击的风险。然而,令人遗憾的是,这些措施的实施可能会影响到PKES系统的正常运行,从而给车主带来不便。
最后,我们积极探讨了针对中继攻击的最新解决方案,这些方案旨在在保留PKES系统使用便利性的同时,提升其安全性。我们相信,随着技术的不断进步和研究的深入,我们将能够找到更加有效的防护措施,确保汽车访问和授权驾驶系统的安全。
说明:本公众号为青骥信息安全小组所有,不隶属于任何商业机构,部分信息为网络收集,版权归原作者所有,文中观点仅供分享交流,不代表本公众号立场。如涉及版权等问题,请您联系ICVSec@126.com告知,以便及时处理,谢谢!
声明:本文来自汽车信息安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。