一种基于区块链的智能物件共享密钥建立方法和系统与流程

文档序号:16244889发布日期:2018-12-11 23:28阅读:185来源:国知局
一种基于区块链的智能物件共享密钥建立方法和系统与流程
本发明涉及物联网信息安全
技术领域
,尤其涉及一种基于区块链的智能物件共享密钥建立方法和系统。
背景技术
“智能物件”泛指物理世界中嵌入了智能化芯片和软件的实体,并且具备一定的感知、计算和执行的能力。近年来,智能物件作为物联网技术的实现依托平台,在各种物联网场景中被广泛应用。而随着物联网技术的快速发展,其所面临的安全问题也日益严重。目前物联网智能物件的共享密钥技术主要依托于中心化信任实体,由中心化实体为智能物件分配共享密钥,这种集中式的密钥获取机制,不仅使得中心化实体的维护成本很高,而且一旦该实体被攻击,整个网络便无法正常运作。diffie-hellman密钥交换协议是whitfielddiffie和martinhellman在1976年公布的一种密钥一致性算法。diffie-hellman是一种建立密钥的方法,而不是加密方法。然而,它所产生的密钥可用于加密、进一步的密钥管理或任何其它的加密方式。其优点包括:仅当需要时才生成密钥,减小了将密钥存储很长一段时间而致使遭受攻击的机会;除对全局参数的约定外,密钥交换不需要事先存在的基础结构。同时也具有下述缺点:没有提供双方身份的任何信息;它是计算密集性的,因此容易遭受阻塞性攻击;没办法防止重演攻击;容易遭受中间人的攻击。技术实现要素:为解决上述问题,本发明公开了一种基于区块链的智能物件共享密钥建立方法,包括:系统参数生成步骤,生成用于计算该公开参数信息的系统参数,该系统参数包括公开素数q和其本原根α,其中α为正整数;节点注册步骤,智能物件生成公开参数信息和注册事务信息,区块链网络对该注册事务信息进行验证后将该智能物件注册为区块链网络的物端节点;密钥生成步骤,任意两个该物端节点通过区块链网络相互获取并认证对方的公开参数信息,根据diffie-hellman密钥交换协议建立共享密钥。本发明所述的智能物件共享密钥建立方法,其中所述节点注册步骤具体包括:公开参数生成步骤,通过该智能物件的私钥x,生成该智能物件的公开参数信息y,其中y=αxmodq,x为正整数;注册事务信息提交步骤,该智能物件依照注册事务信息结构组建该注册事务信息,并将该注册事务信息发布至区块链网络,其中该注册事务信息结构包括注册类型、该智能物件的id和该公开参数信息y;注册事务信息验证步骤,区块链网络的全节点对该注册参数信息进行验证,将通过验证的该注册参数信息写入区块并链入区块链,以将该智能物件注册为该物端节点。本发明所述的智能物件共享密钥建立方法,其中所述密钥生成步骤具体包括:第一密钥生成步骤,该物端节点之一的节点a通过区块链网络,获取该物端节点之一的节点b的公开参数信息yb,以生成密钥并向节点b发送第一握手消息;其中,xa为节点a的私钥;第二密钥生成步骤,节点b收到该第一握手消息后通过区块链网络,获取节点a的公开参数信息ya,生成密钥通过密钥kb加密该第一握手消息为第二握手消息,将该第二握手消息发送给节点a;其中,xb为节点b的私钥;共享密钥验证步骤,节点a收到该第二握手消息后,通过密钥ka解密该第二握手消息以确认密钥ka为共享密钥k,并向节点b发送使用密钥ka加密的第三握手消息;节点b收到该第三握手消息后通过密钥kb解密该第三握手消息以确认密钥kb为共享密钥k。。本发明所述的智能物件共享密钥建立方法,其中该物端节点为区块链网络的轻节点。本发明还涉及一种基于区块链的智能物件共享密钥建立系统,包括:系统参数生成模块,用于生成用于计算该公开参数信息的系统参数,该系统参数包括公开素数q和其本原根α,其中α为正整数;节点注册模块,用于智能物件注册为区块链网络的物端节点;其中智能物件生成公开参数信息和注册事务信息,区块链网络对该注册事务信息进行验证后将该智能物件注册为区块链网络的物端节点;密钥生成模块,用于生成任意两个物端节点的共享密钥;其中任意两个该物端节点通过区块链网络相互获取并认证对方的公开参数信息,根据diffie-hellman密钥交换协议建立共享密钥。。本发明所述的智能物件共享密钥建立系统,其中所述节点注册模块具体包括:公开参数生成模块,用于生成该公开参数信息;其中通过该智能物件的私钥x,生成该智能物件的公开参数信息y,其中y=αxmodq,x为正整数;注册事务信息提交模块,用于获取并提交该注册参数信息;其中该智能物件依照注册事务信息结构组建该注册事务信息,并将该注册事务信息发布至区块链网络,其中该注册事务信息结构包括注册类型、该智能物件的id和该公开参数信息y;注册事务信息验证模块,用于验证该注册事务信息以将该智能物件注册为该物端节点;其中区块链网络的全节点对该注册参数信息进行验证,将通过验证的该注册参数信息写入区块并链入区块链,以将该智能物件注册为该物端节点。本发明所述的智能物件共享密钥建立系统,其中所述密钥生成模块具体包括:第一密钥生成模块,用于该物端节点之一的节点a查询该物端节点之一的节点b的公开参数信息并生成密钥ka;其中节点a通过获取节点b的公开参数信息yb,生成密钥并向节点b发送第一握手消息;其中,xa为节点a生成的随机正整数;第二密钥生成模块,用于节点b查询节点a的公开参数信息;其中节点b收到该第一握手消息后通过区块链网络获取节点a的公开参数信息ya,生成密钥以密钥kb加密该第一握手消息为第二握手消息,将该第二握手消息发送给节点a;其中,xb为节点b生成的随机正整数;共享密钥验证模块,用于节点a和节点b确认共享密钥;其中节点a收到该第二握手消息后,以密钥ka解密该第二握手消息以确认密钥ka为共享密钥k,并向节点b发送以密钥ka加密的第三握手消息;节点b收到该第三握手消息后以密钥kb解密该第三握手消息,确认密钥kb为共享密钥k。。本发明所述的智能物件共享密钥建立系统,其中该物端节点为区块链网络的轻节点。本发明依据区块链的底层原理和机制,以其所具有的数据不可篡改性、去中心化、公开账本等特性,通过结合区块链与智能物件各自的特性,设计和提出了一种基于区块链技术的智能物件共享密钥建立方法,该方法不仅可以有效解决节点失效的问题,而且对比其他已有的智能物件共享密钥建立方案,不再依赖于中心化的信任实体有着更高的安全性和可靠性。附图说明图1是本发明实施例的一种基于区块链的智能物件共享密钥建立系统结构示意图。图2是本发明实施例的一种基于区块链的智能物件共享密钥建立方法流程图。图3是本发明实施例的一种基于区块链的智能物件共享密钥建立方法的节点注册步骤流程图。图4是本发明实施例的一种基于区块链的智能物件共享密钥建立方法的密钥生成步骤流程图。其中附图标识为:1:共享密钥建立系统11:节点注册模块111:公开参数生成模块112:注册事务信息提交模块113:注册事务信息验证模块12:密钥生成模块121:第一密钥生成模块122:第二密钥生成模块123:共享密钥验证模块具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明提出的一种基于区块链的智能物件共享密钥方法和系统进一步详细说明。应当理解,此处所描述的具体实施方法仅仅用以解释本发明,并不用于限定本发明。本发明的目的是通过提供一种基于区块链的智能物件共享密钥建立方法和系统来解决和改善目前智能物件信任体系过于中心化带来的安全性问题。图1是本发明实施例的一种基于区块链的智能物件共享密钥建立系统结构示意图。如图1所示,本发明实施例的共享密钥建立系统1包括:节点注册模块11和密钥生成模块12,节点注册模块11用于将智能物件注册为区块链网络的物端节点,密钥生成模块12用于生成物端节点a和物端节点b之间的共享密钥;其中节点注册模块11包括公开参数生成模块111、注册事务信息提交模块112和注册事务信息验证模块113,公开参数生成模块111用于获取智能物件的公开参数信息,注册事务信息提交模块112用于获取智能物件的注册事务信息,注册事务信息验证模块113用于将智能物件注册为区块链网络的物端节点。密钥生成模块12包括第一密钥生成模块121、第二密钥生成模块122和共享密钥验证模块123,其中第一密钥生成模块121用于物端节点a通过区块链网络查询物端节点b的公开参数信息并向物端节点b发送握手消息,第二密钥生成模块122用于接收物端节点a发送的握手消息并区块链网络查询物端节点a的公开参数信息,共享密钥验证模块123用于生成物端节点a与物端节点b之间的共享密钥。区块链网络的p2p网络(peer-to-peernetwork,对等网络)节点按照存储数据量的不同可分为全节点和轻节点,其中全节点存储了所有区块链数据,因此在进行数据校验时不需要依靠别的节点,仅依靠自身就可以完成校验更新等操作,轻节点至存储需要存储部分的数据信息,相对于全节点来说对硬件要求较低。本发明将智能物件注册为轻节点,并通过全节点验证注册事务信息。图2是本发明实施例的一种基于区块链的智能物件共享密钥建立方法流程图。如图2所示,为了实现本发明的目的,本发明的实施例还提供了一种基于区块链的智能物件共享密钥建立方法,该方法包含如下步骤:步骤s1,生成公开素数q和其本原根α;步骤s2,智能物件生成其公开参数信息y和注册事务信息,将该注册事务信息提交给区块链网络以注册为物端节点;步骤s3,物端节点中的节点a和节点b相互获取对方的公开参数信息y,以通过diffie-hellman密钥交换协议建立共享密钥。下面详细描述本发明实施例的基于区块链的智能物件共享密钥建立方法。图3是本发明实施例的一种基于区块链的智能物件共享密钥建立方法的节点注册步骤流程图,如图3所示,节点注册步骤具体包括:步骤s21,智能物件在本地生成一个随机正整数x;步骤s22,智能物件根据公开素数q和其本原根α计算diffie-hellman交换协议中的公开参数信息y=αxmodq;步骤s23,智能物件依照注册事务结构组建注册事务信息,并将该注册事务信息提交给区块链网络;注册事务结构如表1所示:typeidentityinfodhvalue0x00id/serialnum0x00…ef表1注册事务结构示意表其中“type”字段为0x00,代表“注册”类型,“identityinfo”字段为该节点的id值或者序列号,“dhvalue”字段的内容为步骤s22中计算出的公开参数信息y;步骤s24,区块链网络的全节点对智能物件的注册事务信息进行验证,当完成验证后,将智能物件注册为物端节点;步骤s25,所有的全节点通过记账行为共同维护以及共享一份公开账本,该账本保存了物端节点在注册时提交的注册事务信息,全节点之间采用共识机制来保证公开账本的一致性。图4是本发明实施例的一种基于区块链的智能物件共享密钥建立方法的密钥生成步骤流程图,如图4所示,当需要生成物端节点中的节点a和节点b之间的共享密钥k时,具体包括如下步骤:步骤s31,节点a向区块链网络提出第一查询请求,获取节点b的公开参数信息yb,生成密钥并向节点b发送第一握手消息;其中,xa为节点a生成的私钥,xa为随机正整数;步骤s32,节点b收到该第一握手消息后向区块链网络提出第二查询请求,获取节点a的公开参数信息ya,生成密钥并通过密钥kb对第一握手消息加密以生成第二握手消息,将第二握手消息发送给节点a;其中,xb为节点b生成的私钥,xb为随机正整数;步骤s33,节点a收到加密握手消息后,通过密钥ka解密第二握手消息以确认密钥ka为共享密钥k,并向节点b发送使用密钥ka加密的第三握手信息;节点b收到第三握手消息后以密钥kb解密第三握手消息以确认密钥kb为共享密钥k。其中于步骤s32和步骤s33中,节点a生成的密钥ka等于节点b生成的密钥kb,是diffie-hellman密钥交换协议公开的技术特征,此处不再赘述。具体实施例现以两个智能物件的注册与共享密钥建立过程为例,说明本发明的基于区块链的智能物件共享密钥建立方法。在共享密钥建立系统搭建时,系统需要挑选一系列公开参数,作为之后交互过程需要用到的默认值存在,这些参数包括公开素数q和其本原根α。新节点在加入区块链网络时,必须进行一个注册行为,已经注册过的两个节点,才可以完成共享密钥的建立。这里假设节点a和节点b需要建立共享密钥。具体过程可描述如下:节点a在本地生成一个随机正整数xa,且xa小于系统的公开素数q;节点a计算其diffie-hellman密钥交换协议中的公开参数信息计算完成后,节点a依照祖册事务结构组建注册事务信息,并向区块链网络广播这条信息,其中type字段表示事务类型,0x00代表“注册”类型;identityinfo字段表示节点的身份识别信息,一般为系统或厂商分配的id或序列号;dhvalue字段用于diffie-hellman密钥交换协议的公开参数信息。区块链中的全节点(即clusterhead节点)在接收到这样的一条注册事务信息后,开始对该条注册事务信息进行验证,一般为向区块链管理后台或者基站询问是否确实存在身份为该id的节点,且其加入wsn网络的行为是否为安排之中的。如果确认没有问题,那么全节点便将该条注册事务信息写进区块中,待共识机制运行将该区块连入区块链主链后,这一条注册失误信息正式生效;节点b在本地生成一个随机正整数xb,且xb小于系统的公开素数q;节点b计算其diffie-hellman密钥交换协议中的公开参数信息计算完成后,节点b依照前述注册事务结构组建注册事务信息,并向区块链网络广播这条消息;区块链中的全节点在接收到这样的一条注册事务信息后,开始对该条注册事务信息进行验证,一般为向区块链管理后台或者基站询问是否确实存在身份为该id的节点,且其加入wsn网络的行为是否为安排之中的。如果确认没有问题,那么全节点便将该条注册事务信息写进区块中,待共识机制运行将该区块连入区块链主链后,这一条注册失误信息正式生效;节点a向区块链网络发布一条查询信息,以请求得到与节点b的id绑定的公开参数信息yb;节点a使用从区块链账本中获取到的节点b的“dhvalue”字段公开参数信息yb后,计算密钥节点a开始向节点b发送握手消息,附带上自己的id信息,以及当前的时间戳t1和一个随机序号n1;节点b收到节点a发来的握手消息后,向区块链网络发布一条查询请求,以得到与节点a的id绑定的公开参数信息ya;节点b使用从区块链账本中获取到的节点a的“dhvalue”字段公开参数信息ya,通过diffie-hellman密钥交换协议中所定义的方法,计算密钥然后用这个密钥kb加密节点a发送的握手消息为结束(finish)消息,将其发送给节点a,表示自己这边握手流程结束;节点a收到这条finish消息后,用密钥ka解密收到的finish消息,同时再自己生成一条finish消息并用ka加密,发送给节点b,表示自己这边的握手流程也结束了,此后公共密钥k就作为节点a和节点b的共享密钥。与现有技术相比,本发明的效果体现在:通过区块链技术解决和改善目前智能物件信任体系过于中心化的安全性问题,可以预防传统中心化的方案中诸如信任实体被攻击或者信任实体施行不当行为等安全威胁;降低智能物件网络的维护和运营成本。虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属
技术领域
中的普通技术人员,在不脱离本发明的精神和范围内,可以做出若干变形和改进,故本发明的保护范围当视后附的申请专利范围所界定者为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1