一种基于区块链的门禁系统及其工作方法与流程

文档序号:15966271发布日期:2018-11-16 23:11阅读:595来源:国知局

本发明属于安防系统技术领域,具体涉及一种基于区块链的门禁系统及其工作方法。

背景技术

随着当今社会的科技飞速发展,人们感受着高科技带来的方便和益处的同时,对于高科技服务与生活的要求也越来越高。但是随着科技的发展,带来了很多不安全的方便,如应用高科技手段进行入室盗窃、抢劫、间谍等犯罪行为。

现有的门禁大多仅仅依靠普通的门锁来阻止上述犯罪行为的侵犯,这种防范力度远远达不到安全的程度;近年来,随着物联网技术的不断进步,门禁技术的发展和应用在最近几年取得了显著的成果,但同时现有的门禁技术也面临着信息安全的问题,如开门存储的钥匙信息可能被不法分子盗用进行开门操作、不法分子注入伪造的开门记录信息或伪造的秘钥信息打开门禁等。

综上所述,目前急需一种数据安全性高的门禁系统。



技术实现要素:

为了解决现有技术存在的上述问题,本发明目的在于提供一种基于区块链的门禁系统及其工作方法。

本发明所采用的技术方案为:

一种基于区块链的门禁系统,包括:

用户终端,用于采集用户的初始认证信息;

后台服务器,用于验证来自用户终端的初始认证信息,并通过经过验证的初始认证信息生成认证信息及随机码;用户终端接收认证信息及随机码后生成私钥,后台服务器通过认证信息及随机码生成公钥及钥匙地址;

区块链数据库,用于存储来自后台服务器的钥匙地址,并验证来自用户终端的门禁开启请求,然后发送钥匙地址至用户终端;用户终端接收钥匙地址后进行校验,校验通过后将校验结果反馈至区块链数据库后打开门禁。

作为优选,所述的认证信息及随机码经过加密后生成私钥;所述的私钥经过加密后生成公钥;所述的公钥经过加密后得到钥匙地址。

作为优选,所述的认证信息包括物业单位信息、门禁设备信息及钥匙码;所述的用户终端通过钥匙码打开门禁。

上述的基于区块链的门禁系统的工作方法,包括以下步骤:

s1.用户初次登录系统,得到私钥、公钥、钥匙地址及时间流日志,其中,私钥存储于用户终端及区块链数据库,公钥、钥匙地址及时间流日志存储于区块链数据库;

s2.用户需要打开门禁,用户终端通过存储的当前私钥生成当前公钥,并通过用户终端发送当前公钥至后台服务器;

s3.后台服务器接收并验证步骤s2中所述的当前公钥,验证通过则发送验证结果及当前公钥至区块链数据库;

s4.区块链数据库接收并校验步骤s3中所述的验证结果及当前公钥,校验通过则发送钥匙地址至用户终端;

s5.用户终端接收步骤s4中所述的钥匙地址,并将存储于用户终端的当前私钥签名算法认证后与钥匙地址进行校验,检验通过则发送校验结果至区块链数据库;

s6.区块链数据库接收步骤s5中所述的校验结果,发送钥匙码至用户终端,用户终端接收钥匙码后打开门禁。

作为优选,所述的步骤s1的具体步骤如下:

s101.通过用户终端写入初始认证信息至后台服务器;

s102.后台服务器验证步骤s101中所述的初始认证信息,验证通过则生成认证信息及随机码,并将认证信息及随机码发送至用户终端及区块链数据库;

s103.后台服务器及用户终端分别通过步骤s102中所述的认证信息及随机码生成私钥,用户终端保存私钥;

s104.后台服务器通过步骤s103中所述的私钥生成公钥及钥匙地址,并将公钥与钥匙地址发送至区块链数据库,区块链数据库接收公钥与钥匙地址进行存储。

作为优选,步骤s103中,所述的认证信息及随机码通过sha256哈希算法进行处理得到私钥。

作为优选,步骤s104中,生成公钥及钥匙地址的步骤如下:

s104a.将步骤s103中所述的私钥通过secp256k1椭圆曲线算法进行处理,得到公钥;

s104b.将步骤s104a中所述的公钥通过sha256和ripemd160哈希算法进行处理,得到公钥哈希;

s104c.将步骤s104b中所述的公钥哈希通过两次sha256哈希进行处理,得到的结果的前4字节作为校验值,然后将地址1字节的前缀加上公钥哈希加上校验值,得到中间地址;

s104d.将步骤s104c中所述的中间地址通过base58编码实现编码转换,得到钥匙地址。

本发明的有益效果为:

1)通过区块链数据库的分布式结构,实现了数据的点对点分布式存储,降低了数据丢失的风险,同时提高了数据修改的难度且不需要引入大型数据中心进行数据同步和管理控制,包括数据采集和指令发送等操作都可以通过区块链的网络进行传输;

2)通过时间流日志,使得每次存储记录基于时间流记录,时间不可倒流,故每次存储记录不可修改,避免不法分子注入伪造的开门记录信息或伪造的秘钥信息打开门禁,非法分子即使获取到钥匙地址也无法通过服务器直接获取钥匙码打开门禁;

3)加强了门禁系统的安全性:通过使用私钥加密及公钥验证的技术,确保了数据的保密性及安全性,避免不法分子盗用开门信息进行打开门禁,实用性高,适于推广使用。

附图说明

图1是本发明中工作方法的流程框图。

具体实施方式

下面结合附图及具体实施例对本发明做进一步阐释。

实施例:

本实施例提供一种基于区块链的门禁系统,包括:

用户终端,用于采集用户的初始认证信息;

后台服务器,用于验证来自用户终端的初始认证信息,并通过经过验证的初始认证信息生成认证信息及随机码。本实施例中,所述的认证信息包括物业单位信息、门禁设备信息及钥匙码;所述的用户终端通过钥匙码打开门禁。

用户终端接收认证信息及随机码后生成私钥,后台服务器通过认证信息及随机码生成公钥及钥匙地址。本实施例中,所述的认证信息及随机码经过加密后生成私钥;所述的私钥经过加密后生成公钥;所述的公钥经过加密后得到钥匙地址。

区块链数据库,用于存储来自后台服务器的钥匙地址,并验证来自用户终端的门禁开启请求,然后发送钥匙地址至用户终端;用户终端接收钥匙地址后进行校验,校验通过后将校验结果反馈至区块链数据库后打开门禁。

如图1所示,本实施例还提供一种基于区块链的门禁系统的工作方法,包括以下步骤:

s1.用户初次登录系统,得到私钥、公钥、钥匙地址及时间流日志,其中,私钥存储于用户终端及区块链数据库,公钥、钥匙地址及时间流日志存储于区块链数据库,由此保证数据可以在多个后台服务器上同步;时间流日志用于记录初次生成私钥、公钥及钥匙地址的时间,并记录后期每次获取钥匙地址的时间及设备信息,避免数据被篡改,同时便于后期数据反查。

s2.用户需要打开门禁,用户终端通过存储的当前私钥生成当前公钥,并通过用户终端发送当前公钥至后台服务器;如后台服务器在预定时间内未响应,则判断后台服务器故障,并打开用户终端与备用后台服务器数据传输的权限;

s3.后台服务器接收并验证步骤s2中所述的当前公钥,验证通过则发送验证结果及当前公钥至区块链数据库,验证结果同步发送至用户终端,验证未通过则发送验证失败至用户终端;步骤s3中,后台服务器验证来自用户终端的当前公钥时,将当前公钥与历史索引进行比对,历史索引根据之前得到的公钥生成。

s4.区块链数据库接收并校验步骤s3中所述的验证结果及当前公钥,校验通过则发送钥匙地址至用户终端,校验结果同步发送至用户终端,校验未通过则发送校验失败至用户终端;验证结果中包括历史索引中对应公钥的日志信息,日志信息包括生成时间信息及对应的门禁设备信息。

s5.用户终端接收步骤s4中所述的钥匙地址,并将存储于用户终端的当前私钥签名算法认证后与钥匙地址进行校验;步骤s5中,检验是否私钥能够生成与当前钥匙地址一致的结果,一致则通过校验,否则不通过检验,通过则发送校验结果至区块链数据库,校验不通过则直接将不通过信息显示至用户终端,并将操作时间及当前用户终端信息保存至时间流日志;步骤s5中,当前私钥进行签名算法认证的方式与步骤s104中生成钥匙地址的步骤一致,如当前私钥与最初生成钥匙地址的私钥一致,则当前私钥签名算法认证后得到的当前钥匙地址则与区块链数据库中存储的钥匙地址一致。

s6.区块链数据库接收步骤s5中所述的校验结果,发送钥匙码至用户终端,用户终端接收钥匙码后打开门禁;区块链数据库发送钥匙码的同时,将时间记录至时间流日志;由此使得非法分子即使获取到钥匙地址也无法通过服务器直接获取钥匙码,因为需要用户终端处的私钥进行签名算法认证方可拿到钥匙码进行开门操作。

本实施例中,步骤s1的具体步骤如下:

s101.通过用户终端写入初始认证信息至后台服务器;

s102.后台服务器验证步骤s1中初始认证信息,验证通过则生成认证信息及随机码,并将认证信息及随机码发送至用户终端及区块链数据库;

s103.后台服务器及用户终端分别通过步骤s102中所述的认证信息及随机码生成私钥,用户终端保存私钥;本实施例中,步骤s103中,所述的认证信息及随机码通过sha256哈希算法进行处理得到私钥,通过将认证信息及随机码利用sha256哈希算法将得到一个256位的私钥,相同的数据输入将得到相同的结果。输入数据只要稍有变化则将得到一个千差万别的结果,且结果无法事先预知。正向计算(即由认证信息及随机码计算其对应的私钥)十分容易,但逆向计算(即由私钥计算出认证信息及随机码)极其困难,在当前科技条件下被视作不可能,由此使得初次注册得到的私钥是唯一且不能被盗用的,进一步增加了数据的安全性。

s104.后台服务器通过步骤s103中所述的私钥生成公钥及钥匙地址,并将公钥与钥匙地址发送至区块链数据库,区块链数据库接收公钥与钥匙地址进行存储。本实施例中,步骤s104中,生成公钥及钥匙地址的步骤如下:

s104a.将步骤s103中所述的私钥通过secp256k1椭圆曲线算法进行处理,得到公钥;

s104b.将步骤s104a中所述的公钥通过sha256和ripemd160哈希算法进行处理,得到公钥哈希;

s104c.将步骤s104b中所述的公钥哈希通过两次sha256哈希进行处理,得到的结果的前4字节作为校验值,然后将地址1字节的前缀加上公钥哈希加上校验值,得到中间地址;校验码是从需要编码的数据的哈希值中得到的,可以用来检测并避免转录和输入中产生的错误;本实施例中,编码时地址1字节的前缀是128(十六进制是0x80)。

s104d.将步骤s104c中所述的中间地址通过base58编码实现编码转换,得到钥匙地址。

本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。

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