一种基于以太坊的智能门锁安全系统的制作方法

文档序号:16634466发布日期:2019-01-16 06:53阅读:343来源:国知局
本发明涉及智能家居
技术领域
,尤其涉及区块链、以太坊及其智能合约使用中的一种基于以太坊的智能门锁安全系统。
背景技术
:传统门锁以及一些新兴智能门锁如:密码锁、指纹锁、人脸锁等具有较好的安全性,但缺乏较好的灵活性,对于房屋租赁所出现的场景下,如某房东为其房屋安装了指纹锁,然后他现将房屋租给了某租户,租户得到了开锁权限,但此时这个房门房东和租户都可以打开,租户的隐私和生命财产安全将受到威胁,在这样的场景下,锁的安全性大打折扣了。区块链技术是人与人之间在不需要互信的情况下进行大规模协作的工具,被应用于许多传统的中心化领域中,处理一些原本由中介机构处理的交易,其可靠的安全信任机制可解决现今物联网技术的核心缺陷,如传统的物联网模式由一个中心化的数据中心来收集所有信息,区块链技术能在无需信任单个节点的同时创建整个网络的信任共识,从而能很好地解决物联网的一些核心缺陷,让物与物之间不仅相连起来,而且能自发活动起来,区块链技术拥有开放、不可篡改、可追溯等特性,将区块链与智能门锁相结合,能够得到更加安全、灵活的智能门锁。同时基于以太坊(ethereum)为开源、智能合约功能的公共区块链平台,通过其专用加密货币以太币(ether)提供去中心化的虚拟机(“以太虚拟机”ethereumvirtualmachine)来处理点对点合约,智能合约易于编写,并且安全可靠。技术实现要素:针对上述
背景技术
所阐述的问题,本发明提供一种基于以太坊的智能门锁安全系统,旨在有效地解决租房安全以及房东与租户之间的信任问题,进而促进租赁双方建立信任,提高客户租赁体验以及保障租户人身和财产安全,具有一定的实现意义。为了达到上述目的,本发明提供如下技术方案:一种基于以太坊的智能门锁安全系统,包括锁体端和用户端,所述锁体端和用户端通过智能合约进行数据交换,从而实现锁体的打开与关闭;所述锁体端为智能门锁,锁体设置锁体初始化模块、锁体打开与关闭模块,包括:外部开锁,内部开锁和自动锁定;所述用户端设置身份认证,账户类型,钥匙发放,发送开锁指令和资产管理模块;所述智能合约包括:交易触发模块、钥匙动态分发与回收模块、密钥匹配钥匙发放模块、签名验证模块。上述技术方案中,所述锁体初始化模块在锁体完成安装mist钱包,安装geth后,为门锁创建账户,将屋主信息地址公钥等信息记录到门锁存储中;所述锁体打开与关闭模块中,外部开锁为锁体端接收用户通过用户端申请开锁的请求,通过了密钥和签名验证,则开启门锁;内部开锁,锁体端检测到内部门把手转动开锁,则可以无验证的触动开锁程序,开启房门;自动锁定,当锁体端检测到门被合上超过一定时间,则自动锁定。上述技术方案中,所述交易触发模块中将智能门锁作为可以一个介入以太坊的节点,当租户向房主发起交易时,经双方确认,则交易触发;钥匙动态分发与回收模块,当交易触发后,智能门锁生成一串16位的随机编码,然后将这串编码以及交易双方的地址通过原始账户进行签名,再通过各节点的验证,然后打包数据上链,租户获取了动态码即获得了开门权限,凭此动态码就可以在合约时限内开启门锁,合约过期之后,触动回收方法,修改动态码,并将所有信息打包验证上链,租户不再收到新的动态码,租户和房主会接收到钥匙过期的通知;密钥匹配钥匙发放模块,租户请求开锁的时候,通过租户传输过来的动态码与链上动态码进行匹配,若配对成功,则进行签名验证发送钥匙的动态码,否则开锁失败;签名验证模块:当租户的开锁请求密钥匹配成功之后,则智能门锁进行签名验证,主要是验证该租户的钥匙是否是经过屋主本人发放,以避免租户将钥匙转让,若验证通过,则智能门锁开启门锁,否则开锁失败。上述技术方案中,所述用户端设置身份认证,通过辅助数据库存储租户实名的注册信息,注册信息包括姓名,身份证号码,电话号码;账户类型,分租户和房东;钥匙发放,在触发智能合约后,将门锁地址、屋主信息、租户信息、以及生成的动态码打包上链,并将动态码显示到租户客户端的资产管理模块下;发送开锁指令:通过触发智能合约,进行验证和密钥匹配,然后启动智能门锁的开锁程序进行开锁;资产管理模块,为房主使用,分为两个板块,一个是资金钱包,一个是不动产钱包,资金钱包用于转账和收租,不动产钱包用于显示所拥有的钥匙。本发明采用以太坊来实现一个安全、灵活、可实现性强的智能门锁,以适用到更多的生活场景,将传统智能门锁与以太坊相结合,基于区块链技术实现智能锁应用,保证了门锁的安全性以及灵活性,进而促进租赁双方建立信任,提高客户租赁体验以及保障租户人身和财产安全。具体实施方式下面对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。作为实施例所示的一种基于以太坊的智能门锁安全系统,包括锁体端和用户端,所述锁体端和用户端通过智能合约进行数据交换,从而实现锁体的打开与关闭;所述锁体端为目前市场上使用的带有存储、防盗等功能的智能门锁,锁体设置锁体初始化模块、锁体打开与关闭模块,包括:外部开锁,内部开锁和自动锁定;锁体初始化模块在锁体完成安装mist钱包,安装geth后,为门锁创建账户,将屋主信息地址公钥等信息记录到门锁存储中;(1)创建初始账户在完成安装mist钱包,安装geth后,先为门锁创建账户,然后将屋主信息地址公钥等信息记录到门锁存储中。表1门锁端初始化数据锁体打开与关闭模块中,外部开锁为锁体端接收用户通过用户端申请开锁的请求,通过了密钥和签名验证,则开启门锁;内部开锁,锁体端检测到内部门把手转动开锁,则可以无验证的触动开锁程序,开启房门;自动锁定,当锁体端检测到门被合上超过一定时间,如10秒,则自动锁定。智能合约包括:交易触发模块、钥匙动态分发与回收模块、密钥匹配钥匙发放模块、签名验证模块。交易触发模块中将智能门锁作为可以一个介入以太坊的节点,每个门锁相当于一个节点,该节点可接入以太坊,因此可写入智能合约。该合约中应该具有触发交易的方法,即当用户a向用户b发起交易的时候,经过双方确认,事件被触发;钥匙动态分发与回收模块,当交易触发后,智能门锁当屋主a向租户b的交易一旦触发,就会自动生成一串16位的随机编码(如:2398enf14r5fe45e),然后将这串编码以及交易双方的地址(a:0xab3dbca3221321baef473bc34b2b2c34cba22341b1c1f6a,b:0xab133ca127b3efaadf57bbd3ab2b9acbc23f2e4fc72e9fb)通过原始账户(a:0xab3dbca3221321baef473bc34b2b2c34cba22341b1c1f6a)进行签名,再通过各节点的验证,然后打包数据上链。于此同时,租户获取了动态码(2398enf14r5fe45e)即获得了开门权限,凭此动态码就可以在合约时限内开启门锁。合约过期之后,触动回收方法,修改动态码,并将所有信息打包验证上链,租户不再收到新的动态码,租户和房主会接收到钥匙过期的通知;密钥匹配钥匙发放模块,租户请求开锁的时候,通过租户传输过来的动态码与链上动态码(2398enf14r5fe45e)进行匹配,若配对成功,则进行签名验证发送钥匙的动态码,否则开锁失败;签名验证模块:当租户的开锁请求密钥匹配成功之后,则智能门锁进行签名验证,主要是验证该租户的钥匙是否是经过屋主本人发放,以避免租户将钥匙转让,当租户b的开锁请求密钥匹配成功之后,则进行签名验证,主要是验证该用户的钥匙(2398enf14r5fe45e)是否是经过屋主a本人(a:0xab3dbca3221321baef473bc34b2b2c34cba22341b1c1f6a)发放,若验证通过,则智能门锁开启门锁,否则开锁失败。用户端设置身份认证,账户类型,钥匙发放,发送开锁指令和资产管理模块。用户端设置身份认证,通过辅助数据库存储租户实名的注册信息,注册信息包括姓名,身份证号码,电话号码;账户类型,分租户和房东;钥匙发放,在触发智能合约后,将门锁地址、屋主信息、租户信息、以及生成的动态码打包上链,并将动态码显示到租户客户端的资产管理模块下;发送开锁指令:通过触发智能合约,进行验证和密钥匹配,然后启动智能门锁的开锁程序进行开锁;资产管理模块,为房主使用,分为两个板块,一个是资金钱包,一个是不动产钱包,资金钱包用于转账和收租,不动产钱包用于显示所拥有的钥匙。账户类型举例:账户共有两种,一种是租户,一种是房东,每一个账户初始都默认为租户,见表2:当用户a和b注册之后他们应当具有以下基本信息:表2账户注册数据表2字段解释见表3:表3字段解释fieldtypedescriptionnamestring用户名id_cardlong身份证tellong电话categoryint账户类型pub_keystring用户公钥pri_keystring用户私钥addressstring用户房屋地址如果用户a要升级为房东,则需要录入房屋基本信息以及门锁地址,以太坊中的address,见表4用户升级后客户端数据表表4用户升级后客户端数据表钥匙发放时,通过触发智能合约,将门锁地址、屋主信息、租户信息、以及生成的动态码打包上链,并将动态码显示到租户客户端的资产管理模块下。如果用户a要为用户b发放钥匙,那么用户a通过该功能触发智能合约,并且生成动态码(如:2398enf14r5fe45e),然后将其门锁地址(0xab1f351f9a672d2a78c192389898652d5af62d72),屋主信息(a),租户信息(b),动态码(2398enf14r5fe45e)打包存储到区块链。同时租户的客户端的资产管理模块下将会看到该动态码。开锁时,通过触发智能合约,进行验证和密钥匹配,然后启动门锁的开锁程序进行开锁。如果租户b想要打开门锁,当他点击开锁按钮,他所拥有的动态码(2398enf14r5fe45e)会被传入合约进行匹配,并且会去验证该动态码的有效性,即是否具有屋主a的签名,是否过期。如果通过,则启动门锁端进行开锁。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1