本文来自微信公众号“中国保密协会科学技术分会”,作者/田晓滨。
01
引言
随着通信和半导体技术的不断发展,这些技术允许设备通过网络连接,并改变了机器和人类之间的连接方式。这种趋势通常被称为物联网[1]。
物联网中的设备可以被远程控制以执行指定的功能。设备之间的数据共享通过使用标准通信协议的网络进行。然而随着物联网发展,设备之间的连接正在增加,计算基础设施也变得更加复杂,因此容易遭受黑客网络攻击。
在过去几年中,区块链已逐渐成为一种具有较多特性、且能够解决物联网网络设备面临的不同安全问题的技术。区块链是保存区块链网络中发生的所有交易记录的区块序列。如图1所示,每个块包含块头和块体/事务计数器。
区块链技术称为公共账本,所有完成的交易都记录在区块列表中。区块链技术具有去中心化、持久性、匿名性和可审计性等关键特征。具有这些特征,区块链可以节省成本并提高效率[2]。
图1区块体系结构
02
区块链属性
2.1区块链工作步骤
区块链工作步骤主要包括:
1、节点通过私钥和公钥的组合与区块链网络通信。用户使用私钥对自己的交易进行数字签名,然后通过公钥访问网络。每个签名的事务都由进行事务的节点广播[3]。
2、区块链网络内的所有非交易节点验证交易。
3、挖掘。网络节点在固定时间内将每个合法事务收集到一个块中,并找到其块的随机数实现工作证明,并将该块广播给所有参与节点[4]。
4、每个节点收集新生成的块,并确认该块是否包含合法交易和通过使用哈希值来声明父块的准确性。确认完成后,节点将将区块添加到区块链,并应用交易以更新区块链。
2.2验证
区块链技术使用非对称加密技术确保消除重复问题。私钥对其他节点保密,公钥在所有其他节点之间共享[5]。此外,步骤1由创建交易的节点进行数字签名,该交易被广播到整个区块链网络。所有接收节点将通过使用初始化节点的公钥解密签名来验证事务。通过验证签名来验证事务,签名表明初始化节点未被修改。
2.3工作证明(POW)
如图2所示,工作证明包含查找用安全哈希算法256哈希的值的过程,通过运行哈希算法进行确认。在一个超大型的区块链网络中,所有节点都通过增加块内的随机数值来实现每个挖掘过程的校对工作,直到找到一个提供块哈希所需比特的值。
图2工作证明
03
区块链的特点
区块链包含去中心化、持久性、匿名性、安全性、可扩展性、弹性后端、高效率、透明性及智能合约等特点,具体阐述如下。
3.1去中心化
在集中式事务处理环境中,每个事务都需要通过集中式可信方进行验证,这会导致中心点的高成本和低性能。区块链不再需要第三方,其共识算法用于保持数据完整性和一致性[2]。
3.2持久性
一旦区块链网络中的验证节点验证了交易记录,其副本将在整个网络上广播,该记录不会从整个区块链中删除或回滚[2]。
3.3匿名性
在区块链中,节点使用公钥与网络交互,该公钥通过将用户的真实身份保密来在整个区块链网络上寻址节点[2]。
3.4安全性
区块链使用非对称加密技术来保护整个网络。节点使用公钥来寻址区块链网络,节点使用私钥来签署其发起的交易。通过使用其公钥验证事务创建者节点的身份。
3.5可扩展性
AS可扩展性与IPv6中的128位相比,区块链包含160位地址空间。这160位由ECDSA生成。区块链在IPv6上增加了43亿个地址[6]。
3.6弹性后端
IOT网络中的每个分布式节点都维护着整个账本的副本。这有助于保护网络免受任何潜在故障和攻击[7]。
3.7高效率
由于交易消除了第三方的参与,并可能在低信任条件下进行,因此验证交易所花费的时间将减少,而效率将提高[8]。
3.8透明性
对公共区块链网络所做的更改可由网络中的所有参与者公开查看。此外,所有事务都是不可变的,这意味着它们不能被更改或删除[9]。
3.9智能合约
智能合约是Nick Szabo于1994年推出的以太坊最有效的方面之一[10]。使用智能合约程序,其中定义了访问权限和不同的策略。以太坊支持许多编程语言来编写智能合约,如Solidity[11]。
04
物联网或问题的安全必要性
物联网具备三个基本特点:全面感知、可靠传输和智能处理。物联网的特点能揭示出其相关的安全问题,包含数据隐私、数据完整性、第三方、可信数据来源、访问控制、单点故障、可扩展性、非法使用个人数据及物联网网络信息共享等问题,具体阐述如下。
4.1数据隐私
由于服务和网络的多样化集成,设备上记录的数据容易受到相关物联网网络中现有节点的攻击。攻击者可以在没有所有者许可的情况下访问数据[12]。
4.2数据完整性
在集中式客户端-服务器模型中,攻击者可能获得对网络的未经授权的访问,并更改原始数据或信息并转发。例如中间人攻击[12]。
4.3第三方
在集中环境中收集的第三方数据由集中实体存储和控制,该第三方集中实体可能会错误使用该数据或将其提供给其他人。
4.4可信数据来源
在物联网环境中,很难知道数据的来源,任何人都可能在传输过程中更改数据。
4.5访问控制
访问控制是物联网网络中的一个主要问题。在物联网网络中,很难定义哪个节点有权访问数据并使用数据执行不同的功能。
4.6单点故障
基于物联网基础设施的集中式网络的持续增长可能暴露单点故障。在这种情况下,由于整个网络的所有数据都由中央机构存储和验证,如果中央点出现故障或故障,整个网络将受到干扰[12]。
4.7可扩展性
物联网通过互联网连接大量传感器和其他设备,用于信息共享和大量应用。它挑战了系统的结构和快速增长,以满足可扩展性。
4.8非法使用个人数据
物联网设备基本上是传感器和植入芯片,它们收集个人重要信息并通过互联网传递。收集的信息存储在任何公司的中央数据库中。这些数据可能暴露了用户的个人表现,用户的保密性面临风险[13,14]。
4.9物联网网络信息共享
物联网网络设备收集的信息被清晰地记录下来,信息集可能包含物联网设备网络数据负载或其运行日志。为了确认工具和测试的效率,信息的开放可访问性起着至关重要的作用。
05
用于IOT的区块链解决方案
物联网作为一个多网的异构融合网络,其安全性涉及到多个方面,非常容易遭受黑客攻击。而通过将物联网与区块链相结合可以增强物联网网络的安全性,具体阐述如下。
5.1数据完整性
区块链是一个对等网络,其中所有节点都有相同的记录副本。此外,新创建的块将被广播到整个网络的所有其他节点。一旦记录加载到区块链中,就不能修改或删除[7]。
5.2数据隐私
联盟区块链用于在区块链网络中提供数据隐私。如图3所示,用于特定目的的节点组合在一起,形成专用网络/侧链。每个侧链负责管理自己的物联网数据。参与一个侧链的节点不允许参与其他侧链的验证过程。联盟区块链具有访问控制,防止未经授权的访问[13]。
图3联盟区块链网络
5.3寻址空间
区块链包含160位地址空间,提供了比IPv6地址更多的地址间隔[6]。
5.4可信责任
每个操作记录都必须上传到区块链网络。这为每个操作提供了一个标识,并且每个操作都是可跟踪的。当在实体中检测到异常行为时,将使用区块链进行额外调查[7]。
5.5容错
区块链是一个点对点的去中心化网络,每个设备都有相同的记录副本,区块链可以防止单点故障。
5.6可信数据源
为跟踪区块链网络中的数据,给每个物联网设备分配了唯一id。从设备收集的数据与其id相关联,在计算数据哈希后,将数据提交给整个网络。这成为可信数据来源的基础[7]。
5.7消除第三方风险
区块链技术使设备能够在没有中间人或第三方的情况下执行操作,从而使其不受第三方影响[4]。
5.8.访问控制
通过使用智能合约,可以开发区块链程序,其中定义了访问权限和不同的策略。
5.9非法使用个人数据
使用区块链可以禁止非法使用个人数据。由于区块链对等存储系统可以验证和记录在物联网网络数据上完成的所有操作[14]。因此,在IoT的“联盟区块链”被提出的地方,隐私被扩展到了许多层面[13]。
5.10物联网网络信息共享
随着物联网网络信息共享规模的增加,因此基础存储成本也将增加。因此,信息集保存在起源地,并保留一个集中的服务器,该服务器将单独保存对这些起源地的引用。
表1描述了区块链的特点,通过这些特点可以解决物联网问题。
表1物联网问题和解决这些问题的区块链特征
06
区块链实施问题
区块链是一个分布式网络,匿名对保护隐私至关重要,区块链提供匿名意味着用户没有真实世界的ID。用户有一个公钥,用于在这个分布式网络上实现交易,可以通过这些ID和与其相关的IP地址的组合找到用户。此外,当用户使用多个公钥时,可以通过检查不同的地址是否属于同一用户来跟踪。匿名性的解决方案可作为未来区块链相关的研究工作[14]。
06
总结
随着高速网络和智能网络设备的兴起,物联网是下一个新型技术。本文旨在介绍区块链和物联网,并强调与物联网相关的安全问题。本文介绍了区块链网络的不同性质和特点,以解决物联网中的安全问题。此外,还阐述了区块链实施后未解决的问题。
参考文献
[1]M.Banerjee,J.Lee and K.-K.R.Choo(2017),’A blockchain future to Internet of Things security:A position paper’,Digital Communications and Networks,doi:10.1016/j.dcan.2017.10.006.
[1]Z.Zheng,S.Xie,H.Dai,X.Chen and H.Wang(2017),‘An overviewof blockchain technology:Architecture,consensus,and future trends.’,Big Data(Big DataCongress)IEEE International.
[2]K.Christidis and M.DevetsikIoTis,(2016)‘Blockchains and Smart Contracts for the Internet of Things,’IEEE Access,vol.4,pp.2292–2303.
[3]S.Nakamoto.(2008).’Bitcoin:A.PeertoPeer.electroniccashsystem,’https://bitcoin.org/bitcoin.pdf.
[4]M.Pilkington.(2016).’Blockchain technology:Principle and applications,’Research Handbook on Digital Transformations.
[5]M.Antonopoulos,(2014).‘Mastering Bitcoin.First Edition’.O’Reilly Media,USA.
[6]X.Liang,J.Zhao,S.Shetty and,D.Li,(2017),‘Towards data assurance and resilience in IoT using blockchain’,Conference Paper.
[7]Yu Zhang and Jiangtao Wen(2015),‘An IoT electric business model based on the protocol of bitcoin’.ICIN.IEEE,pp.184–191.
[8]T.Chollet,J.Castiaux,M.Bruneton and L.Sainlez(2013),(2015),(2016),’Continuous interconnected supply chain using blockchain and internet of things supply chain traceability’,deloitte blockchain.
[9]M.Gord,(2016),Smart Contracts Described by Nick Szabo 20 Years ago now becoming Reality,Bitcoin Magazine.
[10]Seyoung Huh,Sangrae Cho and Soohyung Kim(2017),’Managing IoT Devices using Blockchain Platform’,ICACT2017 February 19~22.
[11]M.A.Khan and K.Salah(2017)‘IoT security:Review,blockchain solutions,and open challenges’,Future GenerationComputer.Systems,https://doi.org/10.1016/j.future.2017.11.022
[12]M.S.Ali,K.Dolui and F.Antonelli,(2017)‘IoT data privacy via blockchains and IPFS’International Conference on the Internet of Things(ACM,New York).
[13]M.Conoscenti,D.Torino,A.Vetr,D.Torino,and J.C.De Martin,(2016)‘Blockchain for the Internet of Things:a Systematic Literature Review,’IEEE/ACS 13th International Conference of Computer Systems and Applications(AICCSA)