基于身份识别的遥控密码锁装置及其控制方法 【技术领域】
本发明涉及密码锁领域,更具体地说,涉及一种基于身份识别的遥控密码锁装置及控制方法。
背景技术
遥控密码锁由于具有造价低廉、使用方便等优点,其使用非常广泛,尤其是被广泛使用于机动车和一些大型机械上。现有的遥控密码锁在开锁时,需要通过无线电或红外线等遥控方式将开锁密码由密码发送器(密码锁钥匙)发送至密码锁;然后由密码锁通过解码取得开锁密码,再将所取得的开锁密码与存放在密码锁内部的开锁密码进行对比;如正确无误则发出开锁信号,密码锁被打开;如错误则不发出开锁信号,密码锁保持关闭状态。对于遥控密码锁的这种开锁机制,非法开锁者可以通过不断发出各种开锁密码来进行试探,一旦其发出的开锁密码与该密码锁中预设的开锁密码一致,该密码锁就会被打开。
由于现有遥控密码锁在对抗外部试探解码器这类非法开锁方法时的缺点,使得采用遥控密码锁的设备很容易成为被盗窃的目标,例如一些采用遥控密码锁的机动车越来越多地成为了盗窃者的作案对象,许多机动车(包括一些高级轿车)都是在盗车贼没有采用机械暴力的情况下被盗的。
对于传统的接触式密码锁,例如需要通过人工或刷卡等方式输入密码的非遥控的接触式密码锁,由于需要通过手工操作将开锁密码输入到密码锁中,而密码往往由多位数字或字符构成,因而可能的密码有很多,加之手工操作较慢,因此想通过试探的方法打开设计良好地接触式密码锁是十分困难的。近年来,接触式密码锁也进行了许多改进,比如对电子密码锁就有诸如限定密码输入的时间、限制错误密码的输入次数等方法来防止非法开锁。
然而,这些对接触式密码锁行之有效的措施对非接触式的遥控密码锁要么作用不大,要么实行起来很困难。例如非法开锁者可使用能自动连续产生开锁密码的密码发送器(即外部试探解码器),通过试探的办法来开锁。在开锁密码字符个数不是很多,特别是在已知开锁密码字符个数甚至开锁密码的编码规则的情况下,使用这种能够连续高速产生开锁密码的密码发送器,可以很快打开遥控密码锁。如果对遥控密码锁采取限制错误密码输入次数的方法来防止非法开锁,又可能导致在正常开锁时将遥控接收范围内的其他同类遥控密码锁错误锁定的情况。为了防止遥控密码锁被能连续自动产生开锁密码的外部试探解码器开锁,有必要发明出一种有对抗能力的遥控密码锁。
【发明内容】
针对现有技术的上述缺陷,本发明要解决的技术问题在于,如何使遥控密码锁既能限制错误密码的输入次数,又不会对有效接收范围内的其他同类遥控密码锁产生误操作影响,同时还能对抗可自动连续高速产生开/闭锁密码的外部试探解码器。
本发明解决其技术问题所采用的技术方案是:构造一种基于身份识别的遥控密码锁装置,包括锁体装置和遥控单元,所述遥控单元通过发送与锁体装置对应的开/闭锁密码来控制该锁体装置的开/闭,其特征在于:所述开/闭锁密码由身份识别码和启动码两部分组成;所述锁体装置只有在判断出其接收到的身份识别码与预存的身份识别码相同时才判断其收到的启动码;只有在启动码正确时才改变锁体的锁闭状态;在连续判断出身份识别码正确而启动码错误达到预定次数时,将在一段预定的锁定时间内锁闭接收,如果连续判断出身份识别码正确而启动码错误没有达到预定出错次数时,则重新接收来自遥控单元的开闭锁密码。
在上述基于身份识别的遥控密码锁装置中,所述遥控单元包括遥控按键、用于存储开/闭锁密码的非易失存储器、用于发射带有开/闭锁密码的信号的发射器、用于根据来自遥控按键信号控制将存储在非易失存储器中的开/闭锁密码通过所述发射器发送出去的控制模块,所述遥控单元中的发射器为小范围的射频发射器或红外线发射器。
在上述基于身份识别的遥控密码锁装置中,所述锁体装置包括控制模块、用于接收所述遥控器发出的开/闭锁信号的接收器、用于从开/闭锁信号中解码出开/闭锁密码并将其输出到所述控制模块的解码器、用于存储锁体自身开/闭锁密码的非易失存储器、以及用于根据所述控制模块的输出信号进行改变锁体装置锁的开/闭状态或/和其它动作的执行机构。
在上述基于身份识别的遥控密码锁装置中,在开启锁体装置时,连续判断启动码为错误的次数未达到所述预定出错次数时,所述锁体装置将立刻或在比所述预定的锁定时间短的延迟时间后重新接收开/闭锁密码。
在上述基于身份识别的遥控密码锁装置中,至少满足以下条件中的一个:1)所述预定出错次数为2-10次;2)所述延迟时间为0.1-1秒;3)所述锁定时间为2-60秒;4)所述身份识别码是不少于16位的二进制数;5)所述启动码是不少于16位的二进制数。
本发明另一技术问题这样解决,构造一种基于身份识别的遥控密码锁控制方法,锁体装置中预存的开/闭锁密码包括身份识别码和启动码,按以下步骤实现开/闭锁控制:
(1)当收到开/闭锁密码时,按预定规则从该开/闭锁密码中提取身份识别码和启动码;
(2)判断其收到的身份识别码与锁体装置中预存的身份识别码是否一致,如一致则执行步骤(3),否则回到步骤(1);
(3)判断其收到的启动码与锁体装置中预存的启动码是否一致,如果一致则执行步骤(4),否则执行步骤(5);
(4)改变锁体装置的开/闭锁状态,回到步骤(1);
(5)判断锁体装置是否处于闭锁状态;如是则执行步骤(6),否则回到步骤(1);
(6)判断连续收到错误启动码的次数是否已达到预定出错次数,如是则执行步骤(7),否则回到步骤(1);
(7)保持锁体装置当前的闭锁状态,在经过一段预定的锁定时间之后再回到步骤(1)。
为进一步延长开锁试探时间,可在上述基于身份识别的遥控密码锁控制方法基础上,在所述步骤(6)中增加以下步骤:当连续收到错误启动码的次数未达到预定出错次数时,在回到步骤(1)前需等待一段比所述预定锁定时间短的延迟时间。
在上述基于身份识别的遥控密码锁控制方法中,至少满足以下条件中的一个:1)所述预定出错次数为2-10次;2)所述延迟时间为0.1-1秒;3)所述锁定时间为2-60秒;4)所述身份识别码是不少于16位的二进制数;5)所述启动码是不少于16位的二进制数。
本发明另有技术问题还可以这样解决,构造一种基于身份识别的遥控密码锁控制方法,其特征在于,锁体装置中预存的开/闭锁密码包括身份识别码和启动码,按以下步骤实现开/闭锁控制:
(1)当收到开/闭锁密码时,按预定规则从该开/闭锁密码中提取身份识别码和启动码;
(2)判断其收到的身份识别码与锁体装置中预存的身份识别码是否一致,如一致则执行步骤(3),否则回到步骤(1);
(3)再判断其收到的启动码与锁体装置中预存的启动码是否一致,如果一致则执行步骤(4),否则执行步骤(5);
(4)改变锁体装置的开/闭锁状态,回到步骤(1);
(5)判断锁体装置是否处于闭锁状态;如是则执行步骤(6),否则回到步骤(1);
(6)保持锁体装置当前的闭锁状态,在经过一段比所述锁定时间短的延迟时间之后再回到步骤(1)。
在上述基于身份识别的遥控密码锁控制方法中,至少满足以下条件中的一个:1)所述预定出错次数为2-10次;2)所述延迟时间为0.1-1秒;3)所述锁定时间为2-60秒;4)所述身份识别码是不少于16位的二进制数;5)所述启动码是不少于16位的二进制数。
本发明的基于身份识别的遥控密码锁装置及控制方法,采用了由识别码和启动码配合的双码控制方案,加上相应的延时取码和限时锁定功能,既能限制错误密码的输入次数,又不会对有效接收范围内的其他同类遥控密码锁产生误操作影响,同时还能对抗可自动连续高速产生开/闭锁密码的外部试探解码器。与原来的遥控密码锁相比,可显著地提高被保护设备的防盗安全性,可广泛应用于对安全性有较高要求的机动车辆等各式设备上;这对保护人民群众的财产安全、维护社会的安定团结有着积极的意义。
【附图说明】
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明基于身份识别的遥控密码锁装置一个实施例的原理框图;
图2是体现本发明基于身份识别的遥控密码锁控制方法的遥控密码锁的工作流程图。
【具体实施方式】
如图1所示,本实施例的遥控密码锁系统中,包括锁体装置和遥控器,其中遥控器通过其发射器来发射带有开/闭锁密码的信号;锁体装置通过其接收器接收所述开/闭锁信号,并由其解码器从开/闭锁信号中解码出开/闭锁密码,然后由控制模块将解码出的密码与其存储器中预存的密码进行对比,如果密码一致,则输出控制信号到执行机构,改变锁体装置的开/闭锁状态。其中,存储器中的开/闭锁密码由锁体识别码和启动码组成;控制模块从解码器输出的开/闭锁密码中提取出识别码和启动码,并将提取出的识别码与锁体识别码进行对比,如果两者一致则将提取出的启动码与锁体装置的启动码进行对比,如果两者一致则改变锁体装置的开/闭锁状态。
可见,本发明的要点是将开/闭锁所需的密码设计为两段:第一段为锁体识别码,第二段为改变锁体装置开/闭锁状态的启动码。
其中,锁体识别码是由生产厂家在生产密码锁时固化在锁体装置和遥控器内的,例如可用密码锁的生产序号作为识别码,并保证密码锁的识别码不重复。如果密码锁生产厂家不止1家,各生产厂家可以将一个随机数固化在锁体装置和遥控器内作为识别码,只要随机数的位数足够大,便可以将识别码的重复概率降低到合理的水平。例如当随机数达到24位二进制数时,识别码的重复概率不到1千6百万分之一,考虑到识别码的作用是防止遥控接收范围内的其他同类遥控密码锁错误地接收启动码,而遥控接收范围十分有限,通常都在百米范围之内,所以这样的识别码精度是完全足够的。就是万一出现了遥控接收范围内的其他同类遥控密码锁具有相同识别码的情况,在多次发出开/闭锁密码时可能将那些正处于闭锁状态的具有相同识别码的密码锁锁定,也可以通过前述限时锁定技术,而实际上并不真正妨碍密码锁的正常使用。
启动码也是由生产厂家在生产密码锁时存入锁体装置和遥控器内的,在需要时用户也可以自行更改启动码,从而进一步提高密码锁的防盗强度。为了对抗能自动连续高速产生开/闭锁密码的外部试探解码器,启动码应具有足够的位数。
上述基于身份识别的遥控密码锁的工作流程如图2所示,从图中可以看出,
(1)锁体装置通电启动后,先将已连续接收错误启动码的次数I清零,即I=0,然后正常工作。
(2)等待接收外部遥控器发来的开/闭锁信号,如果接收到开/闭锁信号,则从信号中解码出开/闭锁密码,交输入到控制模块进行下一步处理。
(3)控制模块按预定的规则,从开/闭锁密码中提取出识别码和启动码。
(4)判断所提取出的识别码与锁体装置中预存的识别码是否一致,如果是则进入步骤(5);否则回到步骤(2)。可见,当识别码不一致时,控制模块不会再判断启动码是否一致,而是直接返回到等待接收外部遥控器发来的开/闭锁信号的状态。
(5)此时提取出的识别码与锁体装置中预存的识别码一致,需要再判断所提取出的启动码与锁体装置中预存的启动码是否一致,如果是则进入步骤(6),否则跳到步骤(7)。
(6)此时提取出的启动码与锁体装置中预存的启动码也一致,即识别码与启动码都一致,表示开/闭锁密码完全正确,将改变锁体装置的当前状态,如果原来是开锁状态,则改为闭锁状态;如果原来是闭锁状态,则改为开锁状态。然后将已连续接收错误启动码的次数I清零,即I=0,再回到步骤(2),即回到等待接收外部遥控器发来的开/闭锁信号的状态。
(7)此时表示提取出的启动码与锁体装置中预存的启动码不一致,需要先判断锁体装置是否处于闭锁状态;如果是则进入步骤(8),否则回到步骤(2)。也就是说,当密码锁处于理开锁状态时,如果收到错误的启动码,将不会作任何处理,而是直接回到等待接收外部遥控器发来的开/闭锁信号的状态。
(8)此时锁体装置处于闭锁状态,需要先将连续收到错误启动码的次数I加1,即I=I+1,然后再判断连续收到错误启动码的次数是否已达到预定出错次数;此处设预定出错次数为3,即判断I是否小于3预定出错次数,如果是则进入步骤(9),否则跳到步骤(10)。
(9)此时表示连续收到错误启动码的次数未达到预定出错次数,锁体装置将保持其当前的闭锁状态,并经过一段预定的延迟时间之后才回到步骤(2)。
(10)此时表示连续收到错误启动码的次数已达到预定出错次数,锁体装置将保持其当前的闭锁状态,经过一段预定的锁定时间之后,将已连续接收错误启动码的次数I清零,即I=0,然后再回到步骤(2)。
在上述步骤(9)中实现了“密码延时接收”功能,每当密码锁接收到一个发给自己的启动码之后,在发现该启动码错误时,将延迟一定的时间再接收下一个开/闭锁密码。这里的延迟时间,即两次输入密码的间隔,应该与普通人的操作速度基本一致,同时又可以有效延长外部试探解码器开锁的试探时间。如果该试探解码器发出试探码的间隔时间小于密码锁的延迟时间,将会有相当数量的开/闭锁密码不会被密码锁收到,从而无法正常试探。在这样的情况下,即使外部试探解码器发出了所有可能的开/闭锁密码,仍然可能无法打开密码锁;这里需要强调的是,在遥控接收的有效范围之内不同的密码锁通常都具有不同的识别码,因此这种“密码延时接收”不会对需要操作的密码锁周边的其他密码锁造成影响。
在上述步骤(10)中实现了“密码锁限时锁定”功能,当连续收到错误启动码的次数达到预定次数时,锁体装置将保持其当前的闭锁状态,在此期间拒绝接收开/闭锁密码,从而达到暂时锁定密码锁的目的。当超过规定的锁定时间后,密码锁又自动恢复正常接收开/闭锁密码的状态,并按正常程序加以处理。锁定时间的长度应当保证既有效对抗外部试探解码器,同时又不会给用户的正常使用带来太大的麻烦。在密码锁被错误锁定的最坏情况下(由于遥控范围内锁体识别码很难相同,而且所接收的错误启动码必须达到一定的次数,实际上可以认为这样的情况不会发生),其他用户只需稍等片刻即可正常开锁。同样地,在外部试探解码器连续发出开锁的试探码的间隔时间小于密码锁的锁定时间时,也必将会有相当数量的开/闭锁密码无法试探到。在这样的情况下,即使外部试探解码器发出了所有可能的开/闭锁密码,仍然可能无法打开密码锁;由于密码锁的锁定时间可由用户任意改变,基本上可以肯定外部试探解码器无法将所有可能的开/闭锁密码都发送到密码锁中,除非将外部试探解码器发出开锁试探码的时间间隔取得很大,而这样将使得试探开锁丧失实际的意义。
如果启动码采用32位二进制,可能的启动码将超过42.9亿个。设上述延迟时间为0.5秒,锁定时间为10秒,且每次可连续接收3个错误启动码,在这样的情况下,即便是非法开锁者知道锁体识别码和所有这些参数,要将全部可能的启动码送入密码锁中的最短时间将超过499年,而平均开锁时间将超过249年。实际上非法开锁者无法知道锁体识别码,因此平均开锁时间将远远大于上述开锁时间,如果锁体识别码也采用32位二进制,平均开锁时间将超过10000亿年。
在现有的遥控密码锁基础上稍加改进,即可实现上述功能,其中用于输入密码信号的遥控器最好采用小范围的无线电或红外线发射器。采用无线电信号传输方式时,应当采用抗干扰能力较强的调频信号等传输手段,以提高密码锁的可靠性。
在具体实施时,应注意以下几个问题:
1、允许的连续错误启动码个数应当适当,最好为3-5个。如果太少则可能因设备故障或与周围同类密码锁的识别码相同的原因,而产生密码锁被错误锁定的情况,给使用者带来不必要的麻烦。如果过多(比如10个以上),虽然可以减少密码锁被错误锁定的问题,但外部试探解码器试探开锁的平均时间将大为减少,这对提高密码锁的防盗性能是不利的。
2、密码锁的延迟时间和锁定时间也应适当,其中延迟时间最好为0.1-1秒,锁定时间最好为2-30秒。
3、识别码和启动码的数字位数最好一样,二者的数字位数不应低于16位,但过高(如64位以上)又没有必要。识别码和启动码虽然作用不同,但在密码防盗的数学意义上没有区别。识别码和启动码的数字位数一样,主要是为了减少器件品种和降低生产成本、提高设备可靠性。密码位数太少会降低密码锁的防盗性;密码位数太多又会增加生产成本,而所带来的安全性方面的好处已没有太多的实际意义(如果识别码和启动码均采用24位二进制,在密码延时接收为0.5秒、锁定时间为10秒且每次可连续接收3个错误启动码时,平均开锁时间将超过1600万年)。
3、为了方便用户、提高密码锁防盗能力,最好能够允许用户更改启动码和锁定时间。用户在更改启动码或锁定时间之前,除了用户必须在密码锁上手工输入更改许可密码以外,用户还必须使用遥控器与锁体装置进行对码,以检查两者的识别码和启动码是否一致,例如可要求用户必须在开锁状态下才能输入更改许可密码。为了避免失误并防止在产生新密码时泄密,更改密码时应当采用信号电缆(或光纤)来将密码锁产生的新密码发送至密码发送器。
上述实施例是以遥控密码锁为例进行说明的,本发明的方案还可适用于接触式密码锁,例如在按键式或拨号式密码锁中,同样可采用上述双码锁控、延时取码、以及限时锁定方案。这样,既可以提高设备的使用效率,又可以防止在密码输入过程可能引发的密码外泄问题,进一步提高密码锁的安全可靠性能。本发明的基于身份识别的遥控密码锁可以是普通的接触式密码锁系统,例如用键盘作为密码输入装置的密码锁,用智能卡作为密码输入装置的密码锁等。但更适用于非接触式的遥控密码锁系统,此时所述密码输入装置是一个遥控器,所述遥控器通过其发射器来发射带有开/闭锁密码的信号;所述锁体装置内包括控制模块、用于接收所述开/闭锁信号的接收器、用于从开/闭锁信号中解码出开/闭锁密码的解码器、用于存储锁体自身开/闭锁密码的存储器、以及用于改变开/闭锁状态的执行机构;所述解码器可向控制模块输入其解码出的开/闭锁密码,所述执行机构根据所述控制模块的输出信号改变锁体装置的开/闭锁状态。