车真的那么容易偷吗?汽车无线钥匙通信安全科普

简介:

不久前在HackPWN的启动仪式上,安全人员仅用2分钟就通过无线钥匙破解了一辆奔驰汽车,看起来黑客要偷走一辆汽车很容易。真的这么简单吗?作为无线安全研究者,在这里给大家做一点简单的汽车无线钥匙通信安全的科普。

先从汽车无线钥匙的“信号”长什么样说起吧?

常见的汽车无线钥匙一般工作在两个频点,315MHz和433MHz。调制方式比较常见的有两种,ASK和FSK。复杂一点的有双频点FSK,还见过多频点ASK的。

可以用俗称电视棒的一种小硬件来观察汽车钥匙的无线信号。在网络上搜索“RTLSDR”,”电视棒”,就可以找到。它本来是用来插在电脑上,收看电视节目的。大概50块钱就可以买到。

把它接上天线,然后插到电脑上,使用一些观察频谱的软件就可以看到,比如:

-  HDSDR (http://www.hdsdr.de/)
-  SDR# (http://sdrsharp.com/)
-  Gqrx (http://gqrx.dk/)

把频点设在汽车钥匙使用的频点上,就可以看到像下图这样的频谱。

这是一辆奔驰车的钥匙信号频谱。频段是433MHz。中心频点是433.96MHz。

这是一辆奥迪车钥匙的信号。

从图中可以看出,信号的频段是315MHz频段。中心频点是315.04MHz。

这里使用的软件是HDSDR。我们将这段信号存为波形文件。

使用音频分析软件打开波形文件。

这就是一次按键发出的信号。有两段信号。如果按的时间长一点,就会是这样。

出现好几段信号。按下的时间内,钥匙持续发出一段一段的信号。这里面的每一段信号都是一样的,重复发送。我们来仔细看一下每一段信号的样子。

把信号放大展开,可以看到每一段信号,前面部分是一些重复的脉冲,就叫它同步引导序列吧,它用来提示接收机有信号即将到来,还可以获得时钟信息。后面的部分是有效的数据。

我们把一次按键的两段信号拖到一起,比较一下。

可以看到是完全一样的。如果把两次按键的信号放在一起比较。

 

可以发现,两个信号是不一样的。也就是说汽车钥匙每次按键,发射的信号是不一样的。

这就是大名鼎鼎的“滚动码”,“Rolling code”。

滚动码的原理大致是这样滴:

复制代码
1.滚动码是一个周期很长的伪随机码。例如有240。意思就是码的长度有40个bit。现在大部分车钥匙的码长都比40bit长。
2.车钥匙里存有当前的滚动码。当车钥匙按下时,滚动码加上功能码(比如是开锁,解锁,还是开后备箱)一起发送给汽车。
3.汽车也存有当前的滚动码。当它收到同样的滚动码时,它就执行相应的开锁之类的操作。如果收到的码不匹配,它就不做任何动作。
4.车钥匙和汽车里的滚动码是保持同步的。
5.当车钥匙距离车很远的时候,有人不小心按了几次车钥匙,车钥匙的随机码就会前进好几步。此时跟车内的码就不同步了。为了解决这个问题,汽车允许接收当前码之后的(比如)几百个码。只要车钥匙发送的码在这个窗口之内,汽车都认为是有效的。
6.如果车钥匙被误按超过设定的几百次,那么车钥匙和车就彻底失去同步了。这时,需要查找汽车的使用手册,找到恢复同步的方法了。
复制代码

从上面这个原理可以看出来,如果我们能得到汽车当前滚动码“之后”的一个码,只要在窗口之内,就可以把车打开。怎样才能得到一个有效的,未被使用的码呢?比较简单的方法是这样的:

录制一段信号,然后到汽车那边去播放。

或者是,一边录,一边播……

不管怎样都需要接触到车钥匙,所以这并不是那么容易的事情啊。录音工具呢,有很多种,用前面讲到的电视棒就可以了。播放工具呢,也有很多种,比如rfcat (http://int3.cc/products/rfcat)

再比如,使用TI的C1111自己做一个RF收发分析器,比如UnicornTeam做的下面这个东西(增加了PA和SMA)

那有没有不需要接触钥匙,就能得到一个有效码的方法呢?

当然也是有的,那就是一些高级方法了。下面进入密码学的学术领域……

http://www.cosic.esat.kuleuven.be/keeloq/

这个链接是2007年以色列和比利时的几个研究者,找到的一种破解滚动码的方法。它需要先花大约一个小时的时间对钥匙进行65536次试探,解出64bit中的36个bit,然后再花几秒钟就可以完全破解钥匙的滚动码。完全破解的意思就是,这个伪随机码的全部规律都已经被破解了,可以知道下一个码是什么。

在实践中,它需要用相应的芯片(也就是汽车端配对的芯片)伪造一个transponder and encoder,让它工作在IFF(IDENTIFY FRIEND OR FOE)模式,对车钥匙发出试探信号(challenge),车钥匙发回一个response。车钥匙每产生一次response需要60ms或90ms。因此,收集65536个challenge/response消息对,需要65或者98分钟的时间。而且,车钥匙能够支持IFF模式的距离是多远呢?应该是非常近的距离。所以场景差不多是这样滴:

http://www.emsec.rub.de/keeloq

2008年,德国鲁尔大学的几个研究者使用了side-channel attack(中文有翻译为,旁路攻击,也有叫边信道攻击)的方法,通过分析解码控制器的功耗来解出KeeLoq密码。因为控制器在做不同运算时消耗的功率是不一样的。通过测量控制器的功耗,结合KeeLoq的算法,这种算法基本上是很成熟和固定的,可以推导出控制器中存储的密钥是什么。他们的研究成果,把破解KeeLoq密码的时间缩短到了几秒钟。

看起来这个方法是最牛最高效的了。但是你仍然要接触到钥匙,还要懂得怎么测量控制器的功耗,能分析出啥时候在算乘法啥时候在算加法……估计全世界懂这个技术的人也不多了。

所以!开车门也不是那么容易的。实践中,小偷们的开门方法其实是这样的。

以上说的都是通过钥匙的无线信号解锁的方法。现在的车越来越智能,出现了用蓝牙连接,用手机APP通过蜂窝网络连接,等等各种新的开车的方法。就不在本文讨论的范畴了。一个系统越复杂,可能出现的漏洞就越多。

另外,开关车门和发动汽车又是两码事,分别有两个系统管理。所以即使打开了门,也很难把车开走。你以为扯出两根电线短路一下就能发动汽车吗?那都是电视剧!

Hack,这个词有拆开来,钻进去,看看里面究竟是怎么回事,这样的意思。所以我们常常说破解XX,未必是有漏洞能利用,也有分析内部原理的意思。HackPWN的“真极客,放胆破”,这句文案,我觉得不错。:) @Alin

本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/4618256.html   ,如需转载请自行联系原作者
相关文章
|
自动驾驶 定位技术 vr&ar
航空摄影测量设备科普
航空摄影测量设备科普
160 0
|
5月前
|
人工智能 监控 安全
智能家居技术:打造未来生活的钥匙
在这篇文章中,我们将探索智能家居技术的奇妙世界。通过分析其工作原理、实际应用和潜在好处,我们会发现智能家居技术如何成为现代生活不可或缺的一部分。文章将揭示智能家居系统如何提高生活质量,节约能源,以及它们对未来生活方式的影响。
|
机器学习/深度学习 机器人 芯片
全球首例!通过植入电极向腿部发射信号,让瘫痪者重新行走、游泳、骑行
五年前,Michel Roccati在一次摩托车事故中瘫痪。由于脊髓完全被切断,他的腿之后再也没有任何感觉。 不过最近,他又可以重新走路了。通过一次手术,研究者将一块电子芯片植入物连接到他的脊椎上,代替脊髓向腿部肌肉发射信号。
186 0
全球首例!通过植入电极向腿部发射信号,让瘫痪者重新行走、游泳、骑行
|
机器人 智能硬件
日本毕业典礼变“僵尸开会”!学生远程遥控,机器人代领毕业证,校长居然没笑场
日本毕业典礼变“僵尸开会”!学生远程遥控,机器人代领毕业证,校长居然没笑场
140 0
日本毕业典礼变“僵尸开会”!学生远程遥控,机器人代领毕业证,校长居然没笑场
|
算法 安全 物联网
真!无钥匙!数字钥匙在智能电动车领域的实践
真!无钥匙!数字钥匙在智能电动车领域的实践
真!无钥匙!数字钥匙在智能电动车领域的实践
|
人工智能 智能硬件 图形学
3D投影仪进入家庭生活,你准备好了吗?
近些年,智能家居出现在荧幕中的频率逐渐增高,很多热播剧也在传递着黑科技赋能生活的理念。《欢乐颂》主角家里配置的智能可视对讲机、智能门锁,安迪使用床头控制面板打开窗帘等场景令人憧憬。在《我的前半生》中,贺函家配置智能管家系统,到家整间屋子的灯光都能通过智能管家系统控制启动,再也不用黑灯瞎火到处找开关。
3885 0
|
安全
震惊!你家的智能冰箱可以监视你的一举一动
本文讲的是震惊!你家的智能冰箱可以监视你的一举一动,现在,您的智能手机,平板电脑,智能冰箱,智能电视和其他智能设备已经变得越来越智能化,毫无疑问这样会使您的生活更轻松,但是如果没有妥善的保护,他们的智能行为就会被黑客利用来窃取数据,进而获取你的隐私。
1554 0