本申请是名称为:一种基于生物特征识别的智能门锁控制方法及系统,申请号为:201910573173.5的发明专利的分案申请,母案申请日为:2019年06月28日。
本发明涉及智能家居领域,尤其涉及一种基于生物特征识别的智能门锁控制方法及系统。
背景技术:
智能门锁是指在传统机械锁的基础上改进的,在用户识别、安全性、管理性方面更加智能化、简便化的锁具。目前的智能门锁通过指纹、人脸、声纹等多种生物特征识别进行身份验证,通过与保存在智能门锁端的生物特征进行比对,比对一致后门锁开启。此种方法中所采集的生物特征在智能门锁端保存并进行比对,一旦被不法分子获取生物特征,不法分子可以通过伪造获取的生物特征通过比对开启智能门锁,存在安全隐患。
技术实现要素:
本发明的目的是为了克服现有技术的不足,提供一种基于生物特征识别的智能门锁控制方法及系统。
本发明提供了一种基于生物特征识别的智能门锁控制方法,包括:
步骤r1:终端发送开锁请求给应用服务器;
步骤r2:所述应用服务器根据所述开锁请求判断当前操作用户是否拥有智能门锁的控制权限,是则执行步骤r3,否则发送账号异常响应给所述终端;
步骤r3:所述应用服务器发送密钥标识和提示终端发送生物特征的响应给所述终端,执行步骤r4;
步骤r4:所述终端启用生物特征采集模块,提示用户录入生物特征并等待接收,根据接收的所述密钥标识检索对应的密钥对的公钥,使用检索到的所述密钥对的公钥对接收的生物特征进行加密得到开锁认证请求,发送所述开锁认证请求给所述应用服务器;
步骤r5:所述应用服务器接收所述开锁认证请求并进行开锁认证,如认证成功则向所述终端发送开锁认证成功响应,执行步骤r6,认证失败则判断认证次数是否超过预设值,如不超过则发送开锁认证失败响应给所述终端,返回步骤r4,如超过则结束;
步骤r6:所述应用服务器根据生物特征模板值检索对应的门锁标识,根据所述门锁标识生成开锁指令,发送所述开锁指令给所述智能门锁;
步骤r7:所述智能门锁判断接收的所述开锁指令中的门锁标识与保存的门锁标识是否一致,是则驱动离合器电路进行开锁操作,发送开锁成功响应给所述应用服务器;否则发送开锁失败响应给所述应用服务器。
本发明还提供了一种基于生物特征识别的智能门锁控制系统,包括终端、应用服务器和智能门锁;
所述终端包括:
第一发送模块,用于发送开锁请求给应用服务器;
第一接收模块,用于接收所述应用服务器发送的密钥标识和提示终端发送生物特征的响应,触发生物特征采集模块;
所述第一接收模块,还用于接收所述应用服务器发送的账号异常响应;
所述生物特征采集模块,用于提示用户录入生物特征并等待接收;
加密发送模块,用于根据所述第一接收模块接收的密钥标识检索对应的密钥对的公钥,使用检索到的所述密钥对的公钥对所述生物特征采集模块接收的生物特征进行加密得到开锁认证请求,发送所述开锁认证请求给所述应用服务器;
所述第一接收模块,还用于接收所述应用服务器发送的开锁认证失败响应,触发所述生物特征采集模块;
所述应用服务器包括:
第一接收判断模块,用于接收所述终端发送的开锁请求,根据所述开锁请求判断当前操作用户是否拥有智能门锁的控制权限;
第二发送模块,用于所述第一接收判断模块判断为是时发送密钥标识和提示终端发送生物特征的响应给所述终端;
所述第二发送模块,还用于所述第一接收判断模块判断为否时发送账号异常响应给所述终端;
接收验证模块,用于接收所述终端发送的开锁认证请求并进行认证,如认证成功则触发所述第二发送模块,认证失败则触发第一判断模块;
所述第二发送模块,还用于发送开锁认证成功响应给终端,触发生成发送模块;
所述生成发送模块,用于根据生物特征模板值检索对应的门锁标识,根据所述门锁标识生成开锁指令,发送所述开锁指令给所述智能门锁;
所述第一判断模块,用于判断认证次数是否超过预设值,如不超过则触发所述第二发送模块,如超过则结束;
所述第二发送模块,还用于发送开锁认证失败响应给所述终端;
所述智能门锁包括:
第二接收判断模块,用于接收所述应用服务器发送的开锁指令,判断所述开锁指令中的门锁标识与保存的门锁标识是否一致,是则触发开锁发送模块,否则触发第三发送模块;
所述开锁发送模块,用于驱动离合器电路进行开锁操作,发送开锁成功响应给所述应用服务器;
所述第三发送模块,用于发送开锁失败响应给所述应用服务器。
本发明与现有技术相比,具有以下优点:
本发明采集的生物特征不在智能门锁端保存比对,而是在应用服务器端保存比对,避免不法分子利用伪造的生物特征通过智能门锁的验证开启智能门锁,安全性更高。
附图说明
图1为本发明实施例四提供的一种基于生物特征识别的智能门锁注册方法的流程图;
图2为本发明实施例四提供的一种基于生物特征识别的智能门锁控制方法的流程图;
图3为本发明实施例五提供的一种基于生物特征识别的智能门锁注册方法的流程图;
图4为本发明实施例五提供的一种基于生物特征识别的智能门锁控制方法的流程图;
图5-1和图5-2为本发明实施例六提供的一种基于生物特征识别的智能门锁注册方法的流程图;
图6-1和图6-2为本发明实施例六提供的一种基于生物特征识别的智能门锁控制方法的流程图;
图7-1和图7-2为本发明实施例七提供的一种基于生物特征识别的智能门锁注册方法的流程图;
图8-1和图8-2为本发明实施例七提供的一种基于生物特征识别的智能门锁控制方法的流程图;
图9为本发明实施例八提供的一种基于生物特征识别的智能门锁注册方法的流程图;
图10为本发明实施例八提供的一种基于生物特征识别的智能门锁控制方法的流程图;
图11为本发明实施例九提供的一种基于生物特征识别的智能门锁控制系统的方框图;
图12为本发明实施例十提供的一种基于生物特征识别的智能门锁控制系统的方框图;
图13为本发明实施例十一提供的一种基于生物特征识别的智能门锁控制系统的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种基于生物特征识别的智能门锁控制方法,包括:
步骤t1:终端发送开锁请求给智能门锁;
步骤t2:智能门锁根据开锁请求判断当前操作用户是否拥有智能门锁的控制权限,是则执行步骤t3,否则发送不匹配响应给终端;
步骤t3:智能门锁生成第二随机挑战值,根据第二随机挑战值组成开锁验证请求,发送开锁验证请求给终端;
步骤t4:终端启用生物特征识别模块,提示用户输入生物特征并等待接收;
步骤t5:终端判断接收的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则执行步骤t6,否则判断匹配次数是否超过预设值,如不超过则返回步骤t4,如超过则结束;
步骤t6:终端根据保存的生物特征模板值检索对应的私钥,使用私钥对接收的开锁验证请求中的第二随机挑战值进行签名得到第二签名值,根据第二签名值和账号生成开锁验证响应并发送给智能门锁;
步骤t7:智能门锁根据开锁验证响应中的账号检索对应的公钥,使用公钥对第二签名值进行验证,验证成功则执行步骤t8,验证失败则发送开锁失败响应给终端;
步骤t8:智能门锁驱动离合器电路进行开锁操作,发送开锁成功响应给终端。
实施例二
本发明实施例二提供一种基于生物特征识别的智能门锁控制方法,包括:
步骤s1:终端发送开锁请求给服务器;
步骤s2:服务器根据开锁请求判断当前操作用户是否拥有智能门锁的控制权限,是则执行步骤s3,否则发送门锁标识与账号不匹配响应给终端;
步骤s3:服务器生成第四随机挑战值,发送开锁同意提示响应和所述第四随机挑战值给终端;
步骤s4:终端启用生物特征识别模块,提示用户录入生物特征并等待接收;
步骤s5:终端判断接收的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则执行步骤s6,否则判断匹配次数是否超过预设值,如不超过则返回步骤s4,如超过则结束;
步骤s6:终端根据保存的生物特征模板值检索对应的私钥,使用私钥对接收的第四随机挑战值进行签名得到第四签名值,根据第四签名值和账号生成开锁验证请求并发送给服务器;
步骤s7:服务器根据开锁验证请求中的账号检索对应的公钥,使用公钥对所述第四签名值进行验证,验证成功则执行步骤s8,验证失败则发送错误提示响应给终端;
步骤s8:服务器根据账号提取对应的门锁标识,根据门锁标识生成开锁指令发送给智能门锁;
步骤s9:智能门锁判断接收的所述开锁指令中的门锁标识与保存的门锁标识是否一致,是则驱动离合器电路进行开锁操作,发送开锁成功响应给服务器;否则发送开锁失败响应给服务器。
实施例三
本发明实施例三提供一种基于生物特征识别的智能门锁控制方法,包括:
步骤r1:终端发送开锁请求给应用服务器;
步骤r2:应用服务器根据所述开锁请求判断当前操作用户是否拥有智能门锁的控制权限,是则执行步骤r3,否则发送账号异常响应给终端;
步骤r3:应用服务器发送密钥标识和提示终端发送生物特征的响应给终端;
步骤r4:终端启用生物特征采集模块,提示用户录入生物特征并等待接收,根据接收的密钥标识检索对应的密钥对的公钥,使用检索到的密钥对的公钥对接收的生物特征进行加密得到开锁认证请求,发送开锁认证请求给应用服务器;
步骤r5:应用服务器接收所述终端发送的开锁认证请求并进行开锁认证,如认证通过则向终端发送开锁认证成功响应,执行步骤r6,认证失败则判断认证次数是否超过预设值,如不超过则发送开锁认证失败响应给终端,返回步骤r4,如超过则结束;
步骤r6:应用服务器根据生物特征模板值检索对应的门锁标识,根据门锁标识生成开锁指令,发送开锁指令给智能门锁;
步骤r7:智能门锁判断接收的所述开锁指令中的门锁标识与保存的门锁标识是否一致,是则驱动离合器电路进行开锁操作,发送开锁成功响应给应用服务器;否则发送开锁失败响应给应用服务器。
实施例四
本发明实施例四提供一种基于生物特征识别的智能门锁注册方法,如图1所示,包括:
步骤101:终端和智能门锁通过无线通信方式建立连接;
具体的,无线通信方式包括近场通信nfc、蓝牙、基于蜂窝的窄带物联网nb-iot或基于扩频技术的超远距离无线传输lora;
步骤102:终端发送注册请求给智能门锁;
具体的,注册请求包括注册信息,包含账号、口令密码和终端标识;
其中,口令密码要求满足一定的安全强度,比如包含数字、字母,且至少8位等;若终端为手机,则终端标识为meid;若终端为pad等,则终端标识可以为mac硬件地址,形如4c:b6:b5:ad:09:b8;
步骤103:智能门锁生成第一随机挑战值,根据第一随机挑战值组成注册请求响应消息,发送注册请求响应消息给终端;
具体的,第七随机挑战值为0x19ce7b317e124df0;
步骤104:终端接收并解析注册请求响应消息得到第一随机挑战值;
步骤105:终端启用生物特征识别模块,提示用户录入生物特征并等待接收;
具体的,生物特征包括指纹、虹膜、脸谱、指静脉或声纹等;
步骤106:终端提示用户第二次录入生物特征并等待接收;
步骤107:终端判断两次接收到的生物特征各自对应的生物特征模板值是否匹配,是则执行步骤108,否则返回步骤105;
具体的,生物特征模板值是终端的生物特征模块根据特定的算法从生物特征中提取的数值;
例如,生物特征以指纹为例,特定的算法为指纹脊线频率求取算法或二值图像去孔噪声算法或基于灰度指纹提取算法;
步骤108:终端保存与生物特征对应的生物特征模板值,根据预设算法生成密钥对和密钥标识,使用密钥对的私钥对第一随机挑战值、密钥标识和门锁标识进行签名得到第一签名值;
具体的,预设算法为sm2算法或rsa算法;
具体的,密钥对的公钥为
55a9f1e463e0a6049218321b1bf67ec10b9e6df5dffeea0fda0d41a39ca8094b486b8ada584ff326d68223298eea000c10a0dc355677351531aeb39429c271be;
密钥对的私钥为
97952c5045d5b74c1dcbd6a362c33e8bb7132f72b2c7b0bcc332f92b3a4ce5fb;
密钥标识为0x01;
第一签名值为
0xeb6f26ad3ccfba53ecbfb4d59f8c30cf4ed261ffedc86e352f3245662d3edabd7e3e0743ec5fea58ce74bbfe2655017652f6049c195a27cd41fc76a4eb5f2615;
步骤109:终端根据第一签名值、密钥对的公钥和密钥标识生成注册关联请求报文并发送给智能门锁;
步骤110:智能门锁使用密钥对的公钥对第一签名值解密得到第一哈希值;根据预设哈希算法对保存的第一随机挑战值、密钥标识和门锁标识进行哈希计算得到第二哈希值;判断第一哈希值和第二哈希值是否一致,是则执行步骤111,否则发送注册关联失败响应给终端;
具体的,第一哈希值为
0x980be9b569912b74cbaad49663b5a21568c7a00dc166d7201e6ab07f0d935bf1;
第二哈希值为
0x980be9b569912b74cbaad49663b5a21568c7a00dc166d7201e6ab07f0d935bf1;
步骤111:智能门锁关联终端标识、密钥标识、密钥对的公钥、账号和口令密码,发送注册关联成功响应给终端。
本发明实施例四提供一种基于生物特征识别的智能门锁控制方法,如图2所示,包括:
步骤201:终端发送开锁请求给智能门锁;
具体的,开锁请求包括终端标识、密钥标识和账号;
步骤202:智能门锁判断开锁请求中的终端标识、密钥标识和账号是否对应存在于关联列表中,是则执行步骤203,否则发送不匹配响应给终端;
步骤203:智能门锁产生第二随机挑战值并保存,根据第二随机挑战值组成开锁验证请求,发送开锁验证请求给终端;
具体的,第二随机挑战值为0xd506861a16680f3a;
步骤204:终端启用生物特征识别模块,提示用户录入生物特征并等待接收;
步骤205:终端判断接收的生物特征对应的生物模板值与保存的生物特征模板值是否匹配,是则执行步骤206,否则判断匹配次数是否超过预设值,如不超过则返回步骤204,如超过则结束;
例如,预设值为三次;
步骤206:终端根据密钥标识检索对应的私钥,使用私钥对第二随机挑战值进行签名得到第二签名值,根据第二签名值和账号生成开锁验证响应,发送开锁验证响应给智能门锁;
具体的,第二签名值为
a2897971136d4671ce0388dc43912ca2f6173cd0eaccba1483a6a2ced43aaab9b66a3dd66577fe912992ab665f9bc375d2e94dad3e8a577401b80fc5e89a5986;
步骤207:智能门锁根据开锁验证响应中的账号检索对应的密钥标识,根据密钥标识检索对应的公钥,使用公钥对第二签名值进行解密得到第三哈希值;根据预设哈希算法对保存的第二随机挑战值进行计算得到第四哈希值,判断第三哈希值和第四哈希值是否相同,是则执行步骤208,否则发送开锁失败响应给终端,执行步骤209;
具体的,第三哈希值为
b7357e1a6292120e86f76b9e909ca2c54fe4d6b48e9f4bd2adb9537b12859b1c;
第四哈希值为
b7357e1a6292120e86f76b9e909ca2c54fe4d6b48e9f4bd2adb9537b12859b1c;
步骤208:智能门锁驱动离合器电路进行开锁操作,发送开锁成功响应给终端;
步骤209:终端接收开锁响应,保存开锁记录。
实施例五
本发明实施例五提供一种基于生物特征识别的智能门锁注册方法,如图3所示,包括:
步骤301:终端发送注册请求给服务器;
具体的,注册请求包括注册信息,包含账号、口令密码和终端标识;
其中,口令密码要求满足一定的安全强度,比如包含数字、字母,且至少8位等;若终端为手机,则终端标识为meid;若终端为pad等,则终端标识可以为mac硬件地址,形如4c:b6:b5:ad:09:b8;
优选的,服务器可以为多级(一级、二级和三级)服务器以适配更多的应用场景;
一级服务器场景:例如家用门锁
服务器和门锁直接交互的,负责发送开锁指令,保存开启记录,服务器存储门锁标识和与用户相关的信息(包括账号、口令密码、密钥标识、公钥、终端标识);
二级服务器场景:例如连锁酒店或宾馆
本地服务器,负责本节点内的门锁管理,本地服务器存储门锁标识子集库、账号和开启记录;
远程服务器,负责所有节点的门锁管理,远程服务器存储门锁标识库、所有账号备份和以及所有门锁的开启记录;
三级服务器场景:例如某厂商总部
根服务器,管理中间层服务器,存储有所有账号、门锁标识;
中间层服务器,按地域或客户群类别划分,分管自治域内的底层服务器;
底层服务器,负责节点内的门锁管理,底层服务器存储门锁标识子集库、账号和开启记录;
步骤302:服务器判断注册请求中的账号是否已注册,是则发送注册失败响应给终端,执行步骤301,否则执行步骤303;
具体的,服务器在保存的注册列表中查找接收的账号,如查找到则账号已注册,反之账号未注册;
步骤303:服务器保存注册请求中的注册信息到注册列表中,发送注册成功响应给终端;
具体地,保存的注册信息包括账号、口令密码和终端标识;
步骤304:终端保存注册请求中的账号和口令密码;
步骤305:终端和智能门锁通过无线通信方式建立连接;
具体的,无线通信方式包括近场通信nfc、蓝牙、基于蜂窝的窄带物联网nb-iot或基于扩频技术的超远距离无线传输lora;
步骤306:终端通过扫描门锁贴标的条形码或序列码获取门锁标识并保存,根据账号和门锁标识生成关联请求并发送给服务器;
具体的,门锁标识,包括厂商编号、智能门锁类型、门锁编号、年份、安全等级和反复启闭次数,例如znms(智能门锁)-ft(厂商)-e(系列)-2018(年份)-ⅲ(安全级别)-g(反复启闭次数)-n(室内)-00000xxxx(同批次编号),例如znms-ft-e-2018-ⅲ-g-n-00000009;
步骤307:服务器判断关联请求中的门锁标识是否存在于保存的门锁标识列表中,是则执行步骤308,否则发送拒绝关联提示响应给终端;
具体的,服务器端存储有智能门锁的相关信息,如果接收到的门锁标识存在于保存的门锁标识列表中则执行步骤308,否则发送拒绝关联提示响应给终端;
步骤308:服务器关联账号和门锁标识,产生第三随机挑战值,发送第三随机挑战值和同意关联提示响应给终端;
具体的,第三随机挑战值为十六进制的8字节数据,例如0xa248c45732d4cd36;
步骤309:终端接收并保存第三随机挑战值;
步骤310:终端启用生物特征识别模块,提示用户录入生物特征并等待接收;
具体的,生物特征包括指纹、虹膜、脸谱、指静脉或声纹等;
步骤311:终端提示用户第二次录入生物特征并等待接收;
步骤312:终端判断两次接收到的生物特征各自对应的生物特征模板值是否匹配,是则执行步骤313,否则返回步骤310;
具体的,生物特征模板值是终端的生物特征模块根据特定的算法从生物特征中提取的数值;
例如,生物特征以指纹为例,特定的算法为指纹脊线频率求取算法或二值图像去孔噪声算法或基于灰度指纹提取算法;
步骤313:终端保存与生物特征对应的生物特征模板值,根据预设算法生成密钥对和密钥标识,使用密钥对的私钥对第三随机挑战值、密钥标识和门锁标识进行签名得到第三签名值;
具体的,预设算法为sm2算法或rsa算法;
例如,当选用的预设算法为sm2算法时,sm2算法返回json格式的数据为:
{
"typ":"jwt",
"alg":"301sm2"
"keyids":"01"
"da":"97952c5045d5b74c1dcbd6a362c33e8bb7132f72b2c7b0bcc332f92b3a4ce5fb"
"pa":"55a9f1e463e0a6049218321b1bf67ec10b9e6df5dffeea0fda0d41a39ca8094b486b8ada584ff326d68223298eea000c10a0dc355677351531aeb39429c271be"
}
其中,密钥对的公钥为
55a9f1e463e0a6049218321b1bf67ec10b9e6df5dffeea0fda0d41a39ca8094b486b8ada584ff326d68223298eea000c10a0dc355677351531aeb39429c271be;密钥对的私钥为
97952c5045d5b74c1dcbd6a362c33e8bb7132f72b2c7b0bcc332f92b3a4ce5fb;密钥标识为0x01;
第三签名值为
5613213d41c5c2a7f6918b757ba8abf53a2d7aa6c50116cdaac6a5b1edad029304e66e3b3a13caf6e6837bd3741a149c661c7fe8aca9ee2f1bb2c09cfd5f0aac;
步骤314:终端根据第三签名值、密钥对的公钥和密钥标识生成注册关联请求报文并发送给服务器;
具体地,注册关联请求报文以json格式发送给服务器:
{
"sign1":"5613213d41c5c2a7f6918b757ba8abf53a2d7aa6c50116cdaac6a5b1edad029304e66e3b3a13caf6e6837bd3741a149c661c7fe8aca9ee2f1bb2c09cfd5f0aac",
"pa":"55a9f1e463e0a6049218321b1bf67ec10b9e6df5dffeea0fda0d41a39ca8094b486b8ada584ff326d68223298eea000c10a0dc355677351531aeb39429c271be",
"keyids":"01"
};
步骤315:服务器接收保存注册关联请求报文中的第三签名值、密钥对的公钥和密钥标识,使用密钥对的公钥对第三签名值解密得到第五哈希值;
具体的,第五哈希值为
0x6894be06e5940c8fac9190cf8b6826ddd976bbf6848f889d252f415152f1f1ac;
步骤316:服务器根据预设哈希算法对保存的第三随机挑战值、门锁标识和接收的密钥标识进行计算得到第六哈希值;
具体的,预设哈希算法为sm3算法或sha256算法;
具体的,第六哈希值为
0x6894be06e5940c8fac9190cf8b6826ddd976bbf6848f889d252f415152f1f1ac;
步骤317:服务器判断第五哈希值和第六哈希值是否一致,是则执行步骤318,否则发送注册关联失败响应给终端;
步骤318:服务器关联密钥标识、密钥对的公钥、门锁标识、账号和终端标识,服务器发送注册关联成功响应给终端。
本发明实施例五提供一种基于生物特征识别的智能门锁控制方法,如图4所示,包括:
步骤401:终端发送开锁请求给服务器;
具体的,开锁请求包括终端标识、保存的门锁标识和账号;
步骤402:服务器判断开锁请求中的终端标识是否存在于注册列表中,是则执行步骤403,否则发送进一步确认提示响应给终端;
具体的,终端为非常规登录设备,需用户进一步确认是否继续操作,等待当前操作用户更换终端或重新录入生物特征;
步骤403:服务器判断开锁请求中的门锁标识和账号是否对应存在于关联列表中,是则执行步骤404,否则发送门锁标识与账号不匹配响应给终端;
具体的,服务器通过检索开锁请求中的门锁标识和账号是否对应存在于关联列表中以明确用户是否拥有智能门锁的控制权限;
步骤404:服务器产生第四随机挑战值并保存,发送开锁同意提示响应和第四随机挑战值给终端;
具体的,第四随机挑战值为0xd506861a16680f3a;
步骤405:终端接收并保存第四随机挑战值;
步骤406:终端启用生物特征识别模块,提示用户录入生物特征并等待接收;
步骤407:终端判断接收的生物特征对应的生物模板值与保存的生物特征模板值是否匹配,是则执行步骤408,否则判断匹配次数是否超过预设值,如不超过则返回步骤406,如超过则结束;
例如,预设值为三次;
步骤408:终端根据保存的生物特征模板值检索对应的密钥标识,根据密钥标识检索对应的私钥,使用私钥对第四随机挑战值进行签名得到第四签名值;
具体的,第四签名值为
a2897971136d4671ce0388dc43912ca2f6173cd0eaccba1483a6a2ced43aaab9b66a3dd66577fe912992ab665f9bc375d2e94dad3e8a577401b80fc5e89a5986;
步骤409:终端根据第四签名值和账号生成开锁验证请求并发送给服务器;
步骤410:服务器根据账号检索对应的密钥标识,根据密钥标识检索对应的公钥,使用公钥对第四签名值进行解密得到第七哈希值;
具体的,第七哈希值为
b7357e1a6292120e86f76b9e909ca2c54fe4d6b48e9f4bd2adb9537b12859b1c;
步骤411:服务器根据预设哈希算法对保存的第四随机挑战值进行计算得到第八哈希值,判断第七哈希值和第八哈希值是否相同,是则执行步骤412,否则发送错误提示响应给终端;
具体地,预设哈希算法优选sm3算法或sha256算法;
具体的,第八哈希值为
b7357e1a6292120e86f76b9e909ca2c54fe4d6b48e9f4bd2adb9537b12859b1c;
步骤412:服务器根据账号提取对应的门锁标识,根据门锁标识生成开锁指令,发送开锁指令给智能门锁;
步骤413:智能门锁判断接收的开锁指令中的门锁标识与保存的门锁标识是否一致,是则执行步骤414,否则发送开锁失败响应给服务器,执行步骤415;
步骤414:智能门锁驱动离合器电路进行开锁操作,发送开锁成功响应给服务器,执行步骤415;
步骤415:服务器接收开锁响应,保存开锁记录,服务器发送开锁记录给终端。
实施例六
本发明实施例六提供一种基于生物特征识别的智能门锁注册方法,如图5-1和图5-2所示,包括:
步骤501:终端发送注册请求给本地服务器;
具体的,注册请求包括注册信息,包含账号、口令密码和终端标识
其中,口令密码要求满足一定的安全强度,比如包含数字、字母,且至少8位等;若终端为手机,则终端标识为meid;若终端为pad等,则终端标识可以为mac硬件地址,形如4c:b6:b5:ad:09:b8;
步骤502:本地服务器判断注册请求中的账号是否已注册,是则发送注册失败响应给终端,执行步骤501,否则执行步骤503;
具体的,本地服务器在保存的注册列表中查找接收的账号,如查找到则账号已注册,反之账号未注册;
步骤503:本地服务器保存注册请求中的注册信息到注册列表中,发送注册成功响应给终端;
具体地,保存的注册信息包括账号、口令密码和终端标识;
步骤504:终端保存注册请求中的账号和口令密码;
步骤505:终端和智能门锁通过无线通信方式建立连接;
具体的,无线通信方式包括近场通信nfc、蓝牙、基于蜂窝的窄带物联网nb-iot或基于扩频技术的超远距离无线传输lora;
步骤506:终端通过扫描门锁贴标的条形码或序列码获取门锁标识并保存,根据账号和门锁标识生成关联请求并发送给本地服务器;
具体的,门锁标识,包括厂商编号、智能门锁类型、门锁编号、年份、安全等级和反复启闭次数,例如znms(智能门锁)-ft(厂商)-e(系列)-2018(年份)-ⅲ(安全级别)-g(反复启闭次数)-n(室内)-00000xxxx(同批次编号),例如znms-ft-e-2018-ⅲ-g-n-00000009;
步骤507:本地服务器判断关联请求中的门锁标识是否存在于保存的门锁标识列表中,是则执行步骤508,否则发送拒绝关联提示响应给终端;
步骤508:本地服务器关联账号和门锁标识,产生第五随机挑战值,发送第五随机挑战值和同意关联提示响应给终端;
具体的,第五随机挑战值为0xeac1bc216d54b80d;
步骤509:终端接收并保存第五随机挑战值;
步骤510:终端启用生物特征识别模块,提示用户录入生物特征并等待接收;
具体的,生物特征包括指纹、虹膜、脸形、指静脉或声纹等;
步骤511:终端提示用户第二次录入生物特征并等待接收;
步骤512:终端判断两次接收到的生物特征各自对应的生物特征模板值是否匹配,是则执行步骤513,否则返回步骤510;
具体的,生物特征模板值是终端的生物特征模块根据特定的算法从生物特征中提取的数值;
例如,生物特征以指纹为例,特定的算法为指纹脊线频率求取算法或二值图像去孔噪声算法或基于灰度指纹提取算法;
步骤513:终端保存与生物特征对应的生物特征模板值,根据预设算法生成密钥对和密钥标识,使用密钥对的私钥对第五随机挑战值、密钥标识和门锁标识进行签名得到第五签名值;
具体的,预设算法为sm2算法或rsa算法;
其中,预设算法以sm2算法为例,密钥标识为0x01;密钥对的公钥为55a9f1e463e0a6049218321b1bf67ec10b9e6df5dffeea0fda0d41a39ca8094b486b8ada584ff326d68223298eea000c10a0dc355677351531aeb39429c271be;
密钥对的私钥为
97952c5045d5b74c1dcbd6a362c33e8bb7132f72b2c7b0bcc332f92b3a4ce5fb;
第五签名值为:
4c05fd1c6d011fe1a727eab4c8abecf937e7f122a67a53378dbe830f9919e42b3d2a70bb395674b1e8c0a91529d2667f5118ec48f4be8305ac6713e9398cf74a;
步骤514:终端根据第五签名值、密钥对的公钥和密钥标识生成注册关联请求报文并发送给本地服务器;
具体地,注册关联请求报文以json格式返回,
{
"sign3":"4c05fd1c6d011fe1a727eab4c8abecf937e7f122a67a53378dbe830f9919e42b3d2a70bb395674b1e8c0a91529d2667f5118ec48f4be8305ac6713e9398cf74a",
"alg":"301sm2",
"keyids":"01",
"pubkey":"55a9f1e463e0a6049218321b1bf67ec10b9e6df5dffeea0fda0d41a39ca8094b486b8ada584ff326d68223298eea000c10a0dc355677351531aeb39429c271be"
};
步骤515:本地服务器接收保存注册关联请求报文中的第五签名值、密钥对的公钥和密钥标识,使用密钥对的公钥对第五签名值解密得到第九哈希值;
具体的,第九哈希值为
0x121984e38c78f482df77cb97c71ea41df3b51d26499e63e3ed262f749d6f8e91;
步骤516:本地服务器根据预设哈希算法对保存的第五随机挑战值、门锁标识和接收的密钥标识进行计算得到第十哈希值;
具体的,第十哈希值为
0x121984e38c78f482df77cb97c71ea41df3b51d26499e63e3ed262f749d6f8e91;
步骤517:本地服务器判断第九哈希值和第十哈希值是否一致,是则执行步骤518,否则发送注册关联失败响应给终端;
步骤518:本地服务器关联密钥标识、公钥、门锁标识、账号和终端标识,生成关联列表,发送关联列表给远程服务器;
步骤519:远程服务器接收并保存关联列表,发送保存关联列表成功响应给本地服务器;
步骤520:本地服务器发送注册关联成功响应给终端。
本发明实施例六提供一种基于生物特征识别的智能门锁控制方法,如图6-1和图6-2所示,包括:
步骤601:终端发送开锁请求给本地服务器;
具体的,开锁请求包括终端标识、保存的门锁标识和账号;
步骤602:本地服务器判断开锁请求中的终端标识是否存在于注册列表中,是则执行步骤603,否则发送进一步确认提示响应给终端;
具体的,终端为非常规登录设备,需用户进一步确认是否继续操作,等待当前操作用户更换终端或重新录入生物特征;
步骤603:本地服务器判断开锁请求中的门锁标识和账号是否对应存在于注册列表中,是则执行步骤604,否则发送门锁标识与账号不匹配响应给终端;
具体的,本地服务器通过检索开锁请求中的门锁标识和账号是否对应存在于关联列表中以明确用户是否拥有智能门锁的控制权限;
步骤604:本地服务器产生第六随机挑战值并保存,发送开锁同意提示响应和第六随机挑战值给终端;
具体地,第六随机挑战值为0xef3cc1fa534382eb;
步骤605:终端接收并保存第六随机挑战值;
步骤606:终端启用生物特征识别模块,提示用户录入生物特征并等待接收;
步骤607:终端判断接收的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则执行步骤608,否则判断匹配次数是否超过预设值,如不超过则返回步骤606,如超过则结束;
例如,预设值为三次;
步骤608:终端根据保存的生物特征模板值检索对应的密钥标识,根据密钥标识检索对应的私钥,使用私钥对第六随机挑战值进行签名得到第六签名值;
具体的,第六签名值为
0x778ad881be2692d68200c80d02a8f9da6d2bc82f4913386f3e9419c696ee17613981c923de1e13b22a3aaaa62c29bbffc43154984689bb8f84c7f1283d7bc7c1;
步骤609:终端根据第六签名值和账号生成开锁验证请求并发送给本地服务器;
步骤610:本地服务器根据账号检索对应的密钥标识,根据密钥标识检索对应的公钥,使用公钥对第六签名值进行解密得到第十一哈希值;
具体的,第十一哈希值为
0xb7cbf6222d89ee98e5539d5fd462dfe5767c0ebeb7f332ecd066ed0bfcccbdd2;
步骤611:本地服务器根据预设哈希算法对第六随机挑战值进行计算,得到第十二哈希值,判断第十一哈希值和第十二哈希值是否相同,是则执行步骤612,否则发送错误提示响应给终端;
具体地,预设哈希算法优选sm3算法或sha256算法;
具体的,第十二哈希值为
0xb7cbf6222d89ee98e5539d5fd462dfe5767c0ebeb7f332ecd066ed0bfcccbdd2;
步骤612:本地服务器根据账号提取对应的门锁标识,根据门锁标识生成开锁指令,发送开锁指令给智能门锁;
步骤613:智能门锁判断接收的开锁指令中的门锁标识与保存的门锁标识是否一致,是则执行步骤614,否则发送开锁失败响应给本地服务器,执行步骤615;
步骤614:智能门锁驱动离合器电路进行开锁操作,发送开锁成功响应给本地服务器,执行步骤615;
步骤615:本地服务器接收开锁响应,保存开锁记录,发送开锁记录给远程服务器;
步骤616:远程服务器接收并保存开锁记录,发送保存开锁记录成功响应给本地服务器;
步骤617:本地服务器发送开锁记录给终端。
实施例七
本发明实施例五提供一种基于生物特征识别的智能门锁注册方法,如图7-1和图7-2所示,包括:
步骤701:终端发送注册请求给底层服务器;
具体的,注册请求包括注册信息,包含账号、口令密码和终端标识;
其中,口令密码要求满足一定的安全强度,比如包含数字、字母,且至少8位等;若终端为手机,则终端标识为meid;若终端为pad等,则终端标识可以为mac硬件地址,形如4c:b6:b5:ad:09:b8;
步骤702:底层服务器判断注册请求中的账号是否已注册,是则发送注册失败响应给终端,执行步骤701,否则执行步骤703;
具体的,底层服务器在保存的注册列表中查找接收的账号,如查找到则账号已注册,反之账号未注册;
步骤703:底层服务器保存注册请求中的注册信息到注册列表中,发送注册成功响应给终端;
具体地,保存的注册信息包括账号、口令密码和终端标识;
步骤704:终端保存注册请求中的账号和口令密码;
步骤705:终端和智能门锁通过无线通信方式建立连接;
具体的,无线通信方式包括近场通信nfc、蓝牙、基于蜂窝的窄带物联网nb-iot或基于扩频技术的超远距离无线传输lora;
步骤706:终端通过扫描门锁贴标的条形码或序列码获取门锁标识并保存,根据账号和门锁标识生成关联请求并发送给底层服务器;
具体的,门锁标识,包括厂商编号、智能门锁类型、门锁编号、年份、安全等级和反复启闭次数,例如znms(智能门锁)-ft(厂商)-e(系列)-2018(年份)-ⅲ(安全级别)-g(反复启闭次数)-n(室内)-00000xxxx(同批次编号),例如znms-ft-e-2018-ⅲ-g-n-00000009;
步骤707:底层服务器判断关联请求中的门锁标识是否存在于保存的门锁标识列表中,是则执行步骤708,否则发送拒绝关联提示响应给终端;
步骤708:底层服务器关联账号和门锁标识,产生第七随机挑战值,发送第七随机挑战值和同意关联提示响应给终端;
具体的,第七随机挑战值为0x19ce7b317e124df0;
步骤709:终端接收并保存第七随机挑战值;
步骤710:终端启用生物特征识别模块,提示用户录入生物特征并等待接收;
具体的,生物特征包括指纹、虹膜、脸谱、指静脉或声纹等;
步骤711:终端提示用户第二次录入生物特征并等待接收;
步骤712:终端判断两次接收到的生物特征各自对应的生物特征模板值是否匹配,是则执行步骤713,否则返回步骤710;
具体的,生物特征模板值是终端的生物特征模块根据特定的算法从生物特征中提取的数值;
步骤713:终端保存与生物特征对应的生物特征模板值,根据预设算法生成密钥对和密钥标识,使用密钥对的私钥对第七随机挑战值、密钥标识和门锁标识进行签名得到第七签名值;
具体的,预设算法为sm2算法或rsa算法;
具体的,密钥对的公钥为
55a9f1e463e0a6049218321b1bf67ec10b9e6df5dffeea0fda0d41a39ca8094b486b8ada584ff326d68223298eea000c10a0dc355677351531aeb39429c271be;
密钥对的私钥为
97952c5045d5b74c1dcbd6a362c33e8bb7132f72b2c7b0bcc332f92b3a4ce5fb;
密钥标识为0x01;
第七签名值为
0xeb6f26ad3ccfba53ecbfb4d59f8c30cf4ed261ffedc86e352f3245662d3edabd7e3e0743ec5fea58ce74bbfe2655017652f6049c195a27cd41fc76a4eb5f2615;
步骤714:终端根据第七签名值、密钥对的公钥和密钥标识生成注册关联请求报文并发送给底层服务器;
步骤715:底层服务器接收保存注册关联请求报文中的第七签名值、密钥对的公钥和密钥标识,使用密钥对的公钥对第七签名值解密得到第十三哈希值;
具体的,第十三哈希值为
0x980be9b569912b74cbaad49663b5a21568c7a00dc166d7201e6ab07f0d935bf1;
步骤716:底层服务器根据预设哈希算法对保存的第七随机挑战值、门锁标识和接收的密钥标识进行计算得到第十四哈希值;
具体的,第十四哈希值为
0x980be9b569912b74cbaad49663b5a21568c7a00dc166d7201e6ab07f0d935bf1;
步骤717:底层服务器判断第十三哈希值和第十四哈希值是否一致,是则执行步骤718,否则发送注册关联失败响应给终端;
步骤718:底层服务器关联密钥标识、公钥、门锁标识、账号和终端标识,并生产关联列表,发送关联列表给中间层服务器;
步骤719:中间层服务器接收并保存关联列表,发送关联列表给根服务器;
步骤720:根服务器接收并保存关联列表,发送保存关联列表成功响应给中间层服务器;
步骤721:中间层服务器发送保存关联列表成功响应给底层服务器;
步骤722:底层服务器发送注册关联成功响应给终端。
本发明实施例七提供一种基于生物特征识别的智能门锁控制方法,如图8-1和图8-2所示,包括:
步骤801:终端发送开锁请求给底层服务器;
具体的,开锁请求包括终端标识、保存的门锁标识和账号;
步骤802:底层服务器判断开锁请求中的终端标识是否存在于注册列表中,是则执行步骤803,否则发送进一步确认提示响应给终端;
具体的,终端为非常规登录设备,需用户进一步确认是否继续操作,等待当前操作用户更换终端或重新录入生物特征;
步骤803:底层服务器判断开锁请求中的门锁标识和账号是否对应存在于关联列表中,是则执行步骤804,否则发送门锁标识与账号不匹配响应给终端;
具体的,底层服务器通过检索开锁请求中的门锁标识和账号是否对应存在于关联列表中以明确用户是否拥有智能门锁的控制权限;
步骤804:底层服务器产生第八随机挑战值并保存,发送开锁同意提示响应和第八随机挑战值给终端;
具体的,第八随机挑战值为0xd506861a16680f3a;
步骤805:终端接收并保存第八随机挑战值;
步骤806:终端启用生物特征识别模块,提示用户录入生物特征并等待接收;
步骤807:终端判断接收的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则执行步骤808,否则判断匹配次数是否超过预设值,如不超过则返回步骤806,如超过则结束;
例如,预设值为三次;
步骤808:终端根据保存的生物特征模板值检索对应的密钥标识,根据密钥标识检索对应的私钥,使用私钥对第八随机挑战值进行签名得到第八签名值;
具体的,第八签名值为
a2897971136d4671ce0388dc43912ca2f6173cd0eaccba1483a6a2ced43aaab9b66a3dd66577fe912992ab665f9bc375d2e94dad3e8a577401b80fc5e89a5986;
步骤809:终端根据第八签名值和账号生成开锁验证请求并发送给底层服务器;
步骤810:底层服务器根据账号检索对应的密钥标识,根据密钥标识检索对应的公钥,使用公钥对第八签名值进行解密得到第十五哈希值;
具体的,第十五哈希值为
b7357e1a6292120e86f76b9e909ca2c54fe4d6b48e9f4bd2adb9537b12859b1c;
步骤811:底层服务器根据预设哈希算法对保存的第八随机挑战值进行计算得到第十六哈希值,判断第十五哈希值和第十六哈希值是否相同,是则执行步骤812,否则发送错误提示响应给终端;
具体地,预设哈希算法优选sm3算法、sha256算法;
具体的,第十六哈希值为
b7357e1a6292120e86f76b9e909ca2c54fe4d6b48e9f4bd2adb9537b12859b1c;
步骤812:底层服务器根据账号提取对应的门锁标识,根据门锁标识生成开锁指令,发送开锁指令给智能门锁;
步骤813:智能门锁判断接收的开锁指令中的门锁标识与保存的门锁标识是否一致,是则执行步骤814,否则发送开锁失败响应给底层服务器,执行步骤815;
步骤814:智能门锁驱动离合器电路进行开锁操作,发送开锁成功响应给底层服务器,执行步骤815;
步骤815:底层服务器接收开锁响应,保存开锁记录,发送开锁记录给中间层服务器;
步骤816:中间层服务器接收并保存开锁记录,发送开锁记录给根服务器;
步骤817:根服务器接收并保存开锁记录,发送保存开锁记录成功响应给中间层服务器;
步骤818:中间层服务器发送保存开锁记录成功响应给底层服务器;
步骤819:底层服务器发送开锁记录给终端。
实施例八
本发明实施例八提供一种基于生物特征识别的智能门锁注册方法,如图9所示,包括:
步骤901:终端发送注册请求给应用服务器;
具体的,注册请求包括注册信息,包含账号、口令密码和身份合法性标识;
具体的,身份合法性标识为身份证号或护照号码;
步骤902:应用服务器判断注册请求中的账号是否已注册,是则发送注册失败响应给终端,执行步骤901,否则执行步骤903;
具体的,服务器在保存的注册列表中查找接收的账号,如查找到则账号已注册,反之账号未注册;
步骤903:应用服务器根据注册请求中的身份合法性标识生成认证请求并发送认证请求给认证服务器;
具体的,认证服务器为可信服务器,如公安系统;
步骤904:认证服务器接收认证请求,判断认证请求中身份合法性标识是否合法,是则发送认证失败响应给应用服务器,执行步骤905,否则发送认证失败响应给应用服务器;
步骤905:应用服务器将注册请求中的注册信息保存至注册列表中,发送注册成功响应给终端;
具体地,保存的注册信息包括账号、口令密码和身份合法性标识;
步骤906:终端保存注册请求中的账号和口令密码;
步骤907:终端和智能门锁通过无线通信方式建立连接;
具体的,无线通信方式包括近场通信nfc、蓝牙、基于蜂窝的窄带物联网nb-iot或基于扩频技术的超远距离无线传输lora;
步骤908:终端通过扫描门锁贴标的条形码或序列码获取门锁标识并保存,根据账号和门锁标识生成关联请求并发送给应用服务器;
具体的,门锁标识,包括厂商编号、智能门锁类型、门锁编号、年份、安全等级和反复启闭次数,例如znms(智能门锁)-ft(厂商)-e(系列)-2018(年份)-ⅲ(安全级别)-g(反复启闭次数)-n(室内)-00000xxxx(同批次编号),例如znms-ft-e-2018-ⅲ-g-n-00000009;
步骤909:应用服务器判断关联请求中的门锁标识是否存在于保存的门锁标识列表中,是则执行步骤910,否则发送关联失败响应给终端;
步骤910:应用服务器启用生物特征识别模块,发送录入生物特征提示响应给终端;
步骤911:终端启用生物特征采集模块,提示用户录入生物特征并等待接收生物特征;
步骤912:终端发送接收到的生物特征给应用服务器;
步骤913:应用服务器接收生物特征,根据生物特征模板值判断生物特征提取是否完备,是则执行步骤914,否则发送再次发送生物特征提示响应给终端,返回步骤911;
步骤914:应用服务器保存生物特征模板值,根据预设算法生成密钥对和密钥标识,关联账号、门锁标识、生物特征模板值、密钥标识和密钥对的公钥,发送关联成功响应、密钥对的公钥和密钥标识给终端;
步骤915:终端接收关联成功响应,并对账号、密钥对的公钥和密钥标识进行关联操作。
本发明实施例八提供一种基于生物特征识别的智能门锁控制方法,如图10所示,包括:
步骤1001:终端发送开锁请求给应用服务器;
具体的,开锁请求包括保存的门锁标识和账号;
步骤1002:应用服务器判断开锁请求中的账号是否存在于注册列表中,是则执行步骤1003,否则发送账号异常响应给终端,执行步骤1001;
步骤1003:应用服务器根据账号检索对应的密钥标识和密钥对的私钥,发送密钥标识及提示终端发送生物特征响应给终端;
步骤1004:终端启用生物特征采集模块,提示用户录入生物特征并等待接收;
步骤1005:终端根据接收的密钥标识检索对应的密钥对的公钥,使用检索到的密钥对的公钥对接收的生物特征进行加密得到开锁认证请求,发送开锁认证请求给应用服务器;
步骤1006:应用服务器使用密钥对的私钥对开锁认证请求进行解密得到生物特征,判断解密得到的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则执行步骤1007,否则判断匹配次数是否超过预设值,如不超过则发送开锁认证失败响应给终端,执行步骤1004,如超过则结束;
例如,预设值为三次;
步骤1007:应用服务器根据保存的生物特征模板值检索对应的门锁标识,根据门锁标识生成开锁指令,发送开锁指令给智能门锁;
步骤1008:智能门锁接收并解析开锁指令,判断开锁指令中的门锁标识与保存的门锁标识是否一致,是则执行步骤1009,否则发送开锁失败响应给应用服务器,执行步骤1010;
步骤1009:智能门锁驱动离合器电路进行开锁操作,发送开锁成功响应给应用服务器,执行步骤1010;
步骤1010:应用服务器接收开锁响应,保存开锁记录,发送开锁记录给终端。
实施例九
本发明实施例九提供一种基于生物特征识别的智能门锁控制系统,如图11所示,包括终端和智能门锁;
终端包括:
第一发送模块11,用于发送开锁请求给智能门锁;
第一接收模块12,用于接收智能门锁发送的开锁验证请求,触发生物特征识别模块;
第一接收模块12,还用于接收智能门锁发送的不匹配响应;
生物特征识别模块13,用于提示用户输入生物特征并等待接收;
第一判断模块14,用于判断生物特征识别模块接收的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则触发签名发送模块15,否则触发第二判断模块16;
签名发送模块15,用于根据保存的生物特征模板值检索对应的私钥,使用私钥对第一接收模块12接收的开锁验证请求中的第二随机挑战值进行签名得到第二签名值,根据第二签名值和账号生成开锁验证响应并发送给智能门锁;
第二判断模块16,用于判断匹配次数是否超过预设值,如不超过则触发生物特征识别模块13,如超过则结束;
智能门锁包括:
接收判断模块21,用于接收终端发送的开锁请求,根据开锁请求判断当前操作用户是否拥有智能门锁的控制权限,是则触发生成发送模块22,否则触发第二发送模块23;
生成发送模块22,用于生成第二随机挑战值,根据第二随机挑战值组成开锁验证请求,发送开锁验证请求给终端;
第二发送模块23,用于发送不匹配响应给终端;
接收验证模块24,用于接收终端发送的开锁验证响应,根据开锁验证响应中的账号检索对应的公钥,使用公钥对第二签名值进行验证,验证成功则触发开锁发送模块25,验证失败则触发第二发送模块23;
开锁发送模块25,用于驱动离合器电路进行开锁操作,发送开锁成功响应给终端;
第二发送模块23,还用于发送开锁失败响应给终端。
可选的,在本实施例中,接收判断模块21具体用于判断所述开锁请求中的终端标识和账号是否对应存在于关联列表中,是则触发生成发送模块22,否则触发第二发送模块23。
可选的,在本实施例中,第一判断模块14包括:
第一运算子模块,用于根据预设算法从接收的生物特征中提取的数值作为接收的生物特征对应的生物特征模板值;
第一判断子模块,用于判断接收的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则触发签名发送模块15,否则触发第二判断模块16。
可选的,在本实施例中,接收验证模块24包括:
接收子模块,用于接收所述终端发送的开锁验证响应;
检索解密子模块,用于根据接收子模块接收的开锁验证响应中的账号检索对应的密钥标识,根据所述密钥标识检索对应的公钥,使用所述公钥对接收的所述第二签名值进行解密得到第三哈希值;
运算子模块,用于根据预设哈希算法对保存的第二随机挑战值进行计算得到第四哈希值;
第二判断子模块,用于判断所述第三哈希值和所述第四哈希值是否相同,是则触发开锁发送模块25,否则触发第二发送模块23。
可选的,在本实施例中,还包括接收保存模块,用于接收开锁响应,保存开锁记录。
实施例十
本发明实施例十提供一种基于生物特征识别的智能门锁控制系统,如图12所示,包括终端、服务器和智能门锁;
终端包括:
第一发送模块31,用于发送开锁请求给服务器;
第一接收模块32,用于接收服务器发送的开锁同意提示响应和第四随机挑战值,触发生物特征识别模块;
第一接收模块32,还用于接收服务器发送的门锁标识与账号不匹配响应;
生物特征识别模块33,用于提示用户输入生物特征并等待接收;
第一判断模块34,用于判断生物特征识别模块33接收的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则触发签名发送模块35,否则触发第二判断模块36;
签名发送模块35,用于根据保存的生物特征模板值检索对应的私钥,使用私钥对第一接收模块32接收第四随机挑战值进行签名得到第四签名值,根据第四签名值和账号生成开锁验证请求并发送给服务器;
第二判断模块36,用于判断匹配次数是否超过预设值,如不超过则触发生物特征识别模块33,如超过则结束;
服务器包括:
第一接收判断模块41,用于接收终端发送的开锁请求,根据开锁请求判断当前操作用户是否拥有智能门锁的控制权限,是则触发生成发送模块42,否则触发第二发送模块43;
生成发送模块42,用于生成第四随机挑战值,发送开锁同意提示响应和第四随机挑战值给终端;
第二发送模块43,用于发送门锁标识与账号不匹配响应给终端;
接收验证模块44,用于接收终端发送的开锁验证请求,根据开锁验证请求中的账号检索对应的公钥,使用公钥对第四签名值进行验证,验证成功则触发提取发送模块45,验证失败则触发第二发送模块43;
提取发送模块45,用于根据账号提取对应的门锁标识,根据门锁标识生成开锁指令发送给智能门锁;
第二发送模块43,还用于发送错误提示响应给终端;
智能门锁包括:
第二接收判断模块51,用于接收服务器发送的开锁指令,判断接收的开锁指令中的门锁标识与保存的门锁标识是否一致,是则触发开锁发送模块52,否则触发第三发送模块53;
开锁发送模块52,用于驱动离合器电路进行开锁操作,发送开锁成功响应给服务器;
第三发送模块53,还用于发送开锁失败响应给服务器。
可选的,在本实施例中,第一接收判断模块41包括:
第一接收子模块,用于接收终端发送的开锁请求;
第一判断子模块,用于判断第一接收子模块接收的开锁请求中的终端标识是否存在于注册列表中,是则触发第二判断子模块,否则触发第二发送模块43;
第二判断子模块,用于判断开锁请求中的门锁标识和账号是否对应存在于关联列表中,是则触发生成发送模块42,否则触发第二发送模块43。
可选的,在本实施例中,第一判断模块34包括:
第一运算子模块,用于根据预设算法从接收的生物特征中提取的数值作为接收的生物特征对应的生物特征模板值;
第三判断子模块,用于判断第一运算子模块得到的生物特征模板值与保存的生物特征模板值是否匹配,是则触发签名发送模块35,否则触发第二判断模块36。
可选的,在本实施例中,接收验证模块44包括:
第二接收子模块,用于接收终端发送的开锁指令;
检索解密子模块,用于根据第二接收子模块接收的开锁指令中的账号检索对应的密钥标识,根据密钥标识检索对应的公钥,使用公钥对接收的第四签名值进行解密得到第七哈希值;
第二运算子模块,用于根据预设哈希算法对保存的第四随机挑战值进行计算得到第八哈希值;
第四判断子模块,用于判断第七哈希值和第八哈希值是否相同,是则触发提取发送模块45,否则触发第二发送模块43。
可选的,在本实施例中,服务器还包括保存发送模块,用于记录开锁响应,保存开锁记录,发送开锁记录给终端。
实施例十一
本发明实施例十一提供一种基于生物特征识别的智能门锁控制系统,如图13所示,包括终端、应用服务器和智能门锁;
终端包括:
第一发送模块61,用于发送开锁请求给应用服务器;
第一接收模块62,用于接收应用服务器发送的密钥标识和提示终端发送生物特征的响应,触发生物特征采集模块63;
第一接收模块62,还用于接收应用服务器发送的账号异常响应;
生物特征采集模块63,用于提示用户录入生物特征并等待接收;
加密发送模块64,用于根据第一接收模块62接收的密钥标识检索对应的密钥对的公钥,使用检索到的密钥对的公钥对生物特征采集模块63接收的生物特征进行加密得到开锁认证请求,发送开锁认证请求给应用服务器;
第一接收模块62,还用于接收应用服务器发送的开锁认证失败响应,触发生物特征采集模块63;
应用服务器包括:
第一接收判断模块71,用于接收终端发送的开锁请求,根据开锁请求判断当前操作用户是否拥有智能门锁的控制权限;
第二发送模块72,用于第一接收判断模块71判断为是时发送密钥标识和提示终端发送生物特征的响应给终端;
第二发送模块72,还用于第一接收判断模块71判断为否时发送账号异常响应给终端;
接收验证模块73,用于接收终端发送的开锁认证请求并进行认证,如认证成功则触发第二发送模块72,认证失败则触发第一判断模块75;
第二发送模块72,还用于发送开锁认证成功响应给终端,触发生成发送模块74;
生成发送模块74,用于根据生物特征模板值检索对应的门锁标识,根据门锁标识生成开锁指令,发送开锁指令给智能门锁;
第一判断模块75,用于判断认证次数是否超过预设值,如不超过则触发第二发送模块72,如超过则结束;
第二发送模块72,还用于发送开锁认证失败响应给终端;
智能门锁包括:
第二接收判断模块81,用于接收应用服务器发送的开锁指令,判断开锁指令中的门锁标识与保存的门锁标识是否一致,是则触发开锁发送模块82,否则触发第三发送模块83;
开锁发送模块82,用于驱动离合器电路进行开锁操作,发送开锁成功响应给应用服务器;
第三发送模块83,用于发送开锁失败响应给应用服务器。
可选的,在本实施例中,第一接收判断模块71具体用于判断开锁请求中的账号是否存在于注册列表中。
可选的,在本实施例中,接收验证模块73包括:
接收子模块,用于接收终端发送的开锁认证请求;
解密子模块,用于使用密钥对的私钥对接收子模块接收的开锁认证请求进行解密得到生物特征;
判断子模块,用于判断解密子模块解密得到的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则触发第二发送模块72,否则触发第一判断模块75。
可选的,在本实施例中,判断子模块包括:
第一运算单元,用于根据预设算法从解密子模块解密得到的生物特征中提取的数值作为解密得到的生物特征对应的生物特征模板值;
第一判断单元,用于判断解密得到的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则触发第二发送模块,否则触发第一判断模块。
可选的,在本实施例中,所述应用服务器还包括保存发送模块,用于记录开锁响应,保存开锁记录,发送开锁记录给终端。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
1.一种基于生物特征识别的智能门锁控制方法,其特征在于,包括:
步骤r1:终端发送开锁请求给应用服务器;
步骤r2:所述应用服务器根据所述开锁请求判断当前操作用户是否拥有智能门锁的控制权限,是则执行步骤r3,否则发送账号异常响应给所述终端;
步骤r3:所述应用服务器发送密钥标识和提示终端发送生物特征的响应给所述终端,执行步骤r4;
步骤r4:所述终端启用生物特征采集模块,提示用户录入生物特征并等待接收,根据接收的所述密钥标识检索对应的密钥对的公钥,使用检索到的所述密钥对的公钥对接收的生物特征进行加密得到开锁认证请求,发送所述开锁认证请求给所述应用服务器;
步骤r5:所述应用服务器接收所述开锁认证请求并进行开锁认证,如认证成功则向所述终端发送开锁认证成功响应,执行步骤r6,认证失败则判断认证次数是否超过预设值,如不超过则发送开锁认证失败响应给所述终端,返回步骤r4,如超过则结束;
步骤r6:所述应用服务器根据生物特征模板值检索对应的门锁标识,根据所述门锁标识生成开锁指令,发送所述开锁指令给所述智能门锁;
步骤r7:所述智能门锁判断接收的所述开锁指令中的门锁标识与保存的门锁标识是否一致,是则驱动离合器电路进行开锁操作,发送开锁成功响应给所述应用服务器;否则发送开锁失败响应给所述应用服务器。
2.如权利要求1所述的控制方法,其特征在于,所述步骤r2具体包括:
所述应用服务器判断所述开锁请求中的账号是否存在于注册列表中,是则执行步骤r3,否则发送账号异常响应给所述终端。
3.如权利要求1所述的控制方法,其特征在于,所述步骤r5具体包括:
所述应用服务器使用密钥对的私钥对接收的所述开锁认证请求进行解密得到生物特征,判断解密得到的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则发送开锁认证成功响应给所述终端,执行步骤r6,否则判断认证次数是否超过预设值,如不超过则发送开锁认证失败响应给所述终端,返回步骤r4,如超过则结束。
4.如权利要求3所述的控制方法,其特征在于,所述解密得到的生物特征对应的生物特征模板值为所述应用服务器根据预设算法从解密得到的生物特征中提取的数值。
5.如权利要求1所述的控制方法,其特征在于,所述步骤r7之后还包括:所述应用服务器记录开锁响应,保存开锁记录,发送所述记录给所述终端。
6.一种基于生物特征识别的智能门锁控制系统,其特征在于,所述控制系统包括终端、应用服务器和智能门锁;
所述终端包括:
第一发送模块,用于发送开锁请求给应用服务器;
第一接收模块,用于接收所述应用服务器发送的密钥标识和提示终端发送生物特征的响应,触发生物特征采集模块;
所述第一接收模块,还用于接收所述应用服务器发送的账号异常响应;
所述生物特征采集模块,用于提示用户录入生物特征并等待接收;
加密发送模块,用于根据所述第一接收模块接收的密钥标识检索对应的密钥对的公钥,使用检索到的所述密钥对的公钥对所述生物特征采集模块接收的生物特征进行加密得到开锁认证请求,发送所述开锁认证请求给所述应用服务器;
所述第一接收模块,还用于接收所述应用服务器发送的开锁认证失败响应,触发所述生物特征采集模块;
所述应用服务器包括:
第一接收判断模块,用于接收所述终端发送的开锁请求,根据所述开锁请求判断当前操作用户是否拥有智能门锁的控制权限;
第二发送模块,用于所述第一接收判断模块判断为是时发送密钥标识和提示终端发送生物特征的响应给所述终端;
所述第二发送模块,还用于所述第一接收判断模块判断为否时发送账号异常响应给所述终端;
接收验证模块,用于接收所述终端发送的开锁认证请求并进行认证,如认证成功则触发所述第二发送模块,认证失败则触发第一判断模块;
所述第二发送模块,还用于发送开锁认证成功响应给终端,触发生成发送模块;
所述生成发送模块,用于根据生物特征模板值检索对应的门锁标识,根据所述门锁标识生成开锁指令,发送所述开锁指令给所述智能门锁;
所述第一判断模块,用于判断认证次数是否超过预设值,如不超过则触发所述第二发送模块,如超过则结束;
所述第二发送模块,还用于发送开锁认证失败响应给所述终端;
所述智能门锁包括:
第二接收判断模块,用于接收所述应用服务器发送的开锁指令,判断所述开锁指令中的门锁标识与保存的门锁标识是否一致,是则触发开锁发送模块,否则触发第三发送模块;
所述开锁发送模块,用于驱动离合器电路进行开锁操作,发送开锁成功响应给所述应用服务器;
所述第三发送模块,用于发送开锁失败响应给所述应用服务器。
7.如权利要求6所述的控制系统,其特征在于,所述第一接收判断模块具体用于判断所述开锁请求中的账号是否存在于注册列表中。
8.如权利要求6所述的控制系统,其特征在于,所述接收验证模块包括:
接收子模块,用于接收所述终端发送的开锁认证请求;
解密子模块,用于使用密钥对的私钥对所述接收子模块接收的所述开锁认证请求进行解密得到生物特征;
判断子模块,用于判断解密子模块解密得到的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则触发所述第二发送模块,否则触发第一判断模块。
9.如权利要求8所述的控制系统,其特征在于,所述判断子模块包括:
第一运算单元,用于根据预设算法从解密子模块解密得到的生物特征中提取的数值作为解密得到的生物特征对应的生物特征模板值;
第一判断单元,用于判断解密得到的生物特征对应的生物特征模板值与保存的生物特征模板值是否匹配,是则触发所述第二发送模块,否则触发第一判断模块。
10.如权利要求6所述的控制系统,其特征在于,所述应用服务器还包括保存发送模块,用于记录开锁响应,保存开锁记录,发送所述开锁记录给所述终端。
技术总结