在未来战争中数据的作用将越来越重要,数据的正确与否直接关系到战争的胜负,甚至可以说数据战就是未来战争的一种极其重要的形式。数据战可看成是在保护己方产生、存储、分发、处理、分析和利用信息能力的同时干扰敌方相同能力的能力。
随着以比特币为代表的各种虚拟币的热度不断提高,其背后的支撑技术——区块链技术也引起了业界的强烈关注。区块链就是一种网络上的各参与者都能共享但没有哪个单一实体能够控制的共享分布式防篡改数据库。由于区块链技术有去中心化、去信任、防篡改等突出优点,其应用已经不仅限于金融圈,逐渐进入到军事领域。包括美国和北约在内的多个国家和组织都在积极探索区块链技术在军事领域的应用。
利用区块链可提供一种数据战网络设计、运营和防御的新范式。区块链可用于在高度对抗环境中对敌作战, 让指挥官和参谋人员能可靠指挥和控制部队。区块链的机理是假设网络中存在敌方;利用未受损节点的数量优势压制敌方行动;让信息永久防操控或破坏。总之,区块链是在一个不可信的世界中创造了一种可信系统,有巨大的军事应用潜力。
区块链的概念
所谓区块链就是一种网络上的每个参与者都能共享但没有哪个单一实体能够控制的共享分布式防篡改数据库。换句话说,区块链是一种存储数字记录的数据库。网络参与者群体可以共享该数据库,所有网络参与者都可提交纳入区块链的新记录。然而, 这些记录只有经过该群组大多数人的同意(即获得共识)后才能添加到数据库当中。此外,一旦记录加入就永不可修改或删除。总之,区块链记录数字信息并保护其安全的方式是使之成为该群组一致认可的过往记录。
区块链是由中本聪( 化名) 于2008年与加密货币“比特币”概念一起首次提出的。中本聪的设想是“交易双方可以不经过金融机构直接进行在线支付。”然而,没有可信中央权威实体监督账目和交易,没法防止不诚实人的一币多花问题。中本聪的解决方案是采用一种带时间戳的、基于共识的加密标记交易分布式数据库,这些交易形成不能篡改的记录——区块链。比特币于2009年变为现实,从那时到2016年4月,比特币的市场资本总额从0增长到超过63亿美元,2018年更是超过1000亿美元。每天都有约660万比特币用户在全网进行12万笔交易,交易额超过7500万美元。
比特币是区块链技术应用的一个著名实例。曾经发生的每一次比特币流通、每笔比特币交易以及每笔比特币账目都记录在运行于开放互联网上的区块链数据库中,完全暴露在政府、犯罪组织和黑客面前。但比特币区块链从未被黑过。因此这一技术非常值得研究。
虽然许多年来,比特币实际上成了“区块链”的代名词,但二者明显是两种不同的技术。比特币仅仅是区块链的第一种流行应用,就如同Email是互联网的第一个流行应用一样。实际上,区块链应用潜力巨大。区块链的支持者将区块链的成熟度和创新潜力比作1992年的互联网(万维网之前的互联网)。然而,区块链技术只是简单利用了现有互联网基础设施,区块链技术的成熟进步速度是互联网的三倍,未来数年内就有望进入主流应用。
业界也认识到了区块链技术的潜力。自2013年起,有超过10亿美元风险投资投给了120个区块链初创项目。其用途各异,从金融到不可分割资产的跟踪和贸易,如钻石和艺术品, 到可作为法庭呈堂证供的数字公证服务。涉及的利益也比一开始有大幅膨胀。成熟的大型公司,如洛马公司、IBM、高盛等,也开始研究区块链在各自领域的潜在应用。
区块链解决了在部分参与者不可信的不可靠网络上可靠交换信息的数据科学难题。区块链安全模型从本质上假设整个流通中会有不诚实的参与者,他们不仅会制造虚假数据,而且会试图操纵诚实参与者传来的有效数据。区块链会利用各种消息传送和共识技术,拒绝无效数据,防止有效数据被秘密修改或删除,从而保证数据完好性。
区块链相比传统网络防御策略有三大优势:第一,区块链假设网络攻击既来自敌方也来自可信内部人员, 因此它不采用边界防护的方式,而是设计用于在一种冲突网络环境中保护数据。第二,区块链网络利用网络的集体力量积极对抗恶意行为者的动作。即,区块链会利用以多打少的不对称优势。最后,区块链实现安全性不依赖于秘密或信任。区块链中,没有终会暴露的所谓秘密,没有待保护的密钥,也没有可信管理者。区块链提供的是一种内在安全功能,还可根据应用需求在其上添加其他安全功能。正是有了这些优势,区块链才能在没有可信中央权威机构的情况下在开放的互联网上成功安全运行,并完全暴露给恶意行动者。区块链在敌方采取恶意行动的情况下仍能保护数据完好性, 因而对于军队在未来高度冲突环境中取胜有着巨大的军事实用性。
区块链技术构成
与大部分技术一样,区块链也综合运用了多项其他新兴技术提供独特的新功能和能力。
(表1 安全哈希函数输入输出实例)
哈希计算:数字指纹
区块链采用一种称为安全哈希算法(SHA)( 即哈希计算,hashing) 的加密术。与其他加密方式不同,安全哈希算法不使用所谓秘密,如口令或密钥。哈希计算规范是由美国国家标准技术研究所(NIST)开发的,可供政府和私营实体公开使用。哈希计算用于将任意长度的数字信息(如,文本、图片、视频等)转换为预定长度位的串。例如,通过SHA-256算法处理过的数字信息将输出256位的字符串, 相当于字母数字文本的32字符串。安全哈希值有两个重要属性。首先,该算法是单向的。即,不能根据输出推导出输入。其次,对于任意全局唯一的输入,输出字符串也是全局唯一的。通过相同哈希算法处理相同信息片段总是返回相同结果,同时不会有其他输入会生成同一结果。表1说明了这一点。通过SHA-1哈希算法处理某点地理坐标,生成的是一个40个字母数字字符的串。将位置经度小数点后第四位加1造成8.5米偏差后再次处理。这次处理后计算的哈希值与原始哈希值几乎完全不同。将一幅图修改一个像素或将某本书修改一个字母,也会出现类似情况。因此,哈希计算是在不直接检查数据的情况下验证一段数据完好性的有效工具。
(图1 区块链数据结构)
数据结构及其内容
区块链是一个由一群记录“区块”组成的数据库,每个区块都包含有到前一区块的加密链接,形成一个链。区块链开始的区块称为“创世区块”。新区块添加时,要堆叠在前一区块之上。区块链示意图如图1所示。区块链就像一本书中的书页。每个区块(书页) 都包括一个区块头(就像书页顶部的识别信息)和内容(如,书页中的文字)。每个区块的区块头都含有多段信息,而本文仅描述三段信息。区块头中首先也是最重要的是信息数字指纹, 即前一区块的哈希值。接下来是标识该区块创建时间的时间戳。最后是该区块的内容哈希值。
内容哈希也称为默克尔哈希,是默克尔哈希树最高节点(根节点)处的哈希值。默克尔哈希树是一种加密数据结构,利用数学方式将一个区块的全部内容链接到一个单一哈希值。让任意用户都可快速重构任意区块, 利用最少信息量证实其内容的完好性。区块链中每个区块都会链接到其前一个区块,因而具备内部一致性,不用检查任何区块的内容就可以验证一致性,就像不用读书的内容就可以验证每一页的存在一样。这种数据结构对于区块链安全性非常重要。
每个区块中存储的信息集合可以是任何数字内容,包括简单文本、结构化消息、图片和视频等。区块链中存储的任何信息都是永久安全的,都是永不可更改的历史记录。
确定区块链内容时需要在两个因素间进行基本权衡:机密性和文件大小。区块链中存储的任何东西都能被所有网络成员看到。这一特性的优缺点都很明显,优势包括能够轻松在全网验证信息,劣势则包括无法控制能看到该信息的人。文件大小也是个重要因素,因为完整区块链包含以往加入的每一条数据记录。如果数据记录太大且添加频繁,则区块链也会十分巨大,这就是所谓的“膨胀”问题。在去中心化的区块链网络中,膨胀问题更为严重,因为区块链中有多个网络节点独立构造数据库。
共识机制
共识就是一个不管有多少有缺陷过程也能让一套分布式过程就一个值或一个动作达成协议的过程。其正式名称为“拜占庭将军”问题。一种最著名的共识算法叫实用拜占庭容错(PBFT),在安全关键系统中普遍使用, 如飞机上的四冗余导航系统。在区块链网络中,共识机制用于防止不诚实行为人向数据库中写入可能无效的信息。任意给定区块链使用的具体共识机制取决于许多假设条件,包括双方间的信任度以及其利益的一致性,还包括网络形状和同步等相关因素。例如,比特币共识模型是一种去中心化和去信任模型。因此,每个节点独立验证每笔交易;独立验证新区块;在区块链中出现“分叉”时,独立选择算力最长的分支。从军事意义上说, 共识机制利用多数诚实节点对少量不诚实节点的数量优势实现对敌的不对称优势。因此,随着网络规模的增长, 攻击区块链会越发困难。
(图2 一般网络拓扑图)
网络体系
区块链可以采用多种网络体系, 从完全中心化到完全分布式体系,如图2所示。但无论采用哪种网络体系, 都要在安全性和效率间进行权衡。例如,在中心化网络中,所有外层节点都依赖中心节点实现网络功能。因此, 如果中心节点被攻击,则整个网络都可能受到影响。而另一方面,则是每个节点都独立于任何其他节点发挥功能的分布式网络。分布式节点个体受到侵害不会危及网络整体。
访问控制
区块链的访问控制通过两种方式实现:许可方式和非许可方式。非许可方式是公有链采用的方式,运作时没有访问控制。只要有适当软件和连接,任何人都能加入网络并与区块链接口,无需中央权威实体许可。相反, 许可方式,即私有链采用的方式,让管理员可控制网络参与者、能看到区块链哪些部分、谁可向区块链中写入、甚至共识群体的组成。
(表2 军用网区块链节点类型实例)
网络节点类型
网络节点既是区块链用户也是防御者。作为用户,网络节点既会生成待纳入区块链中的新记录也会利用区块链获取历史信息。网络节点也可通过参与共识机制的方式保护区块链,虽然并不是所有节点都参与每次共识过程,这要取决于访问控制等措施。任何区块链网络中的节点类型都会不同, 取决于网络用途。
在军事场景中,根据相关能力, 如处理、存储、通信等,可设想构建三类节点,包括全节点、部分节点和简单节点。每种节点的实例和职责如表2所示。全节点作为区块链网络的骨干, 最重要的功能是建立和维护区块链数据库的最新完整副本。其另一重要功能是生成新区块,然后分发到其他节点。接下来,全节点将验证新交易或收到的来自其他节点的区块,保证其符合共识规则并维护数据库的内部一致性。最终,与所有其他节点一样,全节点会生成和发送纳入数据库的新记录。
第二类节点是部分节点。由于平台设计上的限制,部分节点没有足够的能力维护区块链数据库的完整副本, 只保留只包含每个区块的区块头的区块链副本。如之前所述,区块头包括之前区块的区块头哈希值、时间戳以及当前区块内容的哈希值。这样,部分节点不仅可以验证区块链的一致性, 还可以完全验证每个新区块。一旦验证完成,则只保留该区块的区块头数据。在比特币中,这种受到限制的区块链模型将数据库大小缩小了1000倍,从45GB缩小到了只有45MB。然而,由于丢弃了区块内容,因此部分节点要验证任意之前的交易需要全节点的支持。
第三类节点是简单节点。如表2所示,简单节点只生成、发送和验证新记录。简单节点在设计上是能力有限的低成本商品化设备。但区块链网络中的这种节点对于共识机制仍很有价值。
区块链的军事应用
区块链技术在国防应用中非常有用。以下将描述三个具体用例。在这三个用例中,区块链无论对其运行还是支持都十分有用。
网络防御:数据完好性
网络防御是一种区块链技术的低成本高回报应用。如前所述,网络安全要依赖秘密和信任维护安全性,但这二者都无法保证。而区块链的运行与秘密和信任无关。斯诺登就是利用对其管理员身份的信任,复制了多份特权文件,然后篡改了可监控其行为的审计日志。
区块链则可通过两种方式保护真相。首先,它会将数字事件信息发送给区块链网络上的其他节点,让数字事件得到广泛见证。然后,区块链可利用共识机制确保这些事件在数据库中永不会被敌方修改,从而保证其安全。
区块链还可增强网络防御的边界安全策略,不仅仅是帮助在边界上修起高墙,而且还可监测高墙以及墙内的一切事物。现代系统的复杂度不断提升, 包括武器系统,漏洞越来越多,可检测性却越来越差。采用区块链不是要查找漏洞,这无异于大海