遥控门锁(RKE)防盗系统原理分析
遥控门锁(RKE)防盗系统原理分析
遥控门锁防盗系统由控制器、遥控器中的射频(RF)发射器和汽车端的接收器组成,接收器端的控制器可以仅作为接收器的控制模块用,也可以集成一些车身电子控制的其他功能,根据该控制器功能的复杂性,可选择8位、16位或32位微控制器。发射器端的控制器由于其紧凑性的要求,或者选用专用的集成电路,或者选用低端的8位微控制器。专用集成电路价格比较便宜,内部集成有硬件编码模块,而采用8位MCU可使系统设计灵活,大部分功能由软件设计实现,同一硬件电路,只需修改软件即可满足从经济型到豪华型不同档次车辆的功能要求。
遥控门锁防盗系统的关键性是安全性,只有达到足够高的安全水平才能够可靠防盗。早期的遥控装置,当按下一个按钮时,发射的代码信息是固定的,这样很容易被破译从而复制出相同的遥控装置,使车辆被盗的可能性极大的增加。因此,不在推荐采用固定代码方式,而采用循环码保密规则,循环码也就是为防止被盗取,信息在传输过程中以随机的方式改变,可以用单向或双向协议两种方式实现循环码。系统采用单向方式,在钥匙端没有接收器,因而比较便宜。但无论使用何种方式,接收端都需要对信息解码或鉴别。
在设计遥控门锁防盗系统时,应满足以下要求:
1)在平均使用频率为25摄氏度时每天发射50次的情况下,电池的寿命至少是5年。
2)结构紧凑、成本低;
3)低能量消耗,接收模块平均电流不得大于1mA,一些基于PLL的集成接收器,如Freescale的MC33590,可以提供唤醒检测电路,以便能够有足够的能量有效地驱动MCU;
4)射频发射安全,应具有防止盗取密码的功能;
5)反应时间要短,从按钮按下到信息发出的总时间不得超过300ms,整个完成动作(如开门)的时间不得超过1s。
6)最小作用距离通常是3米,这个范围可以达到10m。
遥控门锁的主要安全功能是防止非法的钥匙开锁或汽车门锁失灵报警。系统安全的基础不单纯地依赖于发射器(钥匙链)或接收器,还应该是二者之间的相互配合。
1、发射器与接收器
(1)发射器
图1所示为一个基于MCU的发射器电路原理图,图中S1-S4分别代表遥控器上的不同按钮,MC68HC908RK2作为发射器的MCU,检测按钮信号,并将相应编码信息发送到射频发送芯片MC33491。根据发射器使用波段的不同,MC33491采用的晶体振荡频率也不同,当发射器的波段是433.92MHz时,晶体振荡频率应为13.56MHz;当发射器的波段是315MHz时,晶体振荡频率应为9.8437MHz。
发射器的控制流程如图2所示,当遥控器上的任何一个按钮被按下后,都会产生中断信号使MCU退出停机状态返回到运行状态,MCU响应中断后,迅速地查询与按钮相连的芯片输入口,检测是由于哪个按钮被按下而引起的中断。然后,MCU要执行消抖处理,确保检测到的信号不是由于噪声引起的。
在生成要发送的信息之前,MCU首先更新一些状态标志,如电池的电压标志。在每次发送信息时,MCU都要测量电池的电压,并通过嵌入MCU的比较器同预设警戒电压(一般最低也要比系统关闭电压1.8V超出0.2V)比较,以便能够产生低电压指示信息,提醒消费者更换电池。
接下来,控制软件根据按下的按钮生成命令信息,通常命令信息包括:同步域、起始域、发射器ID、MAC(信息证实代码)、循环计数、命令字节、状态标志和校验信息,均采用明码方式,只有当更换新的遥控器或增加新的遥控器,遥控器处于“学习”模式时,才会在命令信息中加入钥匙密码。钥匙密码是一个64位的标识符,在最初发射器和接收器匹配时被存储在接收器的非易失存储器中。
由于要发送的信息,如命令代码、钥匙密码、发射器ID或状态标志等或是固定的,或是仅随着按钮的改变而改变,因此,为了达到防盗的目的,采用循环码防盗法生成MAC,即在每次发送信息前,将循环计数增加一个单位值。然后将循环计数值和其他的信息一起通过加密算法,生成最终发送的MAC。加密算法要足够复杂以确保生成的信息不能被解密。
MAC码计算出来后,命令信息也就生成了。
接下来,MCU激活发射器,使其上电,确定波特率后,发射信息。为了提高接收器监测到信息流的概率,许多遥控门锁防盗系统还会设计发送一些无用信息以触发接收器工作。
MCU在回到STOP状态之前,先将循环计数值存储在非易失存储器,以保证掉电等影响不会降低加密算法的安全性。
(2)接收器
一个接收器一般可以对应4个发射器,每个发射器的钥匙密码和ID都是唯一的。发射器和接收器最初是通过“学习”进行匹配的。“学习”就是发射器顺序发射合理的发射器ID、循环代码和钥匙密码给接收器,接收器将收到的信息存储在它的非易失性存储器里,因此,在接收器的存储器中存储了与之相匹配的发射器ID以及发射器钥匙密码。
如图3所示为集成有基于PLL的接收器(Freescale公司的MC33590)和MCU的接收器电路原理。
当汽车点火开关处于关闭位置时,接收器周期性地检测发射器发出的信息,MC33590接收器具有专门的唤醒检测装置,可自行对所接收的信息进行有效性检测,而不需要MCU的参与,因此此时MCU仍然处于STOP方式,以节省能量。接收器的操作流程如图4所示。
当接收器唤醒检测装置检测到一个有效信息后,就产生中断信号激发MCU。MCU开始接收信号,并将其转换成二进制代码信息,同时,通信系流中将发射器ID、循环计数、命令代码和状态标志等分离出来。接收器首先计算并检测校验和,如果校验信息表明接收的信息正确无误,接收器检测收到的发射器ID是否能同其存储的某个发射器ID相匹配,如果可以匹配,则接收器采用同发射器一样的加密算法,利用接收到的数据计算MAC,需要指出的是,虽然在接收到的信息中没有钥匙密码,但是钥匙密码仍然要作为MAC运算的一个输入量。由于发射器ID是以明码方式传输的,接收器可以迅速找到存储在其非易失性存储器中的可与射器ID相匹配的钥匙密码,从而快速计算MAC,而不必对每一个可能的钥匙密码都计算MAC。
如果接收器计算的MAC和接收到的MAC一致,接下来就要将存储在接收器中的发射器ID相对应的循环计数同接收到的循环技术相比较,如果接收到的循环计数大于或等于接收器中存储的循环计数,在有效范围之内,则认为循环计数有效,接收器的MCU将会产生一个命令信息,并通过汽车网络发射到相关的模块,或者直接执行遥控门锁功能(如果接收器的MCU具有中控锁功能的话)。
之所以设置循环计数有效范围,是为了确保系统的安全性,使超过范围的信息或是意外按钮不会产生不必要的错误信息,如果循环计数或多或少地大于有效计数范围,系统会执行再同步。
为了保持与发射器同步,在每次信息发射完毕后,接收器中存储的循环计数也要随时更新。
从发射器和接收器的控制流程可以看出,遥控门锁的安全防范措施主要有:
1)每个发射器都有唯一的钥匙密码,其参与加密计算,但是不在标准发送过程中传输,只在“学习”时传输。而且钥匙密码是64位二进制数,足够防止被盗;
2)循环计数参与加密计算;循环计数是一个16位的二进制数(64K),以每天操作发射器50次计,循环计数循环一次也需要几年的时间,因此有循环计数参与算出的MAC出现相同结果的时间也需要几年,这样有效地防范了算法被破译。
上一篇: 猫(modem)与路由器的区别在哪里
下一篇: 声卡的发展史
推荐阅读