李阳阳,江艳梅,刘明生,3,彭 浩
(1.中国电子科技集团公司电子科学研究院 社会安全风险感知与防控大数据应用国家工程实验室,北京 100000;2.河北工业大学 省部共建电工装备可靠性与智能化国家重点实验室,天津 300000;3.石家庄铁路职业技术学院,河北 石家庄 050081;4.北京航空航天大学 网络空间安全学院,北京 100000)
2009年中本聪(SATOSHI NAKAMOTO)第一次提到了区块链的概念[1],也是区块链出现的最早的时间。他把区块链定义为比特币的底层技术,提出利用“工作量证明机制”来使区块链中的每个参与者获得参与计算的资格;随着区块链中参与者计算量的增多,区块链的规模也不断增长,同时也达到分布式的一致性。第一代区块链随着比特币的出现而诞生,早期的区块链技术主要以数字货币为主题,其应用集中于货币转移、兑换和支付等[2]。2013年,随着以太坊白皮书[3]问世,新一代的区块链技术架构被提出。2015年7月,以太坊FRONTIER版本发布提供智能合约服务,并且引导第二代区块链诞生,该架构具有接收、处理、存储以及传输数据的功能,能够对区块链上多种资产进行智能化操作和高效率的管控[4]。2015年,英国央行提出了央行数字货币的理念、构想和模型,并明确表示要发行央行数字货币[5],并于2016年,央行提出了RSCOIN模型,该模型成为世界上第一个央行数字货币,而这种货币的供应和发行仅受到中央银行或其他被授权机构的控制[6]。2015年12月,由DHA、IBM等公司和LINUX基金会共同组成的研究团队,提出了一个新的区块链项目超级账本(HYPERLEDGER)的概念。至2017年,超级账本的核心架构 FABRIC 从实验阶段已经发展到了发布阶段,该架构所提供的多种功能和标准中,主要体现了支持快速开发和模块化的体系结构,以及构建实现私有许可的区块链的工具[8]。2019年,FACEBOOK发布了LIBRA白皮书。LIBRA作为一种相对稳定的加密数字货币[9],它的共识协议主要是基于LIBRABFT的BFT机制,通过确保所有验证节点对是否执行交易和交易执行的顺序实现共识。与其他共识算法相比,该协议具有更高吞吐量和更低延迟的特点[10]。
区块链技术具有不易篡改、很难伪造、可追溯等特点,因此研究基于区块链的网络安全关键技术具有重要意义,主要体现在以下三个方面:(1)从底层技术层面加强网络安全维护。该方面利用信息采集系统可将数据实时上传至区块链系统,并利用区块链不易篡改、很难伪造、可追溯的特点,对网络传输中各环节进行有效记录;利用区块链的智能合约,实现网络管理服务自动化、智能化,同时可提高管理效率。(2)有利于优化网络治理方案:网络空间安全治理涉及到网络空间管理、运营商和用户等多方面,而传统管理方式因为受用户不均、流量分布和产业布局等因素的影响,网络供应商与用户没有实现同步信息的真正共享,使得网络分布极为不合理、产业没有形成规模化;区块链技术可以实现信息的真正共享,能够提高网络治理上下游协作的效率,形成产业规模化,优化网络布局和降低成本。(3)有利于发展智能化网络安全管理:使用大数据、数据挖掘、机器学习等技术实现网络智能化调度。该方面主要实现网络信息实时上传至区块链系统,建立网络安全信息平台;使用机器学习技术实现各个环节协作,动态规划网络传输方式;为服务器端及用户端提供智能化调度和信息的集中处理;合理配置网络流量,提高流量的利用率,降低网络维护成本。
本文以基于区块链技术的网络安全治理的需求为主要研究背景,深入分析了基于区块链的网络空间安全的关键技术以及未来的发展方向问题。针对当前区块链技术存在的性能低下、可扩展性差和跨链难的问题进行分析,并提出有效的解决现存问题的思路和方法;针对现存网络空间的信息存储需求问题,提出通过研究高性能、可扩展的联盟区块链技术来解决;针对网络空间智能交易和支付问题,通过研究现有的发票系统和支付系统,提出利用区块链的智能合约生成技术来实现网络空间交易和支付的智能化操作,即利用合约立即结算功能,促使交易更加自动化、便捷化,并且保障交易的合理性、规范性、一致性和正确性;针对网络空间安全治理信息化程度要求高及目前技术无法进一步提高效率等问题,提出使用物联网技术、区块链技术和人工智能技术,实现网络实时数据分析和预测功能;针对网络空间治理业务应用的需求,构建了基于区块链技术的网络安全综合应用示范并制定了相应的行业通用标准,该标准可以作为联盟区块链的实践技术进行推广时使用。
针对传统的网络空间表现出的易被攻击性,目前的网络安全技术难以实现网络空间的全面保障以及有效的应对越来越复杂的网络威胁等问题,本文提出了利用基于区块链的网络空间安全关键技术。区块链技术具有分布式存储、共识机制、智能合约和密码学等特点,可以有效的应对网络空间的安全威胁。区块链核心的技术特征是能够实现信息在去信任的网络空间上的可靠交换,该特征使区块链技术在网络空间安全领域具有更大的发展潜力。
区块链通常分为公有链、联盟链和私有链。联盟链中各节点需要通过验证授权后才可以加入和退出网络,这些节点有相对应的机构组织;每个机构组织都根据相关利益组成联盟,一起维护区块链网络。本节主要研究了高性能、可扩展的联盟区块链技术,研究内容包括高效安全的联盟链共识机制、系统架构和跨链通讯协议。
1.1.1 高效安全的联盟链共识机制
联盟链主流共识机制包括 PBFT和RAFT算法,但是这两种算法的共同缺点是性能会随着节点数量的增加而变差,而且缺乏可扩展性。为此,本文针对PBFT和RAFT算法的不足,提出了一种改进的算法,即使用动态授权和异步的机制改进PBFT和RAFT算法。该算法能降低区块链的交易处理时间和时延,在保证区块链的安全性能的前提下,实现了联盟链共识机制的高吞吐量。
1.1.2 联盟链系统架构
针对目前联盟链模型通用性不强,交易处理及可扩展性较差等问题,本研究利用多分片的联盟链架构技术,每个分片都是一条单独的区块链,具有各自的状态(账户余额、智能合约)和交易历史记录;该结构采用分组模式支持,根据节点数量进行水平扩容,节点数量不受限制,同时支持共识扩展、单多链模式。在保证多分片的联盟链的安全性能的前提下,使得许可区块链具备高吞吐量及可扩展性。
1.1.3 联盟链的跨链通讯协议
该协议在联盟链中实现了身份许可和权限管理机制,并且实现了参与共识的节点都具有唯一公开的链上身份和可追溯的链下身份,目前现有的跨链通讯协议,如公证人机制、哈希锁定、中继链、分布式私钥控制等,都存在一些缺点,本文提出一种能够支持同构联盟链的新型通讯协议,支持实现同构联盟链跨链交易,保障事务的一致性。
主要研究保证发票和支付系统安全的智能合约生成技术,包括区块链上智能合约构造方法以及区块链上智能合约常见代码缺陷识别。
1.2.1 区块链上智能合约构造方法
智能合约即服务的智能化服务模型,主要研究智能合约运行机制、生命周期、自动部署机制和实时监管机制。基于微服务基础构架的智能合约构造,实现了智能合约持续交付和快速部署技术。智能合约自动生成技术,实现智能合约的自动生成、组合、定制和执行,以及根据实际场景和应用生成相关智能合约,实现提高智能合约服务部署效率。
1.2.2 区块链智能合约常见代码缺陷识别
对智能合约代码常见的缺陷进行分析,使用机器学习方法建立智能合约的代码缺陷判别模型。通过人工标注和特征提取的方法提取常见代码缺陷的特征,常见代码缺陷,如整数溢出、变量覆盖、逻辑错误、伪随机数等,使用机器学习方法对智能合约常见代码缺陷进行建模,分析智能合约代码常见代码缺陷的特征,分析智能合约中引起缺陷的编码模式,实现智能合约的代码缺陷识别。
主要对网络空间的数据分析和预测技术进行研究,包括网络空间数据分析、成本优化、需求智能匹配和调度、趋势预测等。
1.3.1 网络空间数据分析
通过汇总分析网络空间信息数据,对信息数据进行统计分析研究,实时追踪信息流向、用户分布和流量分布情况。
1.3.2 网络空间治理成本优化
通过使用数据挖掘技术,对网络空间客户、运营商、监管部门的各种信息进行分析,采用优化的理论方法建立成本模型,对治理方式进行分析,研究智能化管理规划算法。使用机器学习和人工智能的方法,对运输方式和路线进行动态规划,实现优化治理成本。
1.3.3 需求智能匹配和调度
将网络空间安全治理中的客户需求、监管规则、运营规则等进行分析和挖掘,采用推荐算法,如协同过滤算法,对监管部门的需求进行智能匹配,自动根据规则生成监管方案,实现提升安全运行效率。
1.3.4 网络空间趋势预测
使用深度学习的时间序列模型LSTM等,对网络安全的发展趋势进行数据挖掘与预测分析,包括监管规则、用户需求、技术手段等多层次因素,对网络空间发展趋势进行预测,进而更新治理方案,为管理决策提供理论和技术支撑。
如图1所示,目前区块链技术作为提高网络安全性能的一种有效的手段被广泛应用到各领域,如用于抵抗金融风险、用于商业服务、提供云架构、确保供应链安全、物联网安全等。
图1 区块链技术与网络安全的技术要点和应用领域
区块链在降低网络安全风险方面具有显著的优势。下面概述了区块链结构所支持的安全特性:(1)区块链的分布式体系结构增加了整个网络的弹性,避免了暴露在单个访问点或故障点的情况。(2)共识机制的使用提高了共享账本的整体健壮性和完整性,因为网络参与节点之间的共识是验证新数据块的先决条件,并且降低了第三方的破坏或操纵账本的可能性。(3)区块链还为参与者提供了更高的透明度,使得通过恶意软件破坏区块链变得更加困难。(4)基于云平台的区块链。由于云平台的访问控制和许多其他保护措施,区块链具有更强的网络安全保护功能。
Scott[11]指出利用区块链技术,可以建立信任和促进网络和平。他在文中分析了区块链技术从提高企业效率到记录账本,再到促成智能合约的发展都受到众多组织的青睐,但在很大程度上忽略了区块链技术在金融、证券和版权领域之外的发展。也分析了区块链技术通过对促进跨多个行业和部门的企业网络安全的潜在影响来解决这个问题。为了利用区块链技术建立信任并加强跨系统、网络和部门的网络安全,可以通过制定针对性强的方法和商业计划。
Eric[12]指出区块链目前正在获得关注,但质疑该技术的可扩展性、安全性和可持续性的批评者仍然存在。
Kshetri[13]评价了区块链在加强网络安全和保护隐私方面的作用,并进一步介绍了与区块链对物联网安全影响相关的关键底层机制。从安全和隐私方面考虑,它强调了基于区块链的解决方案在许多方面可能优于当前的物联网生态系统,后者主要依赖于集中式的云服务器。
Alex[14]从以下几个方面详细讲述了区块链可作用于网络安全的原因:(1)区块链上的信息被保存在多个地方,因此不会出现单点故障(即分散存储);(2)区块链上的信息不能更改;(3)用户认证;(4)可以使用分布式公钥基础设施对设备和用户进行身份验证,而不是使用密码。
Chia[15]指出区块链技术涉及很多安全漏洞,提出通过使用STIX格式构建的数据库解决该问题。针对智能合约和激励机制,提出在部署之前使用软件测试的方法来发现缺陷和漏洞。
微软发布的“推进BLOCKCHAIN网络安全:金融服务业的技术和政策考虑”白皮书探讨了网络安全与部署在金融服务行业的区块链技术之间的关系[6]。针对如何让区块链适合更广泛的网络安全目标,以应对现存和正在出现的网络安全威胁。区块链和任何新兴的金融服务技术一样,必须从网络安全风险的角度进行评估,无论是对单个金融机构,还是对更广泛和相互关联的金融服务行业。网络安全是政策制定者和金融机构的首要关心的问题。
Singh[17]等人指出区块链是金融和网络安全的未来。介绍了区块链是一个分散的分类账,用于安全地交换数字货币,执行交易和交易。网络中的每个成员都可以访问加密账簿的最新副本,以便验证新交易。本质上,区块链可以看成是一个分布式数据库,它维护一个不断增长的防篡改数据结构块,该数据结构块包含多个独立事务。完成的块是按照线性和时间顺序添加的。每个块包含一个时间戳和指向前一个块的信息链接。
分布式账本技术和网络安全是加强金融领域信息安全的重要手段。文献通过详细的分析分布式账本技术的基本原理及架构特征,网络安全存在的必要性,提出加强金融领域信息安全的方法[18]。
Decusatis[19]等人提出了针对商业区块链服务的基于身份的网络安全解决方案。认为虽然区块链技术服务有望改善许多不同行业的信息安全问题,但仍有一些棘手的网络安全问题需要进一步解决。提出了一种基于“云技术”的区块链用户身份管理新方法,该方法能够有效的解决网络安全复杂多变的性质,同时该方法具有很好的通用性和借鉴性。
网络安全、区块链和加密货币是法律和技术的相互作用的结果[20]。区块链技术的快速发展引起了很多行业的关注,并带给金融业的最显著的表现是它改变了金融行业的运营模式。区块链和加密货币在全世界共享价值、信息和数据方面都发挥了重要作用,而随着区块链技术的成熟,也是法律和技术协作发展的结果。
Malomo[21]提出通过支持区块链的联合云框架实现下一代网络安全。最大限度地减少网络攻击是所有组织和政府关注的重大问题。网络攻击有可能在受害者发现并部署网络防御系统之前几天甚至几年都未被发现。由此提出了一个支持区块链的联合“云计算”框架,该框架通过对网络攻击流量的持续监控和分析来减少BDG。并使用数值结果来评估所提出的方法,并且所提出的方法优于传统的方法。
Deepak[22]等人提出区块链正在成为网络安全领域最有利、最具独创性的技术之一。区块链是一个分散的安全框架,在萌芽状态下,该技术已经成功地取代了各种组织中的经济交易系统,并有可能改造不同行业中的异构业务模型。尽管它承诺提供一个安全的分布式框架,以促进所有用户和第三方之间的信息共享、交换和集成,但是对于计划人员和决策人员来说,深入分析它在其行业应用程序中的适用性非常重要。概述了这种跨分布式参与方实现安全性的技术。
Banerjee[23]等人提出了针对物联网安全的区块链的未来发展方向。物联网(IOT)设备越来越多地出现在民用和军用环境中,鉴于物联网数据集的潜在敏感性,有必要制定一个标准,在利益相关者之间共享物联网数据集。因此,在提出两种基于区块链的概念方法之前,假设区块链技术有促进物联网数据集的安全共享和保护物联网系统方面的潜力。在此基础上,提出了九个可能的研究问题。
随着区块链技术的成熟,越来越多的研究人员关注了区块链技术在各行各业的应用,主要研究体现在以下几个方面:(1)在以太坊区块链上进行网络安全渗透测试[24];(2)网络安全由人工智能和区块链驱动[25];(3)从比特币到网络安全:区块链应用与安全问题的比较研究[26](采用基于属性的加密方法,提出了一种改进的访问控制策略);(4)论区块链的网络风险管理:一种博弈论方法[27];(5)通过使用区块链连接信任解决全球网络安全问题[28];(6)安全和信任-网络空间计算的新挑战[29];(7)Ishare:基于区块链的隐私感知多代理信息共享游戏(用于网络安全)[30]。
本文总结了区块链的概念、框架结构和特征,深入分析了网络空间安全所存在的问题,提出区块链技术可作为当前网络安全领域的关键技术来解决网络空间现存的一些问题,列举了区块链的一些应用案例、前沿发展方向以及对未来研究的展望。区块链技术本身就是一种分布式的安全框架,这一特性使得区块链正在成为网络安全领域最有利、最具独创性的技术之一。无论是在区块链架构上讨论安全问题还是将该技术运用到网络安全领域,都将解决目前各行各业所面临的网络安全问题。虽然目前区块链技术仍然面临各种各样的挑战,但是随着人工智能、大数据和物联网技术的快速发展以及与区块链技术的相互融合,这些技术将共同作用于网络安全领域,并使网络安全技术能不断提升。