零信任与可信计算技术研究
2022-10-16蹇诗婕赵荣辉公安部第一研究所
蹇诗婕 赵荣辉 公安部第一研究所
引言
随着互联网时代的发展,信息技术已经成为人们生活中不可或缺的一部分,与此同时,网络空间安全威胁愈发严峻,没有网络安全就没有国家安全,安全是发展的前提。然而,传统安全架构难以抵御日益复杂的新型网络攻击,无法满足新环境下的网络安全需求。因此,零信任、可信计算等新兴网络安全防护技术成为当前工业界和学术界重点关注的内容。
零信任[1]是一种以保护资源为核心的安全理念,本质是以身份为基石的动态访问控制,基于多维因素进行持续信任评估,并通过信任等级动态调整权限,形成动态自适应安全闭环体系。相较于专注防护边界的传统安全架构,零信任革新了以物理为边界的安全架构思想,默认不存在基于物理和网络位置的隐性信任关系。
可信计算[2]是一种主动防御技术,基于硬件属性的可信根,形成系统启动时逐层度量的信任链,从而实现系统环境的安全可信,能够主动免疫攻击行为。相较于传统的防火墙、杀毒软件等被动防御方式,可信计算从根本上解决计算平台的安全问题,不仅在攻击发生前进行主动防御,而且在攻击发生后能够及时报警和查杀。
为了应对愈发复杂的攻击行为,当前,可信计算技术已经逐步应用于公安移动警务系统建设中。本文分别对零信任和可信计算两种新兴技术的相关背景、相关概念进行详细梳理,并对两种安全防护架构进行对比分析。
一、零信任
(一)相关背景
1. 内部网络攻击
据美国加利福尼亚州旧金山的计算机安全研究所统计分析,60%到80%的网络滥用事件来自内部网络。横向移动攻击作为APT攻击中的重要环节,是攻击者进入内部网络后实施攻击的主要手段。
传统安全架构是一种基于区域的架构,采用网络分段的方式将用户、设备和服务等定义至不同的信任域中,在给定区域内可以相互通信。传统安全架构通常使用防火墙来监控网络流量,但是由于防火墙购买成本较高,只能创建受保护的信任区域,导致易遭受攻击的范围较大。
传统安全架构更注重对边界进行防护,认为边界内部不存在威胁,一旦黑客突破防火墙等外部边界防御后,便可以利用内部系统漏洞和管理缺陷逐步获得更高级别的权限,进行内网横向移动攻击,盗取重要数据信息,并且不会受到任何阻碍。
传统安全架构假设企业所有的办公设备和数据资源都在内网,默认内网完全可信。事实上,内网并不安全,仅仅使用基于防火墙等边界防御方法的传统安全架构难以有效检测内部网络攻击。零信任架构假设网络中始终存在外部和内部威胁,限制网络内部横向移动,能够较好地弥补传统安全架构的缺陷。
2. 云技术兴起
随着云技术近几年的大力发展,云计算算力不断提升,企业数字化转型持续深入,越来越多的企业开始使用云服务器,各企业的基础设施和网络结构日趋复杂。
由于企业的业务上云后,应用系统运行所需要的计算、存储、网络资源的物理位置不断变化,网络边界变得越来越模糊,纯内部系统组成的企业数据中心不复存在,因此当前企业的安全部门亟需一种新的安全思维来保护企业的重要数据信息。同时,企业内网接入模式更加多元化,移动办公、远程接入等方式导致IP信息动态变化,对原有企业内网架构造成了巨大冲击,与其最初的设计理念大相径庭。
随着企业办公愈发移动化、云端化,管理和维护的难度与成本显著增加。零信任架构是对企业网络安全发展趋势的积极响应,能够有效应对企业数字化转型过程中遇到的安全问题,适配各类远程接入场景。
(二)相关概念
1. 定义
零信任是一种安全架构的新理念,根据美国国家标准与技术研究院《零信任架构标准》中的定义:零信任(Zero Trust,ZT)提供了一系列概念和思想,在假定网络环境已经被攻陷的前提下,当执行信息系统和服务中的每次访问请求时,降低其决策准确度的不确定性。
零信任的核心思想是默认情况下,企业内外部的任何人、事、物均不可信,应在授权前对任何试图接入网络和访问网络资源的人、事、物进行验证[3]。零信任的本质是以身份为中心进行动态访问控制,没有默认被信任的主体,对任何资源的访问都需要进行认证授权,对访问的主体和过程进行持续检测评估,并且动态调整访问控制策略。
2. 零信任架构
零信任架构是一种基于零信任理念的企业网络安全的规划,围绕零信任理念的组件关系、工作流规划与访问策略构建而成。零信任架构是一种企业资源和数据安全的端到端的保护方法,将网络防御的边界缩小到单个资源组,关注于保护资源,而非网络分段,网络位置不再是资源安全态势的主要组成部分。
通用零信任架构的总体框架如图1所示。零信任的安全原则是“永不信任且始终验证”,对访问主体和访问客体之间的数据访问和认证验证进行处理,控制平面用于逻辑组件之间的网络通信控制,数据平面则是用于应用程序数据的通信[3]。
围1 零信任架构的总体框架
访问主体通过控制平面发起访问请求,由信任评估引擎、访问控制引擎对访问主体进行身份认证和授权,确认其信任等级后,动态配置数据平面,建立一次性安全访问连接,授予最小访问权限。信任评估引擎持续进行信任评估,一旦出现异常,访问控制引擎将会及时通过访问代理中断连接,从而保护资源[3]。
(三)传统安全架构和零信任架构的对比
传统安全架构和零信任架构的详细对比如表1所示,传统安全架构对授权用户开放的访问权限较大,更注重防御边界,零信任架构则是基于身份实现细粒度的访问控制,注重于保护资源。
表1 传统安全架构和零信任架构的对比
由于传统安全架构至今仍能抵御大部分网络攻击,而零信任架构需要消耗大量网络资源来支撑大量的访问控制请求。如果使用零信任架构全面替换传统安全架构,将会造成卡顿、请求超时等后果,影响业务功能的正常使用。
因此,在传统安全架构的基础上搭建零信任架构才能更好地维护网络空间安全。同时,零信任架构提出的访问控制目标较理想化,技术实现存在较大难度,还需要长期探索才能真正落地实施。
二、可信计算
(一)相关背景
传统网络安全系统主要是由防火墙、病毒查杀、入侵检测等组成,并针对安全问题打补丁。而这些方法均属于被动的防御方式,存在诸多弊端:防火墙难以防护内部网络安全,内网横向移动攻击较严重;病毒查杀和基于签名的入侵检测只能防御已知特征库中的攻击,难以检测未知的攻击行为;打补丁的方式有可能带来新的漏洞和后门,甚至导致某些软件无法正常使用。
总结而言,传统网络安全系统有如下三项缺点:(1)仅仅依靠被动修补或积累攻击特征的方式难以应对利用逻辑缺陷的攻击和新型未知威胁,反而会增加自身脆弱性;(2)超级权限用户的存在违背了最小特权安全原则;(3)传统网络安全系统一旦被攻击者利用,会成为新的网络攻击平台[4]。
因此,主动有效的网络安全防护方法成为当前学者们研究的重点内容,而可信计算体系就是一种主动免疫的安全防御体系。
(二)相关概念
1. 定义
可信计算(Trusted Computing,TC)是保障信息系统可预期性的技术,是指在计算的同时进行安全防护,使计算结果总是与预期值一样,使计算全程可测可控,不受干扰[5]。可信计算是一种主动应对攻击的防御体系,核心目标是保证系统和应用的完整性,从而确定系统或软件运行在设计目标期望的可信状态。
可信并不代表安全,但是可信是安全的基础,因为安全方案和策略只有运行在未被篡改的环境下才能进一步确保安全。由于大部分攻击均会篡改计算环境,所以保证系统和应用的完整性,能够确保使用正确的软件栈,并在软件栈受到攻击后及时响应。因此,可信计算能够减小由于使用未知或遭到篡改的系统、软件,而遭受攻击的可能性。
2. 度量和验证
可信计算的实现手段主要包含度量和验证。度量是指对系统完整性和行为安全性进行测量、评估和判定的动作。验证则是将度量结果和可信基准库中的参考值进行比对,查看二者是否一致,如果一致表示验证通过,如果不一致则表示验证失败。其中,度量又分为静态度量和动态度量,分别针对启动前和运行时的完整性检查以及合法性判断。
可信计算的基本思想是:在计算机系统中,建立一个可信根,从可信根开始,到硬件平台、操作系统、应用,一级度量一级,一级信任一级,把这种信任扩展到整个计算机系统,并采取防护措施,确保计算资源的数据完整性和行为的预期性,从而提高计算机系统的可信性。
可信根的可信性由物理安全、技术安全与管理安全共同确保。基于可信根,结合度量和验证技术,在计算系统启动和运行过程中,使用完整性度量方法在部件之间所建立的信任传递关系称为信任链。信任链的具体传递过程如图2所示。
图2 信任链传递过程
3. 可信计算发展历程
可信计算体系结构的发展历程如表2所示。可信1.0针对计算机部件不稳定的问题,采取冗余备份、容错算法等技术,确保信息系统在局部故障的情况下仍能保持运行,但是没有对黑客攻击等威胁提出针对性解决方案。可信2.0通过可信根、可信软件栈等可信功能模块,向系统提供被动的可信度量机制,但是没有从计算机体系结构上入手来解决可信问题,属于被动的防护。可信3.0借鉴生物免疫的思想,通过在计算节点构建“宿主+可信”双节点可信免疫架构,在传统系统之外构建了一个逻辑上独立的可信计算子系统作为可信节点,通过可信节点间的可信协作形成完整的可信体系,从而对系统实施主动监控,为应用提供可信支撑[5]。
表2 可信计算体系结构发展历程
如图3所示,可信计算双体系架构构造了独立于传统冯诺依曼架构的可信部件组成的子系统,解耦了计算部件和可信部件(即防护部件),减小了对传统架构的影响。同时,由于屏蔽了计算部件对可信部件的访问,保障了可信部件的可信性。在计算模式方面,双体系架构能够将安全可信体系从系统中分离,通过可信部件进行统一组织管理,构造安全管理中心集中管理的防御体系。
图3 可信计算双体系架构
三、零信任和可信计算的对比
零信任架构和可信计算架构的对比如表3所示。零信任和可信计算是基于不同维度的安全方案。零信任更注重防护,通过持续验证、动态授权的方式,不断退后到需要保护的资源所在位置,防止外界攻击。而可信计算则是更注重从内部构建安全环境,保障安全方案和策略运行在未被篡改的环境下,从而保障安全。由此可见,零信任和可信计算并不冲突,属于互补的关系。
表3 零信任架构和可信计算架构的对比
零信任和可信计算构成的网络安全防御体系如图4所示,零信任发挥功能的是黄色区域,可信计算发挥功能的是蓝色区域。
图4 零信任和可信计算构成的网络安全防御体系
当外界用户想访问第三方应用时,首先需要零信任Agent代理通过区域边界中的零信任网关和后台的零信任服务进行通信,从而对用户身份进行验证。用户身份通过验证后,允许用户访问第三方应用以及核心资源和数据。可信计算在这个过程中则是确保底层硬件和密码设施、操作系统的完整性,确定系统或软件运行在期望的可信状态。因此,零信任和可信计算防护的是不同的内容,将二者相结合,能够更好地构建网络安全防御体系。
移动警务系统作为公安信息化建设中的重要环节,为维护社会公共安全提供了有力支撑。采用零信任技术在移动警务区域边界及核心业务区对用户身份进行合法性验证,并结合可信计算技术保障移动警务硬件芯片到操作系统可信,从外部和内部两个方面共同提升移动警务系统的安全防护能力。
四、结语
网络安全风险通常是由外部人为攻击和信息系统内部存在逻辑缺陷造成的。零信任默认不信任任何人、事、物,基于对访问客体的持续评估,动态授予所需最小权限,能够防护外部攻击。可信计算作为一种基于整体安全思想的主动防御技术,为各类计算环境提供安全基石,能够从内部保障安全环境。零信任和可信计算都拥有广阔的发展应用前景,因此,尤其在设计公安移动警务系统网络安全防御体系时,将零信任和可信计算相结合能够更好地筑牢网络安全防线。