区块链在边缘计算与物联网安全领域应用
2018-12-28黄忠义
黄忠义
[赛迪(青岛)区块链研究院,山东青岛 266000]
1 引言
物联网即通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器、气体感应器等感知设备,按约定的通讯传输协议,把一切物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。简而言之,物联网就是“物物相连的互联网”。
经过近几年的发展,我国物联网产业快速成长,呈现出几方面发展特点:一是政策环境积极引导,国家出台相关政策积极推动物联网发展,国务院和各部委持续推进物联网相关工作,从顶层设计、组织机制、智库支撑等多个方面持续完善政策环境;二是标准制定不断完善,我国物联网标准化工作在国际上持续发挥积极作用,主导了一些重要领域标准的制定工作,逐步占据优势地位;三是技术能力逐渐成熟,我国在传感器、RFID 标签、操作系统、物联网芯片等方面的技术研发投入巨大,取得了长足的进步;四是我国物联网产业实力快速升级,包括物联网平台、智能传感器、智能芯片的产业正在蓬勃发展、不断探索、积极创新;五是行业应用全面拓展,工信部发布的《物联网“十二五”发展规划》指出,我国物联网发展与全球同处于起步阶段,初步具备了一定的技术、产业和应用基础,呈现出良好的发展态势。发展物联网对于促进经济发展和社会进步都有着重要的现实意义。目前,我国物联网在工业、能源、交通、物流、医疗、安防等领域已经取得广泛成熟的应用。
2 物联网安全问题
在我国物联网产业不断发展的同时也伴随着大量物联网安全问题的产生。目前,物联网主要面临四大安全隐患问题。
(1)数据保护。很多设备收集的是敏感数据,不论是从商业角度,还是从管控角度,数据的传输、存储和处理都应该在安全情况下进行。在设备层,设计和生产终端设备的ODM、OEM厂商几乎没有考虑数据采集和存储的安全问题,缺乏从硬件到软件的安全防护措施,如安全芯片、加密软件、访问权限软件等。在网络传输层,缺少有效的防火墙和入侵检测系统,往往导致中间人攻击(MITM)等形式的入侵,造成数据泄露、数据丢失等安全问题。
(2)攻击范围扩大化。物联网时代会有更多的设备在网上,这样终端设备等基础设施会进一步扩大,且不同厂商生产的嵌入式终端安全级别参差不齐,攻击者会不断试探破解。与用户的终端不同,很多物联网设备需要永久在线和实时连接,这一特征使得它们更容易成为攻击的目标。
(3)设备层恶意篡改和接入。攻击者非法篡改感知数据,影响上层应用的数据分析和处理,更有甚者通过一个终端设备的恶意接入在网络中传播网络病毒,导致物联网网络层的瘫痪。对物联网运行过程的攻击,会让更多基础设施、设备和应用成为攻击目标,通过DoS攻击或通过危及、破坏个人设备。
(4)僵尸网络和DDo S。未得到有效保护的物联网设备可能会招致僵尸网络攻击,大大降低企业的效率,长期如此将会导致企业声誉的损失。据估计,2016年至今,Mir ai僵尸网络已经感染了约250万个物联网设备,包括打印机、路由器和联网摄像头。僵尸网络的创建者用它来发动分布式拒绝服务(DDo S)攻击,包括攻击网络安全博客KrebsonSecurity。实际上,攻击者利用被Mirai感染的所有设备,企图同时试图连接到目标网站,希望搞垮服务器,防止任何人访问网站。
3 边缘计算与物联网结合的安全问题
边缘计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。边缘计算处于物理实体和工业连接之间,或处于物理实体的顶端,边缘计算的基本架构如图1所示。
图1 区块和区块链的组成
物联网是边缘计算发展的重要驱动力,反过来,边缘计算又是支撑物联网落地的技术基础。如果将物联网比喻为一种应用,那么边缘计算就是其技术内核。对物联网而言,边缘计算技术取得突破,意味着许多控制将通过本地设备实现而无需交由云端,处理过程将在本地边缘计算层完成。这无疑将大大提升处理效率,减轻云端的负荷。由于更加靠近用户,还可为用户提供更快的响应,将需求在边缘端解决。边缘计算与物联网的结合有三种表现模式。
首先,边缘计算的低延迟和交互性。云计算有延迟,尤其是Io T产生的数据,上传云端计算,再返回设备,时效性太差。应用场景如实时语音翻译、无人驾驶等对实时性要求特别高。再如,应急反应和应急联动等场景,当Io T设备收集到数据时,首先要做的是关闭煤气阀门,而不是传到云端再去处理。这就是低延迟的重要性。
其次,从可扩展性角度考虑。云计算满足不了目前大规模爆发的物联网数据计算需求。Io T联网设备和产生数据的增长量远大于云计算的增长,但边缘节点可以迅速扩充。
最后,有许多数据可以本地计算,不需要云计算。比如,机器产生的数据、电表数据、环境监测数据等数据并不需要云端处理,在本地端或者边缘端处理即可,可避免带宽的浪费。再如,海上钻井平台,只需要将监控有问题的数据传给服务器即可。
边缘计算层作为物联网终端设备与云端处理中心的中间隔离介质,能够很好地弥补终端设备安全性能较差的问题,通过在边缘计算网络域中增加物理网关和防火墙设备,能够有效防止网络攻击和终端设备的恶意入侵,避免物联网运行过程中遭到攻击和破坏。
虽然边缘计算能够通过硬件隔离方法防止一定程度的网络攻击,且边缘计算已经广泛应用于智能交通、智慧医疗、智能电网、智能工厂、智能城市等关键领域。但随着物联网的不断扩大和分散,边缘计算分布广、环境复杂、数量庞大、在计算和存储上资源受限,并且很多应用在设计之初未能完备的考虑安全风险,传统的安全防护手段已经不能完全适应边缘计算的防护需求。可以将边缘计算视为有运算能力的微型处理设备,从边缘计算的架构来看,其本身架构也考虑到设备安全、网络安全和数据安全三个方面的安全隐患。
(1)在设备安全方面,边缘计算设备由于数量众多,位置分布比较分散且环境十分复杂,很多设备内部是计算能力较弱的嵌入式芯片系统,很难实现自我安全保护。
(2)在网络安全方面,由于边缘计算庞大的网络分布体系和复杂的分布环境,导致额外增加网络隔离设备的成本巨大,分散布局的边缘计算设备无法得到有效的网络隔离,一旦被入侵或者攻击,会导致整个物联网的瘫痪。
(3)在数据安全方面,由于设备安全和网络安全得不到保证,边缘计算内置嵌入式芯片数据存储本身不会自带加密机制,导致存储数据很容易泄露及篡改,且数据的连续性得不到保证的情况下,对云端的数据分析具有严重的影响。
4 区块链与边缘计算在物联网安全领域应用
4.1 总体架构设计
边缘计算虽然能够缓解物联网安全问题,但对于呈现逐渐爆发趋势的物联网庞大的终端设备体量来说,边缘计算的覆盖范围受到了严重的限制,且本身由于覆盖范围、复杂环境等因素影响,安全问题也不断暴露出来,导致物联网安全问题没有解决,又新增许多边缘计算的安全问题;导致数据在边缘计算设备中毫无安全措施,数据泄露、数据篡改、数据破坏、隐私保护都得不到有效的安全防护,对于物联网安全的改善反而起到了事倍功半的效果。
区块链的产生能够很好地解决边缘计算的安全问题。区块链技术的四大特点是分布式数据存储、点对点传输、共识机制、加密算法。区块链解决的就是非安全环境中的可信问题、数据安全问题、身份权限问题和隐私保护问题。从边缘计算的角度来说,其安全体系大概分为四类:数据安全、身份认证、隐私保护和访问控制,具体的安全体系结构如图2所示。
(1)数据安全。数据的主要内容包括数据保密性与安全共享、完整性审计和可搜索加密。终端产生的数据存储在第三方,造成数据的所有权和使用权分离。数据丢失、数据泄露、非法数据操作(复制、发布、传播)等问题频发,数据安全无法保证。区块链采用分布式加密存储技术,哈希函数及非对称加密算法的应用能够防止数据泄露、数据泄露、散布和传播。边缘计算节点在完整数据的初步分析和处理后会将数据进行加密上传至云端节点,同时本地存储数据哈希值,防止数据在传输过程中出现篡改和泄露。
(2)身份认证。传统的边缘计算各个终端设备并没有身份认证体系,也就不存在信任机制,恶意终端可以随意接入,传播病毒和软件攻击信息。导致物联网运行瘫痪,影响生产和生活。区块链可以为通过边缘计算为其下每个终端设备分发数字证书(公私钥),接收数据时,首先要验证数据身份证书,数据只有通过身份验证后才能进行边缘计算和数据上传。
(3)隐私保护。针对移动终端用户,隐私保护是边缘计算急需完善的问题,区块链对隐私保护具有完善成熟的解决方案,如零知识证明,环签名、群签名的技术,为用户提供模糊签名和零知识证明应用,加强了移动物联网的个人隐私保护。
(4)访问权限。边缘计算不同域之前及终端设备之间都可以通过区块链技术分发数字证书,作为访问边缘计算权限控制手段,数字证书可以控制访问的范围、操作的层级和数据的权限,提供更安全的运算与存储环境。
基于区块链与边缘计算的物联网安全体系架构包括了终端设备、边缘计算设备、云平台存储层(IaaS)。按节点分类可分为云节点、边缘计算节点和终端节点三类。整体区块链体系采用联盟链架构,共识机制只在安全自主可控的云节点中进行。云节点指的是在云平台的Iaa S层划分出若干节点虚拟机,平台管理者能够控制各个云节点参与共识提交账本数据。具体的基于区块链与边缘计算的物联网安全整体架构如图3所示。
图2 边缘计算安全体系架构
图3 基于区块链与边缘计算的物联网安全整体架构
如图3所示,各终端节点包括移动电话、智能移动终端、物联汽车、视频监控、生物识别等,边缘计算节点及云节点之间通过点对点网络进行连接,通过加密算法进行数据上链及数据存储,通过共识机制实现共同信任。各节点之间的网络连接及节点功能划分如图4所示。
图4 各节点功能及网络结构图
如图4所示,终端节点只具有路由功能,负责连接更多的终端设备,边缘计算节点与其附近的终端设备连接,成为物理意义上的父节点,但边缘计算节点不能参与共识,其在对终端数据进行运算和处理后之存储各个区块的哈希值,并不是真正意义上的全账本,只是具有全账本的哈希值。云节点负责账本存储、共识、路由和应用等任务,云节点是在物联网云平台上划分的多个虚拟机,虚拟机负责共识出块和全账本存储,并可以通过开发区块链应用来管理和监控整个物联网网络。
4.2 技术实现
在对比了现有联盟链框架基本特性后,采用以太坊联盟链框架搭建基于区块链和边缘计算的物联网安全防护系统,系统的宗旨是在对现有物联网改动最小的前提下实现新的基于区块链的物联网安全体系。系统采用以太坊PoA共识机制在云节点之间进行共识出块,沿用经典以太坊数据结构和数据存储机制,在加密和隐私方面采用多种加密算法相结合的方法实现了数据加密传输、加密存储、不可篡改、可追溯等功能。系统沿用以太坊智能合约功能,利用智能合约将终端数据写入区块链,并利用以太坊提供的Restf ull风格的API函数及Web3.js开发包实现上层应用的开发,从而实现物联网全节点管理、数据管理、权限管理、账户管理等功能,系统区块链的具体框架如图5所示。
图5 区块链基本结构图
区块链结构分为数据层、网络层、共识层、合约层、接口层、业务层和应用层七部分。
(1)数据层。主要包含了数据结构和存储两部分重点功能,区块链延用经典以太坊的数据结构和存储机制。区块结构包括了区块链头和区块体,其中包含的参数如图6所示。
其中,区块头包含了区块的大部分重要信息如交易哈希值、状态哈希值、父哈希值等,区块体主要保存的是不同的交易信息。区块的存储也是将区块体和区块头分开存储与Level DB中,其中Key值为区块链头或区块体的哈希值,Value值为区块头或区块体的整体编码值。
此外,在数据层还要实现数据的加密存储,系统采用非对称加密和对称加密的方法实现数据的加密存储和读取权限的控制。
数据内容的加密满足了平台对节点账本权限的要求,即用户可以通过自己的私钥解开加密内容,而不涉及业务相关内容的节点和用户则无法看到具体内容。另外,如果业务相关方希望将数据分享给其他节点,只需要将对称随机秘钥用接收方的公钥进行一次加密即可,避免了多次重复的对加密原文进行处理的复杂过程。
图6 区块结构体图
图7 对称加密与非对称加密结合的加密和解密示意图
(2)网络层。区块链延用了经典以太坊的P2P网络结构,P2P网络架构天然是去中心化的、分布式的。此外,对于单一个体只需要与相邻的一部分同类有通信即可,每个个体可与多少相邻个体、哪些个体有通信,需要根据具体业务需求进行设计。
(3)共识层。区块链采用以太坊联盟链共识算法Po A(Proof of Authority)权威证明共识机制,是由一组授权节点来负责新区块的产生和区块验证。Po A是以太坊针对部分商业化许可区块链需求推出一种低成本、高效率的共识机制。Po A共识初期形成可设定具有投票权或者签名权的认证节点,区块链上的新发生交易需经过认证节点签名后才能够完成上链广播,对于后期新加入的节点,认证节点也可通过签名投票的方式来决定是否允许新节点的加入。整体共识机制流程如图8所示,该流程大体可以分为三个部分:区块的产生、区块的验证和投票机制。
图8 PoA共识流程图
在安全系统中由云节点负责真个区块链网络的共识和出块,并管理联盟链中的各节点权限和认证。
(4)合约层。系统通过EVM(Ethereum Virtual M achine,以太坊虚拟机)实现智能合约的执行。EVM虚拟机是以太坊的一个重要创新,EVM是由许多互相连接的计算机组成的,任何人都可以上传程序,并让这些程序自动执行,同时保证所有智能合约的状态总是可见的。系统通过智能合约将加密的终端数据写入区块链的合约账户并保存,这样将确保数据的完整性、连续性和安全性。
5 结束语
论文通过论证了区块链、边缘计算与物联网三者之间的关系以及边缘计算如何解决物联网痛点和安全性,并对边缘计算与物联网相结合所产生的安全问题进行分析,并利用区块链技术从根本上解决了边缘计算与物联结合所带来的数据安全、网络安全和设备安全的问题。论文提出来基于区块链技术的安全体系架构及部分技术实现方法,采用以太坊基于联盟链的区块链框架搭建了整个物联网防护体系,解决了物联网安全漏洞问题,提高了数据安全性。