CN110784461A - 一种基于区块链的安全6LoWPAN通信方法及系统 - Google Patents
一种基于区块链的安全6LoWPAN通信方法及系统 Download PDFInfo
- Publication number
- CN110784461A CN110784461A CN201911012418.3A CN201911012418A CN110784461A CN 110784461 A CN110784461 A CN 110784461A CN 201911012418 A CN201911012418 A CN 201911012418A CN 110784461 A CN110784461 A CN 110784461A
- Authority
- CN
- China
- Prior art keywords
- block
- node
- message
- 6lowpan
- transaction
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004891 communication Methods 0.000 title claims abstract description 60
- 238000012795 verification Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 30
- 231100000817 safety factor Toxicity 0.000 claims abstract description 9
- 238000012790 confirmation Methods 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000004806 packaging method and process Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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
- H04L9/3239—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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种基于区块链的安全6LoWPAN通信方法及系统,该方法包括:将多个6LoWPAN边界网关构建成为区块链网络上的节点;选举主节点,其余为副本节点;主节点将各节点的包括反映节点运行情况和/或安全因素的事务信息的交易单打包成区块,各节点通过区块共识算法对区块合法性进行验证以及上链;在验证过程中获取恶意节点并切断上云通道。本发明实施例通过将多个6LoWPAN边界网关组成区块链,将反映节点运行情况和/或安全因素的事务信息生成交易单并打包成区块,通过区块共识算法将区块上链,在区块验证过程确认恶意节点,提高了6LoWPAN无线传感网络的安全性,并且便于事后追溯。
Description
技术领域
本发明涉及区块链及无线传感网络技术领域,具体涉及一种基于区块链的安全6LoWPAN通信方法及系统。
背景技术
传统的传感器网络大多通过采用有线的方式来实现。有线传感网络具有传输速率快、传输距离远等优点,但是这种方法也存在线路易损坏、安装成本高、安装麻烦、后期维护困难以及不适用某些场景使用如森林的防火监控(分布式、高密度)等等缺点。而WSN无线传感器网络作为分布式网络,随着现代技术的飞速发展,已经具有成本低廉、体积小、高灵活性、高可靠性、以及自组织网络等优点。6LoWPAN(IPV6over low-power personal areanetworks,基于IPV6的低功耗无线个域网络)作为一种基于IPV6的无线个域网标准,在无线传感网络中不仅具有普及型和适用性的特点,而且6LoWPAN无线传感网络是基于IPV6的无线个域网,因此拥有更为庞大的地址空间,支持数量级别更多的无线传感器接入,满足在场景中大规模、高密度部署无线传感节点的需求。同时6LoWPAN无线传感网络还支持无状态自动地址配置,当节点启动时可以根据相关规则自动配置好所需的IPV6地址。通过6LoWPAN自组网的技术优势,可实现各个6LoWPAN无线传感网络中传感器节点之间的自组网,无需单独去配置各个传感器节点;最后通过6LoWPAN边界网关对各个6LoWPAN传感器节点采集的数据进行汇总。在一个6LoWPAN无线传感网络中,通常包含一个6LoWPAN边界网关和多个6LoWPAN无线传感节点;多个6LoWPAN无线传感网络构成6LoWPAN网络(扩展6LoWPAN无线传感网络),同时也会拥有对应数量的6LoWPAN边界网关。
但是6LoWPAN无线传感网络目前还存在着一些问题,如RPL路由攻击,即针对低功耗和有损网络的6LoWPAN边界网关很容易受到一些外部攻击,被攻击的边界网关有可能会篡改传输数据或者消耗网络性能等等,难以保证传输数据的真实性和完整性。并且,对于网关出现的问题也难以进行追溯。
现今,区块链由于其去中心化、开放性和信息不可篡改等优点在信息安全领域得到诸多应用,但是如何将区块链技术应用到6LoWPAN无线传感网络,从而提高6LoWPAN无线传感网络的安全性及信息可追溯性尚未见报道。
发明内容
为解决现有技术中的问题,本发明实施例提供一种基于区块链的安全6LoWPAN通信方法及系统。
第一方面,本发明实施例提供基于区块链的安全6LoWPAN通信方法,包括:通过与PKI服务器的通信将多个6LoWPAN边界网关构建成为区块链网络上的节点;其中,每个所述6LoWPAN边界网关与云平台建立有数据传输通道;按照预设的主节点选举规则从所述6LoWPAN边界网关中选举主节点,则其余所述6LoWPAN边界网关为副本节点;所述主节点和所述副本节点将周期性上传的事务信息打包为交易单,所述交易单包括反映所述节点和6LoWPAN子节点运行情况和/或安全因素的事务信息,所述事务信息包括6LoWPAN边界网关的CPU使用率、6LoWPAN边界网关内存和硬盘存储使用率、6LoWPAN边界网关管理员登录密码更改、软件版本升级信息、6LoWPAN子节点地址、6LoWPAN子节点接入状态等;所述主节点将各个所述节点产生的交易单通过所述区块链服务打包成区块;各个所述节点通过预设的区块共识算法对所述区块的合法性进行验证,在验证通过时,所述主节点和所述副本节点将所述区块链接至本地存储的区块链中;并且,获取验证过程中发生验证问题的被验消息,确定发送所述被验消息的恶意节点,并切断所述恶意节点的上云通道。
进一步地,所述交易单的信息包括:交易单序号、交易所在区块的序号、交易类型、交易所在区块的哈希值、所述事务信息的内容、生成时间以及交易单生成者利用私钥进行的数字签名;所述主节点将各个所述节点产生的交易单打包成区块,具体包括:各个所述节点产生所述事务信息后,根据所述事务信息生成所述交易单,并通过所述区块链网络向全网进行广播;所述主节点从所述区块链网络收集到各个所述交易单后,根据所述交易单的所述数字签名进行校验,若校验通过则接受所述交易单并放入内存的待打包列表内,当到达预设等待时间或到达预设交易单数量后,所述主节点将累积的所述交易单通过区块链服务打包成区块。
进一步地,所述区块的结构包括区块头和区块体;其中所述区块头的结构包括区块头版本号、前一个区块的区块体的哈希值、Merkel树根哈希值、时间戳、以及区块生成者利用私钥进行的数字签名;所述区块体由当前区块包含的交易单个数和当前区块的所述交易单构成;所述Merkel树根哈希值是当前区块的区块体的哈希值。
进一步地,所述各个所述节点通过预设的区块共识算法对所述区块的合法性进行验证,具体包括:所述主节点根据所述区块生成预准备消息,并在对所述预准备消息签名后将所述预准备消息通过所述区块链网络进行广播;各个所述副本节点收到所述预准备消息,并对所述预准备消息的合法性进行验证;若验证通过,则相应所述副本节点接受所述预准备消息并生成准备消息,并在对所述准备消息签名后将所述准备消息通过所述区块链网络进行广播;各个所述节点对所述准备消息进行验证并统计接受的所述准备消息的个数,并判断接受的所述准备消息的个数是否达到2f个,若是,则相应节点生成确认消息,并在对所述确认消息签名后通过所述区块链网络将所述确认消息进行广播;各个所述节点对所述确认消息进行验证并统计接受的所述确认消息的个数,并判断接受的所述确认消息的个数是否达到2f+1个,若是,则相应节点生成回复消息,并通过所述区块链网络将所述回复消息进行广播;所述主节点和所述副本节点收到所述回复消息后将所述区块保存在本地存储的区块链中;其中,所述被验消息包括所述预准备消息、所述准备消息及所述确认消息;对于所述发生验证问题的被验消息,通过所述被验消息的签名信息确认所述恶意节点;N=3f+1,其中,N为所述区块链网络中所述6LoWPAN边界网关的总数量。
进一步地,所述预准备消息包括预准备消息标识、主节点编号、区块序号、区块内容、区块摘要及消息签名;所述对所述预准备消息的合法性进行验证,具体包括:所述预准备消息的签名信息是否正确;当前视图编号是否为所述主节点编号;当前副本节点是否从未收到一条同一所述主节点编号下并且所述区块序号相同但是签名不同的所述预准备消息;根据所述区块内容计算摘要,并确认是否与所述区块摘要一致;所述区块序号是否在预设水线区间内;计算区块中交易单的个数是否与区块头中所写一致;根据交易单数据结构再次计算交易单序号,并判断是否与所记载的一致;交易单数字签名是否正确。
进一步地,所述准备消息包括准备消息标识、主节点编号、区块序号、区块摘要、消息签名以及生成所述确认消息的副本节点的编号;所述各个所述节点对所述准备消息进行验证,具体包括:所述准备消息的签名信息是否正确;是否从未收到一条同一所述主节点编号下并且所述区块序号相同但是签名不同的所述预准备消息;所述区块序号是否在预设水线区间内;所述区块摘要是否和已收到的相应的所述预准备消息的区块摘要相同。
进一步地,所述确认消息包括确认消息标识、主节点编号、区块序号、区块摘要、消息签名及发送所述确认消息的节点的编号;所述各个所述节点对所述确认消息进行验证,具体包括:所述确认消息的签名信息是否正确;是否从未收到一条同一所述主节点编号下并且所述区块序号相同但是签名不同的所述预准备消息;根据所述区块内容计算摘要,并确认是否与所述区块摘要一致;所述区块序号是否在预设水线区间内。
进一步地,所述方法还包括:所述主节点接收到所述回复消息后,继续等待其他所述副本节点发送所述回复消息,并将预设等待时间内未发送所述回复消息的所述副本节点确认为所述恶意节点;若所述副本节点发现所述主节点长时间不广播所述预准备消息,则认为所述主节点失效,触发视图更换协议选举新的主节点。
第二方面,本发明实施例提供基于区块链的安全6LoWPAN通信系统,包括上述任一所述多个6LoWPAN边界网关、所述PKI服务器及所述云平台;并且,每个所述6LoWPAN边界网关与一个6LoWPAN无线传感网络对应通信连接。
进一步地,所述6LoWPAN边界网关包括Linux单板PC、射频单元和云端传输单元;其中,所述射频单元通过串口与所述Linux单板PC相连,并使用串行总线网际协议实现数据交互;所述Linux单板PC通过软串行通信接口与所述云端传输模块进行数据交互;所述6LoWPAN边界网关与所述6LoWPAN传感器节点通过6LoWPAN无线通信协议进行通信;所述Linux单板PC建立有区块链服务和区块链钱包,其中所述区块链服务实现的功能包括:将各节点上传的事务信息打包为交易单、交易单验证、打包区块以及区块的共识和上链;所述区块链钱包用来存放所述PKI服务器给每个所述6LoWPAN边界网关发送的私钥。
本发明实施例提供的基于区块链的安全6LoWPAN通信方法及系统,通过将多个6LoWPAN边界网关组成区块链,将反映节点运行情况和/或安全因素的事务信息生成交易单并打包成区块,通过区块共识算法在验证通过后将区块上链,以及通过区块验证过程确认恶意节点,提高了6LoWPAN无线传感网络的安全性,并且将事务信息存储在区块链保证了6LoWPAN无线传感网络内的安全问题的可追溯性和可识别性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于区块链的安全6LoWPAN通信方法流程图;
图2是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中PKI服务器证书和密钥管理流程示意图;
图3是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中交易单的结构示意图;
图4是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块打包过程示意图;
图5是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块的结构示意图;
图6是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块头的结构示意图;
图7是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块链的结构示意图;
图8是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块共识过程流程图;
图9是本发明一实施例提供的基于区块链的安全6LoWPAN通信系统的结构示意图;
图10是本发明一实施例提供的基于区块链的安全6LoWPAN通信系统的结构示意图;
图11是本发明一实施例提供的基于区块链的安全6LoWPAN通信系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的基于区块链的安全6LoWPAN通信方法流程图。如图1所示,所述方法包括:
步骤101、通过与PKI服务器的通信将多个6LoWPAN边界网关构建成为区块链网络上的节点;其中,每个所述6LoWPAN边界网关与云平台建立有数据传输通道;
图2是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中PKI服务器证书和密钥管理流程示意图。如图2所示,PKI服务器也可称作PKI证书颁发服务器。在扩展6LoWPAN无线传感网络中多个6LoWPAN边界网关都通过区块链网络向PKI证书颁发服务器申请数字证书,以提供相应证明如该6LoWPAN边界网关的设备编号、使用单位编号等。PKI证书颁发服务器中的CA数字认证中心会对申请者的合法性进行验证,验证通过后CA数字认证中心通知密钥管理中心(KMC)对该申请生成密钥对,KMC将生成的密钥对利用RSA算法进行加密并发送给6LoWPAN边界网关,6LoWPAN边界网关接收到密钥对后将私钥存储在自身的区块链钱包中。同时CA数字认证中心也会接收到来自KMC的公钥,并为该边界网关发放包含身份认证的X.509格式的数字证书。并且,PKI服务器将区块链上各个节点的公钥通过区块链进行广播,因此,区块链上的每个节点均可获知区块链上各节点的公钥,并可利用公钥解密相应的私钥,从而对签名信息进行验证。并且在后续开始进行区块共识阶段时,副本节点可以向PKI服务器发送主节点证书验证请求,验证主节点证书的合法性。
步骤102、按照预设的主节点选举规则从所述6LoWPAN边界网关中选举主节点,则其余所述6LoWPAN边界网关为副本节点;
在每次进行区块共识算法之前,处于区块链网络中的多个6LoWPAN边界网关可以根据视图编号轮流的方式选举出某一个6LoWPAN边界网关作为区块链网络中的主节点,其余的6LoWPAN边界网关会成为副本节点。
步骤103、所述主节点和所述副本节点将周期性上传的事务信息打包为交易单,所述交易单包括反映所述节点和6LoWPAN子节点运行情况和/或安全因素的事务信息,所述事务信息包括6LoWPAN边界网关的CPU使用率、6LoWPAN边界网关内存和硬盘存储使用率、6LoWPAN边界网关管理员登录密码更改、软件版本升级信息、6LoWPAN子节点地址、6LoWPAN子节点接入状态等;所述主节点将各个所述节点产生的交易单通过所述区块链服务打包成区块;
所述主节点负责将各个所述节点产生的交易单打包成区块。所述交易单包括反映所述节点和6LoWPAN子节点的运行情况和/或安全因素的事务信息,反映所述节点和6LoWPAN子节点的运行情况的事务信息如为自身运行状态信息,可以包括6LoWPAN边界网关CPU使用率、6LoWPAN边界网关内存和硬盘存储使用率、6LoWPAN子节点地址、6LoWPAN子节点接入状态等;所述反映所述节点安全因素的事务信息如为配置更改信息,可以包括6LoWPAN边界网关管理员密码更改、软件版本升级信息等。将所述节点运行情况和/或安全因素的事务信息生成交易单,进而用于生成区块并存储于区块链,便于后续查找到恶意节点后进行追溯以实现6LoWPAN边界网关全生命周期管理。
步骤104、各个所述节点通过预设的区块共识算法对所述区块的合法性进行验证,在验证通过时,所述主节点和所述副本节点将所述区块链接至本地存储的区块链中;并且,获取验证过程中发生验证问题的被验消息,确定发送所述被验消息的恶意节点,并切断所述恶意节点的上云通道;
所述预设的区块共识算法会设定相应的验证阶段,并在每个验证阶段下通过相应的验证条目对相应的被验消息进行验证。各个所述节点通过预设的区块共识算法对所述区块的合法性进行验证,在验证通过时,所述主节点和所述副本节点将所述区块链接至本地存储的区块链中。并且,若验证通过,则获取验证过程中发生验证问题的被验消息,每个被验消息具有消息发送者的私钥签名,每个被验消息的接收者或校验者可以通过公钥解密发送者的私钥,如将区块链网络上的各个节点的公钥尝试解密私钥,若可以解密,则表示找到了消息发送者的公钥并实现了解密,也可以获知发送者的身份,从而确认恶意节点,即区块合法性验证通过但被验消息出现问题的节点为恶意节点。
确定发送所述被验消息的恶意节点后,切断所述恶意节点的上云通道,保证传输数据不被篡改及消耗网络性能,从而确保安全性。
本发明实施例通过将多个6LoWPAN边界网关组成区块链,将反映节点运行情况和/或安全因素的事务信息生成交易单并打包成区块,通过区块共识算法在验证通过后将区块上链,以及通过区块验证过程确认恶意节点,提高了6LoWPAN无线传感网络的安全性,并且将事务信息存储在区块链保证了6LoWPAN无线传感网络内的安全问题的可追溯性和可识别性。
图3是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中交易单的结构示意图。所述交易单的信息包括:交易单序号、交易所在区块的序号、交易类型、交易所在区块的哈希值、所述事务信息的内容(数据内容)、数据生成时间以及交易单生成者利用私钥进行的数字签名,还可以包括数据类型。
6LoWPAN边界网关周期性上传的事务信息会暂时保存在该边界网关的本地存储中,并以此生成数据上传请求,该请求消息将生成一条交易单。如图3所示,交易单可以由包括:交易单序号、交易所在区块的序号、交易类型、交易所在区块的哈希值、数据内容、数据生成时间、及数字签名。其中:
(1)交易单序号
交易单序号是对交易单结构中除ID字段的其他数据结构进行Hash运算得到的Hash值。Hash值与数据单是一一对应的关系。哈希算法可以选择SHA-256哈希算法。
(2)交易所在区块的序号
交易单打包为区块后,所在区块的序号。此项在区块生成后进行填充。
(3)交易类型
交易类型根据6LoWPAN边界网关的实际功能设置为Load和Config两种,分别代表6LoWPAN边界网关和6LoWPAN子节点的运行状态信息上传行为和配置更改信息上传行为。
(3)交易所在区块的哈希值
交易单打包为区块后,所在区块的区块体中的交易单经哈希运算得到的哈希值。此项在区块生成后进行填充。
(4)数据内容
传输的数据信息。
(5)生成时间
此项内容即为该交易单的生成时间。
(6)数字签名
数字签名为生成交易单的某一6LoWPAN边界网关的私钥签名,保证交易的不可抵赖性。
在上述实施例的基础上,本发明实施例通过设定交易单的结构,为进行区块共识提供基础。
进一步地,基于上述实施例,所述主节点将各个所述节点产生的交易单打包成区块,具体包括:各个所述节点产生所述事务信息后,根据所述事务信息生成所述交易单,并通过所述区块链网络向全网进行广播;所述主节点从所述区块链网络收集到各个所述交易单后,根据所述交易单的所述数字签名进行校验,若校验通过则接受所述交易单并放入内存的待打包列表内,当到达预设等待时间或到达预设交易单数量后,所述主节点将累积的所述交易单通过区块链服务打包成区块。
图4是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块打包过程示意图。如图4所示,(1)在每次进行区块共识算法之前,处于区块链网络中的多个6LoWPAN边界网关会根据视图编号轮流的方式选举出某一个6LoWPAN边界网关作为区块链网络中的主节点,其余的6LoWPAN边界网关会成为副本节点。(2)区块链网络中的各个节点产生事务信息后,会在节点产生上传事务信息的请求信息。该节点将该请求信息进行加密后(私钥签名)打包为一条交易单。之后主节点和副本节点将各自生成的交易单通过区块链网络向全网进行广播,主节点从区块链网络收集到各个交易单后,会根据交易单的签名进行校验,若校验通过则接受该交易并将通过校验的交易单放入内存的待打包列表内,当到达等待时间或积累预设交易单数量后,主节点将积累的一定数量的交易单通过区块链服务打包成区块。在这个过程中副本节点也会将接收到的各个交易单进行校验,并将校验通过的交易单临时保存在该节点本地存储系统中。副本节点进行交易单的临时存储便于若主节点发生异常,节点更换后区块的顺利生成。
在上述实施例的基础上,本发明实施例通过在校验通过后将一定数量的交易单打包成区块,提高了交易单信息的准确性。
进一步地,基于上述实施例,所述区块的结构包括区块头和区块体;其中所述区块头的结构包括区块头版本号、前一个区块的区块体的哈希值、Merkel树根哈希值、时间戳、以及区块生成者利用私钥进行的数字签名;所述区块体由当前区块包含的交易单个数和当前区块的所述交易单构成;所述Merkel树根哈希值是当前区块的区块体的哈希值。
图5是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块的结构示意图。图6是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块头的结构示意图。图7是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块链的结构示意图。
在区块链网络中6LoWPAN边界网关作为主节点生成区块,区块的结构包括区块头和区块体。区块体是由当前区块的交易单个数和一定数量的交易单所构成。区块的结构如图5所示。
区块头的结构如图6所示。所述区块头的结构包括区块头版本号、前一个区块的区块体的哈希值、Merkel树根哈希值(当前区块的区块体的哈希值)、时间戳(区块生成时间)、以及区块生成者利用私钥进行的数字签名。
区块链网络是面向应用层的,不考虑网络层、物理层的问题的网络。区块链网络由6LoWPAN边界网关和PKI证书颁发服务器组成。区块链网络实现的功能包括发送各节点生成的交易单至主节点、区块通过区块链网络完成区块共识算法各阶段验证以及同步区块存储在本地的区块链中。如图7所示,区块链中每个区块的区块头中都保存着上一个区块体经哈希计算的哈希值,用来保证区块链上的数据不可被篡改。
在上述实施例的基础上,本发明实施例通过合理设置区块的结构,为利用区块信息进行可靠的区块共识奠定基础。
进一步地,基于上述实施例,所述各个所述节点通过预设的区块共识算法对所述区块的合法性进行验证,具体包括:所述主节点根据所述区块生成预准备消息,并在对所述预准备消息签名后将所述预准备消息通过所述区块链网络进行广播;各个所述副本节点收到所述预准备消息,并对所述预准备消息的合法性进行验证;若验证通过,则相应所述副本节点接受所述预准备消息并生成准备消息,并在对所述准备消息签名后将所述准备消息通过所述区块链网络进行广播;各个所述节点对所述准备消息进行验证并统计接受的所述准备消息的个数,并判断接受的所述准备消息的个数是否达到2f个,若是,则相应节点生成确认消息,并在对所述确认消息签名后通过所述区块链网络将所述确认消息进行广播;各个所述节点对所述确认消息进行验证并统计接受的所述确认消息的个数,并判断接受的所述确认消息的个数是否达到2f+1个,若是,则相应节点生成回复消息,并通过所述区块链网络将所述回复消息进行广播;所述主节点和所述副本节点收到所述回复消息后将所述区块保存在本地存储的区块链中;其中,所述被验消息包括所述预准备消息、所述准备消息及所述确认消息;对于所述发生验证问题的被验消息,通过所述被验消息的签名信息确认所述恶意节点;N=3f+1,其中,N为所述区块链网络中所述6LoWPAN边界网关的总数量。
其中,所述预准备消息可以包括预准备消息标识、主节点编号、区块序号、区块内容、区块摘要及消息签名;所述对所述预准备消息的合法性进行验证,具体可以包括:所述预准备消息的签名信息是否正确;当前视图编号是否为所述主节点编号;当前副本节点是否从未收到一条同一所述主节点编号下并且所述区块序号相同但是签名不同的所述预准备消息;根据所述区块内容计算摘要,并确认是否与所述区块摘要一致;所述区块序号是否在预设水线区间内;计算区块中交易单的个数是否与区块头中所写一致;根据交易单数据结构再次计算交易单序号,并判断是否与所记载的一致;交易单数字签名是否正确。
所述准备消息可以包括准备消息标识、主节点编号、区块序号、区块摘要、消息签名以及生成所述确认消息的副本节点的编号;所述各个所述节点对所述准备消息进行验证,具体可以包括:所述准备消息的签名信息是否正确;是否从未收到一条同一所述主节点编号下并且所述区块序号相同但是签名不同的所述预准备消息;所述区块序号是否在预设水线区间内;所述区块摘要是否和已收到的相应的所述预准备消息的区块摘要相同。
所述确认消息可以包括确认消息标识、主节点编号、区块序号、区块摘要、消息签名及发送所述确认消息的节点的编号;所述各个所述节点对所述确认消息进行验证,具体可以包括:所述确认消息的签名信息是否正确;是否从未收到一条同一所述主节点编号下并且所述区块序号相同但是签名不同的所述预准备消息;根据所述区块内容计算摘要,并确认是否与所述区块摘要一致;所述区块序号是否在预设水线区间内。
图8是本发明一实施例提供的基于区块链的安全6LoWPAN通信方法中区块共识过程流程图。如图8所示,假设在扩展6LoWPAN无线传感网络中总节点数(6LoWPAN边界网关个数)R=3f+1,其中f为PBFT算法容忍的无效或恶意节点的最大数量。区块的合法性的验证过程如下:
(1)预准备阶段
主节点生成新区块后会分配一个序号给区块,形成预准备消息并进行主节点签名,其格式为<<PRE-PREPARE,v,n,d>dp,m>。其中PRE-PREPARE为预准备消息标识,v是主节点编号,n是主节点给区块分配的序号(区块序号),d是m的摘要即该区块数据的哈希值,dp为主节点对消息的数字签名(消息签名、签名信息),m为区块内容,区块预准备消息被主节点进行签名后通过区块链网络广播给各个副本节点。
(2)准备阶段
副本节点收到区块预准备消息后,对其进行验证。验证的内容为:
A、主节点PRE-PREPARE消息签名是否正确;
B、当前视图编号是否为v;
C、当前副本节点从未收到了一条在同一v下并且编号也是n,但是签名不同的PRE-PREPARE信息;
D、d与m的摘要是否一致(再次确认哈希值是否正确,同时也能验证数据完整性)
E、n是否在水线区间[h,H]内;
F、计算交易单的个数是否与区块头中所写一致,即数据是否完整;
G、根据交易单数据结构再次计算交易单序号ID,是否与所记载的一致,保证交易单数据完整;
H、交易单数字签名是否正确。
其中设置水线区间可以防止一个恶意节点使用一个很大的序号消耗序号空间。
如果该区块的预准备消息与上述验证内容存在不一致则验证不通过,副本节点不接收该预准备消息且将该消息丢弃。如果验证通过,副本节点接收预准备消息并向所有节点通过区块链网络发送一条<PREPARE,v,n,d,i>di消息,即准备消息,表示该区块是合法的,其中PREPARE是准备消息标识,v,n,d与上述PRE-PREPARE消息内容相同,i是当前副本节点编号,di为准备消息进行广播时进行副本节点i的签名(消息签名、签名信息)。
(3)确认阶段
区块链网络中的主节点和副本节点收到<PREPARE,v,n,d,i>di消息后,它们将对<PREPARE,v,n,d,i>di消息合法性进行验证,验证内容为:
A、PREPARE消息签名是否正确。
B、当前节点从未收到了一条在同一v下并且编号也是n,但是签名不同的PRE-PREPARE信息。
C、n是否在水线区间[h,H]内。
D、d是否和当前已收到的同一节点发送的PRE-PPREPARE中的d相同
如果验证不通过则将该PREPARE消息丢弃。如果验证通过,该节点将收到的所有消息包括PRE-PREPARE和PREPARE等保存在日志中,用于View Change过程中恢复未完成的请求操作。同时主节点和副本节点会接收该PREPARE消息并且统计节点接收合法的<PREPARE,v,n,d,i>di消息的个数。当区块链网络内的某个节点收到了超过2f个验证通过的PREPARE消息,则该节点会通过区块链网络向其他节点发送一条<COMMIT,v,n,d,i>di消息,其中COMMIT是确认消息标识,v,n,d,i与上述PREPARE消息内容相同,di为确认消息进行广播时进行节点i的签名(消息签名、签名信息)。
(4)回复阶段
区块链网络内主节点和副本节点收到<COMMIT,v,n,d,i>di消息后,它们将对<COMMIT,v,n,d,i>di消息验证其合法性,验证内容为:
A、COMMIT消息签名是否正确。
B、当前节点从未收到了一条在同一v下并且编号也是n,但是签名不同的PRE-PREPARE信息。
C、d与m的摘要是否一致。
D、n是否在区间[h,H]内。
如果验证不正确则不接受该消息并将该COMMIT消息丢弃。如果验证通过,主节点和副本节点将收到的所有消息包括COMMIT等保存在日志中,同时该节点接收COMMIT消息并且统计节点接收合法的<COMMIT,v,n,d,i>di消息的个数。当某个节点接收的COMMIT消息个数超过了2f+1个(包括自身发出的一条COMMIT消息),说明该区块的合法性得到了区块链网络中大部分节点的共识。此时该节点会生成回复消息,回复消息通过区块链网络进行广播,主节点收到回复消息后将生成的新区块保存在本地存储的区块链中;副本节点收到回复消息后也将新区块保存在其本地存储的区块链中并将临时保存的交易单删除。
在上述实施例的基础上,本发明实施例通过预准备阶段、准备阶段、确认阶段和回复阶段四个阶段完成区块的合法性验证,并通过设定完善的验证规则,提高了区块共识结果的可靠性。
进一步地,基于上述实施例,所述方法还包括:所述主节点接收到所述回复消息后,继续等待其他所述副本节点发送所述回复消息,并将预设等待时间内未发送所述回复消息的所述副本节点确认为所述恶意节点;若所述副本节点发现所述主节点长时间不广播所述预准备消息,则认为所述主节点失效,触发视图更换协议选举新的主节点。
各个节点的对于区块的校验过程均经过上述各节点,但是并不一定是同步进行的。主节点会首先收到一个节点发送的回复消息,进而将区块上链。若节点正常,主节点后续还应收到其他节点发送的回复消息。因此,通过设定一个预设等待时间,所述预设等待时间的时长应保证除主节点外所有其余节点在正常情况下均发送完毕回复消息;若在预设等待时间内未接收到某个或某些节点的回复消息,则相应节点为恶意节点。
在上述共识过程中,为了防止恶意主节点给不同的区块编上相同的序号,或者不去分配序号,或者让相邻的序号不连续,副本节点在共识过程中会检查这些序号的合法性。同时如果恶意主节点不广播区块(首先需要广播预准备消息),通过在主节点设置timeout(超时)机制,如果主节点触发timeout机制(即经过预设的时间不广播预准备消息),副本节点检测到后就会触发视图更换view change协议来选举出新的主节点。同时为了确保在View Change的过程中,能够恢复先前的请求,每一个节点都记录一些消息到本地的日志中。另外,若某一恶意节点更改交易中的信息,从中作乱,则会在共识阶段发现恶意节点。若系统发现主节点失效或某一节点为恶意节点,系统会立刻切断该边界网关节点的数据上云传输通道,防止恶意节点发送篡改数据至云平台,保证边界网关数据上云传输的安全性。
在上述实施例的基础上,本发明实施例通过进一步通过回复消息的接收情况确认恶意节点,以及通过设置超时机制确认失效节点,并切断恶意节点和失效节点的上云通道,进一步提高了安全性。
下面进一步说明设置水位区间的原因和机理。为了节省空间,不保留过去所有PRE-PREPARE、PERPARE、以及COMMIT等消息日志信息,通过设定在执行完K条区块验证过程后将之前记录的消息信息都删除掉实现。具体过程为:当某一节点验证完K个(如20个)区块后,会广播<CHECKPOINT,nc,dc,i>消息给其他节点,其中nc是最后一次影响CHECKPOINT状态的区块序号,dc是当前stable(稳定的)CHECKPOINT状态的摘要,i为该节点的视图编号。该CHECKPOINT消息记录到日志中。如果该节点i收到了2f+1个(包括自身发出的一条CHECKPOINT消息)验证过的CHECKPOINT消息,则清除先前保存日志中的消息,并以nc作为当前一个stable CHECKPOINT。这个经过全网共识的检查点被称为stable CHECKPOINT。在stableCHECKPOINT前面的所有日志信息就可以删除。
但是当某一副本节点i向其他节点发出CHECKPOINT消息后,其他节点可能还没有完成K条请求,所以不会立即对节点i的请求作出响应,它还会按照自己的进程继续进行区块的验证,但此时发出的CHECKPOINT消息并未形成stable。为了防止节点i的处理请求过快,设置了水位区间[h,H]。低水位h等于上一个stable CHECKPOINT的编号,高水位H=h+2K。当副本节点i处理请求超过高水位H时,此时就会停止脚步,等待stable CHECKPOINT发生变化,再继续前进。
图9是本发明一实施例提供的基于区块链的安全6LoWPAN通信系统的结构示意图。如图9所示,所述系统包括:所述多个6LoWPAN边界网关1、所述PKI服务器2及所述云平台3;并且,每个所述6LoWPAN边界网关与一个6LoWPAN无线传感网络4对应通信连接。
在扩展6LoWPAN无线传感网络中,6LoWPAN边界网关1具有将6LoWPAN传感器节点产生的数据进行数据汇集、数据存储以及数据的云端传输等功能。同时通过区块链技术6LoWPAN边界网关1在区块链网络中实现的功能为:将6LoWPAN边界网关1自身上传的事务信息生成交易单并打包为区块、交易单和区块的验证、区块共识以及区块本地存储在区块链中等。
在所设计的基于区块链的6LoWPAN安全无线传感网络中,首先各个6LoWPAN边界网关1将6LoWPAN传感节点的数据汇聚并传输到云平台3;另外在区块链网络内的6LoWPAN边界网关1会周期性上传自身事务信息,如自身运行状态信息(CPU使用率、内存和存储使用率等、6LoWPAN子节点地址和接入状态信息)、配置更改信息(如管理员密码更改、软件版本升级信息等)。通过利用区块链技术对上传事务信息进行打包、验证、共识以及最后上链等过程,一方面可以确保6LoWPAN边界网关身份的合法性,及时发现并切断受到外部攻击的6LoWPAN边界网关数据上云传输通道,保证边界网关的安全性和传输数据的真实性、完整性;另一方面将6LoWPAN边界网关的事务信息保存在其本地存储的区块链中,实现6LoWPAN边界网关全生命周期的监控和管理,使边界网关出现的问题具有可追溯性和可识别性。
本发明实施例通过将多个6LoWPAN边界网关组成区块链,将反映节点运行情况和/或安全因素的事务信息生成交易单并打包成区块,通过区块共识算法在验证通过后将区块上链,以及通过区块验证过程确认恶意节点,提高了6LoWPAN无线传感网络的安全性,并且将事务信息存储在区块链保证了6LoWPAN无线传感网络内的安全问题的可追溯性和可识别性。
图10是本发明一实施例提供的基于区块链的安全6LoWPAN通信系统的结构示意图。如图10所示(未示出云平台),基于6LoWPAN的边界网关,包括Linux单板PC、射频单元和云端传输单元。其中射频单元通过串口与Linux单板PC相连,并使用串行总线网际协议(SLIP)实现数据交互。Linux单板PC通过软串行通信接口与云端传输模块进行数据交互。6LoWPAN边界网关与6LoWPAN传感器节点通过6LoWPAN无线通信协议进行通信。
首先6LoWPAN边界网关具有负责6LoWPAN无线传感器节点的路由功能和数据传输上云功能。6LoWPAN边界网关的路由功能是连接6LoWPAN传感网络和IP网络的桥梁,完整实现了RPL路由协议,为6LoWPAN网络内的每一个节点映射一个唯一的IPV6地址。6LoWPAN边界网关的云端传输单元用于将汇聚的数据发送至云平台。
另外,在6LoWPAN边界网关的Linux单板PC中建立有区块链服务和区块链钱包。区块链服务实现的功能为:将上传的事务信息打包为交易单、交易单验证、新区块生成、新区块的验证功能以及区块的共识等。Linux单板PC上还维护着一个区块链钱包,区块链钱包用来存放PKI服务器给每个6LoWPAN边界网关发送的私钥。
基于6LoWPAN的无线传感节点,包括微处理器单元、射频单元和集成的传感器。所述微处理器单元集成标准的通信接口,通信接口包括串口通信、485通信接口、模拟量通信接口、数字量通信接口等以满足场景内相关通信的传感器对接。同时在6LoWPAN传感器节点集成某种传感器如烟雾、温湿度、流量、压力传感器等等,满足多种场景的不同需求。所述微处理器单元通过串口与射频单元连接进行数据交互。基于6LoWPAN无线传感节点与6LoWPAN边界网关自组网形成6LoWPAN无线传感网络,6LoWPAN边界网关分配IPV6地址给6LoWPAN传感器节点。
在上述实施例的基础上,本发明实施例通过具体设定6LoWPAN边界网关各部分的功能,保障了基于区块链的6LoWPAN安全无线传感网络的可靠通信。
图11是本发明一实施例提供的基于区块链的安全6LoWPAN通信系统的结构示意图。如图11所示(未示出云平台),在扩展6LoWPAN无线传感网络中有n个边界网关来组成6LoWPAN无线传感网络,在进行区块共识算法之前,区块链网络内的各个边界网关将按照视图编号轮流方式选出某一边界网关作为主节点,主节点负责新区块的生成,其他节点作为副本节点用于完成区块的验证。
假设在某个6LoWPAN无线传感网络中,6LoWPAN边界网关01产生上传自身运行状态信息的请求Load,请求中包含上传的信息内容为DATA1_01,6LoWPAN边界网关01利用私钥NODE01_PRIKEY对数据进行数字签名DATA1_01_DS。之后6LoWPAN边界网关01将请求信息打包为一条交易单LOAD1_01。其中交易单LOAD1_01包含的信息为:上传的信息DATA1_01、数字签名信息DATA1_01_DS、交易单ID、交易单生成时间等。
假设在区块链网络内通过上述选举方式确定主节点为6LoWPAN边界网关04,那么6LoWPAN边界网关01和其他节点把交易单通过区块链网络广播出去,主节点接收到交易单LOAD1_01后,会对交易单的数字签名进行校验。若校验通过则将该交易单放入内存的待打包列表内;若校验不通过则丢弃该交易单。主节点会将接收到其他节点的交易单进行同样的操作并将验证通过的多个交易单打包放在新区块BLOCK_01内并进行排序存入列表。同时副本节点也会进行验证接收到的交易单并将验证通过的交易单临时保存。
主节点将新区块BLOCK_01通过区块链网络发送至其他节点上,之后在区块链网络内通过区块共识算法的各阶段共识过程(上述过程已经描述),验证新区块以及区块中每条交易的正确性。区块共识过程完成后,通过验证的新区块BLOCK_01会被链接并保存在各个节点本地存储的区块链中。
本发明实施例提供的系统是用于上述方法的,具体功能可参照上述方法流程,此处不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于区块链的安全6LoWPAN通信方法,其特征在于,包括:
通过与PKI服务器的通信将多个6LoWPAN边界网关构建成为区块链网络上的节点;其中,每个所述6LoWPAN边界网关与云平台建立有数据传输通道;
按照预设的主节点选举规则从所述6LoWPAN边界网关中选举主节点,则其余所述6LoWPAN边界网关为副本节点;
所述主节点和所述副本节点将周期性上传的事务信息打包为交易单,所述交易单包括反映所述节点和6LoWPAN子节点运行情况和/或安全因素的事务信息,所述事务信息包括6LoWPAN边界网关的CPU使用率、6LoWPAN边界网关内存和硬盘存储使用率、6LoWPAN边界网关管理员登录密码更改、软件版本升级信息、6LoWPAN子节点地址、6LoWPAN子节点接入状态等;所述主节点将各个所述节点产生的交易单通过所述区块链服务打包成区块;
各个所述节点通过预设的区块共识算法对所述区块的合法性进行验证,在验证通过时,所述主节点和所述副本节点将所述区块链接至本地存储的区块链中;并且,获取验证过程中发生验证问题的被验消息,确定发送所述被验消息的恶意节点,并切断所述恶意节点的上云通道。
2.根据权利要求1所述的基于区块链的安全6LoWPAN通信方法,其特征在于,所述交易单的信息包括:交易单序号、交易所在区块的序号、交易类型、交易所在区块的哈希值、所述事务信息的内容、生成时间以及交易单生成者利用私钥进行的数字签名;
所述主节点将各个所述节点产生的交易单打包成区块,具体包括:各个所述节点产生所述事务信息后,根据所述事务信息生成所述交易单,并通过所述区块链网络向全网进行广播;所述主节点从所述区块链网络收集到各个所述交易单后,根据所述交易单的所述数字签名进行校验,若校验通过则接受所述交易单并放入内存的待打包列表内,当到达预设等待时间或到达预设交易单数量后,所述主节点将累积的所述交易单通过区块链服务打包成区块。
3.根据权利要求1所述的基于区块链的安全6LoWPAN通信方法,其特征在于,所述区块的结构包括区块头和区块体;其中所述区块头的结构包括区块头版本号、前一个区块的区块体的哈希值、Merkel树根哈希值、时间戳、以及区块生成者利用私钥进行的数字签名;所述区块体由当前区块包含的交易单个数和当前区块的所述交易单构成;所述Merkel树根哈希值是当前区块的区块体的哈希值。
4.根据权利要求1所述的基于区块链的安全6LoWPAN通信方法,其特征在于,所述各个所述节点通过预设的区块共识算法对所述区块的合法性进行验证,具体包括:
所述主节点根据所述区块生成预准备消息,并在对所述预准备消息签名后将所述预准备消息通过所述区块链网络进行广播;
各个所述副本节点收到所述预准备消息,并对所述预准备消息的合法性进行验证;若验证通过,则相应所述副本节点接受所述预准备消息并生成准备消息,并在对所述准备消息签名后将所述准备消息通过所述区块链网络进行广播;
各个所述节点对所述准备消息进行验证并统计接受的所述准备消息的个数,并判断接受的所述准备消息的个数是否达到2f个,若是,则相应节点生成确认消息,并在对所述确认消息签名后通过所述区块链网络将所述确认消息进行广播;
各个所述节点对所述确认消息进行验证并统计接受的所述确认消息的个数,并判断接受的所述确认消息的个数是否达到2f+1个,若是,则相应节点生成回复消息,并通过所述区块链网络将所述回复消息进行广播;
所述主节点和所述副本节点收到所述回复消息后将所述区块保存在本地存储的区块链中;
其中,所述被验消息包括所述预准备消息、所述准备消息及所述确认消息;对于所述发生验证问题的被验消息,通过所述被验消息的签名信息确认所述恶意节点;N=3f+1,其中,N为所述区块链网络中所述6LoWPAN边界网关的总数量。
5.根据权利要求4所述的基于区块链的安全6LoWPAN通信方法,其特征在于,所述预准备消息包括预准备消息标识、主节点编号、区块序号、区块内容、区块摘要及消息签名;所述对所述预准备消息的合法性进行验证,具体包括:
所述预准备消息的签名信息是否正确;
当前视图编号是否为所述主节点编号;
当前副本节点是否从未收到一条同一所述主节点编号下并且所述区块序号相同但是签名不同的所述预准备消息;
根据所述区块内容计算摘要,并确认是否与所述区块摘要一致;
所述区块序号是否在预设水线区间内;
计算区块中交易单的个数是否与区块头中所写一致;
根据交易单数据结构再次计算交易单序号,并判断是否与所记载的一致;
交易单数字签名是否正确。
6.根据权利要求4所述的基于区块链的安全6LoWPAN通信方法,其特征在于,所述准备消息包括准备消息标识、主节点编号、区块序号、区块摘要、消息签名以及生成所述确认消息的副本节点的编号;所述各个所述节点对所述准备消息进行验证,具体包括:
所述准备消息的签名信息是否正确;
是否从未收到一条同一所述主节点编号下并且所述区块序号相同但是签名不同的所述预准备消息;
所述区块序号是否在预设水线区间内;
所述区块摘要是否和已收到的相应的所述预准备消息的区块摘要相同。
7.根据权利要求4所述的基于区块链的安全6LoWPAN通信方法,其特征在于,所述确认消息包括确认消息标识、主节点编号、区块序号、区块摘要、消息签名及发送所述确认消息的节点的编号;所述各个所述节点对所述确认消息进行验证,具体包括:
所述确认消息的签名信息是否正确;
是否从未收到一条同一所述主节点编号下并且所述区块序号相同但是签名不同的所述预准备消息;
根据所述区块内容计算摘要,并确认是否与所述区块摘要一致;
所述区块序号是否在预设水线区间内。
8.根据权利要求4所述的基于区块链的安全6LoWPAN通信方法,其特征在于,所述方法还包括:
所述主节点接收到所述回复消息后,继续等待其他所述副本节点发送所述回复消息,并将预设等待时间内未发送所述回复消息的所述副本节点确认为所述恶意节点;
若所述副本节点发现所述主节点长时间不广播所述预准备消息,则认为所述主节点失效,触发视图更换协议选举新的主节点。
9.一种基于区块链的安全6LoWPAN通信系统,其特征在于,包括权利要求1至8任一所述多个6LoWPAN边界网关、所述PKI服务器及所述云平台;并且,每个所述6LoWPAN边界网关与一个6LoWPAN无线传感网络对应通信连接。
10.根据权利要求9所述的基于区块链的安全6LoWPAN通信系统,其特征在于,所述6LoWPAN边界网关包括Linux单板PC、射频单元和云端传输单元;其中,所述射频单元通过串口与所述Linux单板PC相连,并使用串行总线网际协议实现数据交互;所述Linux单板PC通过软串行通信接口与所述云端传输模块进行数据交互;所述6LoWPAN边界网关与所述6LoWPAN传感器节点通过6LoWPAN无线通信协议进行通信;
所述Linux单板PC建立有区块链服务和区块链钱包,其中所述区块链服务实现的功能包括:将各节点上传的事务信息打包为交易单、交易单验证、打包区块以及区块的共识和上链;所述区块链钱包用来存放所述PKI服务器给每个所述6LoWPAN边界网关发送的私钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012418.3A CN110784461B (zh) | 2019-10-23 | 2019-10-23 | 一种基于区块链的安全6LoWPAN通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012418.3A CN110784461B (zh) | 2019-10-23 | 2019-10-23 | 一种基于区块链的安全6LoWPAN通信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110784461A true CN110784461A (zh) | 2020-02-11 |
CN110784461B CN110784461B (zh) | 2020-05-12 |
Family
ID=69386592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911012418.3A Active CN110784461B (zh) | 2019-10-23 | 2019-10-23 | 一种基于区块链的安全6LoWPAN通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110784461B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339574A (zh) * | 2020-05-19 | 2020-06-26 | 卓尔智联(武汉)研究院有限公司 | 区块数据处理方法、装置、计算机设备和存储介质 |
CN111586168A (zh) * | 2020-05-06 | 2020-08-25 | 恒宝股份有限公司 | 水线高度的更改设置方法 |
CN111683373A (zh) * | 2020-06-11 | 2020-09-18 | 电子科技大学 | 基于区块链辅助访问控制的组织网络安全通信方法 |
CN111865894A (zh) * | 2020-05-27 | 2020-10-30 | 布比(北京)网络技术有限公司 | 区块有效性的验证方法及装置 |
CN112333187A (zh) * | 2020-11-04 | 2021-02-05 | 齐鲁工业大学 | 基于区块链的边缘智能计算方法及边缘智能系统 |
CN112422621A (zh) * | 2020-09-28 | 2021-02-26 | 国网信息通信产业集团有限公司北京分公司 | 基于pbft区块链技术的多站融合电力数据共识方法和装置 |
CN112929424A (zh) * | 2021-01-26 | 2021-06-08 | 成都佳发安泰教育科技股份有限公司 | 网关负载均衡的方法、装置、设备及存储介质 |
CN113301002A (zh) * | 2020-04-24 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种信息处理方法、装置、电子设备以及存储介质 |
CN113411330A (zh) * | 2021-06-18 | 2021-09-17 | 国网电子商务有限公司 | 一种区块链网关切换方法及装置 |
CN113923105A (zh) * | 2021-12-13 | 2022-01-11 | 中机联科技(广东)有限公司 | 一种基于区块链的物联网设备故障监控方法及系统 |
CN115002221A (zh) * | 2022-06-06 | 2022-09-02 | 长春理工大学 | 一种适用于物联网的区块链共识方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170140394A1 (en) * | 2015-11-18 | 2017-05-18 | International Business Machines Corporation | Consensus-based reputation tracking in online marketplaces |
CN106789095A (zh) * | 2017-03-30 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 分布式系统及消息处理方法 |
CN106850611A (zh) * | 2017-01-25 | 2017-06-13 | 辽宁中科信科技有限公司 | 一种跨系统物联网安全通讯技术服务平台方法 |
CN107528882A (zh) * | 2017-07-14 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 区块链共识网络中处理共识请求的方法、装置和电子设备 |
CN108306893A (zh) * | 2018-03-05 | 2018-07-20 | 北京大学深圳研究生院 | 一种自组网络的分布式入侵检测方法和系统 |
CN108632293A (zh) * | 2018-05-16 | 2018-10-09 | 山东建筑大学 | 基于区块链技术的建筑设备物联网系统与方法 |
CN108924130A (zh) * | 2018-07-02 | 2018-11-30 | 上海达家迎信息科技有限公司 | 一种区块数据的验证方法、装置、设备和存储介质 |
CN109076344A (zh) * | 2016-05-03 | 2018-12-21 | 诺基亚美国公司 | 利用区块链保护用于互联网资源分配的事务 |
CN109743112A (zh) * | 2018-12-27 | 2019-05-10 | 深圳前海微众银行股份有限公司 | Otn组网方法、装置、设备及计算机可读存储介质 |
CN109891416A (zh) * | 2016-10-27 | 2019-06-14 | 株式会社电装 | 用于认证和授权装置的系统和方法 |
-
2019
- 2019-10-23 CN CN201911012418.3A patent/CN110784461B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170140394A1 (en) * | 2015-11-18 | 2017-05-18 | International Business Machines Corporation | Consensus-based reputation tracking in online marketplaces |
CN109076344A (zh) * | 2016-05-03 | 2018-12-21 | 诺基亚美国公司 | 利用区块链保护用于互联网资源分配的事务 |
CN109891416A (zh) * | 2016-10-27 | 2019-06-14 | 株式会社电装 | 用于认证和授权装置的系统和方法 |
CN106850611A (zh) * | 2017-01-25 | 2017-06-13 | 辽宁中科信科技有限公司 | 一种跨系统物联网安全通讯技术服务平台方法 |
CN106789095A (zh) * | 2017-03-30 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 分布式系统及消息处理方法 |
CN107528882A (zh) * | 2017-07-14 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 区块链共识网络中处理共识请求的方法、装置和电子设备 |
CN108306893A (zh) * | 2018-03-05 | 2018-07-20 | 北京大学深圳研究生院 | 一种自组网络的分布式入侵检测方法和系统 |
CN108632293A (zh) * | 2018-05-16 | 2018-10-09 | 山东建筑大学 | 基于区块链技术的建筑设备物联网系统与方法 |
CN108924130A (zh) * | 2018-07-02 | 2018-11-30 | 上海达家迎信息科技有限公司 | 一种区块数据的验证方法、装置、设备和存储介质 |
CN109743112A (zh) * | 2018-12-27 | 2019-05-10 | 深圳前海微众银行股份有限公司 | Otn组网方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
ANNIE GILDA ROSELINA,PRIYADARSI NANDA, SURYA NEPAL: "Lightweight Authentication Protocol(LAUP) for 6LoWPAN Wireless Sensor Networks", 《2017 IEEE TRUSTCOM/BIGDATASE/ICESS》 * |
乔蕊,曹琰,王清贤: "基于联盟链的物联网动态数据溯源机制", 《软件学报》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301002A (zh) * | 2020-04-24 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种信息处理方法、装置、电子设备以及存储介质 |
CN113301002B (zh) * | 2020-04-24 | 2023-05-09 | 阿里巴巴集团控股有限公司 | 一种信息处理方法、装置、电子设备以及存储介质 |
CN111586168B (zh) * | 2020-05-06 | 2022-04-08 | 恒宝股份有限公司 | 水线高度的更改设置方法 |
CN111586168A (zh) * | 2020-05-06 | 2020-08-25 | 恒宝股份有限公司 | 水线高度的更改设置方法 |
CN111339574B (zh) * | 2020-05-19 | 2021-03-16 | 卓尔智联(武汉)研究院有限公司 | 区块数据处理方法、装置、计算机设备和存储介质 |
CN111339574A (zh) * | 2020-05-19 | 2020-06-26 | 卓尔智联(武汉)研究院有限公司 | 区块数据处理方法、装置、计算机设备和存储介质 |
CN111865894A (zh) * | 2020-05-27 | 2020-10-30 | 布比(北京)网络技术有限公司 | 区块有效性的验证方法及装置 |
CN111865894B (zh) * | 2020-05-27 | 2022-07-01 | 布比(北京)网络技术有限公司 | 区块有效性的验证方法及装置 |
CN111683373B (zh) * | 2020-06-11 | 2022-03-08 | 电子科技大学 | 基于区块链辅助访问控制的组织网络安全通信方法 |
CN111683373A (zh) * | 2020-06-11 | 2020-09-18 | 电子科技大学 | 基于区块链辅助访问控制的组织网络安全通信方法 |
CN112422621A (zh) * | 2020-09-28 | 2021-02-26 | 国网信息通信产业集团有限公司北京分公司 | 基于pbft区块链技术的多站融合电力数据共识方法和装置 |
CN112333187B (zh) * | 2020-11-04 | 2022-08-09 | 齐鲁工业大学 | 基于区块链的边缘智能计算方法及边缘智能系统 |
CN112333187A (zh) * | 2020-11-04 | 2021-02-05 | 齐鲁工业大学 | 基于区块链的边缘智能计算方法及边缘智能系统 |
CN112929424A (zh) * | 2021-01-26 | 2021-06-08 | 成都佳发安泰教育科技股份有限公司 | 网关负载均衡的方法、装置、设备及存储介质 |
CN113411330A (zh) * | 2021-06-18 | 2021-09-17 | 国网电子商务有限公司 | 一种区块链网关切换方法及装置 |
CN113923105A (zh) * | 2021-12-13 | 2022-01-11 | 中机联科技(广东)有限公司 | 一种基于区块链的物联网设备故障监控方法及系统 |
CN113923105B (zh) * | 2021-12-13 | 2022-04-22 | 中机联科技(广东)有限公司 | 一种基于区块链的物联网设备故障监控方法及系统 |
CN115002221A (zh) * | 2022-06-06 | 2022-09-02 | 长春理工大学 | 一种适用于物联网的区块链共识方法及系统 |
CN115002221B (zh) * | 2022-06-06 | 2023-06-23 | 长春理工大学 | 一种适用于物联网的区块链共识方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110784461B (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110784461B (zh) | 一种基于区块链的安全6LoWPAN通信方法及系统 | |
CN107888562B (zh) | 一种平行链接入互联链的数据验证和收发方法、节点及系统 | |
US20200372158A1 (en) | Blockchain-based software version data management system and establishing method thereof | |
CN106936589B (zh) | 一种无中心的许可链平行分片方法及交易方法 | |
US8209536B2 (en) | Message authentication system, message transmission apparatus and message reception apparatus | |
CN108881169A (zh) | 基于区块链的时间分发和同步方法及系统、数据处理系统 | |
Parno et al. | Secure sensor network routing: A clean-slate approach | |
CN111444211B (zh) | 区块链共识节点校验方法、装置、设备以及存储介质 | |
CN111752246B (zh) | 基于区块链和人工智能驱动的无人机蜂群协同工作平台 | |
WO2019047631A1 (zh) | 基于区块链的微基站通信管理方法、系统及设备 | |
KR20160135724A (ko) | 메시지를 인증하기 위한 방법 | |
CN110784495B (zh) | 基于区块链的大数据集群系统的发现与配置信息管理方法 | |
CN112436940B (zh) | 一种基于零知识证明的物联网设备可信启动管理方法 | |
US20120011566A1 (en) | System and method for sensor network authentication based on xor chain | |
CN103746969A (zh) | 车载终端认证的方法及认证服务器 | |
CN112383557B (zh) | 一种安全接入网关及工业设备通信管理方法 | |
CN102387014B (zh) | 一种Mesh网络的密钥管理方法 | |
Gañán et al. | COACH: COllaborative certificate stAtus CHecking mechanism for VANETs | |
CN115038084A (zh) | 一种面向蜂窝基站的去中心化可信接入方法 | |
CN117793708A (zh) | 一种基于去中心化身份的无线传感网络安全通信方法 | |
CN113645196A (zh) | 一种基于区块链与边缘辅助的物联网设备认证方法及系统 | |
CN116389504A (zh) | 基于区块链的身份认证快速共识方法、系统、设备及介质 | |
CN114862397B (zh) | 一种基于双链结构的双解耦区块链分布式方法 | |
CN103095451A (zh) | 一种在传感器网络中进行认证的方法和传感器网络 | |
CN115150162A (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 | ||
GR01 | Patent grant |