CN112311556B - 设备认证的方法、设备控制的方法、节点、设备、区块链 - Google Patents
设备认证的方法、设备控制的方法、节点、设备、区块链 Download PDFInfo
- Publication number
- CN112311556B CN112311556B CN202011224194.5A CN202011224194A CN112311556B CN 112311556 B CN112311556 B CN 112311556B CN 202011224194 A CN202011224194 A CN 202011224194A CN 112311556 B CN112311556 B CN 112311556B
- Authority
- CN
- China
- Prior art keywords
- authenticated
- equipment
- node
- authentication
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012795 verification Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Selective Calling Equipment (AREA)
Abstract
本公开实施例提供了一种基于区块链的设备认证方法,所述区块链包括认证节点和至少一个控制节点,所述方法用于认证节点,该方法包括:接收认证请求,所述认证请求包括待认证设备的设备编码、所述待认证设备的公钥以及所述待认证设备的签名;使用所述待认证设备的公钥,对所述待认证设备的签名进行验证;在验证通过的情况下,确定至少一个控制节点为所述待认证设备的设备控制节点,发送token交易至所述设备控制节点,所述token交易包括所述待认证设备的设备编码以及所述设备的公钥。本公开实施例还提供了一种基于区块链的设备控制方法、认证节点、设备控制节点、区块链、待认证设备。
Description
技术领域
本公开实施例涉及区块链技术领域,特别涉及一种基于区块链的设备认证方法、基于区块链的设备控制方法、认证节点、设备控制节点、区块链、待认证设备。
背景技术
由于大多数设备(如物联网设备)计算与存储能力有限,大多数物联网设备主要提供数据采集和数据传输等轻量级服务,物联网设备之间通过服务器进行数据交互。
物联网设备采用集中式模型,通过服务器进行数据交互,存在兼容性低、抗攻击能力弱等问题。
发明内容
本公开实施例提供一种基于区块链的设备认证方法、基于区块链的设备控制方法、认证节点、设备控制节点、区块链、待认证设备。
第一方面,本公开实施例提供一种基于区块链的设备认证方法,所述区块链包括认证节点和至少一个控制节点,所述方法用于认证节点,所述方法包括:
接收认证请求,所述认证请求包括待认证设备的设备编码、所述待认证设备的公钥以及所述待认证设备的签名;
使用所述待认证设备的公钥,对所述待认证设备的签名进行验证;
在验证通过的情况下,确定至少一个控制节点为所述待认证设备的设备控制节点,发送token交易至所述设备控制节点的地址,所述token交易为所述待认证设备的控制权限的交易,所述token包括所述待认证设备的设备编码以及所述设备的公钥。
在一些实施例中,所述待认证设备为物联网设备。
第二方面,本公开实施例提供一种基于区块链的设备控制方法,所述方法用于区块链的设备控制节点,所述设备控制节点通过上述任意一种设备认证方法认证为待认证设备的设备控制节点,所述方法包括:
生成用于控制所述待认证设备的控制指令,根据所述待认证设备的设备编号,将加密控制指令发送至所述待认证设备,所述加密控制指令为使用所述待认证设备的公钥签名的控制指令;
和/或,
接收所述待认证设备发送的设备数据,所述设备数据为使用所述待认证设备的私钥签名的数据;使用所述待认证设备的公钥对所述设备数据进行验证。
在一些实施例中,所述使用所述待认证设备的公钥对所述设备数据进行验证之后,还包括:在验证通过的情况下,将所述设备数据发送至区块链网络。
第三方面,本公开实施例提供一种基于区块链的设备认证方法,所述区块链网络包括认证节点和至少一个控制节点,所述方法用于待认证设备,所述方法包括:
生成所述待认证设备的公钥和私钥;
向所述认证节点发送认证请求,所述认证请求包括所述待认证设备的设备编码、所述待认证设备的公钥以及所述待认证设备的签名。
在一些实施例中,所述控制节点中有至少一个控制节点被所述认证节点通过上述任意一种设备认证方法认证为所述待认证设备的设备控制节点;则所述向所述认证节点发送认证请求之后,还包括:接收所述设备控制节点的加密控制指令,所述加密控制指令为使用所述待认证设备的公钥签名的控制指令;使用所述待认证设备的私钥对所述加密控制指令进行验证;和/或,对采集的设备数据使用所述待认证设备的私钥签名,并将所述签名后的设备数据发送至所述设备控制节点。
第四方面,本公开实施例提供一种认证节点,其包括:
接收模块,用于接收认证请求,所述认证请求包括待认证设备的设备编码、所述待认证设备的公钥以及所述待认证设备的签名;
验证模块,用于使用所述待认证设备的公钥,对所述待认证设备的签名进行验证;
交易模块,用于在验证通过的情况下,确定至少一个控制节点为所述待认证设备的设备控制节点,发送token交易至所述设备控制节点的地址,所述token交易为所述待认证设备的控制权限的交易,所述token包括所述待认证设备的设备编码以及所述设备的公钥。
第五方面,本公开实施例提供一种设备控制节点,所述设备控制节点被上述的认证节点认证为待认证设备的设备控制节点,所述设备控制节点包括:
控制模块,用于生成用于控制所述待认证设备的控制指令,根据所述待认证设备的设备编号,将加密控制指令发送至所述待认证设备,所述加密控制指令为使用所述待认证设备的公钥签名的控制指令;
数据模块,用于接收所述待认证设备发送的设备数据,所述设备数据为使用所述待认证设备的私钥签名的数据;使用所述待认证设备的公钥对所述设备数据进行验证。
第六方面,本公开实施例提供一种区块链,其包括:
上述的认证节点;
以及至少一个上述的设备控制节点。
第七方面,本公开实施例提供一种待认证设备,其包括:
生成模块,用于生成所述待认证设备的公钥和私钥;
发送模块,用于向所述认证节点发送认证请求,所述认证请求包括所述待认证设备的设备编码、所述待认证设备的公钥以及所述待认证设备的签名。
本公开实施例的基于区块链的设备认证方法、基于区块链的设备控制方法、认证节点、设备控制节点、区块链、待认证设备利用区块链的分布式、去信任以及数据加密传输等特点,通过认证节点对待认证设备进行认证之后,再将待认证设备的控制权转移至待认证设备的设备控制节点,提升了接入网络的待认证设备的可靠性,避免了待认证设备成为黑客攻击的工具。同时,由于对待认证设备认证成功之后,待认证设备的控制权直接分配给设备控制节点,设备控制节点不需要通过服务器控制待认证设备,避免由于不同设备之间不兼容,导致服务器无法同时为多种设备服务情况的发生。
附图说明
在本公开实施例的附图中:
图1为现有技术中物联网设备进行数据交互的示意图;
图2为本公开实施例提供的一种用于认证节点的基于区块链的设备认证方法的流程图;
图3为本公开实施例提供的一种物联网架构示意图;
图4为本公开实施例提供的一种基于区块链的设备控制方法的流程图;
图5为本公开实施例提供的一种用于待认证设备的基于区块链的设备认证方法的流程图;
图6为本公开实施例提供的另一种用于待认证设备的基于区块链的设备认证方法的流程图;
图7为本公开实施例提供的一种认证节点的组成框图;
图8为本公开实施例提供的一种设备控制节点的组成框图;
图9为本公开实施例提供的一种区块链的组成框图;
图10为本公开实施例提供的一种待认证设备的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开实施例的技术方案,下面结合附图对本公开实施例提供的基于区块链的设备认证方法、基于区块链的设备控制方法、认证节点、设备控制节点、区块链、待认证设备进行详细描述。
在下文中将参考附图更充分地描述本公开实施例,但是所示的实施例可以以不同形式来体现,且不应当被解释为限于本公开阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
本公开实施例的附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,
本公开实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
本公开所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本公开所使用的术语“和/或”包括一个或多个相关列举条目的任何和所有组合。如本公开所使用的单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。如本公开所使用的术语“包括”、“由……制成”,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本公开所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本公开明确如此限定。
本公开实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不是旨在限制性的。
在一些相关技术中,参照图1,多个设备,如物联网(IoT,The Internet ofThings)设备之间通过服务器(如中心服务器)进行数据交互。
一方面,在中心服务器故障的情况下,与中心服务器相关的物联网设备都无法正常运转。若中心服务器的安全得不到保障,与中心服务器相关的物联网设备的数据就会存在被泄露、篡改的风险也大大增加。
同时,随着与中心服务器连接的物联网设备的增多,中心服务器需要处理的数据的数量也大大增加,增大了中心服务器的计算压力。
另一方面,由于物联网设备的资源约束,大多数设备主要提供数据采集与数据传输等轻量级服务,计算与存储能力有限,难以满足复杂的安全性要求,容易受到网络攻击,成为黑客DDoS攻击(分布式拒绝服务攻击)的工具。
同时,由于不同的物联网设备可能来源于不同的厂家,各个物联网设备之间的兼容性可能较弱。
第一方面,参照图2,本公开实施例提供一种基于区块链的设备认证方法。
区块链包括认证节点和至少一个控制节点。
其中,每个“节点”是组成区块链的一个单元;而认证节点是指区块链中可以执行本公开实施例的设备认证方法的节点;而控制节点则是区块链中可以实现控制设备功能的节点,其具体可以是手机、电脑等终端设备,或者是控制节点为网关等网络设备,而手机、电脑等终端设备则连接控制节点接入区块链网络。
本公开实施例的设备认证方法包括:
S101、接收认证请求,认证请求包括待认证设备的设备编码、待认证设备的公钥以及待认证设备的签名。
待认证设备是需要被区块链中的某个控制节点控制的、能实现一定功能的设备。待认证设备可以就是区块链中的节点,或是连接区块链中的节点的设备。
区块链中的认证节点接收来自待认证设备的认证请求,认证请求包括待认证设备的设备编码、待认证设备的公钥以及待认证设备的签名。
其中,设备编码是待认证设备的唯一标识,不同的设备具有不同的设备编码,具体可以是待认证设备的硬件编码。
待认证设备的签名,具体可以是经过待认证设备的私钥加密之后的数据,用于验证认证请求来自待认证设备,而不是来自其他“冒充”待认证设备的攻击设备。
S102、使用待认证设备的公钥,对待认证设备的签名进行验证。
区块链的认证节点根据认证请求中待认证设备的公钥,对待认证请求中待认证设备的签名进行验证。
具体是,使用待认证设备的公钥对待认证设备的签名进行解密,若解密成功,则说明验证成功;若解密失败,则说明验证失败。
S103、在验证通过的情况下,确定至少一个控制节点为待认证设备的设备控制节点,发送token交易至设备控制节点的地址,token交易为待认证设备的控制权限的交易,token包括待认证设备的设备编码以及设备的公钥。
区块链的认证节点在验证通过,即验证成功的情况下,从区块链的控制节点中确定至少一个节点为待认证设备的设备控制节点,发送一笔token交易给设备控制节点的地址。
其中,token交易是一种基于区块链的权限转移交易,其是将token交易至设备控制节点,该token包括待认证设备的设备编码以及设备的公钥,从而该token交易相当于将待认证设备的控制权(如对待认证设备进行开机、关机、权限转移等操作)从认证节点交易(不需要设备控制节点进行“支付”,故也可视为是转移或赠送)至设备控制节点。
其中,以上token交易的具体过程是基于区块链的认证技术进行的,故认证节点实际是要求将token转移至设备控制节点的地址,区块链打包该条交易数据后,使区块链的每个节点更新对应的账本,该账本记录各控制节点的地址所持有的对待认证设备的控制权,或者说token,具体的数据更新可通过默克尔树技术等实现。
一个待认证设备可以有多个设备控制节点,也就是说,认证节点可以通过token交易将待认证设备的控制权转移到多个节点,这个多个节点都可以对该待认证设备进行控制。
从控制节点中确定待认证设备的设备控制节点可以通过管理人员选取,也可以通过设定预定的条件,对所有控制节点进行判断,满足预定条件的控制节点则可以成为待认证设备的设备控制节点。
区块链是典型的分布式系统,由哈希算法、默克尔树、数字签名、P2P网络等一系列技术并结合奖励机制实现分布式系统的共识,保证了信息的不可篡改性和唯一性,分布式的处理方式保证了网络的可扩展性与安全性。
本公开实施例的基于区块链的设备认证方法利用区块链的分布式、去信任以及数据加密传输等特点,通过认证节点对待认证设备进行认证之后,再将待认证设备的控制权转移至待认证设备的设备控制节点,提升了接入网络的待认证设备的可靠性,避免了待认证设备成为黑客攻击的工具。同时,由于对待认证设备认证成功之后,待认证设备的控制权直接分配给设备控制节点,设备控制节点不需要通过服务器控制待认证设备,避免由于不同设备之间不兼容,导致服务器无法同时为多种设备服务情况的发生。
在一些实施例中,待认证设备为物联网设备(IOT设备)。
本公开实施例的待认证设备为物联网设备,本公开实施例的基于区块链的设备认证方法可以通过在传统物联网的三层架构进行改进实现。
具体的,参照图3,传统的物联网架构的三层为采集层、网关层、应用层。区块链层可以增加在网络层于应用层之间,以实现在基础网络上利用区块链的加密技术为数据的隐私安全提供保障,为上层应用层提供可靠的网络环境。
第二方面,参照图4,本公开实施例提供一种基于区块链的设备控制方法。
区块链包括认证节点和至少一个控制节点,其中,认证节点是指区块链中可以执行本公开实施例的设备认证方法的节点,而控制节点则是区块链中可以实现控制设备功能的节点,其具体可以是手机、电脑等终端设备。
设备控制节点也是控制节点,与其他控制节点不同的是,认证节点将待认证设备的控制权转移至设备控制节点(具体通过本公开实施例的设备认证方法转移),也就是说,设备控制节点具有对待认证设备的控制权,具有待认证设备的设备编码以及待认证设备的公钥,其可以通过本公开实施例的设备控制方法对待认证设备进行控制。
本公开实施例的设备控制方法包括:
S201、生成用于控制待认证设备的控制指令,根据待认证设备的设备编号,将加密控制指令发送至待认证设备,加密控制指令为使用待认证设备的公钥签名(例如通过哈希算法的签名)的控制指令。
设备控制节点生成控制指令,使用待认证设备的公钥对控制指令进行签名(或者说加密)生成加密控制指令,根据待认证设备的设备编号,将生成的加密控制指令发送至待认证设备。
当待认证设备也是区块链的一个节点时,发送控制指令的具体方式为广播发送。
S202、接收待认证设备发送的设备数据,设备数据为使用待认证设备的私钥签名的数据;使用待认证设备的公钥对设备数据进行验证。
设备控制节点接收来自待认证设备的设备数据后,使用待认证设备的公钥对设备数据进行验证(或者说解密),以获取可以使用的数据。
其中,设备数据是指待认证设备采集的数据经过待认证设备的私钥加密之后的数据。
在一些实施例中,使用待认证设备的公钥对设备数据进行验证之后,还包括:在验证通过的情况下,将设备数据发送至区块链网络。
设备控制节点在获取可以使用的数据之后,可以对数据进行处理,也可以将数据广播至区块链网络,区块链网络对数据进行打包。
需要强调的是,步骤S201和步骤S202并不具有先后顺序,同一个设备控制节点也不一定既执行步骤S201,也执行步骤S202。也就是说,本公开实施例的设备控制方法可以只包括步骤S201,也可以只包括步骤S202,还可以同时包括步骤S201和步骤S202。
本公开实施例的基于区块链的设备控制方法中,待认证设备把采集到的数据用自己的私钥签名,设备控制节点可以通过待认证设备的公钥对数据进行验证,通过私钥签名和公钥验证,可以很容易判断出接收到的数据来自待认证设备,保证数据来源的安全性;同时设备控制节点使用待认证设备的公钥对控制指令进行签名,待认证设备通过私钥进行验证,保证了控制指令来自设备控制节点,提升了控制指令来源的可靠性。
第三方面,参照图5,本公开实施例提供一种基于区块链的设备认证方法,区块链网络包括认证节点和至少一个控制节点,方法用于待认证设备,方法包括:
S301、生成待认证设备的公钥和私钥。
待认证设备激活后加入网络,基于椭圆曲线数字签名算法生成的非对称公钥和私钥,其中,私钥存于待认证设备的内存中。
具体的,若待认证设备也是区块链的一个节点,则待认证设备通过自身区块链的SDK(软件开发工具包)基于椭圆曲线数字签名算法ECDSA-secp256k1生成公钥和私钥。
S302、向认证节点发送认证请求,认证请求包括待认证设备的设备编码、待认证设备的公钥以及待认证设备的签名。
待认证设备生成待认证设备的签名,签名具体可以是使用私钥加密的数据,将待认证设备的签名、待认证设备的设备编码、待认证设备的公钥一起作为认证请求发送至认证节点,以供认证节点根据认证请求对待认证设备进行认证。
当待认证设备也是区块链的一个节点时,发送认证请求的具体方式为广播发送。
本公开实施例的基于区块链的设备认证方法,利用待认证设备生成的私钥和公钥生成认证请求,供认证节点根据认证请求对待认证设备进行认证,通过认证节点对待认证设备进行认证之后,再将待认证设备的控制权转移至待认证设备的设备控制节点,提升了接入网络的待认证设备的可靠性,避免了待认证设备成为黑客攻击的工具。
在一些实施例中,参照图6,控制节点中有至少一个控制节点被认证节点通过上述任意一种设备认证方法认证为待认证设备的设备控制节点;
则向认证节点发送认证请求(S302)之后,还包括:
S303、接收设备控制节点的加密控制指令,加密控制指令为使用待认证设备的公钥签名的控制指令。
S304、使用待认证设备的私钥对加密控制指令进行验证。
设备控制节点生成控制指令,使用待认证设备的公钥对控制指令进行签名(或者说加密)生成加密控制指令,根据待认证设备的设备编号,将生成的加密控制指令发送至待认证设备。
待认证设备接收设备控制节点的加密控制指令,使用自己的私钥对加密控制指令进行验证,或者说解密,获取真实的控制指令,根据控制指令执行相应的操作。
S305、对采集的设备数据使用待认证设备的私钥签名,并将签名后的设备数据发送至设备控制节点。
待认证设备采集数据,即设备数据,对设备数据使用自己的私钥签名,并将签名之后的设备数据发送至设备控制节点。
当待认证设备也是区块链的一个节点时,发送设备数据的具体方式为广播发送。
需要强调的是,步骤S303、步骤S304之间有先后顺序,但与它们与步骤S305并不具有先后顺序,同一个待认证设备也不一定既执行步骤S303、步骤S304,也执行步骤S305。也就是说,本公开实施例的设备控制方法可以只包括步骤S303、步骤S304,也可以只包括步骤S305,还可以同时包括步骤S303、步骤S304和步骤S305。
具体的,以待认证设备为物联网设备且是区块链的一个节点为例具体说明。
本公开实施例的基于的区块链包括认证节点、物联网设备节点、以及多个控制节点。
其中,物联网设备节点具体可以是传感器、监控设备以及其他硬件设备等,应用采集数据。
当应用于智慧农业领域时,控制节点可以包括具体为大棚中的计算机等智能设备的大棚节点、由分拣业务员管理运行,用于流水线中农作物分拣的分拣节点;采集物流信息的物流节点。
本公开实施例的设备控制方法和设备管理方法具体包括:
A01、物联网设备生成公钥和私钥,以及认证请求。
物联网设备随机生成256比特的比特串作为私钥,利用椭圆曲线密钥生成算法得到与私钥对应的公钥,同时,通过公钥生成一个对外公开的设备编码,或者说对外公开的地址,如0x97ee7b5740ba5831f76af9eva576bbd0309b07c0。
通过使用椭圆曲线数字签名算法,通过私钥生成物联网设备签名,并将物联网设备的签名、物联网设备的公钥、物联网设备的对外公开的地址,作为认证请求发送给认证节点(假设其对外公开地址为0x9d4d10f0a9f893ce7112b1230e0c5ea372d7ee2c)。
A02、认证节点接收认证请求,并根据认证请求进行验证
认证节点收到物联网设备的认证请求,通过物联网设备的公钥对物联网设备的签名进行验证。
A03、认证节点在认证通过的情况下,发送一笔token交易给设备控制节点的地址。
具体的,在认证通过的情况下,认证节点物联网设备发起token交易至设备控制节点的地址(假设对外公开地址为0x91f273b7a28f5169fd7b7995a54b767ca797dc63),并广播至区块链网络中等待交易打包确认。
当该交易在区块链上打包后,区块链中的所有节点都能通过该交易验证对物联网设备具有控制权的设备控制节点具体是哪个节点,以及具体的控制权是什么。设备控制节点也可以对物联网设备进行控制。
设备控制节点通过管理人员选择确定或通过预先设定的算法选择确定。
其中,token交易的具体内容可以是:
交易标识:0x762321c2a8ee6b7e3047414122fc617a1c628e8d131de1030445fcbdee361b04
发送方:0x9d4d10f0a9f893ce7112b1230e0c5ea372d7ee2c
接收方:0x91f273b7a28f5169fd7b7995a54b767ca797dc63
权限交易:从0x9d4d10f0a9f893ce7112b1230e0c5ea372d7ee2c转移至0x91f273b7a28f5169fd7b7995a54b767ca797dc63
输入数据:权限持有人为0x91f273b7a28f5169fd7b7995a54b767ca797dc63;权限控制对象为物联网设备对外公开地址;权限为可读/可写。
其中交易标识是认证节点的签名,其他区块链节点通过认证节点的签名可以得知该交易来源于认证节点。
当交易打包完成并发送至区块链网络上,则表示设备控制节点对物联网设备的控制权生效。
打包完成之后的交易具体可以是:
交易标识:0x762321c2a8ee6b7e3047414122fc617a1c628e8d131de1030445fcbdee361b04区块高度:1001
交易状态:已完成
交易时间:2020-10-26 03:37:06
发送方:0x9d4d10f0a9f893ce7112b1230e0c5ea372d7ee2c
接收方:0x91f273b7a28f5169fd7b7995a54b767ca797dc63
权限交易:从0x9d4d10f0a9f893ce7112b1230e0c5ea372d7ee2c转移至0x91f273b7a28f5169fd7b7995a54b767ca797dc63
输入数据:权限持有人为0x91f273b7a28f5169fd7b7995a54b767ca797dc63;权限控制对象为物联网设备对外公开地址;权限为可读/可写。
token作为区块链上的可信凭证,标识不同物联网设备的控制权以及拥有该物联网设备控制权的设备控制节点,将设备控制节点对物联网设备的控制权记录于区块链链上,能够保障设备控制节点对物联网设备的控制权的记录的不可篡改性以及可验证性。
A04、物联网设备采集数据,并使用物联网设备的私钥对数据进行签名。
具体的,采集的数据可以是光照、气温等测量数据。
A05、物联网设备发送数据到设备控制节点,设备控制节点使用物联网设备的公钥对数据进行验证。
通过广播的方式物联网设备发送数据到设备控制节点,在设备控制节点在验证通过的情况下,将数据广播到区块链网络,等待数据打包,并在数据打包完成后,完成数据上链过程。
具体的,物联网设备发送的数据可以是:
交易标识:0x662321c2a8ee6b7e3047414122fc617a1c628e8d131de1030445fcbdee361b04
发送方:0x97ee7b5740ba5831f76af9eva576bbd0309b07c0
输入数据:温度、湿度、光照、二氧化碳浓度。
第四方面,参照图7,本公开实施例提供一种认证节点,其包括:
接收模块,用于接收认证请求,认证请求包括待认证设备的设备编码、待认证设备的公钥以及待认证设备的签名;
验证模块,用于使用待认证设备的公钥,对待认证设备的签名进行验证;
交易模块,用于在验证通过的情况下,确定至少一个控制节点为待认证设备的设备控制节点,发送token交易至设备控制节点的地址,token交易为待认证设备的控制权限的交易,token包括待认证设备的设备编码以及设备的公钥。
本公开实施例的认证节点,利用区块链的分布式、去信任以及数据加密传输等特点,通过认证节点对待认证设备进行认证之后,再将待认证设备的控制权转移至待认证设备的设备控制节点,提升了接入网络的待认证设备的可靠性,避免了待认证设备成为黑客攻击的工具。同时,由于对待认证设备认证成功之后,待认证设备的控制权直接分配给设备控制节点,设备控制节点不需要通过服务器控制待认证设备,避免由于不同设备之间不兼容,导致服务器无法同时为多种设备服务情况的发生。
第五方面,参照图8,本公开实施例提供一种设备控制节点,设备控制节点被上述的认证节点认证为待认证设备的设备控制节点,设备控制节点包括:
控制模块,用于生成用于控制待认证设备的控制指令,根据待认证设备的设备编号,将加密控制指令发送至待认证设备,加密控制指令为使用待认证设备的公钥签名的控制指令;
数据模块,用于接收待认证设备发送的设备数据,设备数据为使用待认证设备的私钥签名的数据;使用待认证设备的公钥对设备数据进行验证。
本公开实施例的设备控制节点,待认证设备把采集到的数据用自己的私钥签名,设备控制节点可以通过待认证设备的公钥对数据进行验证,通过私钥签名和公钥验证,可以很容易判断出接收到的数据来自待认证设备,保证数据来源的安全性;同时设备控制节点使用待认证设备的公钥对控制指令进行签名,待认证设备通过私钥进行验证,保证了控制指令来自设备控制节点,提升了控制指令来源的可靠性。
第六方面,参照图9,本公开实施例提供一种区块链,其包括:
上述的认证节点;
以及至少一个上述的设备控制节点。
本公开实施例的区块链,利用区块链的分布式、去信任以及数据加密传输等特点,通过认证节点对待认证设备进行认证之后,再将待认证设备的控制权转移至待认证设备的设备控制节点,提升了接入网络的待认证设备的可靠性,避免了待认证设备成为黑客攻击的工具。同时,由于对待认证设备认证成功之后,待认证设备的控制权直接分配给设备控制节点,设备控制节点不需要通过服务器控制待认证设备,避免由于不同设备之间不兼容,导致服务器无法同时为多种设备服务情况的发生。
第七方面,参照图10,本公开实施例提供一种待认证设备,其包括:
生成模块,用于生成待认证设备的公钥和私钥;
发送模块,用于向认证节点发送认证请求,认证请求包括待认证设备的设备编码、待认证设备的公钥以及待认证设备的签名。
本公开实施例的待认证设备,利用待认证设备生成的私钥和公钥生成认证请求,供认证节点根据认证请求对待认证设备进行认证,通过认证节点对待认证设备进行认证之后,再将待认证设备的控制权转移至待认证设备的设备控制节点,提升了接入网络的待认证设备的可靠性,避免了待认证设备成为黑客攻击的工具。
本领域普通技术人员可以理解,上文中所公开的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。
某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器(CPU)、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH)或其他磁盘存储器;只读光盘(CD-ROM)、数字多功能盘(DVD)或其他光盘存储器;磁盒、磁带、磁盘存储或其他磁存储器;可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本公开已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (10)
1.一种基于区块链的设备认证方法,所述区块链包括认证节点和至少一个控制节点,所述方法用于认证节点,所述方法包括:
接收认证请求,所述认证请求包括待认证设备的设备编码、所述待认证设备的公钥以及所述待认证设备的签名;所述认证请求是待认证设备在生成所述待认证设备的公钥和私钥之后发送的;
使用所述待认证设备的公钥,对所述待认证设备的签名进行验证;
在验证通过的情况下,确定至少一个控制节点为所述待认证设备的设备控制节点,发送token交易至所述设备控制节点的地址,所述token交易为所述待认证设备的控制权限的交易,所述token包括所述待认证设备的设备编码以及所述设备的公钥。
2.根据权利要求1所述的方法,其中,所述待认证设备为物联网设备。
3.一种基于区块链的设备控制方法,所述方法用于区块链的设备控制节点,所述设备控制节点通过权利要求1或2所述的设备认证方法认证为待认证设备的设备控制节点,所述方法包括:
生成用于控制所述待认证设备的控制指令,根据所述待认证设备的设备编号,将加密控制指令发送至所述待认证设备,所述加密控制指令为使用所述待认证设备的公钥签名的控制指令;
和/或,
接收所述待认证设备发送的设备数据,所述设备数据为使用所述待认证设备的私钥签名的数据;使用所述待认证设备的公钥对所述设备数据进行验证。
4.根据权利要求3所述的方法,其中,所述使用所述待认证设备的公钥对所述设备数据进行验证之后,还包括:
在验证通过的情况下,将所述设备数据发送至区块链网络。
5.一种基于区块链的设备认证方法,所述区块链网络包括认证节点和至少一个控制节点,所述方法用于待认证设备,所述方法包括:
生成所述待认证设备的公钥和私钥;
向所述认证节点发送认证请求,所述认证请求包括所述待认证设备的设备编码、所述待认证设备的公钥以及所述待认证设备的签名;
以供所述认证节点接收所述认证请求,使用所述待认证设备的公钥,对所述待认证设备的签名进行验证;在验证通过的情况下,确定至少一个控制节点为所述待认证设备的设备控制节点,发送token交易至所述设备控制节点的地址,所述token交易为所述待认证设备的控制权限的交易,所述token包括所述待认证设备的设备编码以及所述设备的公钥。
6.根据权利要求5所述的方法,其中,所述控制节点中有至少一个控制节点被所述认证节点通过权利要求1或2所述的设备认证方法认证为所述待认证设备的设备控制节点;则所述向所述认证节点发送认证请求之后,还包括:
接收所述设备控制节点的加密控制指令,所述加密控制指令为使用所述待认证设备的公钥签名的控制指令;使用所述待认证设备的私钥对所述加密控制指令进行验证;
和/或,
对采集的设备数据使用所述待认证设备的私钥签名,并将所述签名后的设备数据发送至所述设备控制节点。
7.一种认证节点,其包括:
接收模块,用于接收认证请求,所述认证请求包括待认证设备的设备编码、所述待认证设备的公钥以及所述待认证设备的签名;所述认证请求是待认证设备在生成所述待认证设备的公钥和私钥之后发送的;
验证模块,用于使用所述待认证设备的公钥,对所述待认证设备的签名进行验证;
交易模块,用于在验证通过的情况下,确定至少一个控制节点为所述待认证设备的设备控制节点,发送token交易至所述设备控制节点的地址,所述token交易为所述待认证设备的控制权限的交易,所述token包括所述待认证设备的设备编码以及所述设备的公钥。
8.一种设备控制节点,所述设备控制节点被权利要求7所述的认证节点认证为待认证设备的设备控制节点,所述设备控制节点包括:
控制模块,用于生成用于控制所述待认证设备的控制指令,根据所述待认证设备的设备编号,将加密控制指令发送至所述待认证设备,所述加密控制指令为使用所述待认证设备的公钥签名的控制指令;
数据模块,用于接收所述待认证设备发送的设备数据,所述设备数据为使用所述待认证设备的私钥签名的数据;使用所述待认证设备的公钥对所述设备数据进行验证。
9.一种区块链,其包括:
权利要求7所述的认证节点;
以及至少一个权利要求8所述的设备控制节点。
10.一种待认证设备,其包括:
生成模块,用于生成所述待认证设备的公钥和私钥;
发送模块,用于向认证节点发送认证请求,所述认证请求包括所述待认证设备的设备编码、所述待认证设备的公钥以及所述待认证设备的签名;以供所述认证节点接收所述认证请求,使用所述待认证设备的公钥,对所述待认证设备的签名进行验证;在验证通过的情况下,确定至少一个控制节点为所述待认证设备的设备控制节点,发送token交易至所述设备控制节点的地址,所述token交易为所述待认证设备的控制权限的交易,所述token包括所述待认证设备的设备编码以及所述设备的公钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224194.5A CN112311556B (zh) | 2020-11-05 | 2020-11-05 | 设备认证的方法、设备控制的方法、节点、设备、区块链 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224194.5A CN112311556B (zh) | 2020-11-05 | 2020-11-05 | 设备认证的方法、设备控制的方法、节点、设备、区块链 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311556A CN112311556A (zh) | 2021-02-02 |
CN112311556B true CN112311556B (zh) | 2024-05-24 |
Family
ID=74326335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011224194.5A Active CN112311556B (zh) | 2020-11-05 | 2020-11-05 | 设备认证的方法、设备控制的方法、节点、设备、区块链 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311556B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579817A (zh) * | 2017-09-12 | 2018-01-12 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及系统 |
CN108055258A (zh) * | 2017-12-08 | 2018-05-18 | 中链科技有限公司 | 一种身份数据管理方法、系统和计算机可读存储介质 |
CN108235806A (zh) * | 2017-12-28 | 2018-06-29 | 深圳达闼科技控股有限公司 | 安全访问区块链的方法、装置、系统、存储介质及电子设备 |
WO2018137352A1 (zh) * | 2017-01-24 | 2018-08-02 | 华为技术有限公司 | 一种网络认证方法、用户设备、网络认证节点及系统 |
CN109886675A (zh) * | 2019-02-01 | 2019-06-14 | 杭州电子科技大学 | 基于区块链的资源访问令牌的分发和资源使用监控方法 |
CN110519062A (zh) * | 2019-09-19 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 基于区块链的身份认证方法、认证系统及存储介质 |
CN110752934A (zh) * | 2019-10-28 | 2020-02-04 | 江苏大周基业智能科技有限公司 | 拓扑结构下网络身份交互认证的方法 |
CN111682945A (zh) * | 2020-05-29 | 2020-09-18 | 百度在线网络技术(北京)有限公司 | 一种区块链的权限控制方法、装置、设备和介质 |
CN111835520A (zh) * | 2019-04-19 | 2020-10-27 | 株式会社理光 | 设备认证的方法、服务接入控制的方法、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190340607A1 (en) * | 2018-05-01 | 2019-11-07 | Masterworks.io, LLC | System for central authority-permissioned transfer of blockchain tokens |
-
2020
- 2020-11-05 CN CN202011224194.5A patent/CN112311556B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018137352A1 (zh) * | 2017-01-24 | 2018-08-02 | 华为技术有限公司 | 一种网络认证方法、用户设备、网络认证节点及系统 |
CN107579817A (zh) * | 2017-09-12 | 2018-01-12 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及系统 |
CN108055258A (zh) * | 2017-12-08 | 2018-05-18 | 中链科技有限公司 | 一种身份数据管理方法、系统和计算机可读存储介质 |
CN108235806A (zh) * | 2017-12-28 | 2018-06-29 | 深圳达闼科技控股有限公司 | 安全访问区块链的方法、装置、系统、存储介质及电子设备 |
CN109886675A (zh) * | 2019-02-01 | 2019-06-14 | 杭州电子科技大学 | 基于区块链的资源访问令牌的分发和资源使用监控方法 |
CN111835520A (zh) * | 2019-04-19 | 2020-10-27 | 株式会社理光 | 设备认证的方法、服务接入控制的方法、设备及存储介质 |
CN110519062A (zh) * | 2019-09-19 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 基于区块链的身份认证方法、认证系统及存储介质 |
CN110752934A (zh) * | 2019-10-28 | 2020-02-04 | 江苏大周基业智能科技有限公司 | 拓扑结构下网络身份交互认证的方法 |
CN111682945A (zh) * | 2020-05-29 | 2020-09-18 | 百度在线网络技术(北京)有限公司 | 一种区块链的权限控制方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112311556A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6262278B2 (ja) | アクセス制御クライアントの記憶及び演算に関する方法及び装置 | |
US9864608B2 (en) | Client authentication during network boot | |
US9485230B2 (en) | Efficient key generator for distribution of sensitive material from multiple application service providers to a secure element such as a universal integrated circuit card (UICC) | |
US20200259667A1 (en) | Distributed management system for remote devices and methods thereof | |
US20210012008A1 (en) | Method of initializing device and method of updating firmware of device having enhanced security function | |
US20080189695A1 (en) | Updating of Data Instructions | |
CN103154966A (zh) | 在具有多个客户端的电子网络中进行远程维护的系统和方法 | |
CN111740854B (zh) | 用于安全装置通信的设备、方法和系统 | |
JP2022527906A (ja) | ブロックチェーンを使用したセキュア監視 | |
KR20210134054A (ko) | 보안 전자 제어 유닛 업데이트를 위한 로컬 원장 블록 체인 | |
JP2009543208A5 (zh) | ||
CN110771087B (zh) | 私钥更新 | |
CN113301107A (zh) | 节点计算平台及其实现方法、可信云平台实现方法 | |
CN112311556B (zh) | 设备认证的方法、设备控制的方法、节点、设备、区块链 | |
CN111651740B (zh) | 一种面向分布式智能嵌入式系统的可信平台共享系统 | |
CN110247877A (zh) | 一种离线管理指令的管理方法和终端 | |
KR102377045B1 (ko) | 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법 | |
US20230259929A1 (en) | Blockchain based identity management for a supply chain of a computerised network | |
US20240195641A1 (en) | Interim root-of-trust enrolment and device-bound public key registration | |
WO2020177116A1 (zh) | 仿冒app识别方法及装置 | |
KR20220147610A (ko) | 애플리케이션에 의한 보안 및 문서화된 키 액세스 | |
Kohnhäuser | Advanced Remote Attestation Protocols for Embedded Systems | |
CN115967623A (zh) | 设备管理方法、装置、电子设备及存储介质 | |
GB2605951A (en) | Interim root-of-trust enrolment and device-bound public key registration | |
CN117892308A (zh) | 可信数据的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |