近日,比利时鲁汶大学的研究团队发现了Tesla Model S中PKES(无钥匙进入系统)与无线钥匙的认证过程存在安全问题,利用这个安全问题,黑客可以在几秒内复制汽车钥匙将汽车偷走。
Tesla Model S的PKES并未自己设计,采用的是由Pektron提供的方案,其中使用的是挑战-响应认证协议,如下图。
认证过程中的唤醒帧(wake)由汽车发送低频信号134.2kHz,其中包含了汽车的身份信息,由于是广播性质的信号,任何人都可以获取到这个唤醒帧信息,之后钥匙将回复一个回复帧(reply)告知车端设备钥匙已经准备好了随时可以进行挑战-响应认证。
挑战-响应认证使用的是专利已经过期的由德州仪器持有的DST40签名算法,这个算法依赖一个40位的密钥,认证步骤主要有三步:
- PKES发出40位挑战;
- 钥匙收到40位挑战后用40位的密钥进行加密,生成40位的密文,截取24位返回给PKES;
- PKES收到密文,与本地比对,如相同则认证通过。
由于响应只有24位,小于40位的挑战和密钥,因此我们需要至少两个挑战-响应组合去还原出秘钥;由于非常小的密钥空间和弱的双向认证方式,导致了Time-Memory Trade-Off攻击。
PoC
- 记录唤醒帧传输的2字节的汽车身份信息;
- 模拟汽车发送2次40位的挑战给钥匙,并记录下24位的响应;
- 用记录下的挑战-响应对去查询TMTO表恢复出40位密钥,第一对用于查找响应的子集,第二对用于在2^16中找到真正的密钥;
- 至此可以模拟出真正的钥匙解锁、开走汽车。
影响范围
根据FCC的数据记录,Pektron也为McLaren、Karma、Triumph等OEM厂商提供了无钥匙进入方案,均使用了德州仪器的TMS37F128芯片,这使得我们相信这种攻击将不仅仅可以用于Tesla Model S。
安全建议
- 将钥匙装入屏蔽RF的隔离容器中携带;
- 在钥匙上加入额外的按钮,按下按钮后才启用低频通信功能;
- 关闭Tesla Model S的无钥匙进入功能,开启PIN码行车的功能。
相关链接
HACKERS CAN STEAL A TESLA MODEL S IN SECONDS BY CLONING ITS KEY FOB
Security Analysis of a Cryptographically-Enabled RFID Device