通过加密法或滚动码实现安全运动体 输入的发送器和接收器的重新同步 本发明的技术领域
本发明通常涉及无键(keyless)输入系统。更具体地,本发明涉及一种在由于诸如临时掉电或电池不足,或当接收器在范围之外而重复按击发送器的按键时使得同步丢失时,把发送器/接收器进行重新同步的方法。
滚动码证实是运动体(Vehicle)输入保护的一种常用方式。在这种系统中,有一个按键柄发送器和一个位于运动体中可以接收到从按键柄发送器传送来的编码的接收器。可以通过使用一个随着每个按键柄上的命令而增加的简单的线性计数器来完成滚动码的审核。运动体中的接收器被配置为总是期待着一个递增的值并且因此它不允许重复的计数器值。这样,为了同步,发送器的计数器永远不应该小于接收器的计数器,也不应该比接收器的计数器大得太多。采用了线性移位反馈寄存器(LFSR)工艺的更复杂地审核方法也被做为运动体输入保护的一种更安全的技术。
由于种种原因,当发送器的计数器值小于接收器的计数器值或者超出接收器的计数值的部分比一个预定的值大时,滚动码审核系统偶尔也会失去同步。在电源掉电时也会失去同步。
对付由于掉电而失去同步的一种方法是为发送器安装一种非易失性的存储器,例如一个EEPROM可用于存贮滚动值从而不会丢失。由于是非易失性的,EEPROM将不会由于电源中断(例如电池连接不好或电池故障)而失去同步。EEPROM在内部RAM下电时能保护计数器的完整性。
但是,EEPROM比较贵并且要求在滚动码审核电路中删除它们。这就存在了问题,因为若没有非易失性存储器,一个系统将不得不依靠RAM(易失性存储器)来存贮计数器的值。依赖于RAM的需求增加了计数器数值被破坏的可能,因为即使是暂时的掉电例如电池连接松驰或电池充电失误都会引起失去同步。
由于接收器超出范围时的发送器的重复循环而引起的同步失调甚至对带有EEPROM的设备来说也是一个更困难的问题,因为最终,EEPROM设备会变满从而失去重建同步的能力。例如,一个可容纳20个数字的EEPROM设备在接收器超出范围时在第21次按下发送器的按键时将会失去同步。实际上,在第21次按键后,会由于第21个数字的加入而丢失掉匹配的数字。
这样看来需要有一个紧急保险开关功能或重新同步功能使用户能够在同步失调时强制重新同步。但是这种功能很难在不影响安全性时提供。必须小心以确保重新同步序列不被窃贼轻易记录并模仿。如果重新同步编码可轻易模仿,通过模仿该重新同步序列可以很容易地进入运动体,并且然后为接收器提供一个已知的访问码,实际上就把锁重新编程为与窃贼的钥匙相匹配。现有的技术没有足够地提及这个问题。
相应地,本发明提供一种无键输入系统中的通过加密访问码来防止非法访问的使发送器和接收器同步的安全的方法。该方法包括将安全信息数据存贮在发送器中并且把相同的安全信息数据存贮在接收器中。该安全信息包括一个在发送器和接收器中都一样的重新同步授权码。这个重新同步授权码最好在该无键进入系统被制做或出售或安装时就预先编程在发送器和接收器单元中。进而,根据本发明在发送器中至少要存贮一个第一访问码并且在接收器中也至少要存贮一个第一访问码。通过这些访问码,如果发送器和接收器的第一访问码相匹配时将允许访问。进而通过这些访问码,如果发送器和接收器的第一访问不匹配时将阻止访问。
根据本发明的方法,当初始化了一个重新同步序列后(例如,通过按动一个紧急开关或重新同步开关)在发送器中将产生一个第一随机数字访问码。发送器然后把重新同步授权码和该第一随机数字访问码传送给接收器。在发送器中,该第一随机数字访问码替代了第一访问码。同时,在接收器中,将传送来的重新同步授权码与接收器中存贮的重新同步授权码相比较。如果二者匹配,在接收器中将由该第一随机数字访问码替代第一访问码。通过这个方法,发送器和接收器中的第一访问码被重置为相互匹配,这样使发送器和接收器同步。
为了更完全地理解本发明,它的目的和优越性,请参看后面的说明书和附图。
附图简介
图1是一个典型的4比特线性反馈偏移寄存器,对于理解本发明的原理很有用处;
图2是本发明原理的一个总体流程图;
图3-6是详细说明本发明的同步方法的流程图。
优选实施例描述
为了理解本发明的同步方法,最好先对线性反馈偏移寄存器技术有些理解,因为本发明能与LFSR安全系统一起使用。相应地,在图1中的10里描述了一个4比特线性反馈寄存器(LFSR)。该移位寄存器包括4个共存贮4个比特的存储单元,顺序标识为比特3、比特2、……,比特0。要对移位寄存器进行配置使得每个循环或旋转导致一个比特里的内容移动到它右边相邻的比特中(除了送给一个专用OR器件的比特)。
该LFSR设备还包括一个或更多的专用OR操作。在图1中说明了一个单独的专用OR12,如图所示它的输出送给比特0,它的输入连接到比特1的输出和比特0的输出。这样,随着每次循环或轮转,比特1中的内容和比特0中的内容在专用操作中组合,其结果存贮在比特0中。图1中所示的线性反馈移位寄存器10仅是一个示例。实际上,移位寄存器可以是任何位比特,通常地要比四位比特多,并且专用OR操作的数目和位置也可不同以提供不同的加密编码。
在无键进入系统中,线性反馈移位寄存器把授权比特在带有位于n个比特中间的专用OR反馈的移位寄存器中轮转n次。随着每次传送,发送器完成一个线性反馈移位寄存器的移动操作,该操作将授权信息编码并且将编码后的授权信息连同选择的命令(解锁,上锁,干线等)一起发送给接收器。在接收器收到来自发送器的命令后,在接收器授权变量上完成一个相同的LFSR操作。接收器将它自己的LFSR操作的结果与发送器发送的授权变量相比较。如果接收器的比较是匹配的,该授权信息就是有效的。
在由于电源中断或在接收器超出范围而使得发送器重复循环时致使发送器丢失掉授权变量时会引起同步问题。本发明提供一个用于这些变量的重新同步的安全方法。
参见图2,它示出该同步方法的概观。随后,在图3-6中给出了详细的说明。参看图2,当用户需要重新同步时(例如,所需要的命令按键坏了)该同步方法开始工作。这点在步骤21中示出。做为响应,用户按下一个按键序列(步骤23)来初始重新同步。做为对按键的响应,发送器发出一个重新同步命令,其中包括了所需的重新同步变量。这点在步骤25中示出。最后,接收器收到该重新同步命令和变量,并且设置它的内部变量以完成同步(步骤27)。参看图3,示出了该同步方法,它开始于按下按键柄上的一个按键(状态100)。控制将从该状态一直持续到由发送器的微处理器将用户按键输入流出(debouched)和解码。随后,如步骤108中所示,发送器滚动码或加密算法被编程。关于编程操作的附加详细说明在图4和5中给出。
一旦滚动码被编程,在步骤110中发送器汇集一个消息,并且在步骤112中将该消息通过RF或IR传送广播给运动体中的接收器。然后在步骤114中运动体中的接收器接收到传送来的消息,然后在步骤116中接收器执行它的滚动码或加密算法程序。在步骤108和116中生成该授权码,在步骤118中进行比较。如果授权码相匹配并且如果对传送来的命令解码正确,则在步骤120中认为该发送器是有效的,并在步骤122中执行该处理命令。
相反地,如果该授权码不相匹配,或者解码后的传送来的命令是没有意义的,则在步骤120中将进到分支步骤124中,在步骤124中将认为该程序失去了同步或者会认为发送方是一个非法的按键柄发送器。换句话说,在步骤124中不是使用了错误的发送器(将导致永远不成功的命令),就是虽然使用了正确的发送器但是它与接收器之间失去了同步(这将导致需要重新同步)。
在步骤124中命令的失败,会使用户在步骤121中认为该故障是由于重新同步错误。相应地,(在步骤123中)用户要按下一个重新同步键,例如运动体上的一个瞬间接触开关。另外,(在步骤125中)用户要按下发送器按柄上的重新同步键。当能够提供一个分离的按钮时,本优选实施例通过同时按下上锁和开锁按钮5秒钟来代替一个重新同步的要求。在步骤126发送器对它的计数器初始化并且将随机数装载到它的LFSR变量中。然后在步骤128中,该发送器汇集一个消息,并且在步骤130中把这个消息通过RF或IR传送装置发送给接收器。在完成步骤130后,在步骤136中,接收器得到来自发送器的重新同步变量,并且将它们放在它自己的滚动码LFSR变量寄存器中,这样现在该发送器和接收器就都具有相同的LFSR和计数器变量了,从而实现了同步。进一步的详述
由发送器和接收器对LFSR进行编程的说明在图4中。从步骤140开始,该程序持续到步骤142,在步骤142中提供了在编程中的字节数,并且初始化了一个软件循环以实现LFSR的循环。如前所述,在给出的字节或字中的选定比特之间可以插入一个或多个异或操作。(在图1中,在比特1和比特0之间插入了一个异或操作)。在步骤142中,设置了一个或多个异或操作的位置,这样随着循环过程将发生相应的异或操作。如果需要,对异或操作选定的配置能被提供为一个可做为设置参数来应用的数字的字或“屏蔽字”。可选择地,该屏蔽字可以由制造商或销售商永久地或半永久地制做在系统中或编程在系统中。
接下来,在步骤144中,将一个字节取到LFSR RAM变量中,这样可以基于该字节执行LFSR编程。在步骤146、148和150中说明了这些。在步骤146中,对LFSR变量进行向右循环操作,将最高位在进位寄存器中强制为0。在步骤148中,执行异或操作,将步骤142中建立的设置屏蔽字做为反馈的信号。然后,在步骤150中,步骤146和148得出的循环字节被存贮到一个临时的存储器单元中。接下来,在步骤152中,如果还有等待做循环的字节,则该程序又回到步骤144以获取下一字节做同样的处理。
一旦依照步骤144-150对所有的字节都做了循环,该临时存储器(在步骤150中存入的)将被写入到RAM的LFSR变量中,并且将控制权返回到调用程序中(步骤156完成)。
图5从步骤158开始说明了对滚动码编程的方法。如步骤160所示,从RAM中取出滚动计数器变量,然后对该变量以1递增(步骤162)并存回到RAM中(步骤164)。然后控制权返回到调用程序中(步骤166)。
本优选实施例对发送器消息的汇集在图6中说明。从步骤168开始,对发送器消息的汇集首先是将该发送器的ID放在第一个传送字节中(步骤170)。然后,判断该消息是一个重新同步消息还是一个常规命令(步骤172)。对常规命令的汇集是将滚动比特和LFSR数据放在要传送的后续39个比特中(步骤174)。如果该命令是一个重新同步命令,对消息的组合则是首先产生或获取做为LFSR/滚动数字初始变量的随机数(步骤176)。接下来,在步骤178中,异或的重新同步命令被插入到该消息中。这样,该重新同步比特将随所需要的命令一起在消息中放在要传送的后续39个比特中。
一旦该消息被组成后(不论是常规的还是重新同步的),将为该消息计算出一个错误纠正码或校验码,并且把它放在该消息的最后字节中。通过这种方法,组成了由发送器发送给接收器的消息。这样,接收器可以通过相反的过程完成对该消息的解码。在该消息被组成后,进程返回到调用它的程序(步骤184)。
当说明了使用线性反馈移位寄存器技术的滚动码授权后,同步发送器和接收器的同步的方法不仅限于LFSR技术。
当本发明以本优选实施例的方式进行说明后,大家可以知道,本发明可在不偏离本发明后面所述的权利要求的精神的基础上进行改变。