基于区块链的物联网设备管理方法及第一物联网设备与流程

文档序号:23664120发布日期:2021-01-15 14:02阅读:59来源:国知局
基于区块链的物联网设备管理方法及第一物联网设备与流程

本公开涉及通信技术领域,尤其涉及一种基于区块链的物联网设备管理方法、一种第一物联网设备、一种终端设备以及一种计算机可读存储介质。



背景技术:

随着物联网技术的不断发展,物联网设备已普及到人们的生活当中,人们也越来越重视物联网设备的数据管理。然而目前的物联网系统缺乏设备与设备之间相互信任的机制,所有的物联网设备通常需要和物联网中心的数据进行核对,而一旦数据库崩塌,则会对整个物联网造成很大的破坏;而且,目前物联网设备所产生的数据流都汇总到单一的中心控制系统,在未来物联网设备将呈几何级数增长的趋势下,物联网平台的中心化服务成本将难以负担。因此,亟需提出一种去中心化的物联网设备管理方案,以解决上述问题。



技术实现要素:

本公开提供了一种基于区块链的物联网设备管理方法、第一物联网设备、终端设备及计算机可读存储介质,实现物联网设备的去中心化管理。

根据本公开实施例的一方面,提供一种基于区块链的物联网设备管理方法,包括:

第一物联网设备接收第二物联网设备发送的第一请求指令;

所述第一物联网设备基于所述第一请求指令验证所述第二物联网设备的身份是否通过;

若所述第二物联网设备的身份验证通过,则所述第一物联网设备基于所述第一请求指令与所述第二物联网设备完成交互;以及,

所述第一物联网设备将所述第一请求指令和交互结果上传到区块链系统。

在一种实施方式中,所述方法还包括:所述第一物联网设备注册为所述区块链系统的区块链节点。

在一种实施方式中,所述方法还包括:

所述第一物联网设备基于其自身的物联网地址和身份信息生成第一数字身份;

所述第一物联网设备注册为所述区块链系统的区块链节点,包括:

所述第一物联网设备向所述区块链系统发送第一申请消息,以使所述区块链系统的某一节点接收到所述第一申请消息后,生成第一私钥,并将所述第一私钥返回给所述第一物联网设备;

所述第一物联网设备基于所述第一私钥加密所述第一数字身份,得到第一加密信息;以及,

所述第一物联网设备将所述第一加密信息发送给所述某一节点,以使所述某一节点在接收到所述第一加密信息后,利用所述第一私钥对所述第一加密信息进行解密,得到所述第一数字身份,并将所述第一数字身份和所述第一私钥进行关联,并广播到区块链系统中,以实现所述第一物联网设备注册为所述区块链系统的区块链节点。

在一种实施方式中,所述区块链系统中存储了所有物联网设备的数字身份及与其相关联的私钥,所述私钥是在其对应的物联网设备注册为区块链节点时所生成的;

所述第一请求指令包括所述第二物联网设备基于第二私钥加密第二数字身份得到的第二加密信息,以及所述第二私钥;

所述第一物联网设备基于所述第一请求指令验证所述第二物联网设备的身份是否通过,包括:

所述第一物联网设备基于所述第二私钥解密所述第二加密信息,得到所述第二数字身份;

所述第一物联网设备在区块链系统中查询是否存在所述第二私钥;

若存在所述第二私钥,则所述第一物联网设备基于所述第二私钥在区块链系统中查找所述第二私钥关联的数字身份;以及,

判断所述第二数字身份和所述第二私钥关联的数字身份是否一致,若一致,则所述第二物联网设备的身份验证通过。

在一种实施方式中,在所述第一物联网设备基于所述第一请求指令验证所述第二物联网设备的数字身份是否通过之后,以及所述第一物联网设备基于所述第一请求指令与所述第二物联网设备完成交互之前,还包括:

若所述第二物联网设备的数字身份验证通过,则所述第一物联网设备对所述第一请求指令进行签名并向所述区块链系统广播所述第一请求指令,以使所述区块链系统中所有其它节点分别对所述第一请求指令进行签名,并得到签名结果;

所述第一物联网设备从区块链系统中获取所有其它节点分别对所述第一请求指令的签名结果;

所述第一物联网设备判断所述所有其它节点分别对所述第一请求指令的签名结果是否均签名成功;

若所述签名结果均为签名成功,则所述第一物联网设备执行基于所述第一请求指令与所述第二物联网设备完成交互的步骤。

根据本公开实施例的另一方面,提供一种第一物联网设备,包括:

接收模块,其设置为接收第二物联网设备发送的第一请求指令;

验证模块,其设置为基于所述第一请求指令验证所述第二物联网设备的身份是否通过;

交互模块,其设置为在所述第二物联网设备的身份验证通过时,基于所述第一请求指令与所述第二物联网设备完成交互;以及,

上传模块,其设置为将所述第一请求指令和所述交互结果上传到区块链系统。

在一种实施方式中,所述第一物联网设备还包括:

注册模块,其设置为注册为所述区块链系统的区块链节点。

在一种实施方式中,所述第一物联网设备还包括:

生成模块,其设置为基于其自身的物联网地址和身份信息生成第一数字身份;

所述注册模块,包括:

发送单元,其设置诶向所述区块链系统发送第一申请消息,以使所述区块链系统的某一节点接收到所述第一申请消息后,生成第一私钥,并将所述第一私钥返回给所述第一物联网设备;

加密单元,其设置为基于所述第一私钥加密所述第一数字身份,得到第一加密信息;以及,

所述发送单元还设置为,将所述第一加密信息发送给所述某一节点,以使所述某一节点在接收到所述第一加密信息后,利用所述第一私钥对所述第一加密信息进行解密,得到所述第一数字身份,并将所述第一数字身份和所述第一私钥进行关联,并广播到区块链系统中,以实现所述第一物联网设备注册为所述区块链系统的区块链节点。

根据本公开实施例的又一方面,提供一种终端设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行所述的基于区块链的物联网设备管理方法。

根据本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的基于区块链的物联网设备管理方法。

根据本公开实施例的又一方面,提供一种终端设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行所述的基于区块链的物联网设备管理方法。

根据本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的基于区块链的物联网设备管理方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开实施例提供的基于区块链的物联网设备管理方法,通过第一物联网设备接收第二物联网设备发送的第一请求指令;所述第一物联网设备基于所述第一请求指令验证所述第二物联网设备的身份是否通过;若所述第二物联网设备的身份验证通过,则所述第一物联网设备基于所述第一请求指令与所述第二物联网设备完成交互;以及,所述第一物联网设备将所述第一请求指令和交互结果上传到区块链系统。本公开实施例至少可以实现物联网设备的去中心化管理,以缓解物联网的数据压力,同时降低物联网设备管理成本。

本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。

图1为本公开实施例提供的一种基于区块链的物联网设备管理方法的流程示意图;

图2为本公开另一实施例提供的一种基于区块链的物联网设备管理方法的流程示意图之一;

图3为本公开另一实施例提供的一种基于区块链的物联网设备管理方法的流程示意图之二;

图4为本公开实施例提供的一种第一物联网设备的结构示意图;

图5为本公开实施例提供的一种终端设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

为解决上述问题,本公开实施例提供的基于区块链的物联网设备管理方法,物联网设备之间直接进行访问交互,并将物联网的交互请求信息和交互数据上传到区块链系统,无需物联网中心对数据进行集中管理,降低物联网平台的中心化服务成本,同时,利用区块链技术和加密算法来保护物联网设备的数字身份,从而保证数字信息的真实性和安全性,并提供可信的数字身份认证服务,建立物联网设备和设备之间相互信任的机制,减轻物联网平台的压力,构建物联网环境下安全便捷的数字身份认证系统。

请参照图1,图1为本公开实施例提供的一种基于区块链的物联网设备管理方法的流程示意图,所述方法包括步骤s101-s104。

本实施例中,网络中所有的物联网设备均注册为区块链系统中的区块链节点,该区块链系统中可以包括物联网平台、物联网网关即物联网设备等,其中,下述中的第一物联网设备和第二物联网设备也注册为所述区块链系统的区块链节点。

在步骤s101中,第一物联网设备接收第二物联网设备发送的第一请求指令。

具体地,第二物联网设备需要与第一物联网设备进行指令或者数据交互时,发送第一请求指令到第一物联网设备中,第一物联网设备接收第二物联网设备的第一请求指令,并对其进行身份验证,以决定是否与其进行数据交互。

相较于相关技术中,物联网设备之间的交互通常通过中心控制服务器或云服务器等集中控制,本实施例中建立物联网设备之间的信任机制,物联网设备之间可以基于点对点方式完成数据交互,以实现物联网设备的去中心化管理,从而解决所有的物联网设备通常需要和物联网中心的数据进行核对,当数据库崩塌时将产生的对整个物联网造成很大的破坏,以及物联网平台的中心化服务成本难以负担等问题。

在步骤s102中,所述第一物联网设备基于所述第一请求指令验证所述第二物联网设备的身份是否通过,若所述第二物联网设备的身份验证通过,则执行步骤s103,否则第二物联网设备不具备交互权限,拒绝第二物联网设备的访问,并结束流程。

本实施例中,物联网设备之间进行数据交互之前,通过对作为请求方的物联网设备进行安全身份认证,建立信任机制,以解决物联网设备之间直接交互所造成的安全性较低等问题,同时无需中心服务器的参与,便于物联网设备的去中心化管理。具体地,第一物联网设备验证所述第二物联网设备的身份是否通过,可以通过验证第二物联网设备的数字身份信息是否与区块链中存储的数字身份信息一致,并在后述实施例中作了详述。

在步骤s103中,所述第一物联网设备基于所述第一请求指令与所述第二物联网设备完成交互。

在步骤s104中,所述第一物联网设备将所述第一请求指令和所述交互结果上传到区块链系统。

本实施例中,通过将物联网设备之间的交互请求情况和交互结果上传到区块链中,实现物联网交互数据的存储,同时便于后续追溯。

进一步地,本实施例基于区块链技术建立物联网设备之间的信任机制,并对物联网设备加入区块链系统进行管理。所述方法还包括以下步骤:

所述第一物联网设备基于其自身的物联网地址和身份信息生成第一数字身份。

具体地,第一物联网设备根据其物联网地址和真实身份信息注册生成在物联网系统中能代表身份的唯一性数字代码,即第一物联网设备的第一数字身份,并在经过权威部门(政府、企业)等认证和信用背书之后发送第一申请消息给区块链系统,申请作为区块链节点加入区块链系统。

所述第一物联网设备注册为所述区块链系统的区块链节点,包括以下步骤a-c:

a、所述第一物联网设备向所述区块链系统发送第一申请消息,以使所述区块链系统的某一节点接收到所述第一申请消息后,生成第一私钥,并将所述第一私钥返回给所述第一物联网设备。

其中,区块链系统的某一节点,为第一物联网设备向区块链系统发送第一申请消息时,区块链系统依据竞争机制选出响应所述第一申请消息的第一区块链节点,第一区块链节点在接收到第一申请消息后,为所述第一物联网设备生成第一私钥,可以理解的是,第一区块链节点中设置有生成密钥的装置,基于该装置生成第一私钥。

在一些实施例中,为了进一步加强第一私钥的保密性及安全性,第一区块链节点在生成第一私钥的同时,还生成了用于加密该第一私钥的第一验证信息,具体地,该第一验证信息可以由第一区块链节点采用哈希算法和第一物联网设备的地址生成,然后基于该第一验证信息对第一私钥进行加密,然后将加密的第一私钥和第一验证信息基于第一物联网设备的物联网地址发送给第一物联网设备。

b、所述第一物联网设备基于所述第一私钥加密所述第一数字身份,得到第一加密信息。

如上所述,若第一区块链节点对第一私钥进行加密,第一物联网设备所获取到的是加密后的第一私钥以及第一验证信息,第一物联网设备则首先需要基于第一验证信息对该加密后的第一私钥进行解密,得到第一私钥明文,然后基于第一私钥加密自身的第一数字身份,得到第一加密信息。

c、所述第一物联网设备将所述第一加密信息发送给所述某一节点,以使所述某一节点在接收到所述第一加密信息后,利用所述第一私钥对所述第一加密信息进行解密,得到所述第一数字身份,并将所述第一数字身份和所述第一私钥进行关联,并广播到区块链系统中,以使所述第一物联网设备注册为区块链节点。

本实施例中,第一区块链节点在接收到该第一加密信息后,使用第一私钥对第一加密信息进行解密得到第一物联网设备的数字身份信息,并发送第一广播消息到区块链系统,所述第一广播消息包含第一物联网设备的第一数字身份信息和第一私钥,区块链系统的各第二区块链节点将第一广播消息进行解密得到第一物联网设备的第一数字身份信息和第一私钥,并各自使用自身的私钥进行加密后生成新的区块,此时,第一物联网设备成功加入到区块链系统中,成功注册为区块链节点。

请参照图2,图2为本公开另一实施例提供的一种基于区块链的物联网设备的管理方法的流程示意图,在上一实施例的基础上,为进一步提高物联网设备之间数据交互的安全性,本实施例对物联网设备身份的安全认证进一步示例,具体地,所述区块链系统中存储了所有物联网设备的数字身份及与其相关联的私钥,所述私钥是在其对应的物联网设备注册为区块链节点时所生成的,所述第一请求指令包括所述第二物联网设备基于第二私钥加密第二数字身份得到的第二加密信息,以及所述第二私钥,并将步骤s102进一步划分为了步骤s1021-s1024。

可以理解的是,第二物联网设备的第二私钥以及基于第二私钥对其第二数字身份加密得到第二加密信息,可以参照上述第一物联网设备加入区块链系统的内容,此处不再赘述。

在步骤s1021中,所述第一物联网设备基于所述第二私钥解密所述第二加密信息,得到所述第二数字身份。

在步骤s1022中,所述第一物联网设备在区块链系统中查询是否存在所述第二私钥,若存在所述第二私钥,则执行步骤s1023,否则,说明第二物联网设备没有加入区块链系统中,或者第二物联网设备提供的信息不正确,拒绝该第二物联网设备的访问,并结束流程。

在步骤s1023中,所述第一物联网设备基于所述第二私钥在区块链系统中查找所述第二私钥关联的数字身份;

在步骤s1024中,判断所述第二数字身份和所述第二私钥关联的数字身份是否一致,若一致,则所述第二物联网设备的身份验证通过并执行步骤s103,否则,验证失败并结束流程。

进一步地,本实施例不仅需要物联网设备之间的身份认证,同时还需要区块链系统中所有区块链节点共同对作为请求方的物联网设备进行签名认证,以进一步提高物联网设备的交互安全性,具体地,如图3所示,在步骤s102之后,以及步骤s103之前,还包括步骤s301-s303。

在步骤s301中,若所述第二物联网设备的数字身份验证通过,则所述第一物联网设备对所述第一请求指令进行签名并向所述区块链系统广播所述第一请求指令,以使所述区块链系统中所有其它节点分别对所述第一请求指令进行签名,并得到签名结果;

在步骤s302中,所述第一物联网设备从区块链系统中获取所有其它节点分别对所述第一请求指令的签名结果;

在步骤s302中,所述第一物联网设备判断所述所有其它节点分别对所述第一请求指令的签名结果是否均签名成功,若所述签名结果均为签名成功,则所述第一物联网设备执行步骤s103基于所述第一请求指令与所述第二物联网设备完成交互。

具体地,第一物联网设备在自身验证第二物联网设备的数字身份通过后对第一请求指令进行数字签名并发送第二广播消息到区块链系统,区块链网络的其他各个节点接收到第二广播消息后,基于第一物联网设备的验证过程对第二物联网设备的数字身份信息进行比对,并在比对成功之后对第二广播消息进行签名生成第三广播消息并发送到区块链系统;第一物联网设备接收其他各个节点发送的第三广播消息,当所有第三广播消息的签名结果都为成功时与第一物联网设备建立连接,而对于签名失败的第一物联网设备进行拒绝访问。

基于相同的技术构思,本公开实施例相应还提供一种第一物联网设备,如图4所示,所述第一物联网设备包括接收模块41、验证模块42、交互模块43以及上传模块44,其中,

所述接收模块41,其设置为接收第二物联网设备发送的第一请求指令;

所述验证模块42,其设置为基于所述第一请求指令验证所述第二物联网设备的身份是否通过;

所述交互模块43,其设置为所述第二物联网设备的身份验证通过时,基于所述第一请求指令与所述第二物联网设备完成交互;以及,

所述上传模块44,其设置为将所述第一请求指令和所述交互结果上传到区块链系统。

在一种实施方式中,所述第一物联网设备还包括:

注册模块,其设置为注册为所述区块链系统的区块链节点。

在一种实施方式中,所述第一物联网设备还包括:

生成模块,其设置为基于其自身的物联网地址和身份信息生成第一数字身份;

所述注册模块,包括:

发送单元,其设置为向所述区块链系统发送第一申请消息,以使所述区块链系统的某一节点接收到所述第一申请消息后,生成第一私钥,并将所述第一私钥返回给所述第一物联网设备;

加密单元,其设置为基于所述第一私钥加密所述第一数字身份,得到第一加密信息;

所述发送单元还设置为,将所述第一加密信息发送给所述某一节点,以使所述某一节点在接收到所述第一加密信息后,利用所述第一私钥对所述第一加密信息进行解密,得到所述第一数字身份,并将所述第一数字身份和所述第一私钥进行关联,并广播到区块链系统中,以实现所述第一物联网设备注册为所述区块链系统的区块链节点。

在一种实施方式中,所述区块链系统中存储了所有物联网设备的数字身份及与其相关联的私钥,所述私钥是在其对应的物联网设备注册为区块链节点时所生成的;

所述第一请求指令包括所述第二物联网设备基于第二私钥加密第二数字身份得到的第二加密信息,以及所述第二私钥,

所述验证模块42,包括:

解密单元,其设置为基于所述第二私钥解密所述第二加密信息,得到所述第二数字身份;

查询单元,其设置为在区块链系统中查询是否存在所述第二私钥;

所述查询单元还设置为,在查询到存在所述第二私钥时,继续基于所述第二私钥在区块链系统中查找所述第二私钥关联的数字身份;

判断单元,其设置为判断所述第二数字身份和所述第二私钥关联的数字身份是否一致,若一致,则所述第二物联网设备的身份验证通过。

在一种实施方式中,还包括:

签名模块,其设置为在在验证模块验证所述第二物联网设备的数字身份是否通过之后,以及所述交互模块基于所述第一请求指令与所述第二物联网设备完成交互之前,若所述所述第二物联网设备的数字身份验证通过时,对所述第一请求指令进行签名并向所述区块链系统广播所述第一请求指令,以使所述区块链系统中所有其它节点分别对所述第一请求指令进行签名,并得到签名结果;

获取模块,其设置为从区块链系统中获取所有其它节点分别对所述第一请求指令的签名结果;

所述判断模块还设置为,判断所述所有其它节点分别对所述第一请求指令的签名结果是否均签名成功;

所述交互模块43还设置为,在所述判断模块判断为所述签名结果均为签名成功时,基于所述第一请求指令与所述第二物联网设备完成交互的。

基于相同的技术构思,本公开实施例相应还提供一种终端设备,如图5所示,所述终端设备包括存储器51和处理器52,所述存储器51中存储有计算机程序,当所述处理器52运行所述存储器51存储的计算机程序时,所述处理器52执行所述的基于区块链的物联网设备管理方法。

基于相同的技术构思,本公开实施例相应还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的基于区块链的物联网设备管理方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

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