设为首页收藏本站

爱吱声

 找回密码
 注册
搜索
查看: 6607|回复: 19
打印 上一主题 下一主题

[科普知识] 汽车遥控防盗器安全吗

[复制链接]
  • TA的每日心情
    开心
    2022-8-10 16:37
  • 签到天数: 1067 天

    [LV.10]大乘

    跳转到指定楼层
    楼主
    发表于 2012-4-5 23:09:08 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 code_abc 于 2012-4-6 20:21 编辑 # T- o* G  b1 n& A. a5 D
    * S  \8 q3 z, v: v% g
        微博在吵架,我来做科普。
    ) F8 `$ _" c) W8 }4 Y9 p# H3 j
    / d8 r& {& b) X5 g& c" p    之前有个报道说有一伙偷车贼在停车场通过干扰汽车遥控器的锁车信号来偷车,如果你是下车后随便按一下锁门按钮就走的马大哈的话,就要小心了。不过这则消息后来传成有一伙高科技的偷车贼能够通过监听遥控器和汽车之间的通信,破解出通信密码,然后就能把车开走。听起来很神奇,也有一定道理。那么事实是怎么样呢?5 t: B- h, j$ p1 E
    0 {1 c# p) P+ C
        首先,干扰锁门信号那个可能是真的,不过比较容易被发觉,成功率不会很高。小心一点就好了。另外,新的遥控锁会自动检测钥匙在不在感应范围内,如果不在就会自动锁车,干扰信号可能帮忙把车给锁好了。
    2 ?4 l1 Q; |4 d& d: o
    * y0 [$ L6 r5 z# H    而后面那种说法就目前我能查到的资料来看,基本是不可能的。
    6 e3 l! k- o& R9 X
    8 z% f* G7 |8 \: B; ?* I    监听遥控和车内接收器的通信相对比较简单,虽然遥控器的发射功率很低。但是现在要搞一个高灵敏的接收机还是很容易的,作为一个无线电专业的本科生我可以很确定的说,要在50米内监听钥匙发出的信号,接收机的成本不超过10元人民币。在网上买适合的元件自己组装调试,大致只需要2天功夫而且不需要任何昂贵的仪器。由于各地无线电管理条例对无线电发射装置使用的频段有严格规定,因此找出各种汽车遥控器发射频率也不是一件很麻烦的事情。有些国家和地区甚至直接规定了这类设备使用的频点,比如欧洲某些地方就要求汽车遥控钥匙的发射频率必须在433.92 MHz,上下限分别是433.05和434.79 MHz。另外,从载波解调出基带信号也不困难,具体的就不细说了。因为这不是重点。- C; |! B$ F! j. O1 N( i

    " T/ J+ o  X$ G2 _) p    重点是,我们拿到这个通信编码——遥控器和车内接收器之间的通信是二进制编码,能否打开车门。这个问题在90年代早期的时候是可以的,那时这些编码是未经加密的明码,而且是固定的。其格式主要包括一个地址码和一个操作码。每辆车都有一个不同的地址码,当收到遥控信号时会自动比较本车的地址码和信号中的是否一致,如果一致那么就会执行动作码指定的动作。这种方式很容易被回放攻击,也就是只要回放或者复制出监听到的内容就可以把车开走。由于动作码很少,实际只要解出地址码,就可以复制出各种遥控信号。包括开门/关门、开灯/关灯等等。这种高科技偷车的黄金时代理所当然地只持续了很短的时间。这种简陋的遥控方式很快被取代了。以下是新方法的一个简单描述。
    1 j/ p1 r' q& O$ }: ~! k2 H7 [7 q* N  G6 e/ U5 ~. u: c/ J6 c; o
         新的遥控码一般分成操作码、序列号和安全码三部分。操作码和序列号是明文传输,而安全码则是靠一个伪随机算法计算出来的随机数,这个随机数和序列号相对应,一个序列号对应一个随机数。每次我们按下遥控器按钮序列号都会增加,并重新生成一个(伪)随机的安全码。接收机会根据序列号计算随机数,如果匹配那么就表示验证成功,执行操作码规定的动作。并且记录这次成功操作的系列号。下次再收到遥控信号时,在计算随机数做匹配前会比较发送过来的序列号,新的序列号必须大于最后一次成功操作的序列号。这样回放攻击的威胁就被简单地解除了。序列号是明码传输的,所以手欠的同学也不用担心,没事的时候在办公室狂按遥控器不会让钥匙和汽车失去同步。只要你钥匙上的序列号大于汽车上保存的,就是让汽车里的计算机多算几次而已。
    ' `4 n3 w  F" k9 ~" s# b: s! B5 F% V9 i  @  r' s- v
        由于安全码通常有足够的长度(某个常用芯片是28位),使用穷举法试密码就算一秒钟可以试10次,也差不多要1年的时间。比较靠谱的办法就是对(伪)随机算法做破解。
    * |, o# m$ A2 q- c. J" I% B6 @5 D# i' L4 p! o
         还真有人这样尝试过。话说现在汽车遥控器的芯片主要是由KEELOG(Microchip?)这个公司生产。绝大多数品牌的车用的都是这个芯片。不过,这个算法是保密的!
    " D5 `# V, |, |
    & F! {+ E, v( M- Y* r/ X- D    大家有没有一种熟悉的感觉——曾经的DVD悲剧?
    $ }0 B+ \4 z( \8 Q" l! D% @% Q2 b8 U& Y+ A8 U
         07年的时候,有一家机构声称破解了KeeLog的算法,当然这个破解时间比较长,在车库停车的那点时间是搞不定的。然而,这个破解据称是颠覆性的,因为破解者声称他们找到了算法的弱点,以及破解出KeeLog给几个车厂的密钥!这样,他们可以任意复制各个厂家的电子钥匙!诡异的是这个事情没怎么传出来,令我对国内微博的传输效率非常失望。( X% u+ \2 `: L+ k! i" C

      w) F8 z" I) L* I) j; }) D    KeeLog好歹修补了这个漏洞,详情不知。不过08年继续有报道KeeLog再次被破解,也是通过监听信号,分析攻击。不过这次KeeLog官方明确否认报道的真实性。然而同时升级了他们的产品。9 i8 N( ^7 s6 B$ t# ^7 l
    5 O5 t% Z* Y, K9 K: B7 Y4 w
        那么,汽车遥控防盗器安全吗?
    0 M. L$ a$ f8 V/ U
    & z5 m; O3 B+ f+ ~% V    个人看法,如果使用了类似KeeLog这种技术的还是安全的,其安全性大致和使用U盾玩网上支付差不多。以上技术都是来自国外的网站,讨论的也是国外品牌的车辆。国内的怎么样呢?要不,各位谁寄条钥匙过来我瞧瞧?
    " `1 Q8 @8 B0 d- H- s% h+ I5 I- m
    , z$ C1 ?2 i; F# J0 d% H, \5 O+ u5 M$ f- E7 H6 Q4 N9 n9 F8 ^
    补两个连接
    - j' f. a$ \- X) T1 MResearchers Crack KeeLoq Code for Car Keys
    , l" \+ ~0 J% P( @: F) _& T8 s# H  }) Y. w4 L
    ' g+ L. y+ n6 a( }- n
    Researchers crack KeeLoq RFID technology - Again

    评分

    参与人数 2爱元 +6 收起 理由
    不爱吱声 + 3
    橡树村 + 3

    查看全部评分

  • TA的每日心情
    开心
    2022-8-10 16:37
  • 签到天数: 1067 天

    [LV.10]大乘

    沙发
     楼主| 发表于 2012-4-5 23:46:50 | 显示全部楼层
    橡树村 发表于 2012-4-5 23:30
    8 x! d* z0 i6 Q" ^  _. \  y微博这次吵架和我有关系。
    5 W: l% Y( g" E) S" ~
    ' f# A) j$ F. e' [. [) t( d去年我在剃刀和三思吵架的某个微博里面插了一句,问这个事情。

    . N* h+ X9 t" B- x" F我发现这些破解的研究机构还有后续的报道都很有职业道德,其实公开资料很少。破解者直接把报告给了厂家。网上找不到具体漏洞的细节。不过从公开内容来看,基础破解过程不是一般的偷车贼能干的活。4 e+ E; [: Z: C

    ) N; Y9 A# _( m# {% _+ c0 u0 Y7 Q# D起先是一个不太道德的俄罗斯网站入侵了KeeLog的服务器盗取并公开了他们的算法,然后比利时和以色列的两个大学一伙人分析了这个算法,搞出了07年的事件。08年则是德国人用差分功耗分析再次声称破解了一部分密钥。
    2 E' D; d6 V0 E$ [3 u0 e9 K+ j- D# ?; q' l. e3 B
    差分功耗分析是通过分析加密电路的功耗变化来猜具体的处理过程和参与运算的数据位。需要高分辨率的电流采样功能和比较高深的算法知识。属于一种旁路攻击——就是根本不看你的算法和实现,在几个假设基础上通过你的耗电来推算密钥。
    " j* m2 O8 u& ?% Y: V; e
    0 G1 X7 b( L4 A我上面的贴子写的太简单了。
  • TA的每日心情
    开心
    2022-8-10 16:37
  • 签到天数: 1067 天

    [LV.10]大乘

    板凳
     楼主| 发表于 2012-4-6 12:48:34 | 显示全部楼层
    本帖最后由 code_abc 于 2012-4-6 12:49 编辑
    * p7 A! x! q# N0 {2 Y" t) F8 W5 U0 R- p: i6 {5 l) U& F1 F1 T
    汽车遥控防盗器安全吗 (续篇)
    1 c- U. u- g+ k* l- y- [) }+ D; s, p  f
      《汽车遥控防盗器安全吗》写的有点粗糙,里面介绍的东西总的来说有点过时了。在IT、电子技术日新月异的今天,四、五年前的报道差不多可以进博物馆了。何况里面还有更老的技术。另外,作为职业IT人士居然在文章中强调自己的无线电专业学历,而对精彩的破解算法的过程一笔带过,真是一种背叛。所以下面我在来说一些新一点的,有些IT味道的内容。5 c6 M7 H: T5 _+ L5 q

    / }( {! c& N2 S( s    目前大多数车主还在使用类似遥控器的钥匙,也就是那种按一下按钮才能开门锁车的钥匙,这种安全系统英文称之为Remote Keyless Entry(RKE,我翻译为遥控无钥门证,搞汽车的同学麻烦给我一个权威的说法……)。新一代的钥匙系统叫Passive Keyless Entry(PKE,我翻译成被动无钥门证),这个系统估计有人已经在用了,通常一些高档车,新车都会提供这一选项。和RKE不同的地方在于,这个PKE系统不需要用户掏出钥匙,只要身上带着钥匙走近自己的车就可以开门,进去之后也不用把钥匙掏出来插进点火器。至需要按一下车上的“开始”按钮(这一定是微软的工程师干的)就可以把车开走了。相应的你下车关门走人之后,车子会自动把们窗锁好。和微软一样,非常贴心的设计。
    - X7 p* ]4 `* m1 L' c% h) y
    ( }# M; b( v! M; l% g' @2 u9 T# `  I+ T    在介绍PKE工作原理前跑一下题,前一篇写出来之后有人对钥匙系统的加密能力提出疑问——为何这么弱,为何不使用已经证明是安全的密码协议。我的回复过于轻率,在这里展开一下,顺便为后面的介绍打个基础。
    1 N+ w) w; L- t( P5 `
    % n$ }. g% A: o3 M    首先,钥匙系统要解决的问题是身份验证问题,不是信息保密传输问题。加密和身份验证有关系但又有本质的区别。身份验证通常的方式是让被验证者证明自己知道什么东西,或拥有什么东西。举个例子,在猜猜我是谁的诈骗游戏中,诈骗方通过语言技巧窃取“我应该知道什么”的信息,而你在后续交谈中则使用“你应该知道什么”来验证对方自称的身份。这就是一种身份认证,如果对方通过别的渠道获取了你的同学、朋友的经历,那么你就容易上当受骗,这种通过事先获取验证信息,再告诉你让你相信诈骗者身份的攻击方法,在信息安全领域里称之为回放攻击。3 {- V6 u! l) U1 v# J

    4 T6 X$ e, w* j1 E" a, ^: V    为了防止回放攻击,我们需要在验证过程中加入随机效应。比如你和朋友共同知道100件事情,而骗子如果只知道其中几件就只有很小的概率在电话中让你上当。当然了,骗子可以和你多玩几次或者找多个人来玩这个游戏,小概率事件多次重复中奖的概率就大大提高了。所以,你看我们人工验证的方式是多么地不靠谱啊。不过计算机就不同,计算机产生随机数的结果可以很多,即使可以快速重试很多次,在极小的概率面前中奖的可能性还是非常渺茫的。所以这里的身份验证主要是依赖随机数生成而不是加密。有人也许会说,通过密钥交换协议每次生成一条随机密钥来加密身份信息不也可以吗?确实可以,不过我们先不考虑实现协议的硬件开销、功耗问题。只看协议本身,这个协议也要使用随机数。攻击者有两条路来进行攻击,通过破解随机数算法来破解密钥从而得到身份信息。或者通过分析每次加密的身份信息来获取密钥或者反推身份信息,因为每次加密的信息都是相同的,只是密钥不同,分析起来可能有快捷的方法。由于密钥交换协议本身不能用来验证身份,所以这种方法并不见得比仅靠随机数生成来得严密。, j4 J! x" u1 B1 v5 M* s: C
    0 _- b6 b  i; n, `
        计算机产生的随机数其实不是真随机,事实上是一组有随机特性的可预测数列——是伪随机数。通常的伪随机算法包含一个种子和一个密钥。在钥匙系统里,钥匙和汽车都有一组相同的种子和密钥,因此双方生成的为随机数是可以匹配的。钥匙系统的身份验证归根到底就是验证对方是否知道种子和密钥。
    ) x+ @7 x+ j; _% ]" |$ d
    ; F4 E9 R& l* c2 p* W    事实上,这种依靠随机数生成来验证身份的方法也是有标准的。在我们平时使用的非接触式门禁系统或其他射频身份识别系统中有不少用的也是这种技术。7 n& I9 W, ^. R& @! q
    6 S# N! h" h4 k; g
        回过头来继续讲汽车防盗系统PKE——被动无钥门证。这个其实是在传统遥控的基础上进行改进的。主要区别是这种系统中汽车会定期发送一个150KHz(不同系统频率不同,不过都是低频信号),这个信号里面包含汽车本身的身份码。当钥匙进入这个低频信号范围的时候就会发出回应信息。这时候车子就知道主人来到自己身边了,因此会准备好开锁。当主人坐进车子的时候,点火开关也马上准备好等着主人按下。在这个过程中,汽车和钥匙一般是采用挑战回应模式相互验证的。这样要比上一篇所描述的钥匙单向提供验证信息更为复杂。而且汽车发出的低频信号影响范围很小,大致只有不到20厘米的距离。天线一般安放在车门把手和车内的驾驶台上,这样是为了确认钥匙就在附近。然而这个看起来还不错的系统还是有一定缺陷的。
    . c! @2 S2 B- p! R% L( q9 u4 `
    : X* P/ A! X, I, o" y7 I1 ?    去年(2011年)有人声称使用中继攻击方法可以破解这种系统,在8个厂家的10台车上做了验证[1]。其方法是把汽车发射的低频信号,通过一个接收天线收下来,再通过馈线连接到另一个天线上。这样把汽车的检测信号传送到远离汽车的钥匙旁边,触发钥匙回应和开锁。由于钥匙回应信号是通过UHF发射理论上可以传输100米以上,这样仅仅中继汽车的检测信号就能让远离钥匙的人在车旁开门,当把天线放在驾驶台的时候,甚至可以启动汽车。
    / M5 h, b$ Q5 s- T( e3 z$ W- B0 f4 C; n: N, I+ ?
        图片来自参考文章
    & ^' y/ \8 D2 a4 ]# c6 ^, `
    " }. d) g) `1 ^9 Z2 @3 y( [2 R! u3 L0 n" x* v! P
        虽然拖着一条电缆的贼比较猥琐,但是这个方案稍作改进就非常时尚了。实际操作中可以将汽车的低频信号调制到一个射频载波上,这样就可以省去那条笨重的馈线,采用无线转发的方式进行中继。同样的钥匙信号也可以用相同的方法进行无线中继。所以当你在餐厅大快朵颐的时候,旁桌的人也许就能帮助车库的贼把的车子开走!
    . Y( e! ^( [  x7 [* _3 v5 i* }: Q3 Z( X1 E! u; S6 O% }' [5 e
        这种采用物理信号直接中继的攻击方式,也算是一种旁路攻击。在这里算法和加密什么的都不起作用。因为这个系统的一个弱点在于钥匙位置检测依赖于简单的低频检测信号,系统假设只有在很短的距离内钥匙才能收到检测信号。一旦这个假设被电磁中继破坏整个系统就不再安全了。因此良好的PKE系统必须有安全有效的距离检测手段。6 C) U0 @4 @) r
    $ T0 z4 g3 r; c8 K4 J
        从上面描述我们可以看到一个教训,安全系统只要有一个漏洞,攻击者就可以把一辆卡车开过去。
      [- L7 X4 t+ B0 S
    : b, K6 \3 T6 {: @; F4 d3 Z ) C; W0 n' h* L- b, z" m, Z

    + }: O' _+ ^0 |* B1 w9 \- x$ D[1] Relay Attacks on Passive Keyless Entry and Start Systems in Modern Cars
    2 u7 l7 a/ b* k
    % y0 [, a6 t! w+ V1 y8 v; E8 iAur´elien Francillon, Boris Danev, Srdjan Capkun
    " P/ c0 r) B; @- [6 l3 ]- U1 Q8 \0 n. N; w
    Department of Computer Science; L- o  D6 C0 Q3 l3 w' |5 E
    ' M: z! O( T2 ~. W6 J5 ?1 C* K
    ETH Zurich
    6 l9 K$ G7 E0 |
    ! ?: b$ {3 P& O- O9 j       8092 Zurich, Switzerland
    7 L6 t4 f' ~8 H; b  O, n$ S2 R. p
    . F# R0 P( W  l. g, afaurelien.francillon, boris.danev, srdjan.capkung@inf.ethz.ch

    评分

    参与人数 1爱元 +3 学识 +1 收起 理由
    橡树村 + 3 + 1

    查看全部评分

  • TA的每日心情
    开心
    2022-8-10 16:37
  • 签到天数: 1067 天

    [LV.10]大乘

    地板
     楼主| 发表于 2012-4-6 13:08:08 | 显示全部楼层
    sduivy 发表于 2012-4-6 08:56
    0 s) m1 F! ?1 _" v这些破解者的目的是啥呢?兴趣?

    % D6 e  C( Q0 s6 |4 @0 G9 Q' a也许吧。我想正规的安全研究领域这些不过是日常工作的一部分。科研院校、企事业单位里的科研人员也要找课题啊。碰上个能吸引眼球(也许还能吸引资金)难度又不太高的课题不容易。

    手机版|小黑屋|Archiver|网站错误报告|爱吱声   

    GMT+8, 2024-6-2 00:04 , Processed in 0.039397 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表