专利名称:指纹锁、其锁端装置和钥匙及身份认证方法
技术领域:
本发明涉及指纹锁,更具体地说,涉及一种由空间上相互分离的钥匙和锁端装置组成的指纹锁,并涉及其开锁时的身份认证方法。
背景技术:
目前,指纹门锁(简称指纹锁)已经应用在各行各业当中。如图1所示,指纹锁的工作原理是:用指纹采集器代替锁口 ;采集器负责采集指纹并将采集到的指纹传送给指纹识别模块;指纹识别模块负责识别、验证采集到的指纹信息,判定使用者的身份,并依据判定结果向执行模块下达开启与否的命令;执行模块依据接受到的命令决定是否驱动电机打开门锁。指纹锁通过认证指纹信息实现开锁,相较于传统门锁使用普通的钥匙而言,具有携带方便、不会丢失、安全性好等特点。但现有指纹锁仍然存在以下的功能缺陷和安全隐患:(I)由于指纹识别模块和指纹采集模块固定于锁具端,致使注册、删除或修改用户信息时,相关人员必须身到现场,给使用者带来极大不便;(2)所有有效的用户信息都存储于门锁的存储模块中,既占用了系统资源又存在安全隐患;(3)由于指纹米集器长期暴露在人们可以接触的环境中,各易遭人为破坏,造成各种损失;(4)指纹识别模块固定在锁体内,加大了锁的体积,同时也容易被人攻击。
发明内容
本发明的目的是提供一种指纹锁、其锁端装置和钥匙及其开锁身份认证方法。本发明提供的一种指纹锁的锁端装置,包括电机、电机驱动单元以及电源管理单元,还包括用于控制所述电机驱动单元的第一处理器,与所述第一处理器连接用于与钥匙通信的第一接口,所述第一处理器包括:用单向HASH函数对系统密钥和来自钥匙的口令计算生成注册信息的第一计算模块;伪随机数生成模块;以及,对来自钥匙的登录信息进行计算和认证的认证模块。优选地,在上述的锁端装置中,所述第一接口为USB接口,USB接口呈十字形钥匙孔状,USB接口的四个触点以两层两列间隔排列。 优选地,在上述的锁端装置中,所述认证模块包括:检查登陆信息中的伪随机数是否正确的子模块;以及,用系统密钥、登录时发给钥匙的伪随机数以及登陆信息中的ID参数CIDi通过单向HASH函数计算验证值,进而比较计算的验证值和登陆信息中的验证参数Ci实现身份认证的子模块。本发明提供的一种指纹锁的钥匙,包括第二处理器,以及连接于第二处理器的指纹传感器、注册信息存储器和用于与指纹锁的锁端装置通信的第二接口,所述第二处理器包括:用指纹传感器采集到的指纹信息与注册信息存储器中的模板匹配,验证使用者身份的指纹识别模块;用指纹信息生成口令的口令计算模块;以及,用来自锁端装置的伪随机数、注册信息存储器中的注册信息和口令计算模块产生的口令构造登录信息的第二计算模块。优选地,在上述的钥匙中,所述第二接口为USB接口,该USB接口包括截面呈十字形的插入部和四个电触条,四个电触条分别设置在十字形插入部的四个夹角部。优选地,在上述的钥匙中,所述第二处理器还包括注册信息更改模块,该注册信息更改模块用新口令、原口令和原注册信息通过单向HASH函数生成新注册信息,并更新到注册信息存储器中,从而实现对注册信息的更改。优选地,在上述的钥匙中,所述登录信息包括ID参数CIDp验证参数Ci和来自锁端装置的伪随机数。上述任意一项的锁端装置和上述任意一项的钥匙可以构成指纹锁。本发明提供的一种指纹锁开锁的身份认证方法,其中,所述指纹锁由空间上相互分离的锁端装置和钥匙组成,且指纹传感器设置在钥匙上,该身份认证方法包括:将钥匙与锁端装置连接;指纹传感器采集使用者的指纹信息,与钥匙内存储的模板匹配,验证使用者的身份;身份合法后,钥匙用指纹信息计算口令,用来自锁端装置的伪随机数、钥匙内存储的注册信息和计算的口令计算ID参数CIDi和验证参数Ci,构造登录信息传送给锁端装置;锁端装置对来自钥匙的登录信息进行计算和认证,核实钥匙身份的合法性。优选地,在上述的身份认证方法中,锁端装置对来自钥匙的登录信息进行计算和认证包括:检查登陆信息中的伪随机数是否正确;以及,用系统密钥、登录时发给钥匙的伪随机数以及登陆信息中的ID参数CIDi通过单向HASH函数计算验证值,进而比较计算的验证值和登陆信息中的验证参数Ci实现钥匙身份认证。本发明的有益效果在于:由于指纹锁由空间上相互分离的锁端装置和钥匙组成,指纹识别、使用者身份认证等设置在钥匙中,信息存储更安全,不易被破坏,锁的体积可以做的较小。而且进一步还可以实现使用者在远离锁端装置的情况下注册、删除、修改用户的信息。
图1为现有指纹锁的原理框图;图2为本发明一实施例指纹锁锁端装置的硬件架构图;图3为其第二处理器和USB Host的连接图;图4为锁端装置的USB接口的结构示意图;图5为本发明一实施例指纹锁钥匙的硬件架构图;图6为钥匙的USB接口的结构示意图;图7为本发明一实施例指纹锁开锁身份认证方法的原理图;图8为本发明一实施例指纹锁的系统功能状态切换图。
具体实施例方式下面结合附图和实施例对本发明进一步说明。本实施例指纹锁由空间上相互分离的锁端装置和钥匙组成,且指纹传感器设置在钥匙上。如图2所示,本指纹锁的锁端装置2包括电机21、电机驱动单元22、电源管理单元
23、用于控制电机驱动单元22的第一处理器24、与第一处理器24连接用于与钥匙通信的第一接口 25。电机21采用普通直流电机,电机驱动单元22采用电机驱动芯片BA6287F,电源管理单元23采用普通3.3V/2.5V稳压模块。第一处理器24采用单片机AT89S52,其内至少设置有第一计算模块、伪随机数生成模块和认证模块。第一处理器24中的第一计算模块用于,用单向HASH函数对系统密钥和来自钥匙的口令计算生成注册信息。第一计算模块可以通过公式Μ K/n)) Ky./)计算注册信息,其中,h O为单向HASH函数,Pffi为来自钥匙的口令,Yj为存储在锁端装置2的系统密钥,Ni为计算得到的注册信息。第一处理器24中的伪随机数生成模块用于向钥匙提供伪随机数R。第一处理器24中的认证模块用于,对来自钥匙的登录信息进行计算和认证,实现对钥匙身份的验证。该认证模块包括:通过比较登陆信息中的伪随机数R和登录时发给钥匙的伪随机数R,检查登陆信息中的伪随机数是否正确的子模块;以及,用系统密钥y」、登录时发给钥匙的伪随机数R以及登陆信息中的ID参数CIDi通过单向HASH函数计算验证值,进而比较计算的验证值和登陆信息中的验证参数Ci实现身份认证的子模块,该子模块可以通过公式爯=十/(V7O)和c; = 十乃十Λ)计算验证值C/,,其中,h()为单向hash函数。第一接口 25采用USB接口,包括CYPRESS公司生产的USB Host芯片SL81IHS和特制的USB通信接口。USB Host芯片SL811HS和单片机AT89S52的连接如图3所示。为了满足使用者使用机械锁的开启习惯,本实施例依循传统的机械十字锁结构,将锁端装置2和钥匙的通信接口设计为独特的十字形接口。为方便理解,图4示意性地表示了锁端装置的USB接口的结构,如图4所示,锁端装置2的USB接口呈十字形钥匙孔状,USB接口的四个触点41 44以两层两列间隔排列。如图5所示,本指纹锁的钥匙I包括第二处理器11,以及连接于第二处理器11的指纹传感器12、注册信息存储器13和用于与指纹锁的锁端装置2通信的第二接口 14。此夕卜,还包括SRAM存储器15和电源管理模块16。指纹传感器12采用Authentic划擦式指纹采集器AES2510。注册信息存储器13采用三星公司生产的NandFlash K9F1G08U0B。SRAM存储器15采用富士公司生产的SRAM GS74116AGP-10。电源管理模块16采用普通3.3V/2.5V稳压模块。第二处理器11采用OKI指纹识别芯片ML67Q5250,其内至少设置有指纹识别模块、口令计算模块和第二计算模块。第二处理器11的指纹识别模块用于,用指纹传感器12采集到的指纹信息与注册信息存储器13中的模板匹配,验证使用者身份。其实现方法可采用现有的各种指纹识别方法,这里不再说明。
第二处理器11的口令计算模块用于,用指纹信息生成口令PWitl PWi可通过对注册的指纹模板按一定长度分割并循环异或的方式获得,即可以通过各种单向HASH函数实现。优选地,使用MD5算法。第二处理器11的第二计算模块用于,用来自锁端装置2的伪随机数、注册信息存储器13中的注册信息和口令计算模块产生的口令构造登录信息。第二计算模块可以通过公式CTOi 二 /i(/W,.)十/!.(/V,.十;^十/ ),氏=十RJhCi = h(Bi 十 Jj 十《)计算,
进而构造出登录信息(CIDi,Ci,R),其中,h O为单向HASH函数,R为从锁端装置2获取的伪随机数,Yj和Ni为注册信息存储器13中的注册信息,Pffi为口令计算模块用使用者指纹信息生成的口令,CIDi为ID参数,Ci为验证参数。为了便于在远离锁端装置的地方更改注册信息,钥匙I的第二处理器11还包括注册信息更改模块,该注册信息更改模块用新口令、原口令和原注册信息通过单向HASH函数生成新注册信息,并更新到注册信息存储器中,从而实现对注册信息的更改。该注册信息更改模块可以通过公八Λ = NiQh(PWi)QKPVVi') = h(PUV)_()0.)计算新注册信息V,其中,PWi为原口令,Ni为原注册信息,PWi'为用户通过指纹识别产生的新口令。计算后用新注册信息Ni'更新注册信息存储器13中的原注册信息Ni,从而实现了对注册信息的更改。该更改过程在钥匙I端单独完成,不需要连接锁端装置2。进一步,为了对注册信息的更改进行管理,防止随便更改信息盗开锁。可以将注册信息存储器13分为管理员信息存储器和普通用户信息存储器,并设计为在更改用户注册信息时,需要首先通过管理员身份认证,即获得管理员的许可。也可以通过对注册信息更改模块设置启动密码的方式,防止未经许可更改注册信息。钥匙I的第二接口 14采用USB接口。为了满足使用者使用机械锁的开启习惯,钥匙I的USB接口设计为独特的十字形接口。为方便理解,图6示意性地表示了钥匙I的USB接口的结构,如图6所示,钥匙 I的USB接口包括截面呈十字形的插入部65和四个电触条61 64,四个电触条61 64分别设置在十字形插入部65的四个夹角部。钥匙I插入锁端装置2后,锁端装置2的四个触点41 44触接钥匙I的四个电触条61 64,向钥匙I供电,并实现钥匙I和锁端装置2的通信。上述指纹锁通过身份认证后才执行开锁操作,图7示出了其采用的身份认证机制,参照图7,该身份认证方法包括: 将钥匙I与锁端装置2连接;指纹传感器12采集使用者的指纹信息,与钥匙I内存储的模板匹配,验证使用者的身份;使用者身份验证通过后,钥匙I用指纹信息计算口令PWi,从锁端装置2获取伪随机数R,用来自锁端装置2的伪随机数R、钥匙I内存储的注册信息Ni和计算的口令PWi,通过公式C/A.= /!(/—, 十“恥十乃十幻# =吨%.十十/ )),Q = IiiBi Yi十Λ)计算
ID参数CIDi和验证参数Ci,构造登录信息(CIDi, Ci, R)传送给锁端装置2 ;锁端装置2对来自钥匙I的登录信息(CIDi,Ci,R)进行计算和认证,核实钥匙I身份的合法性。优选通过以下方法实现:一方面,比较登陆信息(CIDi, Ci, R)中的伪随机数R和登录时发给钥匙I的伪随机数R,判断登陆信息中的伪随机数是否正确;另一方面,用系统密钥y」、登录时发给钥匙I的伪随机数R以及登陆信息中的ID参数CIDi通过单向HASH函数计算验证值C,进而比较计算的验证值Cf和登陆信息中的验证参数Ci实现钥匙身份认证,用公式表示为W = /办70两/1(乃))和67 = /ι(β:十y/十/ ),如果伪随机数正确,且计算的
验证值Cf等于登陆信息(CIDi, Ci, R)中的验证参数Ci,则身份验证成功。身份验证成功后,则控制电机6执行开锁操作。在上述身份认证方法中,将锁端装置2看作一个可登陆的服务器,将钥匙I看作一个登陆终端。在使用前,用户需要先进行注册,注册分为管理员注册与普通用户注册:管理员注册时,服务器Sj有一个系统密钥y」,一个安全的单向HASH函数h()。当管理员登陆终端Ui注册一个服务器时,由用户指纹特征模板生成口令PWi,并提交给服务器。服务器收到注册请求后计算出M = KPWd十从乃),之后将Ni和yj写入指纹识别系统管理员信息库中。普通用户注册时,系统将Nj和yj通过管理员信息库写入普通同用户信息库。上述指纹锁中,系统按功能划分为用户注册,用户验证,用户删除三部分,图8示意性地表示了系统功能状态切换关系。如图8所示,功能状态切换关系如下:
(I)当钥匙I插入锁端装置2的锁孔之后(即二者通过USB接口连接后),钥匙I获得USB总线供电,上电初始化,之后进行模板检测,如存在模板进入(2);若不存在其进入
(3);(2)进行用户验证。首先验证指纹。若通过,则按照特定协议发送身份认证信息(即上述登陆信息)至锁端装置2,进行开启操作;若不通过,则通知用户身份验证失败。用户可选择进入(3)或(4),默认停留于原状态;(3)进行用户注册,首先验证管理员指纹。若通过,注册新指纹,生成新用户信息并保存;若不通过,则通知用户注册失败。用户可选择进入(2)或(4),默认停留于原状态;(4)进行用户删除,首先验证指纹。若通过,删除对应指纹及其用户信息;若不通过,则通知用户删除失败。用户可选择进入(2)或(3),默认停留于原状态。
权利要求
1.一种指纹锁的锁端装置,包括电机(21)、电机驱动单元(22)以及电源管理单元(23),其特征在于:所述锁端装置还包括用于控制所述电机驱动单元的第一处理器(24),与所述第一处理器连接用于与钥匙通信的第一接口(25),所述第一处理器包括 用单向HASH函数对系统密钥(yj)和来自钥匙的口令(PWi)计算生成注册信息(Ni)的第一计算模块; 伪随机数生成模块;以及 对来自钥匙的登录信息(CIDi, Ci, R)进行计算和认证的认证模块。
2.根据权利要求1所述的锁端装置,其特征在于:所述第一接口为USB接口,USB接口呈十字形钥匙孔状,USB接口的四个触点(41 44)以两层两列间隔排列。
3.根据权利要求1所述的锁端装置,其特征在于:所述认证模块包括 检查登陆信息中的伪随机数是否正确的子模块;以及 用系统密钥、登录时发给钥匙的伪随机数以及登陆信息中的ID参数CIDi通过单向HASH函数计算验证值,进而比较计算的验证值和登陆信息中的验证参数Ci实现身份认证的子模块。
4.一种指纹锁的钥匙,其特征在于:包括第二处理器(11),以及连接于第二处理器的指纹传感器(12)、注册信息存储器(13)和用于与指纹锁的锁端装置(2)通信的第二接口(14),所述第二处理器包括 用指纹传感器采集到的指纹信息与注册信息存储器中的模板匹配,验证使用者身份的指纹识别1吴块; 用指纹信息生成口令(PWi)的口令计算模块;以及 用来自锁端装置的伪随机数(R)、注册信息存储器中的注册信息和口令计算模块产生的口令构造登录信息的第二计算模块。
5.根据权利要求4所述的钥匙,其特征在于:所述第二接口为USB接口,该USB接口包括截面呈十字形的插入部出5)和四个电触条¢1 64),四个电触条分别设置在十字形插入部的四个夹角部。
6.根据权利要求4所述的钥匙,其特征在于:所述第二处理器还包括注册信息更改模块,该注册信息更改模块用新口令(PWi')、原口令(PWi)和原注册信息(Ni)通过单向HASH函数生成新注册信息(Ni'),并更新到注册信息存储器中,从而实现对注册信息的更改。
7.根据权利要求4所述的钥匙,其特征在于:所述登录信息包括ID参数CIDp验证参数Ci和来自锁端装置的伪随机数。
8.一种指纹锁,其特征在于,包括权利要求1至3中任意一项的锁端装置和权利要求4至7中任意一项的钥匙。
9.一种指纹锁开锁的身份认证方法,其特征在于:所述指纹锁由空间上相互分离的锁端装置(2)和钥匙(I)组成,且指纹传感器设置在钥匙上,该身份认证方法包括: 将钥匙与锁端装置连接; 指纹传感器采集使用者的指纹信息,与钥匙内存储的模板匹配,验证使用者的身份; 身份合法后,钥匙用指纹信息计算口令,用来自锁端装置的伪随机数、钥匙内存储的注册信息和计算的口令计算ID参数CIDi和验证参数Ci,构造登录信息传送给锁端装置; 锁端装置对来自钥匙的登录信息进行计算和认证,核实钥匙身份的合法性。
10.根据权利要求9所述的身份认证方法,其特征在于,锁端装置对来自钥匙的登录信息进行计算和认证包括 检查伪随机数是否正确;以及 用系统密钥、登录 时发给钥匙的伪随机数以及登陆信息中的ID参数CIDi通过单向HASH函数计算验证值,进而比较计算的验证值和登陆信息中的验证参数Ci实现钥匙身份认证。
全文摘要
本发明涉及指纹锁、其锁端装置和钥匙及身份认证方法,锁端装置包括电机、电机驱动单元、电源管理单元、控制电机驱动单元的第一处理器以及与钥匙通信的第一接口,第一处理器包括用于生成注册信息的第一计算模块、伪随机数生成模块以及认证模块。钥匙包括第二处理器,连接于第二处理器的指纹传感器、注册信息存储器和用于与锁端装置通信的第二接口,第二处理器包括指纹识别模块、口令计算模块及构造登录信息的第二计算模块。指纹锁包括上述锁端装置和钥匙。该身份认证方法包括将钥匙与锁端装置连接;钥匙验证使用者的身份;身份合法后构造登录信息传送给锁端装置;锁端装置核实钥匙身份的合法性。本指纹锁安全,体积小,信息修改方便。
文档编号H04L9/32GK103166761SQ20131004623
公开日2013年6月19日 申请日期2013年2月5日 优先权日2013年2月5日
发明者林喜荣, 钟文东, 戴晓清, 黄万锋, 李建荣 申请人:清华大学深圳研究生院