为何汽车钥匙扣加密攻击事件屡上新闻头条
现代汽车本质上是“跑在轮子上的软件系统”——是集成了娱乐、制动、动力、门锁、车窗控制等各类车载系统的智能化集合。随着车辆中电子控制单元(ECU)的数量激增,代码行数也随之暴涨,给黑客留下了大量可乘之机。
而内置身份验证机制、用于管控车辆访问安全的小型硬件设备——钥匙扣,已被证实是网络犯罪分子攻击车载系统的易入手目标。
和其他车载系统一样,钥匙扣的功能也日益复杂,支持各类拓展特性。它不仅能解锁车门、解除安防系统、激活点火控制,还可用于降下窗玻璃、打开天窗、折叠后视镜、设置座椅位置和收音机电台频道。Tesla Model S 和 Model X 的钥匙扣甚至支持触发自动泊车和自动驶出序列:按下钥匙扣上的“Summon(召唤)”按键,你的Tesla就会自动行驶到你面前。
这些丰富功能使得钥匙扣加密成为网络攻击极具吸引力的目标。功能越多,通过该接口传输的数据量就越大,黑客在尝试破解加密方案、克隆钥匙扣时可用于分析的数据也就越多。
钥匙扣加密的工作原理
绝大多数钥匙扣采用射频识别(RFID)应答器,实现车辆解锁及各类附加功能。
- 钥匙扣向车辆发送加密数据,这类数据通常为滚动码,可供车辆识别钥匙扣身份。
- 随后车辆对该数据进行解密,并基于解密后的数据完成身份验证,确认该钥匙扣有权解锁对应车辆。
- 身份验证由车辆的防盗器完成,防盗器是车载防盗系统的组成部分。只有当防盗器成功完成钥匙扣的身份验证后,车辆才能启动,以此防范盗车贼通过搭线方式启动车辆。
已有多种攻击方式证实这类加密机制可被破解,未授权方可复制钥匙扣,随后像车主本人一样解锁车辆并驾车驶离。这类攻击可绕过钥匙扣与防盗器之间的加密机制,造成严重的安全漏洞。
尽管目前在用的钥匙扣分很多种,但其实现所依托的底层技术大多相似,部分产品甚至采用了完全相同的芯片组。大多数钥匙扣使用对称加密算法。在深入介绍钥匙扣的安全漏洞之前,我们先来详细了解对称加密与非对称加密的区别。
非对称加密与对称加密
大多数安全协议和安全系统会同时使用对称加密与非对称加密。例如,SSL/TLS 证书在会话初始阶段使用非对称加密安全交换对称密钥,随后在会话过程中切换为对称加密,使用密钥交换阶段协商好的密钥进行通信。这种设计的原因值得说明。
对称加密
对称加密的原理非常直观。通信双方共享同一个密钥(见图1)。
当然,这里存在一个问题:如何交换密钥才能避免被人或设备截获?这就需要用到非对称加密,它可以实现对称密钥的安全交换。
非对称加密
非对称加密采用由公钥和私钥组成的密钥对公钥与私钥(见图2)。每个节点都拥有独立的密钥对,其中私钥必须妥善保管、严格保密,公钥则可分发给其他节点。
密钥对的生成机制确保:使用公钥加密的数据只能通过对应的正确私钥解密,反之亦然。若设备A需要向设备B发送数据,设备A可使用设备B的公钥加密数据,该数据仅能通过设备B的私钥解密。由于只有设备B持有该私钥,因此仅设备B可解密这条消息。
所有密钥对都存在数学关联,以支撑上述加解密机制的运行。
私钥绝对不得交换,这一点至关重要;仅可公开公钥。公钥与私钥之间的数学关联保证了:使用公钥加密的数据只能通过配套私钥解密,且仅能由预期接收方的私钥解密。
非对称加密的一个主要缺陷是,其CPU周期消耗可能达到对称加密的100倍。这种处理负载会给各类系统带来问题,尤其是执行时间敏感操作、和/或系统资源有限的嵌入式设备。对应的解决方案是:仅在初始阶段运行非对称加密会话,建立加密连接以交换秘密对称密钥;之后的通信会话全程使用该对称密钥加密。
截至目前,多数汽车制造商为遥控钥匙采用对称加密方案,一旦对称密钥泄露,整个系统就会面临安全风险。
遥控钥匙加密失效案例
通过谷歌搜索可快速检索到大量已发生的遥控钥匙加密失效事件。由于汽车厂商常在不同年款车型中复用技术,某一车型上发现的攻击方式可能影响其他品牌和型号的车辆。目前已发现的遥控钥匙系统漏洞包括:
- 重放攻击漏洞:黑客可录制遥控钥匙发送的传输信号,随后向同一车辆重放该信号。
- 由公开数据生成加密密钥:部分场景下,加密密钥可通过应答器公开可读的信息(如应答器序列号)经算法推导得出。一旦该算法被破解,即可为任意应答器生成对应密钥。
- 加密密钥生成的熵不足:安全密钥必须具备随机性,但许多遥控钥匙无法获取足够的随机数据支撑密钥生成,导致生成的加密密钥可被预测。
- 可被获取的加密密钥:某款遥控钥匙的加密密钥存储在384字节的EEPROM中,攻击者可结合读取遥控钥匙EEPROM的攻击手段与暴力破解攻击(尝试EEPROM内所有字节序列匹配加密密钥),最终获取该密钥。
- 密钥强度不足,属于已淘汰标准: 针对AES加密算法(对称加密),NIST建议密钥长度不低于128位。但部分遥控钥匙仅使用40位或80位密钥长度,导致相关方案极易被破解。
选用合适硬件提升遥控钥匙安全性
上述所有失效场景的核心问题,都是试图使用对称加密算法做认证:对车辆用于校验遥控钥匙的共享滚动码进行加密。此外,底层加密算法强度不足及其他实现缺陷,进一步加剧了安全问题。
归根结底,强认证最适合通过非对称加密实现。毕竟这正是非对称加密的设计初衷。
要实现遥控钥匙的高安全性,汽车厂商必须采购支持非对称加密的硬件,确保选用合规的密钥长度与算法,并验证所有密钥生成时使用了足够的熵,保证密钥真正随机。
搭配合适软件与公钥基础设施(PKI)优化遥控钥匙加密
合适的硬件方案是打造汽车遥控钥匙安全认证方案的第一步。硬件方案必须搭配不易被攻破的认证方案,其中采用非对称加密的基于证书认证是可靠的解决方案。
落地这类方案需要一套公钥基础设施(PKI)来签发和管理证书,例如Sectigo的物联网身份管理 平台可帮助整车厂商快速、便捷地部署可扩展、易管理且具备成本效益的公钥基础设施(PKI)方案。
车辆认证的独特实现路径
针对这一问题,苹果采取了独特的解决思路。2020年2月面向开发者推送的iOS 13.4版本中,新增了“CarKey API”。该API可与Apple Wallet配合,让手机能够向车辆的身份认证应用完成认证。由于认证的对端是车辆端应用,认证强度仍取决于车企对该车辆应用的实现方式。
话虽如此,该方案确实解决了很多主打极低成本设计的遥控钥匙普遍存在的问题。iPhone自带足够的处理能力和安全特性,可实现强身份认证,且不会推高遥控钥匙的成本。此外,苹果始终在产品中内置高强度安全机制,不太可能出现很多遥控钥匙系统存在的安全设计疏漏。
其他企业也在研发智能手机应用,同时落地生物识别认证方案,用来替代基于遥控钥匙的方案或作为其补充。
小结
简言之,密码学的落地难度极高。新的密码方案必须经过大量安全专家全面、广泛的验证,才能被广泛接受。几乎所有安全关键系统都会采用经NIST批准的安全算法,以及NIST推荐的密钥强度。只要设计环节偏离了这些经过批准和验证的安全算法,方案就可能存在漏洞风险。为设备新增安全能力时,必须确保系统能够抵御常见攻击,并且采用与该设备安全需求相匹配的密码方案。仅仅因为成本低或实现方便就选用某种密码算法是完全不可取的——对于下一代智能网联自动驾驶汽车而言更是如此。
你可以收听Root Cause栏目的《汽车遥控钥匙与密码学》”.
参考资料:
https://gizmodo.com/encryption-flaws-leave-millions-of-toyota-kia-and-hyu-1842132716
https://the-parallax.com/2019/05/03/hacker-ford-key-fob-vulnerability/
https://www.komando.com/news/car-key-fob-hack/710010/
https://www.cnet.com/roadshow/news/tesla-key-fob-model-s-new-vulnerability-hack/
https://tches.iacr.org/index.php/TCHES/article/view/8546/8111

