区块链技术在物联网中的应用

2018-09-15 01:46郭少勇代美玲阮琳娜
信息通信技术 2018年4期
关键词:网关区块服务器

陈 骞 郭少勇 代美玲 阮琳娜 亓 峰

北京邮电大学 北京 100876

引言

预计到2020年,物联网中连接设备的数量将增长至500亿,物联网已经引起了人们的广泛关注,随着越来越多重要的设备(摄像头、家用电器、手机、个人医疗设备)连接到网络,物联网将会与我们的日常生活无形且紧密地联系在一起[1]。但同时,飞速壮大的物联网生态体系面临着不断增加的设备种类、呈指数增长的数据流量以及越来越严峻的信息安全防护等难题,特别是在当前物联网组网模式下,连入的设备通常采用中心化的代理模式或者服务器/用户端模式进行通信,中心化云服务器需要处理数以百亿设备产生的数据流量,这会给物联网带来极大的计算和成本压力。同时,由于信息过于集中化,所有数据都需要通过中央服务器进行存储转发,导致物联网极易受到攻击,造成信息的泄露和丢失。这些问题有可能成为物联网未来发展和应用的巨大障碍,而拥有去中心化和分布式特点的区块链技术给这些问题提供了解决的可能性。本文将主要描述如何将区块链技术运用到物联网领域,并重点介绍我们所提出的基于信息中心网络(ICN)和区块链的去中心化物联网。

1 基本概念

1.1 物联网相关概念

物联网(Internet of Things,IoT)通过网络技术将传感器、控制器和机器设备等连接起来,通过物物相连实现机器设备智能化管理和控制。物联网通常可以被定义为一个真正的对象,一个分散的、具有较低的存储容量和处理能力,同时旨在提高智能设备的可靠性和安全性[2]的对象。如图1所示,从技术架构上看,物联网可分为三层:感知层、网络层和应用层。感知层包括一组支持因特网的设备,这些设备能够感知、检测对象,收集信息,并通过互联网通信网络实现与其他设备的信息交换。例如,射频识别设备(RFID)、照相机、传感器、全球定位系统(GPS)等是存在于感知层的一些设备;在设备性能、网络限制和应用条件的约束下,将数据从感知层传送到应用层是网络层的任务。物联网系统从通信方的能力考虑,选择合适的短距离网络通信技术(如蓝牙和ZigBee)组合,利用这些通信技术,将来自于感知设备的信息传送到附近的网关[3]。网关在完成信息收集之后,利用例如Wi-Fi、2G、3G、4G和电力线通信(PLC)等互联网技术通过应用程序实现信息的远距离传输;物联网应用层负责信息接收和处理[4],该层接收来自网络层的数据,通过数据分析处理实现智能家居、智能城市、电力系统监控、需求侧能源管理以及可再生能源发电机的集成等应用功能。

图1 物联网层次图

1.2 区块链相关技术

区块链技术最早作为比特币底层的技术被提出,由于其具有去中心化、数据不可篡改、隐私保护性强等特点,自提出以来便得到社会各界的广泛关注。区块链技术最大的特点在于去中心化[5],通过数据的存储方式、共识机制、加密算法等一些关键技术的配合,在节点互不信任的系统中实现点对点的可信交易而无需第三方机构的参与,不仅提升了交易的效率,而且也保障了交易的安全性。接下来将简要介绍支撑区块链发展的一些关键性技术[6]。

1.2.1 数据存储

在区块链技术中,数据的存储形式通过Merkle树[7]完成,其将一段时间内的交易存储在一个区块中,并将其链接到最长的主链中。区块结构如图2所示,其中区块结构分为区块头和区块体两个部分,区块头用于不同区块之间的有序链接,区块体则包含了经过共识机制验证后的可信交易信息。由于最早时期区块链被用于数字货币的交易,因此区块体中的数据是用于双方进行交易时的一些信息,但随着区块链被广泛应用于各种领域,其存储的内容也不仅限于交易信息,而是作为可以存放任何可信数据的一种分布式存储系统。这也是区块链技术能够得到广泛关注的原因之一。

图2 区块结构

1.2.2 共识机制

作为区块链技术的核心技术之一,共识机制保障了存储在区块中数据的真实可信性,目前最普遍的共识机制是工作量证明(POW),其思想是通过分布式节点计算一个复杂数学问题来竞争记账权,从而保障数据一致性和共识的安全性。但目前共识机制存在的问题是性能效率比较低。

1.2.3 加密算法

加密算法同样是为了满足安全性需求而集成到区块链中的加密技术,目前应用的加密算法主要包含哈希算法[8]和非对称加密技术[9]。哈希算法是将一段信息转换成固定长度的字符串,并且不同信息转换成的字符串肯定是不一致的。哈希算法的主要目的是提取数据特征,用固定长度字符串标识信息。而非对称加密算法则是用一对公私钥组成的加密算法,用户可通过其他用户已知的公钥信息与其进行数据加密及信息的交互,由于公私钥的对应关系,只有用户本身能够对加密数据进行解密,而其他任何用户都无法进行查看。

2 物联网与区块链融合模式

当前物联网组网模式下,连入的设备通常采用中心化的代理模式或者服务器/用户端模式进行通信,设备只能通过云服务器进行验证连接。这样中心化的代理模式已经应用了几十年了,并且仍然在支持小规模物联网网络,正如我们现在所看到的,这满足不了日益增长的物联网生态体系的需求。随之带来的是中心控制的高成本、隐私保护难度逐年上升、个人入网极易受攻击、多主体的高协同成本等问题。而区块链的出现提供了一种可行的解决方案。

2.1 降低物联网的运营成本

随着物联网技术的进一步应用,数以千亿计的物联网设备的管理和维护将给生产商、运营商和最终用户带来巨大的成本压力。目前的物联网应用普遍采用中心化的体系结构,即所有的数据流都汇总到单一的中心控制系统。虽然随着云计算技术的普及和利用,现在物联网运营商可以通过云端的服务器集群提供物联网智能设备产生的数据存储和交换服务,但是随着连接设备数量的几何级增长,中心化服务需要付出的计算、存储和带宽成本也会增加到无法负担的程度。区块链技术为物联网提供了点对点直接互联的方式进行数据传输,整个物联网解决方案不需要引入大型数据中心进行数据同步和管理控制,包括数据采集、指令发送和软件更新等操作都可以通过区块链的网络进行传输。区块链技术主要从三方面解决了物联网的构架瓶颈问题[10]。

1)点对点的分布式数据传输和存储的构架。

2)分布式环境下数据的加密保护和验证机制 。

3)方便可靠的费用结算和支付。

2.2 解决物联网的隐私保护问题

随着物联网产业的不断发展,数据安全和隐私保护问题受到越来越多的关注。在斯诺登事件[11]之后,由政府和大型企业控制的网络服务的隐私被广泛质疑。特别在物联网领域,目前中心化服务构架的所有监测数据和控制信号都由中央服务器存储和转发。这些中央服务器收集所有摄像头传输过来的视频信号、麦克风录制的通话记录,甚至用户的奔跑节奏、心跳和血压的信息都汇总到中央服务器,并且通过中央服务器转发的信号还可以控制家庭中门窗、电灯和空调等设备的开启,直接影响着用户的日常生活。虽然物联网运营商一直宣称他们能够有效保护用户的数据安全和隐私,但是一系列的安全漏洞和隐私泄露事件的发生使用户无法真正信任运营服务提供商能够实现他们的承诺。事实上,政府安全部门可以通过未经授权的方式对存储在中央服务器中的数据内容进行审查,而运营商也很有可能出于商业利益的考虑将用户的隐私数据出售给广告公司进行大数据分析,以实现针对用户行为和喜好的个性化推荐,这些行为已经危害到物联网设备使用者的基本权益,从而使很大一部分用户拒绝接受连入网络的智能设备。区块链技术为物联网提供了去中心化的可能性,只要数据不是被单一的云服务提供商控制,并且所有传输的数据都经过严格的加密处理,那么用户的数据和隐私将会更加安全。在大数据分析技术被广泛使用的今天,用户可以自己利用数据的价值而不是被运营商进行劫持和外泄。

3 区块链与物联网融合应用场景

3.1 基于ICN和区块链的去中心化物联网

3.1.1 去中心化物联网通信概述

去中心化物联网通信功能覆盖整个物联网的网络层,它可以增强现有的基于NGN功能体系结构的物联网网络层通信能力,包括去中心化的管理能力、数据通信安全性、物联网设备和应用可靠性。

对于上层,该服务可以提供去中心化、不安全和不可信网络环境中如[ITU-T Y.2068]所规定的所有通信功能。并支持采用切片通信模式的物联网设备和属于不同物联网域的物联网应用之间的直接通信。对于底层,尽管这些终端设备属于不同的物联网域,但该服务可以支持物联网设备和网关可信访问能力。构成此服务的所有实体都可以由左侧管理功能进行管理。物联网特定的数据安全功能将在该服务中实现,而现在备受关注的网络安全也同样能通过该服务得到实现。

3.1.2 去中心化物联网通信需求

去中心化的物联网通信需要满足以下需求。

1)服务能力:提供[ITU-T Y.2068/Y.4401]中指定的所有通信能力。

2)数据传输安全:物联网数据透明地传输给物联网传输网络提供商。即虽然IoT数据是通过第三方的传输网络传输的,但是网络提供者不能通过使用例如深度报文检测(DPI)的分组检测技术获得数据内容。

3)数据传输可靠性:物联网数据共享过程不会受到传输网络中断的影响。

4)切片数据隔离:切片模式可用于多个IoT应用程序和设备之间的数据共享。不同的数据共享平面可以彼此隔离。

5)数据和通信实体的可信度:在去中心化物联网通信环境中,物联网设备、网关、应用程序和相关数据是可信的。

3.1.3 去中心化的物联网通信架构

去中心化的物联网通信功能架构将描述功能层的通信能力,以确保它能够满足上小节中定义的所有通信要求。功能架构由物联网通信功能组及其关系组成。

去中心化物联网通信架构的实现视图由功能实体及其高层关系组成。这种实现视图中的通信架构组成了三个域,如图3所示,包括基于区块链的去中心化命名服务域、ICN承载域和物联网通信域。

1)命名服务域:它构成了去中心化的命名服务器,可以相互协作为ICN提供可信任的数据命名服务。命名服务器的功能实体包括命名注册、命名解析和区块链。该域的区块链节点为通信领域和承载ICN网络领域的节点提供安全可信的命名服务。区块链存储节点的名称,其中包括承载网络节点和通信节点的ICN以及用于数据非对称加密的公钥。此外,区块链还为节点提供命名服务和公钥管理服务。

2)ICN承载域:IoT数据由ICN承载网络在该域传输。ICN具有广泛的优势,如内容缓存可减少拥塞并提高交付速度,简化网络设备配置,并在数据层面将安全性构建到网络中。ICN允许用户在不知道主机实体的情况下浮动数据请求。ICN可以比当前的互联网更有效地处理用户移动性和安全问题。

3)通信域:在该域中,物联网应用和物联网设备可靠、透明地共享切片的物联网数据。物联网设备使用其私钥对数据进行签名以确保数据源的可信性,然后使用授权的物联网应用方的公钥对数据进行加密。这保证了授权的物联网应用方可以获得数据内容,同时也保证了数据安全。如果物联网设备数据要被多个授权的物联网应用程序共享,则可以分别使用授权的物联网应用程序的公钥加密,并将加密的数据分别分发到ICN承载网络。这可以实现多个授权数据共享中的数据安全共享。

3.1.4 去中心化的物联网通信架构部署

去中心化物联网通信架构的部署由其功能组件及其高层次关系组成。去中心化IoT通信架构的部署视图如图4所示。

去中心化物联网通信架构的部署视图也由三个域组成:应用域、物联网通信域和物联网设备域。

1)物联网应用域:包括可直接连接到去中心化物联网通信服务或使用物联网应用网关的物联网应用。

2)物联网通信域:包括ICN和基于命名寻址形成网络的区块链节点,为物联网应用和设备提供去中心化的通信服务。ICN和区块链功能可以组合为一个节点,也可以分别组合为不同的节点。区块链可以建立为公有链、联盟链或私有链。

图3 去中心化物联网通信架构

3)物联网设备域:有两种类型的物联网设备使用基于ICN和区块链的去中心化物联网通信服务,一种是IoT通信网关,它支持多个设备的数据访问,另一种是物联网设备。

3.2 基于区块链的多层物联网

在对基于区块链的多层物联网进行网络建模时将物联网划分为多层次的去中心化网络,并在各级网络中采用区块链技术,保证整个物联网的安全性和可信性。网络模型将整个物联网划分为两部分:边缘层和高层次层,如图5所示。

3.2.1 边缘层

图4 去中心化IoT通信架构的部署视图

图5 提出的网络模型概观

边缘层为本地化的物联网提供实体的同时也为高层次层提供接口。在安全性方面,设备通过通用唯一标识(UUID)和相应的无缝哈希算法[12]进行身份验证,功能强大的设备可以选择支持数据传输的非对称加密算法。通常,边缘层与当前的集中式网络模型一致,而集中式网络模型主要的特征就是:云服务器管理设备数据并处理请求。但是,边缘层仍然与当前常见的物联网云服务系统不同。

1)由于在单个边缘层中设备的数量较少,相应的网络效率就比较高。根据目前的应用情况,限制中心网络能力的主要因素之一是有限的网络带宽。物联网设备一般通过心跳信号与云保持联系。当许多设备联网时,经常会出现对服务器的高并发访问的情况。此时,即使云服务器的计算能力足以处理高并发请求,互联网的带宽限制、网络的不稳定性以及服务提供商的约束依然会造成物联网实际应用中的延迟、拥塞甚至丧失响应等问题。作为比较,根据带宽,边缘层可以在一定程度上限制设备的数量以避免这种应用问题。相应地,由于云服务的灵活性,云服务器在边缘层可以通过重新部署来减少性能的损耗,从而避免资源浪费。

2)边缘层中的设备倾向于在地理上或区域上集中。理论上讲,边缘层只是一个逻辑概念,不应该限制设备的所处区域。但实际上,由于边缘层与局域网相似,设备的区域化可以更加有利于云资源的实际管理和优化配置。总而言之,边缘层是由指定的云平台或私有数据中心管理的小型中心物联网,具有某种类型的安全条例。

3.2.2 高层次层

高层次层是连接边缘层并实现物联网广域网功能的重要部分。实际上,边缘层可以由中心节点在内部定义,从整个网络结构来看,只需要为高层提供一个数据访问接口来表示边缘层身份。换句话说,边缘层相当于属于它所连接的较高层的一个节点,该逻辑也适用于高层次之间的连接。因此,完整的网络模型将具有以下结构:将边缘层视为第0层,将高级层视为第1层,然后处理第2层、第3层等。与边缘层不同,在高层中,网络是分散的。同一图层中的所有节点都以分布式方式运行,基于拜占庭容错(BFT)[13]算法来维护分布式记录的区块链,所有节点属于一个特定的层,这种方式易于实现自我管理并存在一定程度的容错性。多层网络模型的优点如下。

1)能够显著提升区块链技术的应用效率,降低其部署难度。目前区块链技术的主要问题[14]是记录块对节点能力要求较高,而节点数量较多时分布式一致性算法的响应速度就会很慢。将节点部署在多层网络模型中时,高层中的每个节点至少具有一个数据中心,并且具有足够的计算能力。另外,我们还可以将每层节点的数量限制为23~26,以减少区块链记录所需的时间和空间成本。

2)多层网络模型可以使整个物联网具有强大的自我调整能力和抗风险能力,并且可以对物联网进行抗风险能力的调整,达到减少资源损耗的目的。区块链被部署在每个高层次层中,这意味着即使单个高层次层被破坏,其他层也可以提供区块链记录,大大保证了整个物联网的安全性和可信性。

3.3 物联网中基于蓝牙低能耗(BLE)设备的区块链网关

在对隐私越来越重视的今天,人们非常关注物联网设备的安全管理和访问控制等问题。因此,有人提出了一种基于区块链的连接网关,该区块链网关自适应且安全地维护区块链网络中物联网设备、用户的隐私和偏好。在网关的保护下,可以有效避免个人隐私的泄漏。此外,这项设计还使用区块链网络作为数据处理和维护的基础架构来解决隐私纠纷问题。

这项技术被称为基于隐私意识的区块链连接网关(BC网关),采用区块链网络作为管理隐私偏好的基础架构,如图6所示。即BC网关使用了一种区块链隐私保护技术[15]来保护和管理用户信息,避免信息被篡改或者泄露。因此,当传统物联网设备正常使用时,BC网关可以为用户隐私提供有力的保护。此外,基于区块链的用户信息管理可以有效地解决用户与IoT应用程序提供商之间存在的争议问题。

图6 BC网关的架构

一般来说,涉及建议的BC网关的场景中主要有三种参与者类型:1)物联网设备的所有者或管理员;2)BC网关管理员;3)最终用户。

BC网关通过用户在区块链网络中的账户来判断用户和用户偏好,因此,用户可以使用相同的帐户连接到不同的BC网关,而不用为每个网关都注册一个账户。随着Android和iOS等主流智能手机平台的发展,BLE标准[16]已成为智能手机、可穿戴设备以及众多物联网设备进行通信的实际标准。BC网关关注用户附近基于BLE标准设备的相关情况,在现有技术中,BC网关为用户提供类似REST的界面,以便使用以下命令访问基于BLE的设备。

1)锁定/解锁BLE设备。

2)发现连接到网关的设备。

3)将读取或写入请求发送至BLE设备。

4)请求接收BLE设备特性的通知或指示。

BC网关将保持与相关的物联网设备的连接。因此,网关可以扮演调解人的角色,将请求转发给指定的设备,并集成来自设备的响应。最后,BC网关为用户提供接口来管理他们的隐私偏好,并根据用户的偏好确定是否可以将个人数据转发给物联网设备。

4 结语

随着技术的不断进步,物联网技术的发展和应用在最近几年取得了显著的成果,目前在世界范围内已经有数十亿个传感器和智能控制器投入使用,预计在未来几年这个数字还会成倍地增长。物联网终端设备数量的几何级扩张使得中心化部署方案的缺陷越发显露,区块链的出现为此提供了一种可行的应对策略。其去中心化的架构直接颠覆了物联网旧有的中心架构,不但大大减轻中心计算的压力,而且释放了物联网组织结构的更多可能,为创新提供了更大空间。其次,记录的准确性和不可篡改性也让隐私安全变得有据可循,而且在安全方面更易于防御和处理。在未来万物互联的时代,区块链技术必定能在其中发挥独一无二的作用,为网络业务和服务的创新带来无限的可能。

猜你喜欢
网关区块服务器
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
信号系统网关设备的优化
区块链将给媒体业带来什么
区块链+媒体业的N种可能
基于ETC在线支付网关的停车场收费系统设计
得形忘意的服务器标准
计算机网络安全服务器入侵与防御