基于区块链的门禁访问控制方法和装置与流程

文档序号:19724064发布日期:2020-01-18 03:12阅读:404来源:国知局
基于区块链的门禁访问控制方法和装置与流程

本申请涉及计算机技术领域,特别是涉及一种基于区块链的门禁访问控制方法和装置。



背景技术:

随着人脸识别技术、云端网络平台等新兴技术在门禁锁产品上的应用,智能门禁锁越来越受到广大用户的青睐,智能门禁锁已经成为房地产商、公寓租赁服务商等企业愿意购买的智能家居产品。目前,智能门禁锁在银行、政府部门(注重安全性)、大型企业等场所有着广泛的应用。同时,人类的生物特征数据(如指纹数据、人脸数据)作为生物特征识别技术的核心,具有唯一性及终身不变的特点,因此将生物特征数据作为人类身份确认的重要技术手段,具有安全性高、不存在丢失损坏等优势。生物特征识别技术是一项识别用户身份的成熟技术,被广泛地应用于智能门禁锁领域,如指纹锁、指静脉锁等。

然而,现有利用生物特征识别技术的智能门禁锁,存在用户生物特征数据容易泄露的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高生物特征数据安全性的基于区块链的门禁访问控制方法和装置。

一种基于区块链的门禁访问控制方法,所述方法包括:

获取开锁权限设置请求,所述开锁权限设置请求包括访客身份信息;

根据所述访客身份信息从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得,所述生物特征数据密文通过所述密钥进行加密生成;

将所述开锁权限设置请求和所述子密钥密文发送至预设数目的管理员终端;

获取所述预设数目的管理员终端解密后的子密钥,并根据所述子密钥恢复出所述密钥;

通过所述密钥对所述生物特征数据密文进行解密,得到所述生物特征数据;其中,在得到所述生物特征数据之后对本地存储的密钥进行销毁;

将所述生物特征数据发送至开锁终端;

其中,所述开锁终端根据所述生物特征数据进行开锁。

一种基于区块链的门禁访问控制方法,所述方法包括:

接收门禁访问控制服务器发送的开锁权限设置请求和子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得;获取开锁权限设置请求通过的指令;

根据所述指令,获取管理员私钥对所述子密钥密文进行解密得到子密钥;

将所述子密钥发送至所述门禁访问控制服务器;其中,所述门禁访问控制服务器将根据所述子密钥恢复出密钥,通过所述密钥对生物特征数据密文进行解密获得生物特征数据。

一种智能锁开锁控制方法,所述方法包括:

从门禁访问控制服务器接收访客的生物特征数据;其中,所述访客的生物特征数据通过所述门禁访问控制服务器根据生物特征数据密文解密获得,所述生物特征数据密文由生物特征数据通过密钥加密生成并存储在生物特征数据库,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;

采集到访人员的生物特征数据;

将所述到访人员的生物特征数据与所述访客的生物特征数据进行比对;

如果所述到访人员的生物特征数据与所述访客的生物特征数据一致,则控制智能锁开启。

一种基于区块链的加密密文生成方法,所述方法包括:

在接收访客身份信息后,生成密钥;其中,所述密钥用于对访客的生物特征数据进行加密生成生物特征数据密文,生物特征数据密文存储在生物特征数据库;

通过服务器公钥对所述密钥加密,生成密钥密文;

向门禁访问控制服务器发送所述密钥密文;其中,所述门禁访问控制服务器通过服务器私钥对所述密钥密文进行解密获得密钥;

将所述密钥通过门限加密方法中门限拆分成多个子密钥;

对每个所述子密钥通过不同的管理员公钥进行加密生成子密钥密文;

将所述子密钥密文根据所述访客身份信息进行存储;

对本地存储的密钥进行销毁。

一种基于区块链的门禁访问控制方法,所述方法包括:

向门禁访问控制服务器发送访问申请,所述访问申请包括访客身份信息;

根据所述访客身份信息采集访客的生物特征数据;其中,所述生物特征数据在所述生物特征数据库通过密钥加密保存,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;

接收访问预约成功信息。

一种基于区块链的门禁访问控制装置,所述装置包括:

开锁权限设置请求获取模块,用于获取开锁权限设置请求,所述开锁权限设置请求包括访客身份信息;

下载模块,根据所述访客身份信息从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得,所述生物特征数据密文通过所述密钥进行加密生成;

第一发送模块,用于将所述开锁权限设置请求和所述子密钥密文发送至预设数目的管理员终端;

密钥恢复模块,用于获取所述预设数目的管理员终端解密后的加密密文子密钥,并根据所述子密钥恢复出所述密钥;

第一解密模块,用于通过所述密钥对所述生物特征数据密文进行解密,得到所述生物特征数据;

第二发送模块,用于将所述生物特征数据发送至开锁终端;

其中,所述开锁终端根据所述生物特征数据进行开锁。

一种终端,所述终端包括:

第一接收模块,用于接收门禁访问控制服务器发送的开锁权限设置请求和子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得;

指令获取模块,用于获取开锁权限设置请求通过的指令;

第二解密模块,用于根据所述指令,获取管理员私钥对所述子密钥密文进行解密得到子密钥;

第一密钥密文发送模块,用于将所述子密钥发送至所述门禁访问控制服务器;其中,所述门禁访问控制服务器将根据所述子密钥恢复出密钥,通过所述密钥对生物特征数据密文进行解密获得生物特征数据。

一种智能锁开锁控制装置,所述装置包括:

生物特征数据接收模块,用于从门禁访问控制服务器接收访客的生物特征数据;其中,所述访客的生物特征数据通过所述门禁访问控制服务器根据生物特征数据密文解密获得,所述生物特征数据密文由生物特征数据通过密钥加密生成并存储在生物特征数据库,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;

生物特征数据采集模块,用于采集到访人员的生物特征数据;

比对模块,用于将所述到访人员的生物特征数据与所述访客的生物特征数据进行比对;

智能锁控制模块,用于如果一致,则控制智能锁开启。

一种基于区块链的加密密文生成装置,所述装置包括:

密钥生成模块,用于在接收访客身份信息后,生成密钥;其中,所述密钥用于对访客的生物特征数据进行加密生成生物特征数据密文,生物特征数据密文存储在生物特征数据库;

密钥密文生成模块,用于通过服务器公钥对所述密钥加密,生成密钥密文;

第二密钥密文发送模块,用于向门禁访问控制服务器发送所述密钥密文;其中,所述门禁访问控制服务器通过服务器私钥对所述密钥密文进行解密获得密钥;

门限拆分模块,用于将所述密钥通过门限加密方法中门限拆分成多个子密钥;

加密模块,用于对每个所述子密钥通过不同的管理员公钥进行加密生成子密钥密文;

存储模块,用于将所述子密钥密文根据所述访客身份信息进行存储;

密钥销毁模块,用于对本地存储的密钥进行销毁。

一种终端,所述终端包括:

访问申请发送模块,用于向门禁访问控制服务器发送访问申请,所述访问申请包括访客身份信息;

生物特征数据采集模块,用于根据所述访客身份信息采集访客的生物特征数据;其中,所述生物特征数据在所述生物特征数据库通过密钥加密保存,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;

信息接收模块,用于接收访问预约成功信息。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取开锁权限设置请求,所述开锁权限设置请求包括访客身份信息;

根据所述访客身份信息从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得,所述生物特征数据密文通过所述密钥进行加密生成;

将所述开锁权限设置请求和所述子密钥密文发送至预设数目的管理员终端;

获取所述预设数目的管理员终端解密后的子密钥,并根据所述子密钥恢复出所述密钥;

通过所述密钥对所述生物特征数据密文进行解密,得到所述生物特征数据;其中,在得到所述生物特征数据之后对本地存储的密钥进行销毁;

将所述生物特征数据发送至开锁终端;

其中,所述开锁终端根据所述生物特征数据进行开锁。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取开锁权限设置请求,所述开锁权限设置请求包括访客身份信息;

根据所述访客身份信息从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得,所述生物特征数据密文通过所述密钥进行加密生成;

将所述开锁权限设置请求和所述子密钥密文发送至预设数目的管理员终端;

获取所述预设数目的管理员终端解密后的子密钥,并根据所述子密钥恢复出所述密钥;

通过所述密钥对所述生物特征数据密文进行解密,得到所述生物特征数据;其中,在得到所述生物特征数据之后对本地存储的密钥进行销毁;

将所述生物特征数据发送至开锁终端;

其中,所述开锁终端根据所述生物特征数据进行开锁。

上述基于区块链的门禁访问控制方法、装置、计算机设备和存储介质,通过从物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文,并通过预设数目的管理员终端解密子加密密文和通过子密钥恢复出密钥对所述生物特征数据密文进行解密,能够保证访客的生物特征数据在用于门禁访问时不被泄露,提高了生物特征数据的安全性。

附图说明

图1为一个实施例中基于区块链的门禁访问控制方法的应用环境图;

图2为一个实施例中基于区块链的门禁访问控制方法的流程示意图;

图3为一个实施例中智能锁开锁控制方法的流程示意图;

图4为一个实施例中基于区块链的密钥密文生成方法的流程示意图;

图5为一个实施例中管理员终端的公私钥对注册方法的流程示意图;

图6为一个实施例中生物特征数据加密的流程示意图;

图7为一个实施例中生物特征数据解密的流程示意图;

图8为一个实施例中基于区块链的门禁访问控制装置的结构框图;

图9为一个实施例中智能锁开锁控制装置的结构框图;

图10为一个实施例中基于区块链的密钥密文生成装置的结构框图;

图11为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的基于区块链的门禁访问控制方法,可以应用于如图1所示的应用环境中。其中,管理员终端101、访客终端103、区块链服务器104和开锁终端105通过网络与门禁访问控制服务器102通过网络进行通信。门禁访问控制服务器102获取开锁权限设置请求,所述开锁权限设置请求包括访客身份信息;根据所述访客身份信息从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得,所述生物特征数据密文通过所述密钥进行加密生成;将所述开锁权限设置请求和所述子密钥密文发送至预设数目的管理员终端101;获取所述预设数目的管理员终端101解密后的子密钥,并根据所述子密钥恢复出所述密钥;通过所述密钥对所述生物特征数据密文进行解密,得到所述生物特征数据;其中,在得到所述生物特征数据之后对本地存储密钥进行销毁;将所述生物特征数据发送至开锁终端105;其中,所述开锁终端105根据所述生物特征数据进行开锁并保存开锁记录。其中,管理员终端101、访客终端103可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,门禁访问控制服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种基于区块链的门禁访问控制方法,以该方法应用于图1中的门禁访问控制服务器102为例进行说明,包括以下步骤:

s110,获取开锁权限设置请求,所述开锁权限设置请求包括访客身份信息。

其中,所述开锁权限设置请求可以通过门禁访问控制服务器自动生成,也可以通过管理员终端生成。

其中,在步骤s110之前,包括步骤:向区块链服务器发送开锁权限审批策略;所述开锁权限审批策略与所述开锁权限设置请求对应,所述开锁权限审批策略和所述开锁权限设置请求均包括访客身份信息、访问时间信息、访问次数信息和访问理由。开锁权限审批策略和开锁权限设置请求还包括了具有审批权限的管理员的信息。所述区块链服务器保存开锁权限审批策略以供后续查询。

s120,根据所述访客身份信息从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得,所述生物特征数据密文通过所述密钥进行加密生成。

其中,所述生物特征数据包括指纹数据、虹膜数据、静脉数据或人脸数据的哈希值。所述生物特征数据库用于存储用户的生物特征数据密文。区块链服务器存储子密钥密文。所述生物特征数据密文在生物特征数据库与访客身份信息是进行关联存储的,所述子密钥密文在区块链服务器与访客身份信息也是进行关联存储的,只要通过访客身份信息在生物特征数据库查找能够找到相应的生物特征数据密文,只要通过访客身份信息在区块链服务器查找能够找到相应的子密钥密文。

s130,将所述开锁权限设置请求和所述子密钥密文发送至预设数目的管理员终端。

其中,管理员终端根据开锁权限设置请求中访客身份信息、访问时间信息、访问次数信息和访问理由来对所述访客的访问权限进行审批,当管理员确认所述访客可以进行访问时,发出开锁权限设置请求通过的指令,管理员终端根据所述指令获取管理员私钥对所述子密钥进行解密得到子密钥。

s140,获取所述预设数目的管理员终端解密后的子密钥,并根据所述子密钥恢复出所述密钥。

s150,通过所述密钥对所述生物特征数据密文进行解密,得到所述生物特征数据。

其中,所述密钥对所述生物特征数据密文进行解密后,对本地存储的密钥进行销毁。

s160,将所述生物特征数据发送至开锁终端。其中,所述开锁终端根据所述生物特征数据进行开锁。

其中,所述开锁终端保存生物特征数据,在访客达到门禁时,采集访客的生物特征数据与所述开锁终端保存生物特征数据进行比对,比对成功,则可以打开智能锁让访客进入。

上述基于区块链的门禁访问控制方法可用于智能门禁系统,例如园区门禁系统,采用的智能门禁设备可为基于lora、nb-iot等物联网通信协议的智能锁,支持指纹解锁、指静脉解锁等多种生物识别解锁方式。

上述基于区块链的门禁访问控制方法中,通过从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文,并通过预设数目的管理员终端解密子加密密文和通过子密钥恢复出密钥对所述生物特征数据密文进行解密,能够保证访客的生物特征数据在用于门禁访问时不被泄露,提高了生物特征数据的安全性。

在其中一个实施例中,一种基于区块链的门禁访问控制方法,还包括:

s111,接收访客终端的访问申请,所述访问申请包括访客身份信息。

其中,访客在需要进行某个区域时,通过在访客终端提交访问申请,发送到对应的区域门禁访问控制服务器。门禁访问控制服务器能够根据所述访问申请对所述访客生成数字身份。

s112,根据所述访问申请,获取所述访客的生物特征数据;

其中,门禁访问控制服务器在接收所述访客的访问申请后,需要采集访客的生物特征数据,具体的可以通过指纹采集终端采集访客的指纹信息,或者通过人脸识别装置识别访客的人脸,并且后台管理员在门禁访问控制服务器通过发送短信、人脸比对、核查身份证等方式验证是否是本人操作。

s113,从区块链服务器获取密钥密文,并通过所述密钥密文中的密钥对所述生物特征数据加密生成生物特征数据密文;其中,所述密钥密文由所述区块链服务器随机生成的密钥通过服务器公钥加密生成,在通过所述密钥密文中的密钥对所述生物特征数据加密生成生物特征数据密文之后对本地存储的密钥进行销毁。

其中,从区块链服务器生成的密钥通过服务器的公钥加密生成密钥密文后发送到门禁访问控制服务器,门禁访问控制服务器在接收密钥密文后,通过服务器的私钥进行解密获得密钥。其中,服务器公钥和服务器私钥在门禁访问控制服务器生成,服务器公钥发送到区块链服务器保存,服务器私钥存储在本地。其中,在通过所述密钥密文中的密钥对所述生物特征数据加密生成生物特征数据密文之后,对所述本地存储的密钥进行销毁。

密钥在区块链服务器经过门限拆分方法拆分成多个子密钥,每个子密钥通过不同的管理员公钥进行加密生成子密钥密文,子密钥密文在区块链服务器存储。

s114,将所述生物特征数据密文发送至生物特征数据库存储。

具体的,门禁访问控制服务器调用区块链sdk(softwaredevelopmentkit,软件开发工具包)的用户注册方法register,得到返回的密钥密文epk(k),门禁访问控制服务器服务将密钥密文解密后得到密钥k,用密钥k将用户生物特征数据加密后生成生物特征数据密文,调用区块链sdk的生物特征数据上链方法biometricdataadd将用户生物特征数据密文保存到区块链服务器的生物特征数据库中,完成用户的生物特征数据的录入。密钥k在完成生物特征数据加密后被门禁访问控制服务器销毁,即从系统内存中释放。

例如,某个用户需要访问某公司,先使用app/小程序/web浏览器进行身份注册,包括输入身份证号、工作单位、手机号、身份证照片等,门禁访问控制服务器在收到用户的访问申请后,然后利用生物特征采集终端获取用户生物特征数据,并将用户生物特征数据加密保存到生物特征数据库中,密钥采用门限加密的方式进行拆分并保存到区块链服务器中,如将密钥拆分成五个子密钥,每个子密钥通过一个管理员的公钥加密,然后将子密钥密文保存在所述用户的数字身份下。

在其中一个实施例中,一种基于区块链的门禁访问控制方法,还包括:将所述访问申请发送至管理员终端;其中,开锁权限设置请求由管理员终端根据所述访问申请生成。

在其中一个实施例中,所述开锁权限设置请求还包括访问时间信息、访问次数信息。所述将所述生物特征数据发送至开锁终端包括:将所述访客的访问时间信息、访问次数信息和生物特征数据发送至开锁终端;其中,所述开锁终端在访问时间内进行开锁并保存开锁记录,所述开锁终端在开锁次数达到访问次数或超过访问时间时删除所述生物特征数据。

在其中一个实施例中,一种基于区块链的门禁访问控制方法,还包括:接收管理员的注册信息;根据所述注册信息生成每个管理员终端的公私钥对;根据所述注册信息生成每个管理员的公私钥对;将所述管理员私钥发送至管理员终端保存,将所述管理员公钥发送至区块链服务器保存。

其中,管理员的注册信息包括管理员的工作单位、手机号、身份证照片等个人身份信息。关于采集管理员的生物特征数据,进行开锁,可采用与访客开锁同样的方式,可将访问次数增加和访问时间增长。本实施例采用非对称加密算法生成管理员终端的公私钥对,非对称加密算法包括椭圆曲线算法。

可替代的,可以在管理员终端生成公私钥对,私钥保存在本地,在管理员注册的同时,将公私上传至门禁访问控制服务器,再通过门禁访问控制服务器发送至区块链服务器保存。

可替代的,管理员私钥为数字、字母、字符或者其组合,私钥可由管理员记住而不保存。

在其中一个实施例中,在所述将所述生物特征数据发送至开锁终端之后,包括:向访客终端发送访问预约成功信息。

在一个实施例中,提供了一种基于区块链的门禁访问控制方法,所述方法包括:接收门禁访问控制服务器发送的访问申请;根据所述访问申请生成开锁权限设置请求;将所述开锁权限设置请求发送至门禁访问控制服务器。

其中,本实施例所述方法应用在管理员终端。开锁权限设置请求中包括访问申请信息和开锁策略,例如访问申请信息(uid,mid,message),其中,uid为申请访问的用户id,mid为接待人员id、message包括访问部门、事由、时间等信息,开锁策略(uid,message,lockid,starttime,endtime,times,mid),其中,lockid为提供给用户开锁权限的智能锁id,(starttime,endtime)为开锁权限起始时间和结束时间,times为指定开锁次数,mid为负责审批的管理员id,mid可以包括多个负责审批的管理员id,选择的审批的管理员的个数必须符合之前设定的门限拆分方法进行加密的密钥重构要求,即加密密文拆分成五个子密钥,需要其中任意三个子密钥才能重构出加密密文,则审批的管理员的个数必须大于或等于三。特别地,接待人员可以通过选择mid和lockid,来选择审批的管理员和提供给用户开锁权限的智能锁,以便灵活的根据访客需要访问的部门来获得访问权限和控制相应的智能锁进行开锁。

在一个实施例中,提供了一种基于区块链的门禁访问控制方法,所述方法包括:接收门禁访问控制服务器发送的开锁权限设置请求和子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得;获取开锁权限设置请求通过的指令;根据所述指令,获取管理员私钥对所述子密钥密文进行解密得到子密钥;将所述子密钥发送至所述门禁访问控制服务器;其中,所述门禁访问控制服务器将根据所述子密钥恢复出密钥,通过所述密钥对生物特征数据密文进行解密获得生物特征数据。

其中,管理员通过管理员终端可以通过本实施所述方法对访客的访问申请进行审核,每个管理员通过管理员终端发送开锁权限设置请求通过的指令来解锁其中一个子密钥,多个管理员将子密钥发送至门禁访问控制服务器,门禁访问控制服务器根据子密钥重构出加密密文。

在一个实施例中,如图3所示,提供了一种智能锁开锁控制方法,所述方法包括:

s210,从门禁访问控制服务器接收访客的生物特征数据;其中,所述访客的生物特征数据通过所述门禁访问控制服务器根据生物特征数据密文解密获得,所述生物特征数据密文由生物特征数据通过密钥加密生成并存储在生物特征数据库,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器。

其中,生物特征数据用于验证访客的身份。

s220,采集到访人员的生物特征数据。

所述生物特征数据包括指纹数据、虹膜数据、静脉数据或人脸数据的哈希值。智能门禁设备可为基于lora、nb-iot等物联网通信协议的智能锁,支持指纹解锁、指静脉解锁等多种生物识别解锁方式,到访人员通过按指纹或者其它方式,智能门禁设备就能采集到访人员的生物特征数据。

s230,将所述到访人员的生物特征数据与所述访客的生物特征数据进行比对。

s240,如果所述到访人员的生物特征数据与所述访客的生物特征数据一致,则控制智能锁开启。

本实施中,步骤s210和步骤s220不分先后,即可以在访客访问之前将生物特征数据下载保存到开锁终端,也可以在访客到访时触发从从门禁访问控制服务器下载访客的生物特征数据。

在其中一个实施例中,提供了一种智能锁开锁控制方法,还包括:从门禁访问控制服务器接收访客的访问时间信息和访问次数信息;保存开锁记录;在开锁次数达到访问次数或超过访问时间时,删除所述访客的生物特征数据;将所述开锁记录发送至所述门禁访问控制服务器;其中,所述门禁访问控制服务器将所述开锁记录上传至区块链服务器。

其中,访客的访问时间信息、访问次数信息用于限制访客的访问时间和访问次数。

具体的,访客成功开锁后,开锁终端将开锁记录包括访客id、智能锁id、开锁时间发送到门禁访问控制服务器,由门禁访问控制服务器推送到区块链服务器上进行存储。

在一个实施例中,如图4所示,提供了一种基于区块链的密钥密文生成方法,所述方法包括:

s310,在接收访客身份信息后,生成密钥;其中,所述密钥用于对访客的生物特征数据进行加密生成生物特征数据密文,生物特征数据密文存储在生物特征数据库。

具体的,区块链服务器在接收到访客身份信息时,随机生成密钥。

s320,通过服务器公钥对所述密钥加密,生成密钥密文。

s330,向门禁访问控制服务器发送密钥密文;其中,所述门禁访问控制服务器通过服务器私钥对所述密钥密文进行解密获得密钥。

s340,将所述密钥通过门限加密方法中门限拆分成多个子密钥。

其中,门限拆分采用门限拆分方法,门限拆分也称为门限加密,门限拆分方法为一种密码学算法,例如,密钥拆分成五个子密钥,需要其中任意三个子密钥才能重构出密钥。

s350,对每个所述子密钥通过不同的管理员公钥进行加密生成子密钥密文。

s360,将所述子密钥密文根据所述访客身份信息进行存储。

s370,销毁所述本地存储的密钥。

其中,所述加密后的子密钥存储在所述访客身份信息下,便于下次查找。

通过本实施例所述方法,能够防止密钥被盗取来对生物特征数据进行解密,提高了用户生物特征数据的安全性。

在一个实施例中,提供了一种基于区块链的门禁访问控制方法,所述方法包括:向门禁访问控制服务器发送访问申请,所述访问申请包括访客身份信息;根据所述访客身份信息采集访客的生物特征数据;其中,所述生物特征数据在所述生物特征数据库通过密钥加密保存,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;接收访问预约成功信息。

其中,访客通过本实施例所述方法能够提交访问申请和接收访问预约成功信息。其中,访客在需要进行某个区域时,通过在访客终端提交访问申请,发送到个区域门禁访问控制服务器。门禁访问控制服务器能够根据所述访问申请对所述访客生成数字身份。

在一个具体实施例中,如图5所示,提供了管理员终端的公私钥对注册方法的流程图。管理员首先通过发送注册请求在门禁访问控制服务器注册个人的数字身份,门禁访问控制服务器根据注册请求生成管理员的数字身份和公私钥对,将管理员的公钥发送至区块链服务器,将管理员的私钥发送回管理员终端,区块链服务器接收管理员的数字身份和公钥并保存,向门禁访问控制服务器返回注册结果。

在一个具体实施例中,如图6所示,提供了访客的生物特征数据加密的流程图。普通用户需要对某个门禁进行访问,需要先采集普通用户的生物特征数据,普通用户通过在注册终端按手指采集生物特征数据,注册终端将普通用户的生物特征数据发送给门禁访问控制服务器,门禁访问控制服务器将所述生物特征数据绑定用户身份并计算生物特征数据的哈希值,将用户身份信息上传至区块链服务器并发送申请密钥的请求,区块链服务器根据所述请求生成密钥,然后用管理员公钥对密钥加密后生成密钥密文返给门禁访问控制服务器,同时区块链服务器将密钥拆分成多个子密钥,每个子密钥通过不同的管理员公钥进行加密生成子密钥密文,多个子密钥密文保存在用户身份信息下。

在一个具体实施例中,如图7所示,提供了生物特征数据解密的流程图。管理员向门禁访问控制服务器发送开锁权限设置请求,门禁访问控制服务器根据开锁权限设置请求向生物特征数据库下载访客的生物特征数据,生物特征数据库向门禁访问控制服务器返回生物特征数据密文,门禁访问控制服务器向区块链服务器查询具有审批权限的管理员和获取子密钥密文,向具有审批权限的管理员发送对应的子密钥密文,具有审批权限的管理员将子密钥密文解密后得到子密钥发送到门禁访问控制服务器,门禁访问控制服务器根据多个子密钥重构出密钥,通过密钥对生物特征数据密文进行解密得到生物特征数据,门禁访问控制服务器将生物特征数据发送至智能锁。

在一个具体的实施例中,通过一个具体的应用场景来对本申请基于区块链的门禁访问控制方法进行说明。

过程一,访客a欲拜访公司b的部门c的员工d,访客a先使用手机app/小程序/web浏览器进行身份注册,包括输入身份证号、工作单位、手机号、身份证照片等,在注册成功后,向公司b门禁访问控制服务器发送访问申请,当然访问申请与注册可以同时进行,即在注册信息输入后同时发送访问申请,在注册成功后访客a获得了在公司b门禁访问控制服务器的一个数字身份l。

过程二,公司b门禁访问控制服务器在收到用户的访问申请后,利用生物特征采集终端获取用户生物特征数据,如通过访客a的手机的摄像头或者指纹采集器采集终端获取访客a的人脸数据或者指纹数据,然后根据访客a的数字身份l向区块链服务器申请密钥。

过程三,区块链服务器根据访客a的数字身份l生成密钥,通过服务器公钥(门禁访问控制服务器生成公私钥对后,服务器公钥上传至区块链服务器,服务器私钥存储在本地)对所述密钥进行加密生成密钥密文,向门禁访问控制服务器发送密钥密文。同时,区块链服务器通过门限拆分方法将密钥拆分成5个子密钥,每个子密钥通过一个管理员的公钥进行加密生成子密钥密文h,子密钥密文h存储在访客a的数字身份l下。其中,管理员通过手机app/小程序/web浏览器预先在公司b门禁访问控制服务器进行注册,注册信息包括管理员的工作单位、手机号、身份证照片等个人身份信息,注册成功后,生成管理员的数字身份m,并生成每个管理员的公私钥对,管理员公钥上传至区块链服务器,管理员私钥发送至管理员终端存储,管理员可以为公司b的管理人员。

过程四,公司b门禁访问控制服务器接收密钥密文,通过本地存储的服务器私钥对所述密钥密文进行解密获得密钥,通过密钥对访客a的生物特征数据进行加密生成生物特征数据密文s,然后发送到生物特征数据库进行存储。

过程五,公司b门禁访问控制服务器根据访问申请生成开锁权限设置请求,当然也可以通过管理员通过输入访客a的相关信息生成开锁权限设置请求发送至公司b门禁访问控制服务器,例如,访客a的访问申请中包括访客数字身份l、访问时间、访问次数、访问人员和访问理由,相应的开锁权限设置请求也包括访客数字身份l、访问时间、访问次数、访问人员和访问理由,公司b门禁访问控制服务器根据访客a的数字身份从生物特征数据库下载生物特征数据密文s和从区块链服务器下载子密钥密文h。

过程六,公司b门禁访问控制服务器获取开锁权限设置请求中的具有申请权限的管理员的数字身份m,根据管理员的数字身份m向管理员发送相应的子密钥密文h,各个管理员在看到开锁权限设置请求中的相关信息,其包括访客数字身份l、访问时间、访问次数、访问人员和访问理由,确认访客a可以进行对公司b的部门c的员工d进行拜访,通过在手机屏幕点击“确认”,此时手机app/小程序/web浏览器通过存储的管理员私钥对子密钥密文h解密获得子密钥,然后将子密钥发送至公司b门禁访问控制服务器。

过程七,公司b门禁访问控制服务器在接收子密钥达到门限数目后,通过子密钥恢复出密钥,如5个子密钥只要有其中3个就可以恢复出密钥,则门限数目为3,通过密钥对生物特征数据密文s解密获得访客a的生物特征数据,将访客a的数字身份l、生物特征数据和访问时间、访问次数发送至公司b的部门c的门禁智能锁。

过程八,访客a按照访问时间达到公司b的部门c的门禁时,通过在生物特征数据采集终端(如指纹采集器、人脸识别装置)采集生物特征数据,智能锁的开锁终端将采集的生物特征数据与已存的访客a的生物特征数据进行比对,如果一致,则控制门禁智能锁开启,并保存本次开锁记录。门禁智能锁会将每次的开锁记录都保存,超过访问时间和超过访问次数时,门禁智能锁会删除访客a的生物特征数据,此时访客a不能再对公司b的部门c的门禁进行访问,如果想继续访问,需要通过手机app/小程序/web浏览器再次向公司b门禁访问控制服务器提出访问申请,此时不需要再上传访客a的生物特征数据至生物特征数据库,直接从过程五开始到过程八完成智能锁开启。

公司b的员工或者管理员要进出门禁时,同样可以采用上述方法来控制门禁智能锁开启。

应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种基于区块链的门禁访问控制装置,包括:开锁权限设置请求获取模块410、下载模块420、第一发送模块430、密钥恢复模块440、第一解密模块450和第二发送模块460,其中:

开锁权限设置请求获取模块410,用于获取开锁权限设置请求,所述开锁权限设置请求包括访客身份信息;

下载模块420,根据所述访客身份信息从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得,所述生物特征数据密文通过所述密钥进行加密生成;

第一发送模块430,用于将所述开锁权限设置请求和所述子密钥密文发送至预设数目的管理员终端;

密钥恢复模块440,用于获取所述预设数目的管理员终端解密后的加密密文子密钥,并根据所述子密钥恢复出所述密钥;

第一解密模块450,用于通过所述密钥对所述生物特征数据密文进行解密,得到所述生物特征数据;

第二发送模块460,用于将所述生物特征数据发送至开锁终端;

其中,所述开锁终端根据所述生物特征数据进行开锁。

其中,所述一种基于区块链的门禁访问控制装置,还包括:开锁权限审批策略发送模块,用于向区块链服务器发送开锁权限审批策略;所述开锁权限审批策略与所述开锁权限设置请求对应,所述开锁权限审批策略和所述开锁权限设置请求均包括访客身份信息、访问时间信息、访问次数信息和访问理由。开锁权限审批策略和开锁权限设置请求还包括了具有审批权限的管理员的信息。所述区块链服务器保存开锁权限审批策略以供后续查询。

在其中一个实施例中,一种基于区块链的门禁访问控制装置,还包括:访问申请接收模块,用于接收访客终端的访问申请,所述访问申请包括访客身份信息;生物特征数据获取模块,用于根据所述访问申请,获取所述访客的生物特征数据;生物特征数据加密模块,用于从区块链服务器获取密钥密文,并通过所述密钥密文中的密钥对所述生物特征数据加密生成生物特征数据密文;其中,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;生物特征数据发送模块,用于将所述生物特征数据密文发送至生物特征数据库存储。

在其中一个实施例中,所述第一发送模块430,还用于:将所述访问申请发送至管理员终端;其中,开锁权限设置请求由管理员终端根据所述访问申请生成。

在其中一个实施例中,所述开锁权限设置请求还包括访问时间信息、访问次数信息。所述将所述生物特征数据发送至开锁终端包括:将所述访客的访问时间信息、访问次数信息和生物特征数据发送至开锁终端;其中,所述开锁终端在访问时间内进行开锁并保存开锁记录,所述开锁终端在开锁次数达到访问次数或超过访问时间时删除所述生物特征数据。

在其中一个实施例中,一种基于区块链的门禁访问控制装置,还包括:注册信息接收模块,用于接收管理员的注册信息;公私钥对生成模块,用于根据所述注册信息生成每个管理员的公私钥对;所述第一发送模块430,还用于将所述管理员私钥发送至管理员终端保存,将所述管理员公钥发送至区块链服务器保存。

在其中一个实施例中,所述第二发送模块450,还用于在所述将所述生物特征数据发送至开锁终端之后,向访客终端发送访问预约成功信息。

在一个实施例中,提供了一种终端,所述终端包括:访问申请接收模块,用于接收门禁访问控制服务器发送的访问申请;开锁权限设置请求生成模块,用于根据所述访问申请生成开锁权限设置请求;开锁权限设置请求发送模块,用于将所述开锁权限设置请求发送至门禁访问控制服务器。

在另一个实施例中,提供了一种终端,所述终端包括:第一接收模块,用于接收门禁访问控制服务器发送的开锁权限设置请求和子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得;指令获取模块,用于获取开锁权限设置请求通过的指令;第二解密模块,用于根据所述指令,获取管理员私钥对所述子密钥密文进行解密得到子密钥;第一加密密文发送模块,用于将所述子密钥发送至所述门禁访问控制服务器;其中,所述门禁访问控制服务器将根据所述子密钥恢复出密钥,通过所述密钥对生物特征数据密文进行解密获得生物特征数据。

在一个实施例中,如图9所示,提供了一种智能锁开锁控制装置,所述装置包括:生物特征数据接收模块510,用于从门禁访问控制服务器接收访客的生物特征数据;其中,所述访客的生物特征数据通过所述门禁访问控制服务器根据生物特征数据密文解密获得,所述生物特征数据密文由生物特征数据通过密钥加密生成并存储在生物特征数据库,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;生物特征数据采集模块520,用于采集到访人员的生物特征数据;比对模块530,用于将所述到访人员的生物特征数据与所述访客的生物特征数据进行比对;智能锁控制模块540,用于如果一致,则控制智能锁开启。

在其中一个实施例中,所述一种智能锁开锁控制装置,还包括:访问权限接收模块,用于从门禁访问控制服务器接收访客的访问时间信息和访问次数信息;开锁记录保存模块,用于保存开锁记录;删除模块,用于在开锁次数达到访问次数或超过访问时间时,删除所述访客的生物特征数据;开锁记录发送模块,用于将所述开锁记录发送至所述门禁访问控制服务器;其中,所述门禁访问控制服务器将所述开锁记录上传至区块链服务器。

在一个实施例中,如图10所示,提供了一种基于区块链的加密密文生成装置,所述装置包括:密钥生成模块610,用于在接收访客身份信息后,生成密钥;其中,所述密钥用于对访客的生物特征数据进行加密生成生物特征数据密文,生物特征数据密文存储在生物特征数据库;密钥密文生成模块620,用于通过服务器公钥对所述密钥加密,生成密钥密文;第二密钥密文发送模块630,用于向门禁访问控制服务器发送所述密钥密文;其中,所述门禁访问控制服务器通过服务器私钥对所述密钥密文进行解密获得密钥;门限拆分模块640,用于将所述密钥通过门限加密方法中门限拆分成多个子密钥;加密模块650,用于对每个所述子密钥通过不同的管理员公钥进行加密生成子密钥密文;存储模块660,用于将所述子密钥密文根据所述访客身份信息进行存储;密钥销毁模块670,用于对本地存储的密钥进行销毁。

在一个实施例中,提供了一种终端,所述终端包括:访问申请发送模块,于向门禁访问控制服务器发送访问申请,所述访问申请包括访客身份信息;生物特征数据采集模块,用于根据所述访客身份信息采集访客的生物特征数据;其中,所述生物特征数据在所述生物特征数据库通过密钥加密保存,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;信息接收模块,用于接收访问预约成功信息。

关于基于区块链的门禁访问控制装置、终端、智能锁开锁控制装置和基于区块链的加密密文生成装置的具体限定可以参见上文中对于基于区块链的门禁访问控制方法、智能锁开锁控制方法和基于区块链的加密密文生成方法的限定,在此不再赘述。上述基于区块链的门禁访问控制装置、终端、智能锁开锁控制装置和基于区块链的加密密文生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储生物特征数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的门禁访问控制方法。

本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取开锁权限设置请求,所述开锁权限设置请求包括访客身份信息;

根据所述访客身份信息从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得,所述生物特征数据密文通过所述密钥进行加密生成;

将所述开锁权限设置请求和所述子密钥密文发送至预设数目的管理员终端;

获取所述预设数目的管理员终端解密后的子密钥,并根据所述子密钥恢复出所述密钥;

通过所述密钥对所述生物特征数据密文进行解密,得到所述生物特征数据;其中,在得到所述生物特征数据之后对本地存储的密钥进行销毁;

将所述生物特征数据发送至开锁终端;

其中,所述开锁终端根据所述生物特征数据进行开锁。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收访客终端的访问申请,所述访问申请包括访客身份信息;根据所述访问申请,获取所述访客的生物特征数据;从区块链服务器获取密钥密文,并通过所述密钥密文中的密钥对所述生物特征数据加密生成生物特征数据密文;其中,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;将所述生物特征数据密文发送至生物特征数据库存储。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收管理员的注册信息;根据所述注册信息生成每个管理员的公私钥对;将所述管理员私钥发送至管理员终端保存,将所述管理员公钥发送至区块链服务器保存。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取开锁权限设置请求,所述开锁权限设置请求包括访客身份信息;

根据所述访客身份信息从生物特征数据库下载生物特征数据密文和从区块链服务器下载子密钥密文;其中,所述子密钥密文通过多个管理员公钥分别对多个子密钥加密生成,所述子密钥由密钥经过门限加密方法中门限拆分获得,所述生物特征数据密文通过所述密钥进行加密生成;

将所述开锁权限设置请求和所述子密钥密文发送至预设数目的管理员终端;

获取所述预设数目的管理员终端解密后的子密钥,并根据所述子密钥恢复出所述密钥;

通过所述密钥对所述生物特征数据密文进行解密,得到所述生物特征数据;其中,在得到所述生物特征数据之后对本地存储的密钥进行销毁;

将所述生物特征数据发送至开锁终端;

其中,所述开锁终端根据所述生物特征数据进行开锁。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收访客终端的访问申请,所述访问申请包括访客身份信息;根据所述访问申请,获取所述访客的生物特征数据;从区块链服务器获取密钥密文,并通过所述密钥密文中的密钥对所述生物特征数据加密生成生物特征数据密文;其中,所述密钥通过门限加密方法中门限拆分成多个子密钥,所述子密钥通过多个管理员公钥分别加密生成子密钥密文,所述子密钥密文存储在区块链服务器;将所述生物特征数据密文发送至生物特征数据库存储。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收管理员的注册信息;根据所述注册信息生成每个管理员的公私钥对;将所述管理员私钥发送至管理员终端保存,将所述管理员公钥发送至区块链服务器保存。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1