一种基于HCE的门锁安全认证方法及系统与流程

文档序号:31761069发布日期:2022-10-12 02:59阅读:49来源:国知局
一种基于HCE的门锁安全认证方法及系统与流程
一种基于hce的门锁安全认证方法及系统
技术领域
1.本发明属于智能门锁安全技术领域,涉及nfc通信技术,具体涉及一种基于hce的门锁安全认证方法及系统。


背景技术:

2.随着智能门锁的技术发展,智能门锁的开锁方式也越来越方便。除了现有的利用指纹、虹膜等人体特征识别的开锁方式外,智能手机开锁也逐步流行。智能手机开锁的常用方式有三种:(1)基于智能手机、智能门锁、云服务平台三方实现认证开锁这种开锁方式的缺点是:在开锁过程中需要用户打开应用程序,例如点击开锁按钮,使用不便,影响用户开锁体验感;(2)基于智能手机的nfc功能及安全单元进行开锁这种开锁方式通常利用智能手机、手机内置安全单元及智能门锁三方来实现,基于nfc的hce模式实现无需打开应用即可开锁的功能,在手机休眠状态下开锁,这种方式虽然使用比较方便,但需要在智能手机中内置安全单元,普通智能手机无法使用,普适性差;(3)基于智能手机的nfc的hce模式进行开锁这种开锁方式通过软件实现智能门锁开锁,虽然使用比较方便,但安全性较差,容易被破解和攻击。
3.为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。


技术实现要素:

4.有鉴于此,为解决上述现有技术的不足,本发明提供了一种基于hce的门锁安全认证系统及方法。
5.本发明第一方面提供一种基于hce的门锁安全认证方法,所述方法包括初始化过程和认证开锁过程,初始化过程:服务平台接收来自智能门锁的设备注册申请,生成智能门锁对应的pin码;其中,所述设备注册申请包括门锁设备标识;服务平台接收来自移动终端的app注册申请,生成对应的aid、模拟卡公私钥及共享密钥;其中,所述app为基于hce卡模拟的门禁应用app;所述服务平台建立所述门锁设备标识、所述pin码、所述aid、所述模拟卡公私钥对及所述共享密钥之间的绑定关系;所述服务平台将所述aid、所述pin码、模拟卡公钥及共享密钥返回至所述智能门锁,将所述aid返回至所述移动终端;认证开锁过程:在接收到来自移动终端的开锁请求时,所述智能门锁基于nfc通信通道向所述移
动终端发送携带aid的选择指令请求;所述移动终端解析出所述选择指令请求中的aid,并判断是否存在与解析出的aid相匹配的门禁应用app;若存在,则建立所述移动终端与所述服务平台之间的安全数据传输通道,并向所述智能门锁返回aid匹配成功消息;在接收到aid匹配成功消息后,所述智能门锁经所述移动终端与所述服务平台之间的安全数据传输通道,向所述服务平台发送门锁验证请求,所述门锁验证请求包括门锁设备标识和pin码;所述服务平台解析出所述门锁验证请求中的门锁设备标识和pin码,基于解析出的门锁设备标识及预先建立的绑定关系,查找出预存的pin码;所述服务平台对比解析出的pin码与预存的pin码是否一致,若一致,则生成门锁认证成功消息并经所述移动终端返回至所述智能门锁;所述移动终端接收到所述门锁认证成功消息后,确认所述智能门锁具备访问所述门禁应用app的权限;在接收到所述门锁认证成功消息后,所述智能门锁生成第一随机数r1;基于所述第一随机数r1,所述智能门锁生成安全认证消息msg并传输至所述移动终端;其中,所述安全认证消息msg包括认证指令auth和第一随机数r1,所述认证指令auth用于指定认证策略;所述移动终端的门禁应用app经安全数据传输通道,将解析出的第一随机数r1和认证指令auth发送至所述服务平台;所述服务平台根据接收到的认证指令auth和第一随机数r1生成动态开锁密码,基于所述动态开锁密码生成开锁验证请求,并经所述移动终端将所述开锁验证请求传输至所述智能门锁;其中,所述开锁验证请求包括动态开锁密码、认证指令auth和第一随机数r1;在接收到所述开锁验证请求后,所述智能门锁根据解析出的认证指令auth选择使用预存的模拟卡公钥或者共享密钥,对所述动态开锁密码进行验证,若验证成功,则开锁,否则不开锁。
6.本发明第二方面提供一种智能门锁,所述智能门锁用于:初始化过程:向服务平台发送设备注册申请,接收来自服务平台的aid、pin码、模拟卡公钥及共享密钥;其中,所述设备注册申请包括门锁设备标识;认证开锁过程:在接收到来自移动终端的开锁请求时,经nfc通信通道向移动终端发送携带aid的选择指令请求;在接收到的来自移动终端的aid匹配成功消息后,经移动终端与服务平台之间的安全数据传输通道,向服务平台发送门锁验证请求;其中,所述门锁验证请求包括门锁设备标识和pin码;在接收到来自移动终端的门锁认证成功消息后,生成第一随机数r1;基于所述第一随机数r1,生成安全认证消息msg并传输至移动终端;其中,所述安全认证消息msg包括认证指令auth和第一随机数r1,所述认证指令auth用于指定认证策略;在接收到来自移动终端的开锁验证请求后,根据解析出的认证指令auth选择使用预存的模拟卡公钥或者共享密钥,对解析出的动态开锁密码进行验证,若验证成功,则开
锁,否则不开锁;其中,所述开锁验证请求包括动态开锁密码、认证指令auth和第一随机数r1。
7.本发明第三方面提供一种移动终端,所述移动终端包括基于hce卡模拟的门禁应用app,所述门禁应用app,用于:初始化过程:向服务平台发送app注册申请,接收来自服务平台的aid;认证开锁过程:经nfc通信通道向智能门锁发送开锁请求,解析出来自所述智能门锁的选择指令请求中的aid,并判断是否存在与解析出的aid相匹配的门禁应用app;若存在,则建立所述移动终端与所述服务平台之间的安全数据传输通道,并向所述智能门锁返回aid匹配成功消息;在接收到来自服务平台的门锁认证成功消息后,确认所述智能门锁具备访问所述门禁应用app的权限;经nfc通信通道将所述门锁认证成功消息发送至所述智能门锁,接收来自智能门锁的安全认证消息msg,并经安全数据传输通道发送至所述服务平台;其中,所述安全认证消息msg包括第一随机数r1和认证指令auth,所述认证指令auth用于指定认证策略;在接收到的来自服务平台的开锁验证请求后,经nfc通信通道将所述开锁验证请求转发至所述智能门锁;其中,所述开锁验证请求包括动态开锁密码、认证指令auth和第一随机数r1。
8.本发明第四方面提供一种服务平台,所述服务平台包括:初始化模块,其用于接收来自智能门锁的设备注册申请,生成智能门锁对应的pin码;还用于接收来自移动终端的app注册申请,生成对应的aid、模拟卡公私钥及共享密钥;还用于建立门锁设备标识、所述pin码、所述aid、所述模拟卡公私钥对及所述共享密钥之间的绑定关系,将所述aid、所述pin码、模拟卡公钥及共享密钥返回至智能门锁,将所述aid返回至移动终端;其中,所述设备注册申请包括门锁设备标识,所述app为基于hce卡模拟的门禁应用app;门锁认证模块,其用于解析出来自移动终端的门锁验证请求中的门锁设备标识和pin码,基于解析出的门锁设备标识及预先建立的绑定关系,查找出预存的pin码;还用于对比解析出的pin码与预存的pin码是否一致,若一致,则生成门锁认证成功消息并经移动终端返回至智能门锁;以及动态开锁密码生成模块,其用于根据接收到的认证指令auth和第一随机数r1生成动态开锁密码,基于所述动态开锁密码生成开锁验证请求,并经所述移动终端将所述开锁验证请求传输至所述智能门锁;其中,所述开锁验证请求包括动态开锁密码、认证指令auth和第一随机数r1。
9.本发明第五方面提供一种基于hce的门锁安全认证系统,所述系统包括服务平台、智能门锁和移动终端,所述服务平台与所述智能门锁之间建立网络通信链路,所述智能门锁和所述移动终端之间建立近场通信连接,所述移动终端与所述服务平台之间建立网络通信链路,执行上述的基于hce的门锁安全认证方法的步骤进行开锁验证。
10.本发明的有益效果是:
1)本发明在开锁过程中,由智能门锁主动发起选择指令请求进行aid匹配在aid匹配成功之后,所述移动终端与所述服务平台之间建立安全数据传输通道,为开锁验证做准备;由智能门锁主动发起门锁验证请求,移动终端的门禁应用app经安全数据传输通道将门锁验证请求传输至服务平台,由服务平台基于门锁验证请求对智能门锁进行身份认证;门锁身份认证通过之后,服务平台触发智能门锁生成包含第一随机数r1的安全认证消息msg,并由服务平台基于第一随机数r1生成动态开锁密码,经移动终端将动态开锁密码传输至智能门锁;最后,由智能门锁基于接收到的动态开锁密码判断是否开锁,从而通过加密认证方式进行安全且快速的开锁认证;2)本发明无需实体卡,在移动终端靠近智能门锁时,移动终端作为模拟卡,在移动终端休眠状态下提供“无感知开锁”服务;3)本发明利用移动终端的门禁应用app作为代理,服务平台作为移动终端的后台,模拟卡公私钥对及共享密钥生成及存储、智能门锁pin码认证、动态开锁密码的生成等步骤均在服务平台中实现,避免发生由于移动终端本地存储导致的模拟卡公私钥对及共享密钥泄漏的情况,因此其他人员无法通过移动终端来破解本发明的开锁安全认证方式;4)在每次开锁认证过程时,开锁认证所需的第一随机数r1、动态开锁密码及动态基准开锁密码均不相同,这些开锁响应数据实时更新;因此,本发明的开锁认证结果准确度高,开锁认证方式防御性强,大大提高了软件环境下hce服务的安全性,增强了基于hce的门锁安全认证方式的可靠性;5)本发明通过服务平台建立aid与门锁设备标识、pin码、模拟卡公私钥对及所述共享密钥之间的绑定关系,基于移动终端与服务平台之间的数据交互实现模拟卡的开锁功能,模拟卡不会被模拟和攻击;6)开锁认证过程的aid匹配、智能门锁pin码认证、动态开锁密码的生成及验证等各个步骤之间逻辑紧密,即使第一随机数r1被拦截,也无法仿造模拟卡进行开锁。
附图说明
11.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为本发明的基于hce的门锁安全认证方法的时序图;图2为本发明的基于hce的门锁安全认证系统的原理框图。
具体实施方式
12.下面给出具体实施例,对本发明的技术方案作进一步清楚、完整、详细地说明。本实施例是以本发明技术方案为前提的最佳实施例,但本发明的保护范围不限于下述的实施例。
13.hce(host-based card emulation),即基于主机的卡模拟,android 4.4引入了不涉及安全元件的另一种卡模拟方法,名为“基于主机的卡模拟”;这样一来,任何android应用都可以模拟卡并直接与nfc读取器通信。使用基于主机的卡模拟hce服务这一方式来模拟nfc卡时,系统会将数据发送到android应用直接在其上运行的主机cpu,而不是将nfc协议框架发送到安全元件,安全性能大大提高。
14.实施例1附图1示出了一种基于hce的门锁安全认证方法,所述方法包括初始化过程和认证开锁过程,初始化过程:服务平台接收来自智能门锁的设备注册申请,生成智能门锁对应的pin码;其中,所述设备注册申请包括门锁设备标识;服务平台接收来自移动终端的app注册申请,生成对应的aid、模拟卡公私钥及共享密钥;其中,所述app注册申请对应的app为基于hce卡模拟的门禁应用app,门禁应用app预先安装在所述移动终端中;所述服务平台建立所述门锁设备标识、所述pin码、所述aid、所述模拟卡公私钥对及所述共享密钥之间的绑定关系;所述服务平台将所述aid、所述pin码、模拟卡公钥及共享密钥返回至所述智能门锁,将所述aid返回至所述移动终端;认证开锁过程:在移动终端触碰智能门锁时,所述移动终端向所述智能门锁发送开锁请求;在接收到来自移动终端的开锁请求时,所述智能门锁基于nfc通信通道向所述移动终端发送携带aid的选择指令请求;所述移动终端解析出所述选择指令请求中的aid,并判断是否存在与解析出的aid相匹配的门禁应用app;若存在,则建立所述移动终端与所述服务平台之间的安全数据传输通道,并向所述智能门锁返回aid匹配成功消息;在接收到aid匹配成功消息后,所述智能门锁经所述移动终端与所述服务平台之间的安全数据传输通道,向所述服务平台发送门锁验证请求,所述门锁验证请求包括门锁设备标识和pin码;所述服务平台解析出所述门锁验证请求中的门锁设备标识和pin码,基于解析出的门锁设备标识及预先建立的绑定关系,查找出预存的pin码;所述服务平台对比解析出的pin码与预存的pin码是否一致,若一致,则生成门锁认证成功消息并经所述移动终端返回至所述智能门锁;所述移动终端接收到所述门锁认证成功消息后,确认所述智能门锁具备访问所述门禁应用app的权限;在接收到所述门锁认证成功消息后,所述智能门锁生成第一随机数r1;基于所述第一随机数r1,所述智能门锁生成安全认证消息msg并传输至所述移动终端;其中,所述安全认证消息msg包括认证指令auth和第一随机数r1,所述认证指令auth用于指定认证策略;所述移动终端的门禁应用app解析出所述安全认证消息msg中第一随机数r1,经安全数据传输通道将解析出的第一随机数r1和认证指令auth发送至所述服务平台;所述服务平台根据接收到的认证指令auth和第一随机数r1生成动态开锁密码,基于所述动态开锁密码生成开锁验证请求,并经所述移动终端将所述开锁验证请求传输至所述智能门锁;其中,所述开锁验证请求包括动态开锁密码、认证指令auth和第一随机数r1;在接收到所述开锁验证请求后,所述智能门锁根据解析出的认证指令auth选择使用预存的模拟卡公钥或者共享密钥,对所述动态开锁密码进行验证,若验证成功,则开锁,
否则不开锁。
15.可以理解,在初始化阶段,所述移动终端与所述智能门锁分别与所述服务平台之间建立网络通信链路,初始化之后,关闭网络通信链路;在认证开锁阶段,所述智能门锁与所述服务平台之间并未建立网络通信链路;由于通过nfc通信通道与网络通信链路进行数据交互时,采用的通信协议不同;在认证开锁阶段,所述移动终端通过nfc通信通道与智能门锁进行数据交互,所述移动终端在解析出需要转发给服务平台的数据后,重新封装,经安全数据传输通道发送至服务平台;同理,所述移动终端在解析出需要转发给智能门锁的数据后,也会重新封装,经nfc通信通道发送至智能门锁。
16.可以理解,在认证开锁阶段,所述移动终端判断是否存在与解析出的aid相匹配的门禁应用app,以检测所述移动终端是否为合法移动终端,若不存在相匹配的门禁应用app,则判定所述移动终端不是合法移动终端,并断开所述移动终端与所述智能门锁之间的nfc通信通道。
17.具体的,所述认证指令auth指定的认证策略包括认证策略ⅰ和认证策略ⅱ,不同的认证策略对应不同的身份认证方式;其中,所述认证策略ⅰ对应基于非对称密码算法的签名验签机制的认证方式,所述认证策略ⅱ对应预置共享密钥的认证方式;进一步的,所述服务平台根据接收到的认证指令auth和第一随机数r1生成动态开锁密码时,执行:在解析出的认证指令auth指定认证策略ⅰ时,所述服务平台基于预存的模拟卡私钥对第一随机数r1进行签名,将签名信息作为动态开锁密码;在解析出的认证指令auth指定认证策略ⅱ时,所述服务平台基于预存的共享密钥对第一随机数r1进行加密,将加密结果作为动态开锁密码。
18.所述智能门锁对所述动态开锁密码进行验证时,执行:在解析出的认证指令auth指定认证策略ⅰ时,所述智能门锁基于预存的模拟卡公钥和所述第一随机数r1生成动态基准开锁密码,并判断所述动态基准开锁密码与接收到的动态开锁密码是否相同,若相同,则判定验证成功;在解析出的认证指令auth指定认证策略ⅱ时,所述智能门锁使用预存的共享密钥解密所述动态开锁密码获得第二随机数r2,并判断所述第二随机数r2与所述第一随机数r1是否相同,若相同,则判定验证成功。
19.需要说明的是,在采用认证策略ⅰ时,所述动态开锁密码为第一随机数r1的签名信息,相应地,所述智能门锁接收到动态开锁密码后,依据与服务平台约定算法,根据预存的模拟卡公钥对第一随机数r1的签名信息进行验签,若验签通过,则响应来自移动终端的开锁请求;具体的,所述服务平台采用预置的摘要算法对所述第一随机数r1进行摘要处理,获得第一随机数r1的摘要数据,再基于预存的模拟卡私钥对第一随机数r1的摘要数据进行加密,获得第一随机数r1的签名信息,并将该签名信息作为动态开锁密码;所述智能门锁采用预置的摘要算法对所述第一随机数r1进行摘要运算,获得所述第一随机数r1的摘要数据,使用预存的模拟卡公钥加密所述第一随机数r1的摘要数据,生成动态基准开锁密码。
20.可以理解,在采用认证策略ⅱ时,所述动态开锁密码为第一随机数r1的密文,相应地,所述智能门锁接收到动态开锁密码后,依据与服务平台约定算法进行解密,根据第一随机数r1的解密结果进行验证。
21.在初始化过程中,还需要进行以下配置:将所述服务平台预置的摘要算法与所述智能门锁预置的摘要算法,配置为相同的摘要算法;具体的,所述摘要算法可以为消息摘要算法(md,message digest)或者其他可以实现上述功能的算法。
22.为了进一步提高门锁安全认证的可靠性,在接收到所述开锁验证请求后,所述移动终端还执行:解析出所述开锁验证请求中的认证指令auth,判断接收到的认证指令auth与所述安全认证消息msg中的认证指令auth是否一致,若一致,则将所述开锁验证请求传输至所述智能门锁,否则关闭所述移动终端与所述服务平台之间的安全数据传输通道,生成异常消息,并传输至所述智能门锁,结束开锁验证流程。
23.本发明使用门禁应用app作为代理,所述移动终端中除了需要预先安装门禁应用app来调用相应的hce服务外,无需预先做其他额外工作,极大地提高了用户友好性和可实施性,大大增强了基于nfc通信的软件环境下hce门锁安全认证的安全性。
24.最后,无论是否验证成功,移动终端均将此次门锁安全认证结果提交给所述服务平台,通信结束。本发明中的门锁安全认证方法包含选择指令请求、pin码门锁身份认证、认证指令auth、第一随机数r1签名、公私密钥签名解签等,最终实现多重身份认证、多重指令、多重数据验证的开锁安全认证结果,因此本发明能够在移动终端休眠状态下通过加密认证方式进行安全且快速的开锁认证,降低移动终端的功耗,且准确度更高、防御性更强。
25.实施例2在实施例1的基础上,为了进一步增强基于hce的门锁安全认证方法的安全性,所述服务平台生成门锁认证成功消息之前,还执行:所述服务平台基于预存的门锁公钥对接收到的门锁签名进行验签,若验签通过,则基于解析出的门锁设备标识及预先建立的绑定关系,查找出预存的pin码,否则关闭所述移动终端与所述服务平台之间的安全数据传输通道;其中,所述门锁签名由所述智能门锁生成,并随所述门锁设备标识和所述pin码一并发送至所述服务平台。
26.可以理解,在初始化过程中,所述服务平台还生成智能门锁对应的门锁私钥和门锁公钥,对所述门锁公钥进行存储,并将所述门锁私钥返回至智能门锁;在基于pin码对门锁进行验证的过程中,所述智能门锁生成包含门锁设备标识、pin码和门锁签名的门锁验证请求,所述门锁签名为所述智能门锁基于门锁私钥对所述门锁设备标识和所述pin码进行签名后,生成的签名信息;所述服务平台依据与智能门锁约定算法,基于预存的门锁公钥对所述门锁签名进行验签,若验签通过则对比解析出的pin码与预存的pin码是否一致,若一致,则确认智能门锁具备访问移动终端的门禁应用app的权限;通过门锁签名验签及pin码比对,来验证智能门锁是否具备访问移动终端的门禁应用app的权限,防止其他设备模拟操作,进行中间人攻击。
27.需要说明的是,所述移动终端与所述服务平台之间的安全数据传输通道采用ssl
(secure sockets layer 安全套接字协议);在所述移动终端与所述服务平台之间建立安全数据传输通道时,共同协商生成本次开锁验证对应的会话密钥;具体的,所述智能门锁经所述移动终端与所述服务平台之间的安全数据传输通道,向所述服务平台发送门锁验证请求时,执行:所述移动终端经nfc通信通道接收到门锁验证请求后,读取临时会话密钥,基于所述临时会话密钥对所述门锁验证请求进行加密,并将加密后的门锁验证请求传输至所述服务平台;所述服务平台解析出所述门锁验证请求中的门锁设备标识和pin码时,执行:读取临时会话密钥,基于所述临时会话密钥对门锁验证请求的密文进行解密,获得所述门锁验证请求中的门锁设备标识和pin码。
28.需要说明的是,一次门锁安全认证过程对应一个会话密钥,所述移动终端与所述服务平台之间通过会话密钥加密通信,防止pin码及第一随机数r1被窃取;且在关闭所述移动终端与所述服务平台之间的安全数据传输通道时,对应会话密钥被标记为失效状态。
29.实施例3在上述实施例的基础上,本实施例给出了一种智能门锁的具体实施方式,所述智能门锁包括执行部件、存储器、处理器mcu和安全芯片,所述存储器上存储有指令,该指令被处理器mcu执行时实现以下步骤:初始化过程:向服务平台发送设备注册申请,接收来自服务平台的aid、pin码、模拟卡公钥及共享密钥;其中,所述设备注册申请包括门锁设备标识;认证开锁过程:在接收到来自移动终端的开锁请求时,经nfc通信通道向移动终端发送携带aid的选择指令请求,以检测发送开锁请求的移动终端是否与智能门锁建立绑定关系的移动终端;在接收到的来自移动终端的aid匹配成功消息后,触发pin码验证;经移动终端与服务平台之间的安全数据传输通道,向服务平台发送门锁验证请求;其中,所述门锁验证请求包括门锁设备标识和pin码;在接收到来自移动终端的门锁认证成功消息后,调用所述安全芯片生成第一随机数r1;基于所述第一随机数r1,生成安全认证消息msg并传输至移动终端;其中,所述安全认证消息msg包括认证指令auth和第一随机数r1,所述认证指令auth用于指定认证策略;在接收到来自移动终端的开锁验证请求后,根据解析出的认证指令auth,选择使用预存的模拟卡公钥或者共享密钥,对解析出的动态开锁密码进行验证,若验证成功,则驱动执行部件进行开锁,否则不开锁;其中,所述开锁验证请求包括动态开锁密码、认证指令auth和第一随机数r1。
30.需要说明的是,所述认证指令auth指定的认证策略包括认证策略ⅰ和认证策略ⅱ,在生成安全认证消息msg时,所述智能门锁随机选择一种认证策略。
31.进一步的,所述智能门锁执行以下操作对所述动态开锁密码进行验证:在解析出的认证策略为策略ⅰ时,所述智能门锁对所述第一随机数r1进行摘要运算获得所述第一随机数r1的摘要数据,使用预存的模拟卡公钥加密所述第一随机数r1的摘要数据生成动态基准开锁密码,并判断所述动态基准开锁密码与接收到的动态开锁密码是
否相同,若相同,则判定验证成功;在解析出的认证策略为策略ⅱ时,所述智能门锁使用预存的共享密钥解密所述动态开锁密码获得第二随机数r2,并判断所述第二随机数r2与所述第一随机数r1是否相同,若相同,则判定验证成功。
32.在其他实施例中,所述智能门锁经所述移动终端与所述服务平台之间的安全数据传输通道,向所述服务平台发送门锁验证请求之前,还执行:基于门锁私钥对所述门锁设备标识和所述pin码进行签名后,生成门锁签名;将所述门锁设备标识、所述pin码和所述门锁签名封装为门锁验证请求,经nfc通信通道发送至移动终端。
33.实施例4在上述实施例的基础上,本实施例给出了一种移动终端的具体实施方式,所述移动终端包括基于hce卡模拟的门禁应用app,所述门禁应用app,用于:初始化过程:向服务平台发送app注册申请,接收来自服务平台的aid,并进行本地存储;认证开锁过程:经nfc通信通道向智能门锁发送开锁请求,解析出来自智能门锁的选择指令请求中的aid,并判断是否存在与解析出的aid相匹配的门禁应用app;若存在,则建立移动终端与服务平台之间的安全数据传输通道,并向智能门锁返回aid匹配成功消息;在接收到来自服务平台的门锁认证成功消息后,确认所述智能门锁具备访问所述门禁应用app的权限;经nfc通信通道将所述门锁认证成功消息发送至所述智能门锁,接收来自智能门锁的安全认证消息msg,并经安全数据传输通道发送至所述服务平台;其中,所述安全认证消息msg包括第一随机数r1和认证指令auth,所述认证指令auth用于指定认证策略;在接收到的来自服务平台的开锁验证请求后,经nfc通信通道将所述开锁验证请求转发至所述智能门锁;其中,所述开锁验证请求包括动态开锁密码、认证指令auth和第一随机数r1。
34.具体的,所述选择指令请求为select aid指令,用于选择所述移动终端中的门禁应用app;所述移动终端的android系统根据select aid指令中的aid,确定并选择与智能门锁对应通信的基于nfc的hce卡模拟模块;基于hce卡模拟的门禁应用app检测到连接建立信息并打开,所述hce卡模拟模块的hce服务被门禁应用app调用;可以理解,所述移动终端的android系统确定并选择与智能门锁对应通信的基于nfc的所述hce卡模拟模块时,执行:移动终端接收来自智能门锁的select aid指令,移动终端的android系统提取该aid,将其解析为需要的hce服务,并转发指令select aid至对应的hce卡模拟模块进行响应,所述hce卡模拟模块对应的门禁应用app被调用。
35.进一步的,所述门禁应用app,还用于:在接收到的来自服务平台的开锁验证请求后,判断所述开锁验证请求中的认证指令auth与所述安全认证消息msg中的认证指令auth是否一致,若一致,则将所述开锁验证请求传输至所述智能门锁,否则关闭所述移动终端与所述服务平台之间的安全数据传输通
道。
36.需要说明的是,所述移动终端与服务平台之间的网络通讯链路为加密的安全数据传输通道,所述门禁应用app与服务平台之间的数据传输都基于该安全传出通道进行传输;在确认存在与解析出的aid相匹配的门禁应用app后,所述门禁应用app与服务平台共同协商生成会话密钥;经nfc通信通道接收到来自智能门锁的门锁验证请求后,读取临时会话密钥,基于所述临时会话密钥对所述门锁验证请求进行加密,并将加密后的门锁验证请求传输至服务平台。
37.可以理解,所述门禁应用app(以nfc卡应用为主的应用)由门锁厂商开发,转为智能门锁开锁认证所用,具备访问服务平台和nfc开锁功能的能力;其中,具备访问服务平台的能力指的是所述门禁应用app内配置有该服务平台的ip地址或者域名等信息,以供所述门禁应用app访问服务平台;具体的,所述hce卡模拟模块用于提供基于android系统的主机卡仿真服务,所述移动终端可以采用手机、智能手环等。
38.实施例5在上述实施例的基础上,本实施例给出了一种服务平台的具体实施方式,所述服务平台包括:初始化模块,其用于接收来自智能门锁的设备注册申请,生成智能门锁对应的pin码;还用于接收来自移动终端的app注册申请,生成对应的aid、模拟卡公私钥及共享密钥;还用于建立门锁设备标识、所述pin码、所述aid、所述模拟卡公私钥对及所述共享密钥之间的绑定关系,将所述aid、所述pin码、模拟卡公钥及共享密钥返回至智能门锁,将所述aid、服务平台的ip地址或者域名返回至移动终端;其中,所述设备注册申请包括门锁设备标识,所述app为基于hce卡模拟的门禁应用app;门锁认证模块,其用于解析出来自移动终端的门锁验证请求中的门锁设备标识和pin码,基于解析出的门锁设备标识及预先建立的绑定关系,查找出预存的pin码;还用于对比解析出的pin码与预存的pin码是否一致,若一致,则生成门锁认证成功消息并经移动终端返回至智能门锁;以及动态开锁密码生成模块,其用于根据接收到的认证指令auth和第一随机数r1生成动态开锁密码,基于所述动态开锁密码生成开锁验证请求,并经所述移动终端将所述开锁验证请求传输至所述智能门锁;其中,所述开锁验证请求包括动态开锁密码、认证指令auth和第一随机数r1。
39.具体的,在所述认证指令auth指定的认证策略为策略ⅰ时,所述动态开锁密码为基于预存的模拟卡私钥生成的第一随机数r1的数字签名信息;在所述认证指令auth指定的认证策略为策略ⅱ时,所述动态开锁密码为基于预存的共享密钥生成的第一随机数r1的密文信息。
40.进一步的,所述服务平台还包括临时会话密钥管理模块,其用于:读取临时会话密钥,基于所述临时会话密钥对来自移动终端的门锁验证请求的密文进行解密,获得所述门锁验证请求中的门锁设备标识和pin码;其中,所述临时会话密钥为移动终端与服务平台之间在建立安全数据传输通道
时,共同协商生成的会话密钥,所述门锁验证请求的密文由移动终端基于所述临时会话密钥对所述门锁验证请求进行加密后生成。
41.需要说明的是,所述服务平台作为所述移动终端的后台,能够提供密码服务和设备管理服务,代替移动终端基于pin码对所述智能门锁的身份进行认证,以及生成动态开锁密码,以使智能门锁对移动终端的身份进行认证,达到双向身份认证的效果;密码服务包括生成、存储并管理模拟卡公私钥及共享密钥,设备管理服务包括智能门锁的设备注册、建立门锁设备标识与pin码、aid、模拟卡公私钥对及共享密钥之间的绑定关系等。
42.可以理解,在初始化阶段,所述服务平台建立门锁设备标识、pin码、aid、模拟卡公私钥对及共享密钥之间的绑定关系;若服务平台同时管理多个智能门锁,可能存在多个pin码;在所述服务平台解析出所述门锁验证请求中的门锁设备标识和pin码后,基于解析出的门锁设备标识及预先建立的绑定关系,查找出预存的pin码;若解析出的pin码与预存的pin码(与门锁设备标识存在绑定关系)不一致,则说明所述智能门锁未在服务平台注册,关闭所述移动终端与所述服务平台之间的安全数据传输通道;pin码作为操作码,还用于验证智能门锁是否具备访问所述移动终端的门禁应用app的权限,防止其他设备模拟操作,进行中间人攻击。
43.进一步的,所述初始化模块,还用于:生成及管理门锁私钥、门锁公钥;具体的,在接收到来自智能门锁的设备注册申请后,生成智能门锁对应的门锁私钥和门锁公钥,将pin码和门锁私钥一并返回至所述智能门锁,并对门锁公钥进行存储。
44.在其他实施例中,所述门锁认证模块,还用于:在生成门锁认证成功消息之前,基于预存的门锁公钥对接收到的门锁签名进行签名验签,若验签通过,则基于解析出的门锁设备标识及预先建立的绑定关系,查找出预存的pin码,否则关闭所述移动终端与所述服务平台之间的安全数据传输通道;其中,所述门锁签名由所述智能门锁生成,并随所述门锁设备标识和所述pin码一并发送至所述服务平台。
45.实施例6在上述实施例的基础上,本实施例给出了一种基于hce的门锁安全认证系统的具体实施方式,如附图2所示;所述基于hce的门锁安全认证系统包括服务平台、智能门锁和移动终端,所述服务平台与所述智能门锁之间建立网络通信链路,所述智能门锁和所述移动终端之间建立近场通信连接,所述移动终端与所述服务平台之间建立网络通信链路,执行实施例1或者2中的基于hce的门锁安全认证方法的步骤进行开锁验证。
46.本发明基于android系统和nfc通信的hce卡模拟服务,通过门禁应用app作为代理来调用智能门锁对应的hce卡模拟服务,经服务平台云端进行开锁认证;每次的开锁响应数据实时更新,随机数均不一样,不会被模拟、拦截、攻击。
47.以上显示和描述了本发明的主要特征、基本原理以及本发明的优点。本行业技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会根据实际情况有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1