首页> 中国专利> 一种基于区块链技术的物联网雾环境管理架构及方法

一种基于区块链技术的物联网雾环境管理架构及方法

摘要

本发明涉及一种基于区块链技术的物联网雾环境管理架构及方法,物联网雾环境管理架构至少包括由物联网雾环境下的多个雾节点构建的至少一个第一类区块链,并基于所述第一类区块链上的至少一个雾节点构建第二类区块链,所述第一类区块链配置为在雾节点发送数据前对其进行身份验证,并基于所述身份验证的结果以非公开的方式共享表示私有的第一数据;所述第二类区块链配置为以公有链的方式监控其与所述第一类区块链共有的雾节点公开的身份验证结果以及关于所述第一数据可公开的第二数据。通过该设置方式,能够在去中心化的同时降低性能需求和以雾节点数量且身份无关的方式提高身份验证准确性。

著录项

说明书

技术领域

本发明涉及物联网信息安全技术领域,具体涉及一种基于区块链技术的物联网雾环境管理架构及方法。

背景技术

物联网(The Internet of Things,IoT)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。即物联网为万物相连的互联网,是互联网基础上的延伸和扩展的网络,将各种信息传感设备与互联网结合起来而形成的一个巨大网络,实现在任何时间、任何地点,人、机、物的互联互通。

由于高速互联网的普及以及各种智能终端的不断涌现,使得网络之间需要传输海量数据。云计算为应对这种数据量爆炸式的增长,实现资源共享提供了一种良好的解决方法。云计算将计算、存储、网络、平台等各种资源整合在一起,抽象形成一个庞大的资源池,实现资源的按需分配。尽管云计算具有低成本、高易用性、高可靠性和高可扩展性等优点,但是云计算这种中心化的服务模式以及接入带宽的限制,使其面临诸多挑战,例如延迟高、带宽低、网络拥塞以及故障规模效应等。基于此,2011年提出一种新型的网络计算范式,定义为雾计算(Fog Computing)。雾计算融合了网络、计算、存储、应用等能力,是一种半虚拟化架构的分布式服务计算范式。雾计算通过将物理上分散的节点连接起来,将数据、数据处理和应用程序分散在位于网络边缘的设备中,就近为用户提供智能服务。雾计算将云计算扩展到了网络的边缘,解决了云计算移动性差、地理信息感知弱、时延高等问题。

在物联网(IoT)范式中,雾环境(Fog Environment)可以看作是云端(Cloud)和用户终端节点(End node)之间的一种中间架构。雾环境是云端的数据中心和终端设备之间的高度虚拟化平台,提供计算、存储和在线服务的能力。雾环境包含不同本地物联网下的关键节点,这些关键节点负责对边缘网络终端传感器采集的数据进行临时存储和短期预处理。由于这些节点布置在雾环境中,并具备相应的计算和存储能力,云端可以通过物联网传感器等终端节点进行扩展,实现更多的应用。同时,终端节点与云端的通信效率也可以得到提高。在实际场景中,关键节点之间往往需要进行数据传输,甚至可以充当雾节点。在这种情况下,如果来自终端节点的数据直接与云端或数据消费者交互,不仅会大大降低数据处理效率,而且在直接传输过程中还会面临未知的安全问题。而且雾节点是物联网节点的一部分,其也面临着存储和计算能力的问题。

例如,公开号为CN111079136A的中国专利文献公开了一种基于区块链技术的雾计算入侵检测特征贡献系统,能够保证入侵检测特征库内容的安全,且有助于提高入侵检测准确率。所述系统包括:身份验证模块,用于对要加入联盟链的节点进行身份验证,若通过认证,则允许该节点加入联盟链;特征共享模块,用于对已加入联盟链的任一节点A,若A要共享自身更新的入侵检测特征库,则将其广播到网络中进行共享;特征验证模块,用于网络内其他节点对网络中广播的入侵检测特征库进行正确性验证,若验证通过,则上链保存在区块链系统中。该专利文献通过引入区块链技术对入侵检测特征库保护达到可溯源、透明的目的,解决了各节点之间在无需可信任第三方而共享数据的问题。而且通过引入区块链技术能够保证入侵检测特征库内容不被篡改,降低了入侵检测特征库被攻击的风险。同时通过联盟的力量使入侵检测特征库尽可能涵盖更多的入侵检测特征,进而应用在入侵检测系统中有助于提高入侵检测的准确率,降低误报率和漏报率。

例如,公开号为CN110691088A的中国专利文献公开了一种基于区块链的物联网设备认证方法,包括具体步骤:建立对连接在物联网上的物联网设备所产生的异构数据进行数据处理的雾计算、云服务器以及区块链的混合模型;通过雾计算将物联网设备所产生异构数据进行处理形成认证数据;雾计算将认证数据的数据实体发送至云服务器进行数据存储,将认证数据的索引和Hash值发送至区块链汇中上链,随后在物联网上进行全网公布,同时物联网设备在区块链的链上记录势必物联网设备身份的公私钥对;其他连接在物联网上的物联网设备通过在区块链中对提供公私钥对的物联网设备进行验签,获取数据的访问接入和使用权属,实现了多厂商之间的协作及设备信息保护隐私条件下的互联互通。而且该专利文献提供的认证方法还包括:两个连接在物联网上的物联网设备之间形成的数据访问接入交易的验签在物联网设备与区块链的连接链路上部署的轻节点上进行,所述轻节点只用来验证连接在物联网上的物联网设备之间的数据访问授权接入交易;物联网通过椭圆曲线加密算法对每个物联网设备的公钥生成唯一对应的私钥,同时利用公私钥对用来对物联网设备的信息进行加密。

例如,公开号为CN111372243A的中国专利文献公开了基于雾联盟链的安全分布式聚合与访问系统及方法,针对当前大多数据集合方案基于集中化模式设计,面临单点故障和篡改威胁,存在安全与性能提升需求的问题,结合雾计算和联盟链设计了一种基于雾联盟链的安全分布式聚合和访问系统,所述系统模型分为三层:数据层、雾层和服务层,共包含四个实体:数据层中的智能设备、雾层中的雾节点、服务层中的服务机构和为各层实体提供服务的秘钥管理者;数据层被划分为k个子群,每个子群容纳z个智能设备,且每个子群与一个雾节点对应连接;数据层中智能设备负责收集实时数据,对数据进行与处理后定期匿名上传给相邻的预选定雾节点进行聚合和存储;雾节点在雾层负责更新和维护联盟链,依据PBFT(拜占庭容错)共识机制将聚合数据分布式存储到联盟链;服务机构在雾节点间实施一个安全的阈值多方协议,隐私保护地访问链上存储的聚合数据;秘钥管理者负责初始化系统以及为各层实体提供身份注册服务。该专利文献解决了单点故障和篡改危机,为数据的安全收集、通信和存储提供了有力支撑。同时,该专利文献还提供一种安全的阈值多方协议,为链上数据提供隐私保护和安全的访问机制,该协议使得系统具备容错性,当雾节点故障或者遭受到破坏时,只要正常工作且诚实的雾节点数量达到阈值以上,系统可正常运行。此外,针对现有研究忽视身份隐私保护以及高计算成本和高验证时延保证数据完整性和真实性的问题,采用轻量级的基于椭圆曲线的E1 Gama1加密算法,为每个设备数据产生不同的身份和签名秘钥,实现设备的匿名性,从而保护设备身份隐私。同时,结合批量验证机制,提高了验证效率和降低了计算成本。

以上专利将云端、雾环境和区块链结合,即在云端与终端节点之间的雾节点构建区块链以解决目前雾计算和雾环境存在的安全问题。但是以上专利的均是使用单一的联盟链或者公有链,其中公有链具有很好的去中心化和安全性,但是随着节点的增多,其很难达到共识进而某些节点可能随时宕机。联盟链由于节点的数量和身份都已经规定好,可以使用相对松散的共识机制,其处理速度比公有链快,但是其由于不是完全的去中心化,理论上联盟之间可以联合起来修改区块链数据。需要说明的是,私有链是只有被许可的节点才可以参与并且查看所有数据链,所以私有链可以自己定制策略,其处理速度极快,但私有链不具备去中心化。因此,尽管专利文献CN111079136A和CN111372243A在联盟链的基础上采用身份验证或者其他共识机制、加密算法等来降低雾节点被破坏的概率和数量,但是安全风险并没有得到缓解。例如专利文献CN111079136A利用身份验证的方式初步过滤一些恶意节点或者不诚实节点,还在后续通过缴纳保证金、对数字证书定期更新检查等常规手段完成验证和确认。这种常规手段的组合除了增加雾节点的计算和存储压力外,其安全性提高的程度有限也并没有降低对计算能力和存储能力的开销,特别是这些常规的手段无法有效防止针对雾环境的新的安全攻击。专利文献CN111372243A面临同样的问题,其采用适合联盟链的拜占庭容错公式机制实现相互监督和区块的快速验证,但是仍然无法全部过滤恶意节点或者不诚实节点,因此其采用基于安全阈值多方协议的访问控制机制,当恶意接节点或者不诚实节点较少时,系统能够正常运行,但是仍有安全隐患,尽管其还提出可以采用轻量级的加密算法来实现身份验证,能够保证数据的隐私性,但是同样安全程度提高有限,其无法解新的安全攻击,更重要的是其数据无法保证真实性。因此该专利提出结合双线性配对和批量验证技术,相对于有效的隐私保护需求响应(Efficient Privacy-PreservingDemand Response,EPPDR)动态加密的隐私保护方案,通过在验证机制中融入批量验证技术,减少了耗时的双线性配对操作次数,从而有效降低了计算开销,其相较于传统的区块链的区块确认速度提高了近6倍,尽管该专利文献的技术方案通过减少匹配操作次数来降低计算开销,但是这种计算开销降低的程度仍然无法满足物联网对轻量级性能的要求。

因此有必要提供一种提高物联网中雾计算环境的数据源可信性,并且满足服务质量(Quality of Service,QoS)的要求又能在带宽、计算和存储有限的执行环境下运行的管理架构及方法。

此外,一方面由于对本领域技术人员的理解存在差异;另一方面由于发明人做出本发明时研究了大量文献和专利,但篇幅所限并未详细罗列所有的细节与内容,然而这绝非本发明不具备这些现有技术的特征,相反本发明已经具备现有技术的所有特征,而且申请人保留在背景技术中增加相关现有技术之权利。

发明内容

现有的雾计算和雾环境存在安全问题和性能问题。

安全问题包括:

1、雾节点的身份验证问题,一方面由于不同的雾节点可能属于不同的种类,另一方面不同的雾节点可能属于不同的控制级别,因此如何实现不同区域节点的认证是一个挑战;

2、数据的可信度性问题,由于数据需要在不同的雾环境之间传输,因此需要对恶意数据进行检测,保证数据在传输中不被篡改;另外,中间人攻击是雾环境中常见的攻击类型,中间人攻击是一种间接入侵攻击,攻击者可以条两个通信节点之间放置一个受控设备,最终达到阻断通信和窃取数据的目的;

3、数据的隐私性问题,由于雾计算在多数情况下涉及通信和应用环境,因此需要考虑使用加密或者其他隐私保护技术来防止数据被抢夺和篡改。

除了上述具体的安全问题之外,恶意节点和入侵行为的检测是避免拒绝服务(Denial of Service,DoS)攻击的和保证数据源安全问题的必要手段。

性能问题包括:

1、扩展受限,一方面由于雾节点是异构且传输数据,因此诸如身份验证的安全工作非常重要,然而大多数安全解决方案的扩展受限,很难通过一个安全方案来灵活动态地适应不同的雾节点(硬件设备);另一方面雾节点部署的环境比较复杂,不容易确保所提出的安全解决方案的稳定性和扩展性;

2、轻量级性能要求,由于雾节点是物联网节点的一部分,其本身硬件上的计算能力和存储能力有限,能够解决上述安全问题的安全解决方案确实存在,但是其需要强大的计算能力和存储能力,而大部分雾节点本身不具备这种强大的计算能力和存储能力。

现有技术基本利用雾节点构建区块链来解决安全问题,但是现有的区块链仍然没有缓解安全风险,并且多种组合的安全解决方案也增加了对计算和存储的负荷,无法满足轻量级性能要求。

针对现有技术之不足,本发明提供一种基于区块链技术的物联网雾环境管理架构,至少包括由物联网雾环境下的多个雾节点构建的至少一个第一类区块链。所述物联网雾环境管理架构基于所述第一类区块链上的至少一个雾节点构建第二类区块链。所述第一类区块链配置为在雾节点发送数据前对其进行身份验证,并基于所述身份验证的结果以非公开的方式共享表示私有的第一数据。所述第二类区块链配置为以公有链的方式监控其与所述第一类区块链共有的雾节点公开的身份验证结果以及关于所述第一数据可公开的第二数据从而能够在去中心化的同时降低性能需求和以雾节点数量且身份无关的方式提高身份验证准确性。通过该设置方式,本发明在数据发出之前,即数据源头开始确保数据的安全性。同时利用第一类区块链的部分私有链特性以及利用第一类区块链的至少一个雾节点构建公有链,能够在利用共有链实现雾节点去中心化同时还减少公有链中的节点数量,进而减少共识机制所耗费的时间,进而这种架构由于公有链上的节点数量较少还降低了性能需求,通过在第一类区块链部署轻量轻量级的身份验证加密算法,能够达到物联网雾环境的轻量级性能需求,即与现有技术中部署轻量级加密算法的技术方案不同,其在部署轻量级加密算法之后由于节点数量较多共识机制所需要的计算需求较大,并且现有技术部署轻量级加密算法还同时部署各种安全机制以克服单一的非公有链无法全部滤除恶意节点后不诚实节点,而本发明的采用公有链的第二类区块链上存在第一类区块链上的成员,进而通过对该成员的监管以及本身第一类区块链上部署的身份验证方式,能够全部滤除恶意节点。相应的实验评估结果也表明了本发明验证的准确性,本发明能够正确区分所有待测节点的身份,不论其为安全节点或恶意节点,即不受测试对象属性的影响。而且还发现随着测试节点数量的增加,本发明的验证的准确性没有降低,即不论测试的节点数量多少,本发明的准确性均未降低。而且,需要说明的是现有技术大部分采用联盟链或者其他区块链,而很少使用公有链和联盟链的混用,其原因是:

联盟链强化节点的真实性进行控制,避免恶意节点提供的伪数据而发起数据攻击,从而强化数据的真实性,而公有链由于其生成验证速度较慢,不适宜节点较多的应用场景。即从数据安全的角度,在有比公有链更合适的机制,即通过联盟链来保证雾环境数据安全的情况下,没有必要再去通过公有链来去实现数据安全传输。而且从技术实现的角度上,公有链考虑的公开匿名场景下的最坏保证,引入诸如PoW、Casper这样基于经济利益博弈的模型。联盟链则利用联盟网络汇总已有的信任,通过引入一些前提假设来换取更多的灵活性和提升性能。因此公有链和联盟链所定义的前提问题不同,发展方向不同,从数据安全的角度很少使用公有链和联盟链的混用。

尽管现有技术中存在联盟链和公有链的混用,但是技术上是通过跨链协议将联盟链和公有链打通,其目的是使得资产可以跨链流转以及信息可以跨链互认。这与本发明的技术方案完全不同,首先本发明的区块链可以看作是由多个第一类区块链构成的第二类区块链,在技术实现上不需要跨链协议。在实现的目的上,也不需要资产或者信息可以跨链流传或者互认。相反的,本发明通过第一类区块链的信息内部共享,以及将可公开的信息传输至第二类区块链(公有链),第二类区块链的信息不会流入第一类区块链,即本发明的数据信息需要保持单向,从第一类区块链流入第二类区块链。此外,本发明的目的是通过这种单向流转的数据传输机制,利用第一类区块链和第二类区块链的数据共享以保证数据的安全性和降低计算开销。其安全性是从第二类区块链是公有链来实现的,公有链考虑是最坏情况下的共识验证机制,其安全等级最高。其降低计算开销从第二类区块链是由多个第一类区块链的一个雾节点构成来实现的,即由于第一类区块链的数据共享机制,第一类区块链上的一个雾节点就可以代表这个第一类区块链,相当于大幅度减少了第二类区块链上雾节点的数量,进而不仅降低了性能需求从而提高了验证速度,还可以应用于大量节点的应用场景。

本发明还提供一种基于区块链技术的物联网雾环境管理架构,至少包括由物联网雾环境下的多个雾节点构建的至少一个第一类区块链和至少一个第二类区块链。第一类区块链用于在数据传输前对雾节点进行身份验证和非公开共享数据。第二类区块链用于以公有链的方式监管数据。所述第二类区块链配置为由至少一个所述第一类区块链上的至少一个雾节点构建的方式监管所述第一类区块链从而能够在去中心化的同时减少所述第二类区块链内成员的数量以降低性能开销。

根据一种优选实施方式,所述第一类区块链配置为:

为所述第一类区块链内的雾节点部署第一智能合约;

在所述雾节点未发出数据之前基于所述第一智能合约对所述雾节点进行身份验证;

所述第一类区块链内的雾节点同步执行身份验证和身份验证的结果;

基于所述第一智能合约在身份验证通过的雾节点之间执行表示数据添加的第一类操作、表示数据查询的第二类操作和表示数据修改的第三类操作,并将执行操作生成的第一数据进行同步。

根据一种优选实施方式,所述第二类区块链配置为:

为所述第二类区块链内的雾节点部署第二智能合约;

基于所述第二智能合约查询其区块链内的雾节点的身份、所述第一类区块链公开的身份验证结果和第二数据来监控雾节点。

根据一种优选实施方式,所述雾节点配置为按照如下步骤进行初始化:

基于所述雾节点的设备信息定义第一智能合约或第二智能合约;

基于所述雾节点的设备信息在所述第一类区块链或第二类区块链进行注册,基于所述设备信息生成用于身份验证的身份值;

基于雾节点的设备信息随机或指定选取所述第一类区块链与第二类区块链共有的雾节点,或者在数据传输的不同时间段下随机或指定选取所述第一类区块链与第二类区块链共有的雾节点;

基于所述雾节点的设备信息生成区块头,并至少基于相关交易信息通过工作量证明的哈希值构建区块体。

根据一种优选实施方式,在待测试的雾节点发送数据之前,所述第一类区块链配置为执行如下操作:

预定义合法的雾节点的身份值;

调用所述第一智能合约对待测试的雾节点的身份值进行验证。若待测试的雾节点的身份值为合法的身份值,则调用所述第二类区块链的区块生成函数以更新区块链,并将身份验证结果存储到所述第二类区块链的合法节点列表中。若待测试的雾节点的身份值为非法的身份值,则调用所述第一类区块链的区块生成函数将非法的雾节点的身份存储在所述第一类区块链的拒绝访问列表中并在所述第一类区块链中移除非法的雾节点。

根据一种优选实施方式,所述雾节点配置为按照如下步骤执行所述第一类操作:

基于所述雾节点的设备信息确定所述雾节点所属的区块链;

若所述雾节点属于第一类区块链,则基于地址信息调用数据添加函数并存储第一类操作涉及的数据;

若所述雾节点属于第二类区块链,则将第一类操作涉及的数据广播发布以供监管的节点访问。

根据一种优选实施方式,所述第一类区块链和第二类区块链还设置有用于存储数据的区块。所述区块至少包括存储不同雾节点之间的数据传输记录的交易域和存储每个雾节点所采集的数据的数据域。在新数据或交易信息添加到所述第一类区块链和第二类区块链时,所述第一类区块链和第二类区块链生成新的区块从而扩展区块链的长度。

本发明还提供一种基于区块链技术的物联网雾环境管理方法,所述方法包括:

将物联网雾环境下的多个雾节点划分为第一类区块链和第二类区块链;

第一类区块链内的雾节点在数据传输前进行身份验证,并且以非公开的方式共享数据;

第二类区块链以公有链的方式监控其与所述第一类区块链共有的雾节点公开的身份验证结果以及关于所述第一数据可公开的第二数据,从而能够在去中心化的同时降低性能需求和以雾节点数量且身份无关的方式提高身份验证准确性。

根据一种优选实施方式,所述第一类区块链执行如下步骤:

为所述第一类区块链内的雾节点部署第一智能合约;

在所述雾节点未发出数据之前基于所述第一智能合约对所述雾节点进行身份验证,所述第一类区块链内的雾节点同步执行身份验证和身份验证的结果;

基于所述第一智能合约在身份验证通过的雾节点之间执行表示数据添加的第一类操作、表示数据查询的第二类操作和表示数据修改的第三类操作,并将执行操作生成的第一数据进行同步。

附图说明

图1是本发明物联网雾环境管理架构的一种优选应用场景;

图2是本发明物联网雾环境管理架构的一种优选实施方式的结构示意图;

图3是本发明的智能合约的结构设计示意图;

图4是本发明的雾节点的结构设计示意图;

图5是本发明的块结构设计示意图;

图6是本发明的物联网雾环境管理架构评估的节点管理示意图;

图7是本发明的物联网雾环境管理架构评估的数据管理示意图;

图8是本发明的物联网雾环境管理架构的单节点身份验证过程的处理时间结果示意图;

图9是本发明的物联网雾环境管理架构的不同节点数量下的处理时间变化结果示意图;

图10是传统物联网环境下的雾计算平台的结构示意图;

图11是现有区块链的一种结构示意图。

附图标记列表

100:雾节点 200:云端 300:终端节点

400:雾环境 500:感知层 600:第一类区块链

700:第二类区块链 800:智能合约 900:第二智能合约

610:第一数据 611:第二数据 110:第一雾节点

120:第二雾节点 130:第三雾节点 140:第四雾节点

10:监管方 20:用户 30:转换锚点

40:区块 50:第一组织 60:第二组织

具体实施方式

下面结合附图1至11进行详细说明。首先对本发明使用的技术术语和技术原理进行解释。

云计算平台作为物联网中许多应用的基础,对于数据的存储和处理是必不可少的。作为边缘计算的概念,雾计算是云技术功能的延伸,为边缘网络提供更强大的计算和处理能力。与云环境不同,雾环境400中的雾节点100不是由功能强大的服务器组成,而是由各种功能性计算设备组成,性能较弱,分布更分散。通常,这些设备可以是传统的网络组件,例如路由器、代理服务器、交换机、基站、机顶盒,甚至车辆。

如图10所示,传统物联网环境下的雾计算平台主要由以下三部分组成:

1、云端200:又可以称为云计算层,该层集中部署大型云服务器或者远程服务器,负责海量数据的存储和复杂处理。该层一方面对来自雾环境400的信息进行汇总,并在处理后给出反馈.另一方面,该层将成熟可用的信息传递给数据消费者,如各种应用和服务;

2、雾环境400:又可以称为雾计算层,该层由不同区域下的雾节点100组成,包括但不限于路由器、网关、车辆、基站等硬件设备。它们将某个区域感知层内的终端节点300采集的数据进行汇总,进行短期存储和简单的预处理,然后在响应下层终端节点的同时与上层云端200进行交互;

3、感知层500:该层包含不同地域和应用环境的多种物联网的终端节点300,负责从物理世界采集原始数据。该层硬件设备的存储和计算能力都很弱,但大部分都配备了传感器,主要负责数据采集。

优选地,与云环境相比,雾环境400具有以下特点:

1、延迟减少:智能工厂和其他物联网应用的许多组件对延迟敏感,并且许多组件具有实时限制;如果无法在毫秒内接收和处理信号,则应用程序可能无法在某些特定环境中运行;这种限制为需要将数据发送到云端200进行处理的智能场景带来了问题;作为云计算技术的延伸,雾计算可以将简单的处理能力分散到网络边缘,有效地减少了直接用云端200发送和接收数据所需的时间;

2、高移动性:为了满足各种应用需求,雾环境400的大部分雾节点100都具有移动性;移动性要求雾节点在满足移动性的前提下完成各种简单的计算任务;

3、强分布:雾环境400分布于各个应用领域。,作为新一代分布式计算范式,与集中式的云计算环境相比,雾计算具有更强的地理分布性,能够更好地满足物联网应用的需求。

同时,由于雾计算应用于物联网环境中,其存在如下特点:

1、性能:与物联网边缘使用的大多数终端节点300设备一样,雾节点100的性能不尽相同,雾节点可以执行的功能有限;

2、安全性:雾节点100也是物联网环境中众多硬件设备之一,容易受到诸如窃取和破坏等硬件攻击。另外,如何保证雾境400下数据传输过程中网络通信的可靠性,以及数据不被窃取、篡改或破坏是不容忽视的难题;

3、异构性:雾节点100种类繁多,分布广泛,具有较强的跨平台特性,因此如何在不同性质的分布式节点上部署有效的应用程序和解决方案是应用程序开发人员面临的一项艰巨任务,即不同的方案应该具有尽可能高的可扩展性,并且能够灵活地满足不同环境下雾节点100的需求。

区块链(Blockchain)是一种分散的分布式账本数据库,本质上是一种数据库技术。每个块就像一个硬盘,它保存所有的事务信息,然后用加密技术对其进行加密。所以这些保存的信息不容易被篡改。“分散”的概念意味着每个节点都是中心。同时,“分布式账本”是指在每个节点存储数据并同步共享整个账本数据的数据库。在区块链中,可以分为水平层面和垂直层面。在水平层面上,多个节点形成区块链网络;而在垂直层面上,来自节点的大量数据形成区块,然后通过链实现动态增长和扩展。

优选地,区块链的典型结构如图11所示。区块链的结构主要由区块头和包含交易列表的区块体组成。区块头包含几个字段,其中一个字段是用于跟踪协议升级软件的版本号。此外,报头包含事务数、块大小和时间戳。Merkle根字段表示当前块的哈希值。Merkle树哈希通常用于分布式系统和P2P网络中,以实现有效的数据验证。当前字段用于工作量证明(PoW)算法,是生成原始前导零的哈希值的测试计数器值。

优选地,在本发明中,使用超级账本结构来构建区块链环境、部署节点和开发智能合约。

智能合约:也称为链码,是一种实现应用程序逻辑并在执行阶段运行的程序代码。智能合约是以数字形式定义的一组承诺,合约参与者可以在这些承诺上执行这些承诺的协议。合约是存储在区块链中的代码,合约参与方将事先将达成的协议安装到区块链系统中。双方达成协议后,合约即生效,不得修改。链码是超级账本分布式应用的核心部分,是一种用于管理区块链系统和维护参数的特殊链码,统称为系统链码。本质上,智能合约就像计算机程序的if-then语句,以这种方式与现实世界的资产进行交互。当触发预先编程的条件时,智能合约执行相应的合约条款。

优选地,账本只是一系列有序且不可变的交易记录,账本中的数据以分布式账本的形式存储。账本由一系列连续的、防篡改的记录组成,这些记录包含了数据状态的所有变化]。分类帐本中的数据项以键值对的形式存储,然后,分类帐本中的所有键值对构成分类帐本的状态。所有成员共同维护该分类帐本。当任何成员需要访问该账本时,需要通过链码对账本中的键值对进行新增、更新、查询、删除等操作。

优选地,区块链的本质是去中心化,去中心化的核心是共识机制。区块链上的共识机制主要解决谁来构建区块以及如何维护区块链的统一性。优选地,共识机制主要用于分析区块链网络中的节点成员在传输信息时如何保持数据的一致性。目标是使所有可信节点保持一致。也就是说,共识机制可以保证在一个相对开放和不确定的环境中,每个节点都会自发、诚实地遵守协议中设定的规则,判断每一条记录的真实性,最终将判断为真实的记录输入区块链。现有的共识机制有PoW、PoS证明、拜占庭容错(PBFT)、Ripple共识算法等。

本发明身份验证算法采用基于属性的签名(ABS)加密算法。ABS算法是一种多功能的控制方案,它允许用户通过使用细粒度的控件来识别信息来对消息进行签名。为此,签名者拥有来自可信机构的属性集合,然后他可以使用与属性集匹配的谓词对消息进行签名。之后,签名结果可用于进一步使用,例如识别执行者的身份。

优选地,ABS加密算法主要有四种算法。本发明简要说明其中一种。ABS算法主要包括初始化、密钥生成、签名以及验证。

初始化:可信机构或第三方获得密钥对(PK,MK),其分别对应(公钥,主密钥)。稍后,PK将被公开,而MK将被保密。优选地,PK或MK是由几个参数生成的,可以表示为(PK,MK)←Init(para)。Para表示参数。

密钥生成:为了给用户分配一组属性Attr,可信方或第三方指定一个签名密钥,称为SK。在进一步的步骤中,SK将被执行器广泛使用。这个步骤可以表示为SK←Key(PK,MK,Attr)。

签名:在本环节中,执行器根据公钥PK、签名密钥SK、声明谓词Υ和属性集Attr获得签名σ。然后,利用这个签名来签署一条消息m。这一步可以表示为σ←Sig(PK,SKm,Υ)。

验证:使用谓词Υ等因素验证消息m的签名σ,算法生成一个值,表示为布尔值←Veri(PK,m,Υ,σ)。根据输出,监管方10可以区分特定数据生成器的身份。

实施例1

如图1所示,本实施例提供的一种基于区块链技术的物联网雾环境管理架构至少包括雾节点100。多个雾节点100构成雾环境400。优选地,如图1所示,本地物联网下的许多传感设备采集物理世界的源数据,并将其汇总到局域物联网的关键节点(比如网关等设备),将其临时存储和预处理供后续使用。若干局域网络通过有线或无线传输的方式,建立起能够相互通信的雾环境400。雾环境400一方面可连接至云端200,比如远程云服务器。同时,雾环境400又比较接近用户20的终端节点300设备。因此可以说,雾环境400是在云端200和用户20之间建立过渡处理环境的桥梁。同时,各个本地物联网的关键节点在雾环境400中充当着雾节点100的角色。各个本地物联网的关键节点可以看作是本地端的接口,或是不同本地环境间进行通信的连接桥梁。

优选地,本实施例的基于区块链技术的物联网环境管理架构是在雾节点100之间或雾节点100与云端200之间部署一个管理架构。如图2所示,该管理架构至少包括由多个雾节点100构建的至少两类区块链。两类区块链分别为第一类区块链600和第二类区块链700。物联网雾环境管理架构基于第一类区块链600上的至少一个雾节点100构建第二类区块链700。第一类区块链600用于在数据传输前对雾节点100进行身份验证和非公开共享数据。优选地,第一类区块链600配置为在雾节点100发送数据前对其进行身份验证,并基于身份验证的结果以非公开的方式共享表示私有的第一数据610。第二类区块链700用于以公有链的方式监管数据。第二类区块链700配置为以公有链的方式监控其与第一类区块链600共有的雾节点100公开的身份验证结果以及关于第一数据610可公开的第二数据611。优选地,第二类区块链700配置为由至少一个第一类区块链100上的至少一个雾节点100构建的方式监管第一类区块链600从而能够在去中心化的同时减少第二类区块链700内成员的数量以降低性能开销。

本发明采用该设置的目的是为了保护物联网雾环境中的数据源可信性。这里的数据源可信性包含两部分概念:其一,首先需要确保雾环境400下的雾节点100之间在进行信息传输和处理的过程中,数据不会被篡改,即确保各节点之间数据的一致性;其二,确保雾节点100中的数据在传输开始和结束时均安全可信,即从数据源头确保该数据是具有传输和使用价值的真实性。优选地,本发明采用的基本思想是应用区块链技术和轻量级签名算法,对雾节点身份及其存储的数据进行管理、识别和验证理和验证,保证数据从源头上安全且可用。此外,雾环境400下的数据交互应尽可能节省传输和共享期间的计算能力和资源消耗,在性能满足要求的前提下保护安全性。但是,私有链本身不具备去中心化的功能,进而无法防止数据篡改。而公共链的安全性很高,但是其共识机制随着节点数量的增多导致其处理速度较慢和计算能力需求呈几何级数增长,而联盟链由于部分区中心化的特性也无法完全过滤所有的恶意点和不诚实节点,因此除了身份验证加密算法之外,还需要采用其他安全机制来保证安全性,进而无法满足物联网雾环境的轻量级性能需求。

通过该设置方式,本发明在数据发出之前,即数据源头开始确保数据的安全性。同时利用第一类区块链的部分私有链特性以及利用第一类区块链的至少一个雾节点构建公有链,能够在利用共有链实现雾节点去中心化同时还减少公有链中的节点数量,进而减少共识机制所耗费的时间,进而这种架构由于公有链上的节点数量较少还降低了性能需求,通过在第一类区块链部署轻量轻量级的身份验证加密算法,能够达到物联网雾环境的轻量级性能需求,即与现有技术中部署轻量级加密算法的技术方案不同,其在部署轻量级加密算法之后由于节点数量较多共识机制所需要的计算需求较大,并且现有技术部署轻量级加密算法还同时部署各种安全机制以克服单一的非公有链无法全部滤除恶意节点后不诚实节点,而本发明的采用公有链的第二类区块链上存在第一类区块链上的成员,进而通过对该成员的监管以及本身第一类区块链上部署的身份验证方式,能够全部滤除恶意节点。相应的实验评估结果也表明了本发明验证的准确性,本发明能够正确区分所有待测节点的身份,不论其为安全节点或恶意节点,即不受测试对象属性的影响。而且还发现随着测试节点数量的增加,本发明的验证的准确性没有降低,即不论测试的节点数量多少,本发明的准确性均未降低。

优选地,第一类区块链600和第二类区块链700还设置有用于存储数据的区块40。区块40至少包括交易域和数据域。交易域用于存储不同雾节点100之间的数据传输记录。数据域用于存储每个雾节点100所采集的数据。在新数据或交易信息添加到第一类区块链600和第二类区块链700时,第一类区块链600和第二类区块链700生成新的区块40从而扩展区块链的长度。

优选地,本发明的第一类区块链600可以是类似联盟链的区块链。第一类区块链600可以在特定组织之间执行非完全公开交易功能的区域性区块链。

优选地,本发明的区块链的智能合约包括第一智能合约800和第二智能合约900。第一智能合约800是对应第一类区块链600的智能合约。第二智能合约900是对应第二类区块链700的智能合约。优选地,智能合约部署在区块链网络的雾节点100内。智能合约编写期望实现的功能作为其内容。优选地,本发明的智能合约需包含的功能主要有表示数据添加的第一类操作、表示数据查询的第二类操作和表述数据修改的三类操作。优选地,还需将轻量级认证算法写入智能合约内。本发明通过智能合约可以执行节点管理和数据管理,增强数据源可信性。优选地,第一智能合约800具有第一类操作、第二类操作、第三类操作和身份验证、认证或者加密算法的需要。第二智能合约900只要是用于监管,因此其能够通过第二类操作查询到第二类区块链700上的公共信息。第二智能合约900可以通过第一类操作来增加新的区块40。但是第二智能合约900无法进行第三类操作。

优选地,在建立雾节点100通信的过程中,需要考虑雾环境400和雾节点100的复杂性、不同区域之间或同一区域下不同设备之间的距离、终端节点300或者雾节点100的高移动性以及其他各种不确定因素。因此,在本发明中使用的通信主要依赖于无线网络,即可联通各种通信设备而无需实体布线的网络。这些无线网络包括允许用户建立远程无线连接的全球语音互联网(VoIP)、无线局域网等数据通信网络。除此之外,还包括针对短距离无线连接进行过优化的红外技术和射频技术等。优选地,无线网络满足设备对高移动性的要求,且允许动态访问,强大的网络甚至具有高度的可扩展性和易于安装设备等优点。按功能划分,可用于搭建区块链网络的主要有无线传感器网络、多跳网络(Multi-hopNetworks)和可穿戴式无线网络等。此外,目前已有的物联网通信协议(例如CoAP、MQTT等)已经可以通过数据包传输层安全性协议(DTLS)等支持安全通信。这些都为在物联网雾环境中构建区块链网络提供了安全的通信平台。

优选地,第一类区块链600配置为:

为第一类区块链600内的雾节点100部署第一智能合约800;

在雾节点100未发出数据之前基于第一智能合约800对雾节点100进行身份验证;

第一类区块链600内的雾节点100同步执行身份验证和身份验证的结果;

基于第一智能合约800在身份验证通过的雾节点100之间执行表示数据添加的第一类操作、表示数据查询的第二类操作和表示数据修改的第三类操作,并将执行操作生成的第一数据610进行同步。

根据一种优选实施方式,第二类区块链700配置为:

为第二类区块链700内的雾节点100部署第二智能合约900;

基于第二智能合约900查询其区块链内的雾节点100的身份、第一类区块链600公开的身份验证结果和第二数据611来监控雾节点100。

根据一种优选实施方式,雾节点100配置为按照如下步骤进行初始化:

1、基于雾节点100的设备信息定义第一智能合约800或第二智能合约900。优选地,第一智能合约800和第二智能合约900均至少包括ID、要部署的区块链的属性、功能函数和内容数据,如图3所示。优选地,通过雾节点100的设备信息确定区块链的属性,进而确定雾节点100是第一类区块链600还是第二类区块链900。

2、如图4所示,基于雾节点100的设备信息在第一类区块链600或第二类区块链700进行注册。将相应的数据存储到相应的设备地址。基于设备信息生成用于身份验证的身份值dev_fp。

3、基于雾节点100的设备信息随机或指定选取第一类区块链600与第二类区块链700共有的雾节点100。或者在数据传输的不同时间段下随机或指定选取第一类区块链600与第二类区块链700共有的雾节点100。在本发明中,共有的雾节点100可以称为转换锚点30(Convert anchor point,CAP)。优选地,转换锚点30可以从已经注册的雾节点100选择。通过该设置方式可以在第一类区块链600和第二类区块链700中交接数据。优选地,可以根据时间戳设置并随机选取多个CAP。优选地,不同时段下CAP可以不同。优选地,新任命的CAP将加入第二类区块链700。在第二类区块链700通过公共网络的广播功能公开可用数据,例如身份验证结果或者第二数据611。

4、基于雾节点100的设备信息生成区块头,并至少基于相关交易信息通过工作量证明的哈希值构建区块体。如图5所示,区块40包括区块头和区块体。区块体包括地址、属性和哈希值。优选地,属性表示该区块40是属于第一类区块链600还是第二类区块链700。优选地,区块体还包括交易域、数据。区块体的数据需要通过数据校验。

优选地,本发明的管理架构还需要建立各个雾节点100之间的通信。建立通信过程旨在为雾节点100之间创建无线通信网络,同时编写协议以完成数据和交易的共享。具体过程如下:

1、访问请求功能的调用和执行:确定交易发起方、需求方和需求功能所在的智能合约,从而调用访问请求功能并执行相应的合约功能。

2、生成区块40:以数据和交易记录为内容生成新区块或更新区块40内容。

3、广播区块:借由第二类区块链700的通信网络,将指定区块广播到已注册的其他节点设备。

4、访问区块:第一类区块链600和第二类区块链700网络中的现有设备可以根据块地址,对指定内容进行访问。

5、生成交易区块:智能合约的访问和执行过程也将作为新交易保存在新区块40上。

优选地,在待测试的雾节点100发送数据之前,第一类区块链600配置为执行如下操作:

1、预定义合法的雾节点100的身份值。优选地,在访问策略中基于“或”访问结构预定义合法雾节点100的身份值。获取待测试的雾节点100的身份值dev_fp。

2、调用第一智能合约800对待测试的雾节点100的身份值进行验证。若待测试的雾节点100的身份值为合法的身份值,则调用第二类区块链700的区块生成函数以更新区块链,并将身份验证结果存储到第二类区块链700的合法节点列表中。

3、若待测试的雾节点100的身份值为非法的身份值,则调用第一类区块链600的区块生成函数将非法的雾节点100的身份存储在第一类区块链600的拒绝访问列表中。优选地,还可以通过Remove函数将该设备从第一类区块链600网络中移除。通过该设置方式,可以保留安全或合法的雾节点100,使其能够对数据进行操作,同时使非法节点失去对私人信息的访问权限,阻止其对数据进行篡改。并且通过该设置方式,能够省略对同一雾节点100执行二次验证的冗余过程。

根据一种优选实施方式,雾节点100配置为按照如下步骤执行第一类操作:

基于雾节点100的设备信息确定雾节点100所属的区块链;

若雾节点100属于第一类区块链600,则基于地址信息调用数据添加函数并存储第一类操作涉及的数据;

若雾节点100属于第二类区块链700,则将第一类操作涉及的数据广播发布以供监管的节点访问。

优选地,执行数据查询时第二类操作可以根据不同的区块ID来返回响应的查询内容。优选地,第三类操作与第一类操作的原理类似。不同之处在于需将修改后的数据或空值存储在区块中。

优选地,第二类区块链700可以实现第三方实体位于第二类区块链700上的监督作用。通过在第二类区块链700中广播可公开结果,监管方10可以执行该第二类区块链700的查询操作来监管第一类区块链600网络中每个实体的身份,还可读取可被公开的信息。优选地,可公开结果包括雾节点100身份的验证结果,以及部分可公开数据等。优选地,需要说明的是,以上监管过程中的各个实体仅具有查询功能,无权修改第二类区块链700上发布的内容。优选地,第二类区块链700上的查询操作过程如下:

1、监管方10请求调用公共链的查询功能;

2、管理架构根据区块ID返回指定内容,包括可公开数据或雾节点100身份验证结果;

3、若该目标区块不存在,则报错。

实施例2

本实施例是对实施1的进一步改进/补充,重复的内容不再赘述。

本实施例提供一种基于区块链技术的物联网雾环境管理方法,方法包括:

S100:将物联网雾环境下的多个雾节点100划分为第一类区块链600和第二类区块链700;优选地,本实施例的基于区块链技术的物联网环境管理方法是在雾节点100之间或雾节点100与云端200之间部署一个管理架构。如图2所示,该管理架构至少包括由多个雾节点100构建的至少两类区块链。两类区块链分别为第一类区块链600和第二类区块链700。优选地,第一类区块链600内的雾节点100在数据传输前进行身份验证,并且以非公开的方式共享数据。第二类区块链700以公有链的方式监控其与第一类区块链600共有的雾节点100公开的身份验证结果以及关于第一数据610可公开的第二数据611,从而能够在去中心化的同时降低性能需求和以雾节点100数量且身份无关的方式提高身份验证准确性。通过该设置方式,本发明在数据发出之前,即数据源头开始确保数据的安全性。同时利用第一类区块链的部分私有链特性以及利用第一类区块链的至少一个雾节点构建公有链,能够在利用共有链实现雾节点去中心化同时还减少公有链中的节点数量,进而减少共识机制所耗费的时间,进而这种架构由于公有链上的节点数量较少还降低了性能需求,通过在第一类区块链部署轻量轻量级的身份验证加密算法,能够达到物联网雾环境的轻量级性能需求,即与现有技术中部署轻量级加密算法的技术方案不同,其在部署轻量级加密算法之后由于节点数量较多共识机制所需要的计算需求较大,并且现有技术部署轻量级加密算法还同时部署各种安全机制以克服单一的非公有链无法全部滤除恶意节点后不诚实节点,而本发明的采用公有链的第二类区块链上存在第一类区块链上的成员,进而通过对该成员的监管以及本身第一类区块链上部署的身份验证方式,能够全部滤除恶意节点。相应的实验评估结果也表明了本发明验证的准确性,本发明能够正确区分所有待测节点的身份,不论其为安全节点或恶意节点,即不受测试对象属性的影响。而且还发现随着测试节点数量的增加,本发明的验证的准确性没有降低,即不论测试的节点数量多少,本发明的准确性均未降低。

优选地,本发明的区块链的智能合约包括第一智能合约800和第二智能合约900。第一智能合约800是对应第一类区块链600的智能合约。第二智能合约900是对应第二类区块链700的智能合约。优选地,智能合约部署在区块链网络的雾节点100内。智能合约编写期望实现的功能作为其内容。优选地,本发明的智能合约需包含的功能主要有表示数据添加的第一类操作、表示数据查询的第二类操作和表述数据修改的三类操作。优选地,还需将轻量级认证算法写入智能合约内。本发明通过智能合约可以执行节点管理和数据管理,增强数据源可信性。优选地,第一智能合约800具有第一类操作、第二类操作、第三类操作和身份验证、认证或者加密算法的需要。第二智能合约900只要是用于监管,因此其能够通过第二类操作查询到第二类区块链700上的公共信息。第二智能合约900可以通过第一类操作来增加新的区块。但是第二智能合约900无法进行第三类操作。

S200:建立第一类区块链600和第二类区块链700。优选地,第一类区块链600配置为:

为第一类区块链600内的雾节点100部署第一智能合约800;

在雾节点100未发出数据之前基于第一智能合约800对雾节点100进行身份验证;

第一类区块链600内的雾节点100同步执行身份验证和身份验证的结果;

基于第一智能合约800在身份验证通过的雾节点100之间执行表示数据添加的第一类操作、表示数据查询的第二类操作和表示数据修改的第三类操作,并将执行操作生成的第一数据610进行同步。

根据一种优选实施方式,第二类区块链700配置为:

为第二类区块链700内的雾节点100部署第二智能合约900;

基于第二智能合约900查询其区块链内的雾节点100的身份、第一类区块链600公开的身份验证结果和第二数据611来监控雾节点100。

优选地,雾节点100配置为按照如下步骤进行初始化:

S201:基于雾节点100的设备信息定义第一智能合约800或第二智能合约900。优选地,第一智能合约800和第二智能合约900均至少包括地址ID、要部署的区块链的属性、功能函数和内容数据,如图3所示。优选地,通过雾节点100的设备信息确定区块链的属性,进而确定雾节点100是第一类区块链600还是第二类区块链900。

S202:如图4所示,基于雾节点100的设备信息在第一类区块链600或第二类区块链700进行注册。将相应的数据存储到相应的地址。基于设备信息生成用于身份验证的身份值dev_fp。

S203:基于雾节点100的设备信息随机或指定选取第一类区块链600与第二类区块链700共有的雾节点100。或者在数据传输的不同时间段下随机或指定选取第一类区块链600与第二类区块链700共有的雾节点100。在本发明中,共有的雾节点100可以称为转换锚点30(Convert anchor point,CAP)。优选地,转换锚点30可以从已经注册的雾节点100选择。通过该设置方式可以在第一类区块链600和第二类区块链700中交接数据。优选地,可以根据时间戳设置并随机选取多个CAP。优选地,不同时段下CAP可以不同。优选地,新任命的CAP将加入第二类区块链700。在第二类区块链700通过公共网络的广播功能公开可用数据,例如身份验证结果或者第二数据611。

S204:基于雾节点100的设备信息生成区块头,并至少基于相关交易信息通过工作量证明的哈希值构建区块体,如图5所示。

S300:优选地,本发明的管理架构还需要建立各个雾节点100之间的通信。建立通信过程旨在为雾节点100之间创建无线通信网络,同时编写协议以完成数据和交易的共享。具体过程如下:

S301:访问请求功能的调用和执行:确定交易发起方、需求方和需求功能所在的智能合约,从而调用访问请求功能并执行相应的合约功能。

S302:生成区块:以数据和交易记录为内容生成新区块或更新区块内容。

S303:广播区块:借由第二类区块链700的通信网络,将指定区块广播到已注册的其他节点设备。

S304:访问区块:第一类区块链600和第二类区块链700网络中的现有设备可以根据块地址,对指定内容进行访问。

S305:生成交易区块:智能合约的访问和执行过程也将作为新交易保存在新区块上。

S400:优选地,对雾节点100要进行节点管理和数据管理。优选地,节点管理的步骤如下:

S401:预定义合法的雾节点100的身份值。优选地,在访问策略中基于“或”访问结构预定义合法雾节点100的身份值。获取待测试的雾节点100的身份值dev_fp。

S402:调用第一智能合约800对待测试的雾节点100的身份值进行验证。若待测试的雾节点100的身份值为合法的身份值,则调用第二类区块链700的区块生成函数以更新区块链,并将身份验证结果存储到第二类区块链700的合法节点列表中。

S403:若待测试的雾节点100的身份值为非法的身份值,则调用第一类区块链600的区块生成函数将非法的雾节点100的身份存储在第一类区块链600的拒绝访问列表中。优选地,还可以通过Remove函数将该设备从第一类区块链600网络中移除。通过该设置方式,可以保留安全或合法的雾节点100,使其能够对数据进行操作,同时使非法节点失去对私人信息的访问权限,阻止其对数据进行篡改。并且通过该设置方式,能够省略对同一雾节点100执行二次验证的冗余过程。

根据一种优选实施方式,雾节点100配置为按照如下步骤执行第一类操作:

S404:基于雾节点100的设备信息确定雾节点100所属的区块链;

S405:若雾节点100属于第一类区块链600,则基于地址信息调用数据添加函数并存储第一类操作涉及的数据;

S406:若雾节点100属于第二类区块链700,则将第一类操作涉及的数据广播发布以供监管的节点访问。

优选地,执行数据查询时第二类操作可以根据不同的区块ID来返回响应的查询内容。优选地,第三类操作与第一类操作的原理类似。不同之处在于需将修改后的数据或空值存储在区块中。

优选地,第二类区块链700可以实现第三方实体位于第二类区块链700上的监督作用。通过在第二类区块链700中广播可公开结果,监管方10可以执行该第二类区块链700的查询操作来监管第一类区块链600网络中每个实体的身份,还可读取可被公开的信息。优选地,可公开结果包括雾节点100身份的验证结果,以及部分可公开数据等。优选地,需要说明的是,以上监管过程中的各个实体仅具有查询功能,无权修改第二类区块链700上发布的内容。优选地,第二类区块链700上的查询操作过程如下:

S407:监管方10请求调用公共链的查询功能;

S408:管理架构根据区块ID返回指定内容,包括可公开数据或雾节点100身份验证结果;

S409:若该目标区块不存在,则报错。

实施例3

本实施例是对实施例1和实施例2所提供的物联网雾环境管理架构及方法的性能测试,以说明本发明的技术效果。

优选地,性能测试包括功能实验和性能实验两部分内容。功能实验用以验证该方案是否能够满足雾环境400下雾节点100设备的身份检测要求.即在数据传输过程开始前,确认该节点身份合法,存储于其中的原始数据可信并且可用。另外,验证了方案是否可以满足雾环境400下设备间数据管理的需要,即在保证数据传输安全的前提下,实现数据添加、共享等功能,且在不同节点间能够同步执行搜索和修改。性能实验主要测试本发明的管理架构及方法的执行效率,包括环境搭建时所耗费的初始化时间、雾节点100的节点认证和数据共享花费的时效等。

优选地,功能实验和性能实验分别在单节点环境与多节点环境进行。具体而言实验分为两个部分:

1、模拟一个小的雾环境400,其中包含有不同数量的雾节点100设备。在雾节点100管理方面,检查本发明的管理架构及方法的有效性,并记录不同雾节点100数量下身份检测的成功率,以观察该方案是否会受场景中设备数目的影响。优选地,还需记录不同雾节点数量下的初始化、节点检测等功能所耗费的总执行时间,以观察节点数对该方案的效率有何影响。

2、评估本发明的管理架构及方法的数据管理能力。即检测雾环境400下的设备是否可以按照本发明提供的方式正确执行所有数据同步操作。在此过程中,还需记录执行各个操作的平均运行时间,以评估本发明的执行效率。

优选地,首先构建一个区块链平台以及通信网络。优选地,第一部分实验旨在评估节点管理能力和执行效率。如图6所示,该实验中设置第一组织50和第二组织60为两个不同的雾环境400。在此基础上,第一组织50分别设置第一雾节点110和第二雾节点120,第二组织60下分别设置第三雾节点130和第四雾节点140作为同一局域下雾环境400中的两个不同设备实体。节点认证算法在第一智能合约800中实现,并部署在第一类区块链600网络中。优选地,验证算法的访问策略由一组具有“或”访问结构的合法节点身份信息预设而成。被测节点的信息存储在特定目录下,节点标识符由哈希算法生成,并通过访问策略逐一验证。通过该设置方式,可以模拟本发明的区块链网络下的不同节点设备自动执行身份验证并共享验证结果的过程。在此过程中,基于不同测试对象之间的属性和数量差异,分别记录其执行时间和准确率,并计算求得平均值。

优选地,第二部分实验旨在评估本发明的数据管理能力和效率。如图7所示,配置与第一个实验相同的雾环境400和雾节点100。与数据相关的第一类操作、第二类操作和第三类操作在第一智能合约800中实现,并部署在区块链网络中。通过执行这些操作,可以实现雾环境400下不同节点之间安全、高效和同步的数据共享过程。确切地说,当某一实体修改数据时,该网络中的其他实体也能实现同样的内容更改,或同步执行查询功能。该实验中,记录了此方案的执行时间和准确率。

优选地,本发明使用了部署在Windows 10操作系统下的VMware Workstation 15来构建实验所需的Ubuntu操作系统。该项目基于C语言和Go语言开发,Hyperledger Fabric提供了区块链方面的技术支持。该项目的部分功能基于Fabric开发,另一部分则在Ubuntu系统下设计和实现。设备配置信息如下:

硬件配置:Dell Inspiron 15-5577Notebook;操作系统:Ubuntu 14.04LTS;中央处理器:Intel Core i7-7700HQ CPU@2.80GHz;内存:1.9G;存储容量:65.4G。

优选地,实验结果如图8和图9所示。图8展示了对单个雾节点100进行身份验证的处理时间。从图8中可以看出,不同设备下的执行时间略有差别。10个安全节点的平均处理时间约为62.535毫秒,略微大于恶意节点49.261毫秒的验证时间。因此,本发明识别正常节点和恶意节点之间的处理时间差异非常小。即本发明在验证安全节点和恶意节点时的性能几乎没有区别,不受测试对象属性的影响。当处理不同类别对象时,执行时间可能会有细微的差别。图9直观反映了多节点下本发明的执行效率。从图9中可以看出,本发明在处理不同数量的雾节点100时具有不同的处理时长,并且验证时间会随待测节点数量的增加而延长。即验证时间与待测对象数量之间存在正相关关系。

表1展示了节点验证功能的正确率。实验结果分为两部分:单节点检测精度和多节点检测精度。在该部分中,验证的准确性体现在:不论雾节点100是安全节点还是恶意节点,本发明都能够正确区分所有待测节点的身份,而且无关乎待测节点的数量。优选地,根据下述计算式可以得出结论:

其中,式(1)和式(2)分别表示单个安全节点和单个恶意节点下的检测准确率。A

表1节点身份检测准确性

通过进行上述验证实验,可以看到无论条件如何改变,节点验证的准确率均为100%,且检测时间较短。即本发明的能够管理架构及方法能够成功识别雾节点100的身份,无论是合法节点还是恶意节点。而且不论待测节点数量多少,本发明的准确性均未降低。因此本发明在雾节点100的身份识别方面具有优良的性能。

优选地,关于数据处理的效率,表2展示了三种不同模拟场景下的性能表现。三种不同模拟场景分别为:1、单组织和单节点;2、单组织下包含双节点;3、双组织分别包含双节点。当执行数据添加的第一类操作、数据查询的第二类操作和数据修改的第三类操作时,通过分别记录执行时间,并计算得到多次测试后的平均时间以检测数据管理性能是否优良。同时,还需比较不同数量的组织和节点下,数据处理性能是否存在差异。需要说明的是,该过程的总处理时间包括初始化、调用链码(Chaincode)、广播数据、区块验证及提交等所有操作的时间周期之和。

表2不同组织和节点数下的数据管理效率

从表2中可以得到:组织和节点之间进行交互的次数越多,数据处理过程越复杂,所耗费的执行时间也就越长。即便针对同一节点,需要操作的数据量越大,时间成本也会随之增加。但该结果总体乐观,因为无论何种情况,总处理时长可接受,甚至是高效的。例如,本发明的1个组织加两个雾节点100的情况下,其处理时间最长的为148.628ms,远远小于同节点数量下需要的分钟量级的处理时间。

实施例4

本实施例是对实施例1和实施例2所提供的物联网雾环境管理架构及方法的应用场景进行说明和补充,以更好地说明本发明的实施方式。

优选地,本发明可以应用于车联网(Internet of Vehicle,IoV)、医疗保健(Healthcare)、工业(Industry Communities)、日常生活等(Livelihood)。优选地,在物联网的实施中,车辆在方便交通和安全驾驶方面发挥着重要作用。在车联网中,车辆的轨迹取决于交通信息,例如一个地区或一个城市的道路分布。因此,车联网的实现是不同车辆在行驶过程中采集不同区域的路况,如交通流量、道路拥堵、交通事故和天气状况等,这些综合实时数据将通过物联网进行共享,实现驾驶员的路外路线规划。在雾环境400中,每辆车的中心节点都可以看作是一个雾节点100,从作为终端节点300的车辆上的各个传感器节点获取、存储和预处理数据。最后,在雾环境400下,汽车通过物联网与其他车辆节点连接,实现数据传输。在这个过程中,攻击者对数据的篡改会导致传输的数据不真实、不可靠,最终误导驾驶员的判断,给用户的出行带来不便。此外,安全风险可能阻碍交通,甚至造成严重伤亡。将本发明的基于区块链技术的物联网雾环境管理架构及方法应用到车联网中,可以有效地保证不同车辆和不同车联网之间传输数据的完整性,避免恶意篡改数据所带来的安全问题。

优选地,在未来的智能城市中,自动驾驶将大大提升智能交通的能力。传感器和车对车(Vehicle-to-Vehicle,V2V)通信的使用将为车辆提供感知前方事故的能力,并提高数据交互的效率。此外,在自动驾驶领域,车辆对数据的实时安全处理和传输更加必要。通过共享路况数据,车辆可以实现自动路径规划和事故避免等自动驾驶行为。在这种情况下,将本发明的基于区块链技术的物联网雾环境管理架构及方法应用到该应用场景中,可以有效地避免由于攻击者篡改数据而导致的路况信息的错误判断。此外,本发明还可以降低车辆错误处理的概率,提高自动驾驶领域的安全性。

优选地,尽管现有医疗领域已经应用了大量的信息技术,但在医疗生产和患者安全方面远未达到承诺的标准。因此,在整个医疗过程中,如何保证起点传感器、中转节点和汇聚节点的数据可靠性和设备的可信性,以防止任何未经授权的访问和不必要的数据传输中断变得越来越重要。需要说明的是,物联网的思想在医疗领域得到了广泛的应用,特别是利用异构执行器和传感器的推荐解决方案、实时大数据分析的应用以及通过无线传感器网络(wireless sensor network,WSN)进行通信。例如,物联网可以应用于以下应用场景:当发生重大事故时,有大量伤员,不同地区的医院可能需要紧急调配资源来处理这些危重病人的救治,可以利用物联网技术实现异地医院间数据的自动传输,及时共享医院间距离、伤员状态、药品数量、床位等资源,实现资源的自调度。更重要的是,物联网技术的应用可以提高处理突发事件的效率,提高患者的康复能力,最终降低人员伤亡率。但是,如果这种物联网系统被用于保护人身安全,同时又被恶意攻击或入侵瘫痪,不仅容易破坏用户数据的隐私,还会造成信息处理的延误和信息的误报。因此可能会对人身安全造成间接危害。优选地,将本发明的基于区块链技术的物联网雾环境管理架构及方法应用于该场景,可以有效地避免攻击者对存储在医院中的私有数据进行篡改,同时保证数据共享过程中医院间数据的完整性,从而提高整个医疗系统的安全性。

优选地,在雾环境400中物联网应用的一个重要方面是工业界。目前,雾计算技术已经应用到工业生产的许多方面。例如,可以将雾节点100作为服务器进行构建和部署,作为实现数据质量控制的网关。而且,雾计算和边缘计算可以提高网站的性能,比如动态性和操作能力。优选地,在计算机科学领域,雾环境400和雾计算技术可以帮助处理资源管理、任务规划和中断请求。优选地,在金融和物流领域,雾计算技术可以用于资产预测、产品预订和定价。如上所述,雾计算技术已经应用于人类经济和社会发展的方方面面。因此,保证物联网雾环境400下数据流通的安全性是一个日益紧迫的问题。而且,无论在哪个领域,雾计算的节点间数据传输的安全性和传输过程中数据的可靠性是信息正常使用和功能的基础。因此,本发明的基于区块链技术的物联网雾环境管理架构及方法可以有效地应用于雾环境400,这不仅关系到工业生产,而且涉及到工业领域的各种应用。具体的,本发明的管理架构及方法可以为网关间的数据安全传输和控制、基站间的无线数据传输、5G移动网络下的数据流监控提供可靠性保证。优选地,本发明也可以应用于其它工业领域雾节点100间的数据传输。

优选地,除工业外,雾计算还影响着人们日常生活的方方面面。例如在雾环境400下,生活相关机构(水、电、天然气等)执行的资源配置更快捷、更高效,从而使人们的生活更加便利。优选地,智能电网是物联网快速发展的领域。随着微电网新模式的引入,电网正成为越来越智能化和高效化的基础设施。微电网由分布式发电机、储能装置和可连接到电网或自主运行的负载组成。优选地,分布式智能楼宇控制是雾计算技术的另一个发展方向,旨在改善人们的工作和休息条件。无线传感器的部署可以提供一种现代化的测量环境温度、湿度或建筑物内各种空气特性的方法,从而提高智能应用在周围环境中的效果。在这种情况下,所有传感器(如地板上的传感器)之间可以交换信息,进而可以组合起来形成可靠的测量。优选地,分布式决策可以用于雾节点100的设备响应和数据处理。优选地,系统的相关组件可以协同工作来调节温度、注入新鲜空气或打开窗户,自动执行各种方便的功能。例如空调可以去除空气中的水分,智能地增加湿度。优选地,雾节点100还可以整合目标运动跟踪并自动做出响应,例如可以根据照明强度打开或关闭灯光。优选地,雾节点100的设备还可以被分配到每一个楼层,并一起工作来实现更高水平的驱动,进而可以用于房屋安全监控。通过在雾环境400中应用上述智能手段,可以使得智能建筑保持其结构、外部和内部环境,从而节约能源、水和其他资源。但是,在上述应用中如果雾环境400中的数据无法顺利交换时,本应更加便捷舒适的人类生活将变得混乱不堪。例如电力配置不平衡、社会资源错位、智能建筑无法为人们提供更舒适的生活和工作环境等,都会给人们的生活带来不便。而本发明的基于区块链技术的物联网雾环境管理架构及方法可以保护上述应用的数据传输不受干扰,从而保证各种应用能够有序运行并定期实现功能。

本发明说明书包含多项发明构思,申请人保留根据每项发明构思提出分案申请的权利。本发明说明书包含多项发明构思,诸如“优选地”、“根据一个优选实施方式”或“可选地”均表示相应段落公开了一个独立的构思,申请人保留根据每项发明构思提出分案申请的权利。

需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号