基于区块链的军事数据安全研究
2018-10-15孙岩雷震詹国勇
孙岩 雷震 詹国勇
被誉为“数字经济之父”的Don Tapscott认为,对人类未来几十年产生最大影响的科技已经到来,它不是社交媒体,不是大数据,不是机器人,甚至也不是人工智能,而是支撑比特币这一数字货币的底层技术,这项技术被称为“区块链”.Tapscott认为区块链会对货币、商业、政府以及社会带来非常深远的影响[1].
区块链有可能引领新一波的技术浪潮,它正越来越吸引着全球相关从业人员的广泛关注,无论是行业巨头,还是初创型公司都纷纷投身其中,积极寻求如何利用区块链这项技术进行业务革新或者商业模式的创新方法,从而充分利用它的技术特性来提升作业效率和降低业务成本.也正是存在这种潜在的革新能量,区块链很可能会给相关行业和产业带来颠覆性的变革.
虽然大多数研究者认为区块链在金融、征信、身份管理、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景[2−6],但正如一千人心中有一千个哈姆雷特一样,我们所观察到的区块链,以其最典型的应用比特币为例,从2009年上线以来已经在全球范围内7*24h不间断运行了8年之久,在这个系统中,有数以千计的网络节点,没有任何管理中心的运维参与,完全没有防火墙、网闸、入侵检测、防病毒、容灾备份等保证网络系统可用性和安全性的辅助保障系统,甚至软件本身的代码都是开源的,居然挡住了全球无数黑客的光荣和梦想.这些完全有别于传统信息技术手段的特质,也正是最为吸引人们眼球的地方.
依循这样的思路,本文力求从我们所理解的区块链基本概念与相关技术特点出发,并且结合我们对于信息安全CIA三元组中“完整性”概念的认识,阐述基于区块链技术的“主动完整性防护”的安全新理念,并为在这个理念下的信息安全解决方案在军事系统和数据的安全性防护方面提出一些有别于其他研究者的新认知.
1 区块链的概念与技术特点
因为在设计和实现中利用了分布式系统、密码学、博弈论、网络协议等诸多学科的知识[5],大多数刚接触的人士均认为区块链概念晦涩难懂,不同的研究者提供了不同的认识,我们所认同的区块链概念,从技术角度看,是一种由多方维护,以块链结构存储数据,使用密码学保证传输和访问安全,能够实现数据一致存储、无法篡改、无法抵赖的技术体系[2].与传统的数据库存储技术所不同的是,在区块链网络中,数据不再是存储在一个中心化的数据库系统中,而是利用先进的密码学技术分布式记录在所有的区块链节点中,每一个节点都能复制获得一份完整的数据副本,同时因为这些节点之间又采用了复杂的共识算法来确保数据的一致性,所以即使网络中部分节点遭受到黑客攻击或者因为故障而停机,也不会影响整个网络系统的正常运行[4−5,7−9].
关键是,区块链系统中用以存储数据的区块,每一个区块与前一个区块,乃至再前一个区块之间通过哈希算法相连,也就是说,如果不知道前一个区块的内容,就无法生成当前这个区块,因此,每个区块必定按照时间顺序跟随在前一个区块之后,这就使得从第一个区块(创始块)开始一直到当前区块,连接在一起形成了一条长链,这也是区块链概念的来源[9−10].区块链区块结构如图1所示.
这样的存储结构特性,使得如果有黑客想要篡改一个区块里面的数据内容,那么需要篡改的就不单是这一个区块,还包含这之后的所有区块,即从这个区块开始向后的所有的数据历史,而这些历史不仅是存在于一台服务器上,而是同一瞬间遍布各地的所有区块链节点上,并且这些数据历史还在使用密码学相关技术进行保护.这样对于数据存储和管理的新方式,使得区块链系统相比较传统的信息系统,拥有更为安全的特性[5].
大多数研究者虽然赞同区块链技术带来了安全增强的特性,但仍然认为区块链当前是难堪大用,认为其吞吐性能差(7tps),交易的确认时间长(60min),甚至使用的POW一致性算法浪费电力资源等[5].认同这种观点的研究者实际上混淆了比特币和区块链两者间的概念,作为一种新的技术框架体系,区块链从最初的比特币脱离之后,其概念、内涵,以及技术均获得了长足进步.以Hyperledger下Fabric 1.0区块链平台为例,我们在实际测试中获得超过500tps的吞吐性能以及1s的交易确认时间,测试表明现阶段区块链技术完全能够担当实际生产与业务部署.
2 基于完整性的数据安全概念
众所周知,NIST 的《计算机安全手册》[NIST95]将“计算机安全”这一术语定义为“对于一个自动化的信息系统,采取保护措施确保信息系统资源(包含硬件、软件、固件、信息/数据与通信)的完整性、可用性和机密性”.从这个定义引进的完整性、可用性和机密性3个概念成为衡量计算机安全的3个关键目标,它们也经常被称为“CIA三元组”[11−12].数据安全的CIA三元组如图2所示.
在过去的40年中,信息系统的安全性问题几乎等同于数据的机密性问题.相比较机密性,在CIA三元组中,人们一直轻视完整性问题.虽然如今随着网络威胁变得更加普遍、持续和复杂,人们已经能够意识到数据可能随时会受到攻击,但大多数时候关注仍然集中在机密性上,因为它更易于理解(比如客户信息的泄露),但几乎所有的数据泄露都是由完整性漏洞导致的(恶意软件的入侵,导致被用来确保数据安全的系统,其本身的完整性受损等等).所以说完整性是确保机密性的先决条件,如果没有完整性,机密性的意义就会名存实亡,给组织带来的安全感也是虚幻的,并最终可能导致在安全体系上的崩塌[11−12].
如果将数据看作一座城堡,传统的安全保障措施,比如反病毒、反恶意软件、防火墙以及入侵检测等系统,此类系统保护数据安全的要点在于在城堡外面修建高高的围墙,反复确认,反复审核,反复监督,再反复构建一个又一个的系统堡垒,雇佣一个又一个的安全工程师,交付一个又一个的渗透测试项目,来确保数据不被人偷窥或篡改,这样的措施当然有效.但也有它的不足之处,比如不能100%确定围墙是否能正常工作,也没有系统或技术很好地度量这一点;云计算模糊了系统的边界;面对内部恶意人员的无奈等.更甚至还有一个严重的问题,那就是无从获知网络入侵事件在被侦测到之前,攻击者在网络中的停留时间,这个过程可能已经长达数月,期间宝贵的数据可能已被泄露而不自知.数据外泄过程如图3所示.
所以新的数据安全方案不仅需要着力怎样防止外来入侵者,而且可能更需要关注对于数据本身的安全防范机制,在于是否能够快速了解有人已经在城堡内部进行了渗透,他们又做了些什么.也就是说,我们必须采取积极措施预防安全事件的发生,而不能等到事件发生之后才开始行动.如何独立验证在数字基础设施中发生的状况?如何独立确定安全事件所产生的影响?以及如何独立确定数据外泄的责任分配?就大多数信息系统而言,获取上述证据有一定难度,再加上组织对“可信”系统管理员的依赖,因此,获取上述证据的情形变得更为复杂.我们需要新的方法和手段,以明确识别遭受损失的原因、受影响的数据资产、损失发生的时间,以及资产在组织之外是否面临风险等等.
3 军事数据完整性的主动防护
我们认同区块链技术在军事领域有非常广阔的应用场景,比如武器装备全寿命跟踪、军事人力资源管理、军用物资采购、军用物流等方面的潜在应用,但相比而言,我们认为区块链技术更为重要的价值,可能在军事领域数据完整性的安全性防护方面[13].
军事系统和数据的完整性和真实性问题尤其突出,是因为武器系统和作战系统的效能发挥必须依赖于可信的数据,而现代战争中网络战是非常重要的战斗手段,黑客利用中心化的数据库和单点故障进行网络攻击使得整个敌方系统瘫痪,或者通过盗取并伪造身份信息篡改数据使得敌方踏进安全陷阱,这些潜在风险的存在,意味着作战人员可能会面临着数据真实性不明的情形,极为可能基于恶意数据做出错误决策[14−16].比如我们如何确定无人机作战平台上当前运行的程序是我方最初安装部署的原始程序,而不是敌方经过攻击之后篡改过的;在此前提下,我们又如何确保无人机侦察平台传回指控中心的数据是最初拍摄或摄录的原始数据,而不是敌方恶意欺骗的.基于区块链的“主动完整性防护”信息安全防护方案工作原理如图4所示.
我们论及的基于区块链技术针对军事数据安全构建的“主动完整性防护”新方案,其工作原理大致是:军事网络中待保护的数字资产(比如路由器、防火墙、应用程序、虚拟机、配置信息、审计和事件日志、IaaS/PaaS、静态数据、其他关键IT资产等)运用数字签名算法,产生“数据指纹”,并在区块链上存储和记录这些指纹.如果能够确认最初这些重要资产是“清洁”状态(未被污染过的),那么这些资产的真实性和完整性就可以随时得到验证,对于这些数据或者文件的任何修改就可以被周期运行的自动化侦测程序很快发现.即便黑客最终能够突破漏洞、修改系统日志文件、甚至是调整安全系统中的策略,但只要留有踪迹,从而就能通过被安全模型计算实时感知,这就使得入侵者无法掩盖自己的偷窥行为,也能够快速地就是否有黑客入侵或者有数据库篡改等危险行为提醒网络管理者.
从论述的工作原理得知,“主动完整性防护”的信息安全防护新方案在如何确保数据的完整性上,共计分为两个主要步骤:
第1步,注册待保护数字资产的“数据指纹”到区块链上.
数字资产“数据指纹”的产生依赖数字签名技术,我们都知道数字签名一般用来验证某数字内容的完整性(integrity)和来源(或不可抵赖,nonrepudiation).数字签名下的“数据指纹”,它包含数据的签名时间、签名主体以及完整性的原始状态,这些信息用来验证待保护资产的完整性.
将“数据指纹”记录在区块链上,是因为区块链与传统的数据管理技术相比,它非常适合用来为别的重要数据或资产提供存在性、真实性、一致性、完整性的证明,存储在区块链系统中的数据,从根本上防止了恶意的入侵者以及“善意”内部人员的非法访问,没有任何技术方法能够改变区块链内数据记录的真实性[5].正是这一特点,我们采用区块链技术来作为整个方案底层的可信和可靠的基础设施.
第2步,依据数字签名持续性监测这些资产的完整性状态.
要实现持续性监测的目的,我们就需要一个代理程序驻留在待保护数字资产的宿主服务器上,这个代理程序能周期性执行,带自我保护功能,占用较少系统资源,按照指定的规则自动扫描和发现资产,并向后端服务器发送对于这些资产的数字签名和验签的服务请求,同时服务请求和响应的全流程能在极短的时间内完成.
依据工作原理和拆解的主要工作步骤,组成“主动完整性防护”方案的功能模块或组件大致如下,其架构关系如图5所示.
•代理程序Agent
•数字签名的服务网关Gateway
•数字签名的核心服务组件Core
•安全加固的硬件平台
•固化的操作系统
•优化的区块链平台
•可视化的管控中心
方案要求在每一台需要进行完整性防护的宿主机上安装代理Agent,安装过程中会完成与管控中心的连接数据配置.随后,会通过管控中心为每一个代理分配一个账号,代理通过该账号连接管控中心,获取代理的配置和一定数量任务.
代理的配置是影响代理工作效率的主要因素.代理的任务,主要分为两类,一类是长期执行的任务,另一类任务是短期执行的任务.长期执行的任务主要是资产扫描的任务,该类任务主要是管控中心通过配置资产扫描范围而制定;短期执行的任务主要是指签名任务,该类任务是管控中心下达的、针对某个或某一批数据资产的签名指令.
尚未签名的数据资产在服务网关进行验证的时候,会因为找不到对应的数据签名而被记录在管控中心的数据库,从而可以下发签名指令,完成新数据资产的签名操作.
已经签名成功的数据资产,会顺利通过验证,验证结果会被记录在管控中心的数据库.管控中心会显示该数据资产正常.
已经签名成功的数据资产,因为被修改,验证过程中会出现验证失败的结果,该结果被记录,同时管控中心会有预警产生.基于区块链的“主动完整性防护”主要工作流程如图6所示.
如果将这些功能模块和组件部署在实体的物理服务器中,考虑生产环境的可靠性冗余,方案大致需要6台物理服务器作为服务承载,将这6台服务器接入到军事系统网络,将代理程序Agent部署到待保护数字资产的宿主服务器上,就构成了完整的“主动完整性防护”信息安全部署方案.这种部署方案不需要改造原有军事网络系统,不改变原有系统的架构,只需简单配置定义即可上线运行.基于区块链的“主动完整性防护”信息安全防护方案物理架构如图7所示.
通过“主动完整性防护”措施的建立,对于那些经过数字签名的军事系统内重要的待保护资产(包含应用程序与数据等,其形式可能是二进制实体文件:文件、文档、图像、音频、视频或者数据库审计日志、流式日志等)而言,意味着可以对其保持实时的、持续的监测和验证,与以往大多数数据外泄直到发生了较长时间并已经导致损失时才被发现不同的是,“主动完整性防护”能极大地把这个时间极大缩短,待保护资产的完整性一旦受损,意味着资产被未经授权地更改,“主动完整性防护”系统能在极短的时间内做出反应和预警.
信息安全下的完整性通常被定义为在系统、网络、流程和数据中没有变体.现代安全的基本假设是,不可能没有变体的存在,因此,才有必要去寻找相关方面的脆弱性.基于区块链以及数字签名技术的引入,为数字资产在网络环境下的完整性提供了数学证明,即系统内每一个关键配置信息,每一条事件日志的状态,数据库内每一个数据条目均可以被已确认安全的程序来进行独立验证.这意味着,如果能确认网络或系统的“清洁”状态,那么对于该状态任何未经授权的更改均表示攻击,不管是来自内部或者外部,都可以100%地被检测到.“主动完整性防护”下的数据完整性如图8所示.
“主动完整性防护”的数据安全新方案,能够有效避免军事数据的泄露以及敌方对其进行的篡改,使得网络攻击产生的破坏力得以降低,作战人员手中数据的真实性也能因此得到保障,这种对于风险的规避,能极大提升战场上的不对称优势,可能会改变战争领域的游戏规则[14−16].
4 结论
相比传统的数据完整性保护技术,本方案利用了安全高效的数据签名算法,在对关键数据进行完整性保护的基础上,对签名数据进行聚合生成可信代码,并将签名可信代码保存到区块链中.这种只存储公共签名可信代码的机制将极大减少对存储的要求,同时提高系统的检索性能.这对现代军事信息系统中各种情报信息数据的完整性和真实性检测至关重要.