西西河

主题:【原创】汽车遥控防盗器安全吗 -- 代码ABC

共:💬18 🌺37 新:
全看树展主题 · 分页 下页
家园 【原创】汽车遥控防盗器安全吗

微博在吵架,我来做科普。

之前有个报道说有一伙偷车贼在停车场通过干扰汽车遥控器的锁车信号来偷车,如果你是下车后随便按一下锁门按钮就走的马大哈的话,就要小心了。不过这则消息后来传成有一伙高科技的偷车贼能够通过监听遥控器和汽车之间的通信,破解出通信密码,然后就能把车开走。听起来很神奇,也有一定道理。那么事实是怎么样呢?

首先,干扰锁门信号那个可能是真的,不过比较容易被发觉,成功率不会很高。小心一点就好了。另外,新的遥控锁会自动检测钥匙在不在感应范围内,如果不在就会自动锁车,干扰信号可能帮忙把车给锁好了。

而后面那种说法就目前我能查到的资料来看,基本是不可能的。

监听遥控和车内接收器的通信相对比较简单,虽然遥控器的发射功率很低。但是现在要搞一个高灵敏的接收机还是很容易的,作为一个无线电专业的本科生我可以很确定的说,要在50米内监听钥匙发出的信号,接收机的成本不超过10元人民币。在网上买适合的元件自己组装调试,大致只需要2天功夫而且不需要任何昂贵的仪器。由于各地无线电管理条例对无线电发射装置使用的频段有严格规定,因此找出各种汽车遥控器发射频率也不是一件很麻烦的事情。有些国家和地区甚至直接规定了这类设备使用的频点,比如欧洲某些地方就要求汽车遥控钥匙的发射频率必须在433.92 MHz,上下限分别是433.05和434.79 MHz。所以监听在技术上并不困难。另外,从载波解调出基带信号也不困难,具体的就不细说了。因为这不是重点。

重点是,我们拿到这个通信编码——遥控器和车内接收器之间的通信是二进制编码,能否打开车门。这个问题在90年代早期的时候是可以的,那时这些编码是未经加密的明码,而且是固定的。其格式主要包括一个地址码和一个操作码。每辆车都有一个不同的地址码,当收到遥控信号时会自动比较本车的地址码和信号中的是否一致,如果一致那么就会执行动作码指定的动作。这种方式很容易被回放攻击,也就是只要回放或者复制出监听到的内容就可以把车开走。由于动作码很少,实际只要解出地址码,就可以复制出各种遥控信号。包括开门/关门、开灯/关灯等等。这种高科技偷车的黄金时代理所当然地只持续了很短的时间。这种简陋的遥控方式很快被取代了。以下是新方法的一个简单描述。

新的遥控码一般分成操作码、序列号和安全码三部分。操作码和序列号是明文传输,而安全码则是靠一个伪随机算法计算出来的随机数,这个随机数和序列号相对应,一个序列号对应一个随机数。每次我们按下遥控器按钮序列号都会增加,并重新生成一个(伪)随机的安全码。接收机会根据序列号计算随机数,如果匹配那么就表示验证成功,执行操作码规定的动作。并且记录这次成功操作的系列号。下次再收到遥控信号时,在计算随机数做匹配前会比较发送过来的序列号,新的序列号必须大于最后一次成功操作的序列号。这样回放攻击的威胁就被简单地解除了。序列号是明码传输的,所以手欠的同学也不用担心,没事的时候在办公室狂按遥控器不会让钥匙和汽车失去同步。只要你钥匙上的序列号大于汽车上保存的,就是让汽车里的计算机多算几次而已。

由于安全码通常有足够的长度(某个常用芯片是28位),使用穷举法试密码就算一秒钟可以试10次,也差不多要1年的时间。比较靠谱的办法就是对(伪)随机算法做破解。

还真有人这样尝试过。话说现在汽车遥控器的芯片主要是由KEELOG(Microchip?)这个公司生产。绝大多数品牌的车用的都是这个芯片。不过,这个算法是保密的!

大家有没有一种熟悉的感觉——曾经的DVD悲剧?

07年的时候,有一家机构声称破解了KeeLog的算法,当然这个破解时间比较长,在车库停车的那点时间是搞不定的。然而,这个破解据称是颠覆性的,因为破解者声称他们找到了算法的弱点,以及破解出KeeLog给几个车厂的密钥!这样,他们可以任意复制各个厂家的电子钥匙!诡异的是这个事情没怎么传出来,令我对国内微博的传输效率非常失望。

KeeLog好歹修补了这个漏洞,详情不知。不过08年继续有报道KeeLog再次被破解,也是通过监听信号,分析攻击。不过这次KeeLog官方明确否认报道的真实性。然而同时升级了他们的产品。

那么,汽车遥控防盗器安全吗?

个人看法,如果使用了类似KeeLog这种技术的还是安全的,其安全性大致和使用U盾玩网上支付差不多。以上技术都是来自国外的网站,讨论的也是国外品牌的车辆。国内的怎么样呢?要不,各位谁寄条钥匙过来我瞧瞧?

补两个连接

Researchers Crack KeeLoq Code for Car Key

Researchers crack KeeLoq RFID technology - Again

关键词(Tags): #信息安全(Max422)#防盗(Max422)通宝推:铁手,
家园 我觉得安全最好是不是能不依赖于keeloq算法保密吧

人家Kerberos那套都是公开的不也用的好好的,对于车和钥匙之间来说key的分发复杂性也不大。

家园 这是有原因的

Kerberos需要双向通信,而且两边都必须有处理能力。而汽车钥匙那小块地方做不到这点,只能单向通信了。以后如果把手机用上估计就好很多了......也不对,黑一个智能手机也许更简单啊。

家园 钥匙这么弱啊

好像现在有的IC卡都能上AES了。

家园 如果密码验证的一部分在车上,应该就没法破解了吧

现在的方式是从遥控器发送所有信息到车上,在车上进行验证,然后执行。这样,知道加密算法就可能破解。

如果把一部分验证信息固定在车上的接受器上,不进行传输也就没法截获,也就没法破解。

另外,有些好奇的是,如果车子断电几天,是不是就会乱套了?

家园 IC卡是外部无线供电的,钥匙不好解决这个问题。

RT

家园 keeLog算法是不保密的

我手头就有一份源代码。由于KeeLog在中国没有申请专利,国内厂商都是用单片机模拟。

KeeLog算法的核心是16位计数器,理论上可以在几分钟内穷举破解,现在主流的国外车厂都已经不用KeeLog。

家园 keelog算法被黑过

应该是06年,俄罗斯有人黑了KeeLog的服务器把他们的算法偷出来,并公布在网上。然后才有07年比利时和以色列大学里的一伙人去破解。我这块写的太简略了,回头我再补充。

由于我不是搞这块的,其实对这里面的技术细节不是很清楚。欢迎补充。

家园 钥匙里也有电池啊

如果可充电的话,耐用性更好些吧,开车时就可充电。

家园 2003年至少200个中国人的电脑中就有KeeLog的源

2003年至少200个中国人的电脑中就有KeeLog的源代码,事实上由于KeeLog的算法半公开,Microchip的KeeLog生成器在中国一直卖不出去,中国公司都是用一个MCU模拟。现在各公司更是基于KeeLog的原理改进,都自称自有知识产权的算法, 嘿嘿。

另外, 基于KeeLog算法的是不能用干扰接受再重发代码的方式开锁的。相反,基于DES等其他加密算法有这个问题。丰田、本田的都是如此。

家园 如果每辆汽车都有一个无线应答器,回应警察无线问询

那么一旦车被盗,报案后告诉警察应答器密码,警察可以启动这个应答器使得被盗车被定位,甚至使用这个装置切断车上电源?

这个应答器平时不用,是否可以防止密码被偷?

另外如果遥控是红外波而不是无线电,小偷有办法拦截信号?

家园 无线应答器解决不了被偷的问题

这个方法可以部分解决被偷后追踪的问题。

理论上使用无线介质都有可能被拦截或监听,红外也有反射和散射范围。

家园 这个想法行不通啊

验证信息如果不全部放在钥匙上,钥匙就无法回答全部的验证问题。反过来你知道钥匙上的验证信息不完整,你也无法完整验证钥匙。

没电的问题很好解决,物理钥匙还是一直保留的。我们被科技搞得头脑发达四肢简单了,呵呵。

家园 其实KeeLog的原理还是不错的

就身份验证问题也没有太多的选择,加密和身份验证是两回事,虽然实现的时候可能有些联系。

家园 事实上,密码协议在这里的作用不大

我在续篇里面有解释。虽然可以在钥匙里放进一颗CPU,但是身份验证问题和有无CPU关系不大。

全看树展主题 · 分页 下页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河