方 琳 中国信息通信研究院安全研究所助理工程师
物联网是继计算机、互联网与移动通信网之后信息产业的第三次浪潮,被视为第四次工业革命的核心支撑。物联网将全球海量的电子设备连接到互联网,将物理世界与数字世界由割裂转变为融合,实现人和物,物和物之间的自动化信息交互与处理,为工业、金融、医疗等各领域带来巨大的发展和经济效益。预计到2025年,物联网对全球经济影响将超过11万亿美元。
随着物联网如火如荼的发展,其暴露的安全问题也愈加明显,近两年攻击事件频发且规模巨大。2016年12月,M irai病毒在美国肆虐,病毒通过感染物联网设备形成僵尸网络并向域名解析服务器发起分布式拒绝服务(DDoS)攻击,致使大半个美国网络瘫痪。发生物联网僵尸网络攻击的主要原因是传统的网络安全模型存在缺陷,由于缺乏可靠的认证和共识机制,单点不信任在网络中扩散为多点不信任,从而形成僵尸网络。此外,考虑到物联网设备的终端能力不足、容量和计算能力受限等因素,传统的加密技术难以在物联网设备上开展应用,导致物联网在数据完整性尤其是防篡改方面特别脆弱。传统网络安全领域的防控措施在应对物联网的安全问题上已捉襟见肘,亟需新的物联网安全防护技术来应对日益严峻的物联网安全问题。
区块链技术作为近几年的研究热点之一,正快速从试验阶段迈向企业应用阶段。著名咨询公司Gartner在预测2018年对大部分企业公司影响显著的10大战略技术时,将区块链列为10大关键技术之一。区块链技术与传统中心式的管理和认证方式不同,它融合了分布式架构、P2P网络协议、加密算法、数据验证、共识算法、身份认证、智能合约等技术,利用基于时间顺序的区块和链进行数据存储,利用共识机制完成各节点之间数据的一致性,利用密码学体制保证数据的存储和传输安全,利用自动化的脚本建立智能合约,实现交易的自动判断和处理,解决了中心化模式存在的安全性低、可靠性差、成本高等问题。
区块链的基本工作过程如图1所示,当节点A向节点B转账时,产生的交易信息会以区块的形式以P2P的方式广播到网络中所有有效节点,节点通过共识机制对该区块进行认证,当该区块的正确性和有效性被认可后,该区块按顺序被添加到网络现有区块链中,A向B的转账完成。由于区块链中的信息得到了网络中大部分节点的一致性认同,因此该信息是无法擦除和篡改的,且所有节点都可以读取和查询交易信息。
区块链由区块通过链式结构形成,交易信息和区块之间的关系都存储在区块中,每个区块由区块头和区块内容组成。区块中的信息由安全散列算法或哈希(Hash)密码学技术计算得到,安全散列算法可以保证计算结果的唯一性和不可逆性。如对输入进行更改,则输出的散列值会发生变化,从而可以验证数据的完整性。
区块头由除交易信息以外的区块结构信息组成。先前区块的散列值记录本区块与前一区块连接的Hash值,用于连接随时间产生的区块组成链式结构。时间戳信息记录不同区块创建的时间。默克尔树(Merkle Tree)根节点的Hash值归纳本区块所有交易信息,该值以树型结构层叠计算交易信息产生,随着交易信息的变化而变化,通过最小量的信息内容验证交易信息的完整性,从而保证区块中的交易信息不被篡改。随机数是用于通过工作量证明机制验证矿工是否获得当前区块的记账权。
区块链形成中最重要的是节点之间的共识机制,用于保证分布式账簿在缺乏集中节点管理的情况下节点之间对交易信息的认证和记录达成一致,防止节点之间独立工作导致的区块增长中断和分叉。不同区块链系统的节点共识机制不同,典型的区块链共识协议包括比特币采用的工作证明(PoW)和Peercoin采用的权益证明(PoS)等。
在共识机制中最先完成PoW的矿工对本次交易记录创建区块,并以源节点形式负责向网络广播新的区块信息。邻居节点收到区块信息后,如果成功验证,则进一步传播到更远的邻居节点,直到整个网络大部分节点都对本次交易记录认证通过,则当前时间周期内所有交易形成的区块成功创建。区块链分布式的共识机制通过节点之间的信任和利益的一致性,以多数正常节点抵抗少数恶意节点的攻击,保证了每次生成区块的有效性和数据的完整性。
图1 区块链工作过程示例
区块链解决了在不可靠网络上可靠的传输信息的难题,由于不依赖于中心节点的认证和管理,因此防止了中心节点被攻击造成的数据泄露和认证失败的风险。区块链以其数学算法和数据结构,相比传统网络安全防护具有以下特点:
(1)基于共识的节点信任
传统网络的用户认证采用中心认证方式,整个系统的安全性完全依赖于集中部署的认证中心和相应的内部管理人员身上。如果认证中心被攻击,则所有用户的数据可能被窃取或者修改。而在区块链节点共识机制下,无需第三方信任平台,写入的数据需要网络大部分节点的认可才可以被记录,因此攻击者需要至少控制全网络51%的节点才能够伪造或者篡改数据,这将大大增加攻击的成本和难度。
针对云南省重点企业融资需求及市场形势变化,分行加快投行业务轻资本化转型,借助资本市场,助力云南省企业新增债券融资,多渠道、多方位加大力度支持云南省实体经济的发展。截至2018年9月末,恒丰银行昆明分行已成功为云投集团发行10亿元定向债务融资工具、祥鹏航空5亿元超短期融资券,同时凭借同业渠道,积极引入省外金融机构,促进“引资入滇”,为云投集团成功撮合发行32亿元公司债券。
(2)数据的防篡改性
区块链采用了带有时间戳的链式区块结构存储数据,为数据的记录增加了时间维度,具有可验证性和可追溯性。当改变其中一个区块中的任何一个信息,都会导致从该区块往后所有区块数据的内容修改,从而极大地增加数据篡改的难度。另外,区块存储采用的散列值算法也保证了数据的完整性。
(3)抵抗分布式拒绝服务(DDoS)
区块链的节点分散,每个节点都具备完整的区块链信息,而且可以对其他节点的数据有效性进行验证,因此针对区块链的DDoS攻击将会更难展开。即便攻击者攻破某个节点,剩余节点也可以正常维持整个区块链系统。
图2 区块链应用于物联网示例
区块链与物联网都具有去中心化和分布式的特点,区块链的身份认证、数据安全存储等安全特性具有解决物联网设备认证、数据完整性等安全问题的潜力。区块链应用于增强物联网安全上分为物联网物理非可信域和区块链域(见图2)。物理非可信域包含不同类型海量的物联网设备,设备将有物理世界具备的信息(如设备身份信息、位置信息、交易信息等)传输到区块链域,在区块链系统中的网络节点完成对信息的加密记录和存储,保障物联网域设备信息的真实性和完整性。
(1)区块链用于物联网设备认证
区块链技术可以采用非对称加密算法和智能合约,利用P2P网络中的网络设备节点对物联网接入设备进行鉴权。待接入物联网设备需向物联网平台和网络设备节点发送接入和鉴权请求,区块链系统根据节点共识机制来对接入设备的身份标识进行认证和管理,保证设备接入物联网平台的合法性。Filament公司已经通过分布式部署Taps无线传感器节点,结合区块链技术对物联网设备的唯一身份标识进行认证和管理。
(2)区块链提供物联网设备数据保护
区块链系统可以通过部署适当的验证节点对物联网设备生成的数据按区块存储,并把数据作为区块链交易向整个网络广播等机制,从而保护区块中物联网数据的完整性。全球最大规模的区块链公司Guardtime通过区块链分布节点之间的协商来提升智慧医疗中数据的机密性和完整性,实现了爱沙尼亚100万份用户医疗数据的安全性保证。
(3)区块链用于物联网防DDoS攻击
由于区块链采用节点共识机制,当小部分节点被攻击者控制时,剩余节点可以通过共识机制来区分恶意和正常节点,例如在节点共识协议中加入周期性检验,节点周期性对本身的区块链数据存储情况在网络中广播,如果部分节点存在数据被篡改情况,则其他节点可标识该节点不可靠,将其移除区块链系统,从而防止DDoS攻击和大规模的僵尸网络形成。
图3 物联网分层区块链架构示意
物联网可以运用区块链技术的安全机制建立一套可信的加密系统,从而提高网络安全性能。然而,与一般区块链技术应用于金融领域等分布式记账不同,一方面物联网设备的通信极大地依赖于底层物理特性(如信道的带宽和质量),当信道质量较差时,节点之间的通信会存在不对等,从而造成区块无法认证、计算资源浪费等问题,破坏了区块链系统的一致性;另一方面,由于物联网设备数量巨大,而且携带数据较大,对区块链的生成速率和区块的容量要求很高。区块链技术可以增强物联网安全,但是物联网中区块链的应用实际上是与区块链的低区块容量和完美信道传播是违背的。因此,应用区块链增强物联网安全具有一定的技术难题。
(1)数据通信的不可靠性
与互联网中计算机节点不同,物联网设备会受物理底层信息传输的影响。物联网设备可以通过无线接入的方式进行通信,例如分布式的无人机和车联网通信。如果无线链路质量较差,则节点的信息传输会不可靠,导致区块链网络拓扑发生变化,验证节点无法正常收到部分设备的信息,造成区块链系统存储数据的不完整。由于区块是按时间顺序存储的,因此节点通信不可靠导致丢失的数据将无法再恢复。
(2)区块记录的不一致性
在物联网中,由于设备的计算、通信能力和业务不同,产生的数据量存在地域性和设备性差异,这样会导致节点对物联网数据记录和区块的产生顺序发生不同步,导致网络节点出现不完整或者不一致的记录,从而形成不一致的区块链(分叉)。分层的区块链架构是解决上述不一致性问题的方法之一(见图3)。上层主区块链通过部署计算能力强容量大的节点对全网数据进行验证和存储,下层子区块链对部分物理区域或者部分设备的数据进行分块管理,且不同层的区块链数据记录速率可不同,从而降低了在大型网络规模上保持一致性的压力。
(3)区块链系统的容量问题
比特币区块链中每10m in生成一次区块,区块大小不超过1MB,因此比特币区块链容量上限为每秒7个交易,这样的容量是难以满足海量物联网设备及其大数据的需求。因此,如果要应用区块链实现物联网的数据安全存储,需要增大区块链系统的区块大小和区块生成速度。
区块链与物联网都具有去中心化和分布式的特征,区块链技术具有可靠的信息交互、完整的数据存储、可信的节点认证等安全性特点,将传统网络边界式防护为全网络节点参与的安全防护。在物联网中,采用区块链技术可以对大量的设备提供接入认证、数据保护以及防DDoS攻击,有效为物联网设备提供隐私和匿名保护,并且以灵活的数据交互和节点共识降低单点故障风险,在抵抗僵尸网络等恶意攻击中具有巨大的潜力。但是,一方面由于物联网设备的计算、存储和通信能力差异性较大,会带来区块生成的不一致;另一方面,海量设备的接入会导致区块链中存储的用户数据量剧增,对区块链系统的数据处理和存储能力带来一定的挑战。在未来应用中,还需对区块链系统做进一步完善,以更有效地支持物联网安全。
[1]Manyika J.The internet of things:mapping the value beyond thehype[R].Mc Kinsey global institute,2015..
[2]Zha X,NiW,Liu R P,etal.Secure data transmission and modelling in vehicular ad hoc networks[C].Globecom workshops,2015:1–6.
[3]刘永丹.基于区块链的网络空间安全技术[J].电子技术与软件工程,2017(20):215-217.
[4]张龚,刘德.区块链中的安全问题研究[J].数字技术与应用,2017(8):199-200.
[5]Kshetri N.Can blockchain strengthen the in ternet of things?[J].Itprofessional,2017,19(4):68-72.