诸葛程晨,王 群,刘家银,梁广俊
江苏警官学院 计算机信息与网络安全系,南京 210031
长期以来,传统的企业网络安全架构如同一座城堡,其边界处设置了防火墙、杀毒软件、入侵检测系统(intrusion detection system,IDS)、入侵防御系统(intrusion prevention system,IPS)和Web应用防火墙(Web application firewall,WAF)等一系列网络安全设备。这些安全设备将网络物理地分割为内外两个域,其中位于内部域中的设备与应用被认为是可信和安全的,而位于外部域中的设备与应用被认为是不可信和存在安全风险的。这种安全架构的思想基础是在网络边界处利用各种技术手段对用户身份进行验证,并对流量进行分析,允许可信流量进入,并将不受信任的流量排除在外。目前,这种传统的网络安全架构随着云计算、物联网等IT技术的发展面临着巨大的挑战:一方面,在越来越多的终端设备加入到互联网的同时,大量企业业务需求的增加以及分支机构的存在使得网络基础设施变得越来越繁杂,从而使企业在需要清晰定义安全边界时遇到困难[1]。另一方面,传统的网络安全架构默认赋予了内网用户是“可信”的这一属性,一旦攻击者渗透进入了安全边界,进一步的横向移动将难以阻止。在这种“可信”内网中,内部人员实施的窃密行为也无法有效防御。内网中有价值的数据在SaaS应用程序、IaaS应用程序、数据中心、远程用户以及物联网设备之间持续地传递着,这给攻击者提供了更广泛的攻击面。
在2020年数据安全研究中心Ponemon Institute发布的《内部人员威胁成本:全球报告》中[2],通过对2019年间北美、欧洲、中东和非洲以及亚太地区的公司进行调查,获得了4 716次攻击样本的调查数据,这些攻击造成的损失及补救的平均总成本为1 145万美元。其中2 967次攻击与员工或承包商的疏忽有关,受损年化成本458万美元;1 105次攻击是由于犯罪或恶意的内部人员所致,受损年化成本408万美元;649次攻击与凭证被盗(即钓鱼风险)有关,受损年化成本279万美元;191次事件与特权用户凭证盗用有关。这样的网络安全事件每年都在增加,造成的损失也越来越严重,来自内部的威胁、被劫持的凭证、已被攻击的设备以及钓鱼攻击等充分证明了传统网络中通过构筑一个用来防御网络攻击的安全边界这一个观念是错误的,至少是不严谨或不全面的。
近年来,一种新的安全思考方式受到了人们的关注,它摒弃了传统的以边界来定义和划分信任的思想和做法,转而采用“永不信任,始终验证”的模式,这一模式被称为“零信任”模型。“零信任”认为所有网络/网络流量不可信,不再会根据资产或用户所处的物理/网络位置(如内外网)以及它们的所有者(如个人或是企业)这些信息来赋予隐式信任[1]。基于这一安全理念构建的网络具有以下特点和优势:(1)可以强化身份识别和访问控制,用户或设备从任意位置访问资源时都需要进行身份的验证和授权,并进行持续的、动态的信任评估,这样可以有效减少凭证失窃所带来的攻击;(2)可以提高东西向流量(内部网络流量)的安全性,通过隔离技术对企业内的资产进行隔离,大幅降低了攻击面,阻止攻击者在渗透之后进一步地横向移动;(3)可以对外隐藏应用程序,只有通过验证的用户和设备才能访问应用,能够有效地抵御非法扫描以及DDoS攻击,提高了网络可靠性和安全性。
“零信任”模型在网络安全方面所具备的特点促使其得到了迅速发展。本文首先梳理了“零信任”机制和“零信任网络”的基本概念和属性。随后,阐述了“零信任”网络架构所涉及的几项关键技术,主要包括身份和访问管理(identity and access management,IAM)、微分段(micro-segmentation,MSG)和软件定义边界(software defined perimeter,SDP)等。接着对大数据中心、云计算平台和物联网等几个典型的“零信任”网络应用场景进行了分析。最后讨论了“零信任”网络落地所面临的主要挑战。本文旨在通过对以上内容的阐述,为“零信任”架构和“零信任网络”的研究者提供较为清晰的思路。
“零信任”(zero trust,ZT)概念起源于2003年的耶利哥城论坛(Jericho Forum),该论坛的主旨是对全球开放型网络环境中的安全业务提供支持。当时英国皇家邮政公司召集了一批欧洲跨国公司,试图建立一个“去边界化”的网络架构来应对云计算的安全问题。Jericho Forum围绕“去边界化”过程中设备/用户信任、身份验证等问题展开了探讨。美国国防部和国防信息系统局在2007年也提出了称为“黑核”(black core)的具有类似概念的企业安全战略计划,该计划讨论了将基于边界的安全模型向更关注各个事务安全的模型转换[3]。
2009年,Google公司在遭受了一起高级持续性威胁攻击(advanced persistent threat,APT)之后开始建立BeyondCorp项目。BeyondCorp项目抛弃了传统的安全边界概念,它将所有的应用部署到了公共互联网,然后通过以用户和设备为中心的身份验证和授权工作流程来控制用户的访问。而在2010年,Forrester的分析师Kindervag首次提出了“零信任”这一术语。Kindervag从网络架构的层面阐述了“零信任”,其核心理念与BeyondCorp相一致,都是认为所有网络是不可信的。自此,网络安全业界开始不断完善“零信任”的理论并逐步付诸实践。
在2011年到2017年间,Google的BeyondCorp项目实施落地并发表了6篇相关论文[4-9],论文对BeyondCorp整体的方案从设计到部署进行了较为系统的介绍,另外还讨论了用户如何将网络迁移到BeyondCorp以及用户体验等问题。2013年,云安全联盟(Cloud Security Alliance,CSA)组建了SDP工作组并在次年发布了SDP标准规范1.0。该规范对SDP的架构、工作流以及协议实现等给出了说明。2017年在第23届Gartner安全与风险管理峰会上,Gartner提出了名为持续自适应风险和信任评估(continuous adaptive risk and trust assessment,CARTA)3.0版本的自适应安全架构,并指出“零信任”是实现CARTA的第一步。在两年之后,Gartner又在进一步发展SDP的基础上发布了零信任网络访问(zero trust network access,ZTNA)模型,给出了分别基于客户端和基于服务启动的两种概念模型。2018年,Forrester发布了零信任扩展(zero trust extended,ZTX)生态系统,并介绍了构成ZTX生态系统的7个组件:数据、网络、人员、工作负载、设备、可视化与分析、自动化与编排。2020年8月,美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)在进行了两个版本的草案更迭之后发布了《零信任架构(zero trust architecture,ZTA)》[1]最终版本,该文档给出了ZTA的抽象定义,同时还介绍了ZT的通用部署模型和用例,以帮助企业改善整体的信息技术安全态势。
至此,在研究者的不断探索和一些安全企业的不断实践中,零信任概念变得越来越清晰,零信任网络的功能定位、关键技术和实现路径变得更加明确。
零信任网络(zero trust network,ZTN)的概念从出现到现在尚未形成权威的定义,研究者分别立足各自的研究方向从不同层面提出了一些值得借鉴的描述。NIST在文献[1]中指出:当一个网络已经受到攻击时,它的信息系统和服务要强制性地对每个访问请求执行准确且具有最低权限的决策,而零信任则提供了一系列概念和思想,旨在最小化该决策的不确定性。Kindervag在文献[10]中对于零信任网络进行了阐述:在零信任网络中,所有的网络流量都是不可信的,需要对所有的访问请求进行验证,并按照最小权限策略严格实施访问控制。另外,还需要检查并记录所有网络流量。Gartner对零信任网络的定义为:零信任网络是一种网络安全连接的概念。无论位于企业网络的内部还是外部,不同实体之间在初始的安全态势下是互不信任的。只有对实体、系统和环境的身份进行评估之后,才能基于风险动态地扩展实体访问网络的能力[11]。由此可得知,“零信任”并不是指完全消除“信任”,而是指在动态验证之后赋予的“信任”应当始终保持最小化。
本文认为:零信任网络是在传统网络基础上,通过充分融入零信任安全机制而形成的一种网络安全架构,该安全架构不再以网络边界划分“信任”,而是需要对所有的访问主体(人、设备、系统和应用等)进行细粒度的安全风险评估,并通过动态调整授权访问策略,实现对访问行为的精细化管控。这一定义强调了零信任网络的实现基础是以身份为中心的访问控制,实现路径是相关安全技术的逻辑组合,实现思路是打破传统边界安全模型后重塑以动态流量为对象的安全理念。需要说明的是:“零信任”是一种基于信任这一属性而实现的安全机制,“零信任网络”不是一种全新的网络技术,而是在传统网络基础上通过对各类成熟安全技术和模式的创新性融合而形成的一种安全机制,是对传统安全思维和架构的有效扬弃。
1.3.1 传统的网络安全架构
传统的网络安全架构通常会将网络划分成多个区域[12],并在各个区域的边界处设置网络安全设备对出入站的流量进行严格的控制。如图1所示,位于外网的终端设备可以访问处于隔离区(demilitarized zone,DMZ)的各类资源,但不能直接访问内网资源,而位于内网的主机可以通过网络地址转换(network address translation,NAT)技术来访问外网。随着远程办公需求的增加,虚拟专用网络(virtual private networks,VPN)技术的引入使得外网的终端设备也能够访问内网资源。这种纵深防御体系能在一定程度上抵御来自外部的攻击,但正如前文描述的那样,它很难觉察到来自内部的攻击。位于内部可信区域的某台服务器一旦因为来自外部的攻击被攻陷,或是由内部人员引发信息泄露,那么该台服务器很容易就成为攻击者在该区域内横向移动的跳板。
图1 简化的传统网络安全架构Fig.1 Simplified traditional network security architecture
随着5G、物联网、大数据中心、云计算等新型网络基础设施的进一步铺开,今后的网络边界将变得更加难以界定。同时,之前发生的大量网络安全事件也验证了仅靠物理位置或是IP地址来赋予“信任”这一做法是不可靠的。正如前文所述,“零信任”是对网络一切主体(如用户、应用以及设备等)不信任,并通过动态持续验证赋予主体最小化的访问权限。对于主体的安全控制不依赖于其位置,网络边界也将不复存在,NAT和VPN等技术也将失去存在的意义。
1.3.2 零信任网络架构
图2所示是一个理想化的零信任网络架构,其核心逻辑组件通常分为策略执行点(policy enforcement point,PEP)和策略决策点(policy decision point,PDP),其中PDP又分为策略引擎(policy engine,PE)和策略管理员(policy administrator,PA)两部分。当主体在非可信任区域请求访问企业可信区域的资源时,必须由PEP和PDP进行验证和授权。零信任架构的逻辑组件间的通信是在控制平面(control plane)内部进行,而应用数据的通信则是在数据平面进行[1]。
图2 理想的零信任架构Fig.2 Ideal zero trust architecture
(1)PEP组件主要负责建立、监控以及最后断开主体与被访问资源之间的连接。PEP组件会与PA组件进行通信,向PA转发请求,和/或接收来自PA的更新策略。
(2)PE组件负责最终决定是否要为需要访问资源的主体授予访问权限。PE会使用访问策略以及来自外部的输入(如图2中的持续诊断和缓解系统以及威胁情报服务等)作为信任算法的输入用以授权、拒绝或是撤销对资源的访问。
(3)PA组件负责建立和/或关闭主体与被访问资源之间的通信(通过发送命令给相关的PEP)。它会为需要访问资源的客户端生成用于特定会话的身份验证令牌或凭证。PA与PE密切相关,PA最终会根据PE的决定允许或拒绝建立会话。
除上述的核心组件之外,ZTA还需要通过一些数据源来提供输入和策略规则,用于PE进行访问决策。这些数据源既有本地的也有来自外部的,其中主要包括:持续诊断和缓解系统(continuous diagnostics and mitigation system,CDM system)[13]、行业合规(industry compliance)、威胁情报(threat intelligence)[14]、活动日志(activity logs)、数据访问策略(data access policy)、公钥基础设施(public key infrastructure,PKI)[15]、身份管理(ID management)、安全信息与事件管理系统(security information and event management system,SIEM system)[16]等。
零信任架构下业务的流程大致为:访问主体向PEP发送访问请求,PEP将请求转发至控制平面的PDP,PDP中PE将会根据本地或/和外部的安全策略数据源来对本次请求进行评估。接着PA会根据PE评估后的决定来建立或者拒绝访问主体与资源之间的会话。当会话建立后,访问主体通过PEP与资源进行通信,在这个过程中PE会持续进行信任评估,并将访问策略通过PA转发给PEP进行更新。这样当发现存在风险时,PEP可以及时断开连接,起到快速保护资源安全的作用。
由此可以看出,ZTA的核心不是全新技术的创造,而是关注于对已有成熟技术的融合。然而,在打破传统的边界安全架构后,如何根据新的安全模型来将传统网络中的成熟技术进行有效耦合,还有大量的技术细节和部署策略需要进行研究。例如,PKI技术已在传统网络中已经得到广泛应用,但将其应用于零信任网络时,对其密钥产生与管理方式、响应时间、加密算法、签名机制等都会提出新的要求,甚至有些原本在传统网络中表现突出的功能,在迁移到零信任网络后可能会存在无法适应新环境需求等问题。
1.3.3 零信任网络的部署方式
图2所示是一种理想的零信任网络架构。虽然零信任网络近年来得到了快速发展,零信任理念和相关技术也逐渐被用户接受,但因为零信任网络在实际部署过程中会将各逻辑组件以不同形式进行组合,所以实际的部署模型很大程度上是由业务场景所决定的,而无法被直接照搬使用。本小节将重点阐述基于设备代理/网关的部署模型、基于飞地的部署模型以及基于资源门户的部署模型等几类较为主流的零信任部署模型。
(1)基于设备代理/网关的模型
图3基于设备代理/网关的模型Fig.3 Device agent/gateway model
图3 所示是基于设备代理/网关的模型,该模型中PEP组件被分解成两部分:一部分作为代理整合到用户所使用的系统设备中;另一部分作为网关被直接放置于资源的前端。PEP无论是与系统设备还是资源,都具有很高的耦合度,保证了在网关和资源之间具有非常小的隐式信任区域。同时,该模型可以有效获取用户设备和资源的环境信息,并可从任意一端终止访问。因此在该模型下,零信任网络能够拥有最大化的控制能力。该模型当然也存在一些问题,例如为每一个资源配置网关,这对于存在大量陈旧系统的机构来说会有许多适配工作要做。
基于设备代理/网关的模型适用于拥有完善设备管理程序以及能够与网关通信的离散资源的企业[1]。例如,BeyondCorp项目在网络应用层使用了这个模型[17],用户具体使用的是受控设备(需要验证),并借助安装在设备上的Chrome浏览器扩展程序来发起访问[7]。
(2)基于飞地的模型
在基于飞地的模型中,PEP同样被分解为两部分(类似于图3),一部分作为代理整合到用户所使用的系统设备中。但与基于设备代理/网关的模型的区别在于:网关不再与资源高度耦合,而是被放置在资源飞地的边界位置。
基于飞地的模型适用于企业拥有过于陈旧的应用而无法直接与网关通信的场景,另外也适用于企业拥有内部私有的数据中心且无法独立配置网关的场景。这个模型的缺点在于:网关实际是对一组资源进行了保护,这组资源之间缺少必要的隔离,相当于在网关与资源之间构建了一块较大的隐式信任区域,给安全带来隐患。同时,由于网关与资源之间的耦合度减弱,使得该模型不能有效获取资源的环境信息,从而无法做出较为细粒度的访问控制决策[17]。
(3)基于资源门户的模型
在基于资源门户的模型中,PEP组件不再与任何设备或资源耦合在一起,而是直接作为一个网关(如企业的办公门户站点)配置在网络中。由于不需要在设备上安装特定的代理,基于资源门户的模型在制定自带设备(bring your own device,BYOD)策略或是进行跨企业合作时会有更多的灵活性[1]。但是随之带来的问题是该模型对用户使用的设备也缺少了相应的掌控,访问设备和资源这两端环境信息的缺失,使得该模型更难以做出细粒度的访问控制决策以及智能化的信任评估决策。
在工程实践中,具体采用哪种部署模型需要根据用户网络的实际情况及安全要求来选择。每一种模型都有适合的场景,同时也存在自身的局限性,表1给出了不同部署模型的对比。
表1 部署模型对比Table 1 Comparison of deployment model
零信任网络需要对所有的资产进行保护,因此要对所有发起访问请求的主体进行动态的、持续性的身份验证并授予最小访问权限,以保证主体是可信的,其访问是合法的。此外,零信任网络还应尽可能地缩小隐式信任区,并实现细粒度的访问控制。对此,NIST指出一个完整的零信任网络解决方案应该包含身份和访问管理、微分段以及软件定义边界等关键技术[1]。由零信任网络的定义可知身份和访问管理技术是核心;微分段技术则为缩小隐式信任区、实现细粒度的访问控制提供了技术保证;软件定义边界技术则能够有效地隐藏资产,为资产提供更好的保护。
身份和访问管理(IAM)是一个由策略、流程和技术组成的架构,使企业能够管理数字身份并控制用户对企业关键资产的访问。IAM负责管理整个企业或机构内部的数字身份,包括从数字身份的创建、修改、维护,直至最后销毁。IAM还负责对访问请求者的数字身份进行认证,以验证其是否可信任。通过验证之后,IAM还要根据预先制定的访问策略对访问请求进行评估,以决定是否授权访问,从而实现对资源的访问控制。简单来讲,通过身份认证确定访问用户是谁,并进而确定该用户是否具有对特定资源的访问权限;通过授权访问确认该用户能够访问哪些资源。从信息系统的安全性角度来看,数字身份的认证和访问授权是十分重要的一环。
2.1.1 身份认证
身份认证可以说是信息系统安全的基础,访问主体要访问信息系统的资源首先需要通过身份认证。目前常用的身份认证方案有:轻量级目录访问协议(lightweight directory access protocol,LDAP)[18]、远程认证拨号用户服务(remote authentication dial in user service,RADIUS)[4]、安全断言标记语言(security assertion markup language,SAML)[19]、OpenID Connect[20]、线上快速认证(fast identity online,FIDO)联盟[21]以及生物识别技术等。
LDAP主要用于对目录服务器进行存储和检索数据信息(如成员、组织和设备信息等),同时可用于对客户端的身份进行验证。RADIUS则可以实现访问控制的集中认证、授权和记账。此外,RADIUS服务器可以支持多种不同的身份认证方式,因此有时RADIUS服务器会连接到包含用户凭据的LDAP服务器以实现对用户身份的验证。SAML是一种用于不同实体(用户、身份提供商和服务提供商)之间交换身份认证和授权数据的开放标准。基于SAML的认证方案常用于Web应用的单点登录(single sign on,SSO)。OpenID Connect是一种基于授权框架OAuth2.0的身份认证协议,主要使用经过加密和签名的JSON Web Token来实现身份认证信息在各个实体间的安全传输。与SAML协议类似,OpenID Connect也常用于Web应用的SSO,不同之处在于OpenID Connect对移动端的支持要比SAML好[22]。FIDO联盟旨在开发和推广减少密码使用的基于Web的强身份认证方案,目前已经发布了三组身份认证规范:FIDO通用第二因素(universal 2nd factor,U2F)、FIDO通用身份验证框架(universal authentication framework,UAF)和客户端到身份验证器协议(client to authenticator protocol,CTAP)。
谷歌的BeyondCorp项目中使用了基于IEEE 802.1x认证的RADIUS服务器,为需要接入网络的每个员工的设备分配一个合适的网络接口[4]。SAML协议在响应中可以声明属性、组成员以及角色等身份上下文信息[23],因此它可以作为零信任网络策略的输入源。FIDO则提供了基于生物特征的MFA认证方式,其作为一种强身份认证方案能够有效地为零信任网络提供身份认证支持。
零信任网络除了要求对用户的身份进行验证外,还需要对使用的设备、应用以及流量进行验证。对于设备的验证,可以采用基于可信平台模块(trusted platform module,TPM)的数字证书认证方式。谷歌的Beyond-Corp项目中使用了设备证书作为唯一标识来建立设备清单,并将设备证书存储于TPM中用于后续的设备认证。网络流量方面,文献[13,24]将首包身份认证(first packet authentication,FPA)与传输访问控制(transport access control,TAC)相结合,并在会话设置期间通过生成网络认证令牌来构建显示的信任。该令牌可以与IAM系统进行关联来实现对身份的认证。
2.1.2 授权
当访问主体通过身份认证后,还需经过授权才能访问信息系统的资源。信息系统会通过一定的访问控制机制来实现对合法访问的授权。如图2所示,在零信任网络中,授权工作会由PE组件根据企业的访问控制策略以及外部输入源共同决策完成。PE在给访问主体授权时应遵循最小特权原则,也就是只赋予其能够完成实际操作所需的最小权限。
目前常用的访问控制模型有基于角色的访问控制(role-based access control,RBAC)、基于属性的访问控制(attribute-based access control,ABAC)、基于策略的访问控制(policy-based access control,PBAC)以及风险自适应访问控制(risk-adaptive access control,RAdAC)。
(1)RBAC
RBAC模型定义了用户集、角色集和权限集,并根据各个角色的工作职能分配相应的权限,接着按用户的职责再分配对应的角色即完成了授权。通过引入角色这一中间身份,RBAC在权限管理上增加了灵活性,用户的角色和角色的权利都可以灵活地改变[25]。如AWS[26]、微软Azure[27]和谷歌GCP[28]等许多应用和云平台都根据自己的需求对RBAC进行了改进,并将其作为平台授权的基础。
RBAC也存在诸如角色爆炸、缺少环境上下文以及对权限分配是静态的、粗粒度的[29]等问题。因此,对于需要在动态情形下提供细粒度访问能力的零信任网络来说是不太适用的。
(2)ABAC
ABAC的基本思想是:访问控制以实体(主体、资源和环境)的属性作为基础进行授权决策,它可以随着实体属性的变化动态地更新访问控制决策,提供一种更加细粒度、灵活的动态访问控制方法[30]。在ABAC中,角色可以表示成用户的属性以解决RBAC角色爆炸的问题。另外,ABAC引入了诸如访问时间、历史信息、地理位置等[31]动态的环境属性,可有效地用于访问授权的策略集中。AWS-IoT[32]和GCP-IoT[29]在使用RBAC模型时都遇到了角色爆炸问题,因此都开始研究ABAC的扩展模型以应用于自己的物联网平台。此外,ABAC在进行授权时支持做出多个决策,这个特点也是零信任网络所需要的。
与RBAC相比,ABAC存在的问题有:不够直观,不易于可视化,无法进行事前审计;一旦属性以及规则过多,整个系统响应就可能会变得很慢。另外,用于描述ABAC策略的规范语言需要非常高的表达能力,而复杂的ABAC规范也增加了存在缺陷的可能性[33]。
(3)PBAC
PBAC是ABAC的一个逻辑扩展,它有助于实施严格的环境级访问控制策略[34]。PBAC引入了策略权限的概念,非常适合策略定义明确的企业[35]。PBAC虽然也依赖属性进行访问授权,但与ABAC的区别在于:ABAC是在本地应用级别对属性进行定义,而PBAC则是在企业级别对属性进行定义[36]。PBAC将来自资源、环境和请求者的属性以及访问请求所在特定环境的信息相结合,并在这种情况下根据上述属性相关的组织策略,使用一定的规则集来指定是否允许进行访问[37]。
(4)RAdAC
RAdAC是一个实时、自适应、风险感知的访问控制模型[35]。RAdAC在做出访问决策时对安全风险和业务需求这两者进行了权衡,并不像上文中ABAC和PBAC那样仅仅对属性进行比较。RAdAC的这种思想与Gartner提出的零信任模型CARTA较为相近的。RAdAC需要考虑请求者使用机器的可信赖度、企业IT基础设施内的安全规定以及最重要的环境态势等信息。其中环境态势可以包含当前组织面临的威胁等级、当前访问请求业务的重要性、请求者的角色、请求者身份验证的可靠级别等。RAdAC会根据上述各个信息创建单个以及综合的风险水平量化指标[38],并将其与访问控制策略进行比较以获得当前受访问对象可容忍的风险级别。RAdAC在某些情况下会允许业务需求凌驾于安全风险之上,并对一些受限资源的访问进行授权。
McGraw[38]在提出RAdAC时仅给出了一个高层架构,没有给出具体的风险和需求的量化方法。Kandala等人[39]在策略层面上,从组件及其交互的角度给出了一个形式化的架构,可用于为RAdAC开发抽象模型。Lee等人[40]在文献[39]基础上提出了一个名为FURZE的基于UCON实现的策略执行架构,用于管理零信任网络中基于风险的访问控制。随后Vanickis等人[41]又进一步完善了FURZE架构,并定义了相关的策略语言以及实现防火墙配置模块所需的组件。
表2给出了ALC、RBAC、ABAC、PBAC和RAdAC从是否支持角色、属性、策略,是否支持细粒度,是否有上下文信息,以及是否支持风险评估等方面进行了对比。
表2 访问控制模型对比Table 2 Comparison of access control models
2.1.3 IAM技术在ZTN中的应用
零信任的理念是“永不信任,始终验证”,因此身份的认证和授权也可以说是ZTN的核心。尽管在传统的网络安全架构中身份的认证和授权是相当重要的,但在ZTN中传统的身份认证和授权技术是远远不够的。在ZTN中,对于身份的认证和授权应该是持续和动态进行的。例如在一个低风险的环境下,用户可以通过用户名和密码登录信息系统,当用户需要访问一些敏感信息时,ZTN需要进一步通过MFA,或是向可信设备发送OTP等方式进一步验证用户的身份。当ZTN的态势感知系统侦测到存在的安全问题,并自动将网络环境的评估风险调至高风险时,ZTN会动态地提高用户进行验证时的信任等级,通常情况下会被授予的访问请求在这个阶段可能就会被拒绝。ZTN中的IAM还可以根据访问主体访问的资源、时间、地理位置等信息的上下文来对其访问请求者的可信程度进行持续性的验证,并根据可信程度调整认证的强度。
以IAM系统作为ZTN的解决方案,简单来说就是由ZTN的PDP组件调用IAM系统来完成对访问主体的认证和授权。通过认证和授权之后,PEP将建立访问主体和资源之间的会话。随后PDP将持续动态地利用IAM系统进行验证,一旦出现安全问题,PEP会随时断开访问主体和资源之间的会话,以保护系统资源的安全。
目前很多企业使用的IAM系统是具有标准化的身份验证APIs和协议的,这有利于企业的网络向ZTN进行迁移。有的企业仍有很多陈旧的资产,它们往往通过非标准化以及未加密的通信协议来进行访问,有的甚至还是第三方闭源的应用。对于这类资产可以采用如第1.3.3小节中“基于飞地的ZTN模型”来部署,由PEP阻断访问主体对这些陈旧资产的直接访问,由ZTN的IAM对请求者进行身份认证和授权。这样企业的所有资源都可以由统一的IAM系统进行身份认证和授权,有助于提高用户的体验。同时,借助IAM系统的强认证和持续动态的风险评估,极大提高了信息资源的安全性。
传统的网络安全技术集中关注的是内外网边界处的流量,也称为南北向流量。Cisco估计在2021年数据中心内服务器到服务器的流量(即东西向流量)将占到总流量的85%[42],远超南北向流量。在大多数情况下,东西向流量是不受监控的,一旦攻击者进入了数据中心内网的受信区域,那么横向移动将变得轻而易举。零信任网络中的另一项技术——微分段,就是为了对东西流量进行隔离,并增加可视化与控制机制,从而有效地减少攻击面。
2.2.1 MSG模型
(1)NIST微分段模型
在第1.3.3小节中介绍的几类零信任部署模型针对的都是用户与服务器之间的通信情况,而微分段更关注于服务器到服务器之间的通信流量。图4是本文根据《零信任架构》[1]中的描述内容提出的微分段参考模型,该模型可以认为是第1.3.3小节中“基于设备代理/网关的部署模型”的一种变体。
如图4所示,数据平面中每个或一组资产的前端都配置了网关设备,它们扮演着PEP组件的角色。这些网关设备可以是智能交换机、路由器或是下一代防火墙等,这些设备会对东西流量起到隔离作用,同时还会进行采集和监控,以便进一步对流量进行分析。控制平面中的PDP负责集中管理所有的PEP组件。该模型与基于设备代理/网关的模型相似,具有隐式信任区小和能够实现较好的细粒度访问控制等优点。另外,因为PEP组件是运行在本地资产上的,所以在PEP上配置的策略能够对出、入站的流量进行双向控制。相应地,该模型也存在需要大量安装PEP组件以及需要适配陈旧资产系统等问题。
图4 NIST的微分段模型Fig.4 Micro-segmentation model of NIST
(2)Forrester微分段模型
Forrester在2010年提出了一个基于分段网关的模型,如图5所示。这个模型主要基于以下三个关键的理念[43]:
①能够方便地对网络进行管理和分段;
②使用多个并行化的交换核心进行构建;
③以单个控制台进行集中管理。
在该模型中,分段网关(segmentation gateway,SG)构成了零信任网络的核心。如图5所示,位于零信任网络中心位置的SG集成了所有的安全功能(如网络访问控制、IPS、防火墙、VPN网关等),并定义了全局策略。被称为微核心和微边界(microcore and perimeter,MCAP)的交换区通过自身的微核心交换机连接到SG的高速接口,从而接入到零信任网络中。由微核心交换机管理的网段被称为微边界。在微边界内,所有资源共享相似的功能和全局策略属性。多个并行的微边界最后汇聚到SG,由SG进行统一管理。
图5 Forrester的微分段模型Fig.5 Micro-segmentation model of Forrester
同时,该模型还要求建立数据采集网络(data acquisition network,DAN)用于整个网络的可视化。DAN将检测并记录每个MCAP的通信流量。该微分段模型提供了对网络资源进行细粒度隔离的能力,同时提高了管理的可视化能力,以便更早地检测与控制安全事件。集中、统一和透明地管理MCAP是该模型的一个关键特性[44]。该模型可以看作NSIT提出的基于资源门户的部署模型的一种变体。
2.2.2 MSG实施方案
微分段的概念并不新鲜,从广义上讲,微分段就是一种更细粒度的网络隔离技术,使用策略驱动的防火墙技术(通常是基于软件的)或者网络加密技术来隔离数据中心、公有云IaaS和容器,在逻辑上将数据中心划分为不同的安全网段,每个网段包含混合场景中的不同工作负载、应用和进程,可以为每个网段定义安全控制和所提供的服务[45]。目前,零信任网络的微分段实施方案较多,大致上有以下三类:基于网络的微分段、基于Hypervisor的微分段和基于主机代理的微分段[46]。
(1)基于网络的微分段
该方案需要软件定义网络(software defined network,SDN)和网络功能虚拟化(network functions visualization,NFV)技术将网络硬件虚拟化,并以软件的形式集中化管理网络。使用软件取代交换机和路由器的流量管理工作,并为网络设备提供基于策略的自动化管理功能。许多设备供应商在此概念上进行了功能扩展来监控工作负载的流量,主要技术分为基于可编程结构(programmable fabric)和基于网络覆盖层(network overlay)两类[47]。
基于网络的微分段方案主要是通过基于IP的ACL在交换机或数据中心防火墙等网络设备(物理或虚拟)中实施微分段策略,比较适用于私有数据中心,但在公有云环境下部署相对要困难许多,虚拟防火墙可能会带来吞吐量限制的问题。在进行细粒度分段时,该方案即便是在应用级也会需要大量的ACL,这将可能超出网络设备所能承受的负担。另外,该方案无法将工作负载上发起或是接受连接的进程可视化[48]。
(2)基于Hypervisor的微分段方案
基于Hypervisor的微分段方案是在专有的虚拟化平台下实现的,主流的方案仍然采用SDN技术,利用Hypervisor来模拟SDN控制器,例如VMWare的NSX就负责这项工作。如图6所示,在虚拟环境中所有的数据流量都必须经过Hypervisor,因此可以利用Hypervisor防火墙的功能来实现工作负载的可见性和微分段。虚拟网络中的通信永远不会离开虚拟环境,从而消除了在物理网络或物理防火墙中配置和维护网络分段的要求[49]。
图6 基于Hypervisor的虚拟平台Fig.6 Hypervisor based virtual platform
基于Hypervisor的微分段方案不容易受网络架构的影响,但不同的Hypervisor解决方案之间通常是不兼容的。该方案也不支持裸机工作负载,对公有云和容器化的工作负载支持都有限。与基于网络的微分段方案一样,基于Hypervisor的微分段无法将工作负载上发起或是接受连接的进程可视化[48]。
(3)基于主机代理的微分段方案
基于主机代理的微分段主要依赖在资产上配置相应的软件代理,如使用主机内置防火墙或代理自身的专有防火墙来实现。软件代理负责监视和分析进出主机的流量,以确定适当的细粒度策略和提供流量的可见性。同时,它还可以提供更多的上下文信息,如正在运行的进程、安装的软件或是可能的漏洞等。主机代理会利用这些数据生成相应的防火墙规则。基于主机的微分段方案对于移动或是临时的工作负载特别有用。这是因为在配置阶段,微分段的规则被直接编写到工作负载中,这样就不用考虑工作负载的位置或是持续时间。通过使用该方案可以实现跨数据中心、云、裸机和混合环境微分段[50]。因为基于主机的微分段是与网络结构解耦的,所以在进行部署时不需要重新构建网络或者SDN。
基于主机代理的微分段方案适用于运行在任意位置和形式的工作负载上,包括裸机、在任意Hypervisor上运行的虚机、容器、私有数据中心、私有云或混合云。此外,该方案能够从工作负载上获取较多的上下文信息以提供良好的细粒度分段和可见性。与前面两个方案相比,由于该方案的策略是在工作负载内部执行的,如果工作负载被攻击,那么就存在策略服务被攻击者关闭的风险。同时,该方案还需要构建专门的集中管理模块以便在跨工作负载之间进行协调和更新策略[48]。
由于充当PEP的代理软件与资产紧密耦合,基于主机代理的微分段可看作是NIST微分段模型的实现。与之相对的,基于网络和基于Hypervisor的微分段方案则可以看作是Forrester微分段模型的实现。同时这两种方案本质上都使用了SDN技术,利用集中控制器(物理或软件)将制定的策略下发到各个MCAP,并由集中控制器对各个MCAP进行统一管理。表3给出了三种方案的对比。
表3 微分段方案对比Table 3 Comparison of micro-segmentation models
SDP是由CSA提出的一种开放的网络安全架构,它的安全理念与“零信任”原则较为一致:(1)所有资源无论位于何处,对未授权的用户都是不可见的;(2)对所有授权均实施“需要知道”原则,也即最小权限原则;(3)会记录并检查所有流量[51]。SDP通过创建一种“黑匣子”将基础设施隐藏了起来,用户通常无法感知SDP所隐藏的内容[52]。用户只有在其身份被认证后才能被授权访问基础设施,而未授权的用户无法检测到这些基础设施。SDP的这种机制可以有效地阻止包括端口扫描、拒绝服务攻击和中间人攻击等在内的网络攻击[53]。因此,NIST在文献[1]中将SDP技术归结为零信任网络的一项关键技术。
2.3.1 SDP架构与工作流程
如图7所示,SDP架构主要由SDP控制器、SDP启动主机(initiating host,IH)和SDP接受主机(accepting host,AH)三个组件组成。可以看出,SDP与第1.3.3小节介绍的基于飞地的模型十分相似。SDP同样将控制信道和数据信道进行解耦,SDP控制器位于控制平面,充当PDP的角色,负责对发起请求的IH进行认证。SDP主机则位于数据平面,当IH通过SDP控制器的验证之后,就可以和AH建立一个双向TLS隧道;而AH往往会作为一组服务的网关而存在,充当PEP的角色。AH本身受到了SDP控制器的保护。默认情况下,AH拒绝除SDP控制器之外的所有连接。只有在SDP控制器授权后,AH才会接受来自IH的连接[54]。图7给出了SDP的工作流程,其具体内容如下。
图7 SDP流程图Fig.7 SDP flow chart
(1)SDP控制器激活并上线,并使用第2.1节介绍的认证和授权服务对用户(设备/应用)进行验证。
(2)AH激活并上线,然后通过建立双向TLS隧道与SDP控制器连接并被认证。此阶段AH不响应任何其他主机或是非预配置的请求。
(3)IH激活并上线,接着同样通过建立双向TLS隧道与SDP控制器连接并被认证。
(4)IH通过认证后,SDP控制器会生成一张该IH可访问的AH列表。
(5)SDP控制器通知AH接受来自IH的通信,并为其生成加密通信所需要的策略。
(6)SDP控制器将AH列表和加密通信所需的策略提供给IH。
(7)IH向每个被允许连接的AH发起单包认证(single packet authentication,SPA)。然后IH通过建立双向TLS与AH通信。
2.3.2 SDP部署模式与应用场景
根据不同的应用场景,SDP提供了以下几种主要部署模式:客户端-网关模式,客户端-服务器模式,服务器-服务器模式,客户端-服务器-客户端模式,客户端-网关-客户端模式以及网关-网关模式[55]。本小节阐述了各个SDP部署模式的细节,并在表4中进行了总结。
表4 SDP部署模型对比Table 4 Comparison of SDP deployment models
(1)客户端-网关模式
如图8(a)所示,客户端-网关模式下服务器被放置在充当AH的网关后方,客户端(IH)只能通过双向TLS隧道与网关通信,而不能直接访问服务器,服务器则被配置成只能由网关访问,这样服务器就被网关保护了起来。该模型可以用于缓解拒绝服务、服务器扫描、中间人攻击等攻击行为。
该部署模式与NIST的基于飞地的部署模型相似,网关充当了PEP组件。该部署模式适用于基于云的解决方案,同时也适用于本地数据中心。另外,该模式允许企业在网关和AH之间使用已存在的网络安全组件(如IDS、IPS等)。
(2)客户端-服务器模式
如图8(b)所示,客户端-服务器模式与客户端-网关模式非常相似。不同之处在于该模式下充当AH的网关被安装在服务器中(与NIST的基于设备/网关的部署模型吻合),客户端(IH)与服务器的通信是端到端的,网关充当PEP,使用SPA拒绝未经授权的连接请求[54-55]。此模式适用于云上或本地的数据中心。
(3)服务器-服务器模式
如图8(c)所示,服务器-服务器模式下每个服务器上都要安装SDP网关,因此服务器既可以是IH也可以是AH。这样在面对未经授权的连接时,所有的服务器都被隐藏了起来。该模式非常适合物联网和虚拟机环境[49]。SDP控制器既可以位于云端,也可以位于服务器上,与服务器使用相同的SDP网关。
(4)客户端-服务器-客户端模式
如图8(d)所示,客户端-服务器-客户端模式适用于需要点对点通信的场景,例如IP电话、视频会议等。在这些场景下,SDP会对已连接的客户端的IP地址进行混淆,加密组件之间的网络连接,并利用SPA为服务器(AH)拒绝未授权的连接请求。
(5)客户端-网关-客户端模式
如图8(e)所示,客户端-网关-客户端模式是客户端-服务器-客户端模式的变体,允许客户端直接互联。客户端可以作为IH、AH,或两者都是,这取决于使用的应用程序协议。SDP网关则充当客户端之间的防火墙[55]。
(6)网关-网关模式
如图8(f)所示,网关-网关模式中的客户端是指包括打印机、扫描仪、传感器和物联网设备等不需要或不可能安装SDP软件的设备。通常一个或多个客户端位于充当网关的IH后方,一个或多个服务器位于充当网关的AH后方[55],因此该模式适用于某些物联网环境。
图8 SDP的部署模式Fig.8 SDP deployment models
2.3.3 SDP的安全特性
SDP的安全性是通过向外部网络提供零可见性,在授予客户端访问权限之前使用多次确认和多个身份验证级别来实现的,具体涉及到以下五个独立的安全层。
(1)单包认证
SPA数据包由IH发往控制器或是AH。SPA包含了一个OTP用于验证,如果没有通过验证,控制器或AH不会进行应答。这种安全机制使得应用程序基础设施可以隐藏在网关和AH的后方,同时也能够保护SDP组件,使其安全地面向互联网部署[56]。
(2)双向TLS
在SDP中,IH、AH和控制器之间通信使用的是双向TLS隧道,这使得每个组件之间能够进行双向验证。TLS客户端和服务器的根证书必须与已知的合法根证书绑定,并且TLS服务器应使用在线证书状态协议(online certificate status protocol,OCSP)响应的Stapling功能来检测证书吊销状态,以缓解利用过期或伪造OCSP响应的中间人攻击。
(3)设备验证
设备验证主要用于证明正确的设备存储了私钥,并且该设备的软件可以信任。双向TLS虽然可以证明密钥未过期或已被吊销,但不能证明密钥是否被盗[52]。SDP中的控制器通常是被认为可控可信的设备,通过控制器来对IH和AH进行验证,有助于缓解证书被盗和伪造攻击的风险。
(4)动态防火墙
动态防火墙是SDP的另一个重要组成部分。与传统的静态防火墙相比,SDP的动态防火墙对所有通信的默认规则为“拒绝”。SDP首先绑定已通过身份验证的用户和设备,然后采用动态创建和删除防火墙规则的方式来让这些授权用户和设备连接到受保护的资源。这样做的好处是解决了传统网络在移动或是物联网环境下无法解决的安全边界问题。
(5)应用程序绑定
在对设备和用户进行身份认证和授权之后,SDP会创建加密的TSL隧道并绑定已经过授权的应用程序。这些授权的应用程序只能通过加密隧道进行通信,同时其他的应用程序无法使用这些隧道[56]。
这些安全层的应用很好地保障了零信任网络所需的身份验证、访问控制、数据隐私、数据可用性和服务可用性等需求,大大增加了恶意用户和攻击者尝试访问受保护的应用程序和服务的困难程度。此外,SDP还可以和IAM、MSG等技术进行有机整合,进一步提高访问控制与减少攻击面,可以更有效地抵御端口扫描、中间人攻击以及DDoS攻击[52,57-60]。
近年来,国家不断加快推进新基建建设,推动了整个社会的数字化转型。大数据、云计算、物联网、移动互联等新兴技术在为各行各业带来新的生产力的同时,也带来了新的网络安全问题。日益复杂的网络环境使得传统的网络安全边界逐渐瓦解,零信任网络的出现为这一难题给出了解决方案。本章阐述了零信任在不同领域应用的研究情况。
大数据是一种数据资产,其规模巨大,并且随着时间的推移呈指数级增长。各行各业,如政府、电信、银行、医疗保健、教育、交通等每天都会产生海量数据,其中包含了很多敏感数据,涉及到安全和隐私问题。许多数据面临着威胁,如网络钓鱼或僵尸网络,数据泄漏成为必须特别注意的问题[61]。为了保护大数据免受威胁,入侵检测系统、防火墙和基于主机的防病毒软件等传统技术无法胜任具体的安全要求。
Yang等人[62]提出了一种基于零信任模型的大数据细粒度访问控制方法。该方法包含三个主要步骤:(1)基于ZT的用户上下文识别;(2)细粒度数据访问认证(fine-grained data access authentication,FDAA)控制;(3)基于全网流量的数据访问审计。该方法能够在大数据环境下识别和拦截常见的存在风险的数据访问。Ahmed等人[63]提出了一种基于零信任模型的敏感数据保护技术,该模型引入访问控制代理,通过分析访问请求、用户类型、设备类型、应用类型和数据类型来实现控制访问,从而保护敏感数据。
多数大数据信息系统没有明确的系统边界,容易导致敏感数据的泄漏。零信任网络可以有效地强化大数据系统的身份认证和授权机制,依据登录用户的访问行为以及访问环境的上下文来识别是否有异常的行为。另外,零信任网络还会要求对敏感数据实现细粒度的访问控制,进一步提高数据的安全性。
云计算是一种模型,它实现了对共享的可配置资源池进行无处不在、便捷地按需网络访问[64]。云计算为用户提供了各种服务和基础设施,带来了很好的便利性,但也存在云计算供应商不易评估、不安全的API、数据丢失或泄漏以及账户劫持[65]等安全问题。为了提高云计算的安全性,研究人员尝试将零信任模型引入到云计算之中。
DeCusatis等人[24,66]提出了一种基于首包认证的零信任网络实现方法。该方法是通过隐写覆盖的方法,在TCP请求数据包中嵌入了身份验证令牌,并拒绝未经授权的通信,以此来隐藏需要保护的资源。Mehraj等人[67]探讨了客户对于云和云服务提供商(cloud service provider,CSP)的信任问题,提出了一种针对云计算的零信任策略概念模型。该模型有助于CSP和客户在云环境中选择可信任的实体。Albuali等人[68]则探讨了云计算中志愿者节点的信任评估问题,通过建立一个基于零信任身份管理的自适应行为评估模型,来对每个志愿者节点进行打分,并以此作为任务分配的依据。Ahmed[69]提出了一种零信任联邦IAM架构,用于防止CSP未经授权访问由CSP进行管理的客户的数字资产。该架构采用了去中心化的IAM方法,旨在最大限度地减少任何单一实体对云环境中数字资产的控制权。Ferretti等人[16]认为现有的零信任体系结构设计时控制平面是可信任的这一假设是不合理的,由此提出了一种幸存零信任架构,通过在多个控制平面组件之间分配信任,让控制平面遭受攻击时能够恢复工作。
在云环境中,用户数据和其他数字资产通常会驻留在CSP的服务器上,并由CSP负责身份认证和授权。因此传统的客户资源访问机制仍然以CSP为中心,用户在云上的安全性非常依赖CSP。基于零信任的IAM不仅可以对云用户,或是连接到云的设备进行验证,同样也会要求对CSP的行为进行检测,以防止CSP未经授权访问用户数据。此外,利用SDP架构,可以有效地隐藏云环境中的资产,使其不易遭受DDoS或者是端口扫描等网络攻击。利用微分段技术可以对云计算数据中心的敏感数据进行保护,实时观测敏感数据的流动情况以防数据泄露。
物联网涉及位于办公室、家庭、城市、人体内部以及跨地域的各种设备的连接。多样化的终端设备与接入方式对物联网的安全性提出了挑战。目前物联网领域在安全方面主要有以下五个研究热点:隐私数据保护、轻量级安全机制、入侵检测与防御系统、针对自动化操作的访问控制策略以及移动设备的跨域认证方法[70]。
Osman等人[71]利用微分段技术来保护智能家庭网络免受横向移动的内部攻击,具体涉及到两个网络功能:一个是建立所有设备及其漏洞的清单;另一个是利用这些信息将设备动态分配给微分段,并使用段间和段内的网络级安全策略将它们彼此隔离。Shah等人[72]以零信任为设计原则,提出了一种新的轻量级连续设备到设备认证协议。该协议利用通信信道属性和可调数学函数来生成动态变化的会话密钥,用于连续设备认证。Dimitrakos等人[73]提出了一种新的信任感知连续授权模型。在该模型中,动态授权、使用控制和概率信任评估进行了融合,使得模型具有可扩展性、高效性和轻量级,足以在消费者物联网环境中发挥作用。
另外,随着物联网技术的发展,其实时性能的要求也推动了边缘计算和雾计算的发展。由此,网络安全人员也开始着眼于零信任网络在边缘计算和雾计算的应用。Tanimoto等人[74]对雾与边缘计算的多层结构进行了研究,为层间定义了“边界线”,并提出了一种使用SDP架构管理该“边界线”的方法;Singh等人[75]利用SDP架构来增强多址访问边缘计算(multi-access edge computing,MEC)的安全性,旨在为LTE核心网络中的流量到达云端前提供保护。
海量物联网设备的接入带来了异构认证、频繁交互、边界模糊等问题。同时,物联网设备不断产生大量的个人和敏感数据。对物联网建立微分段可以有效地减少攻击面,同时还可以对所有流量建立可见性模型,以防止敏感数据的泄漏。SDP技术不仅可以保护云中资源,同样也能对物联网中处于雾和边缘的资源起到保护作用。此外,IAM技术可以基于多数据源实现对接入设备的验证,例如从版本、漏洞补丁、系统应用程序级别、认证方法等属性来分析其安全风险。
与前几代移动通信相比,5G的业务提供能力将更加丰富。5G不仅需要考虑基本的数据和语音通信服务,还将服务于一切可互联的产业。因此,5G网络本质上将会是异构的,具有各种不同的服务、应用、用户、设备和大量网络流量。这种异构环境是难以监控和管理的,这促使5G必须建立更全面、更高效、更节能的网络和通信服务模型,以满足增强的、多方面的安全需求[76-78]。
Mammela等人[78]尝试将微分段引入到5G网络安全中,以此扩展网络切片的概念。Chen等人[79]针对5G智能医疗平台提出了一个利用ZTA的安全感知和保护系统,在主体、对象、行为和环境四个维度驱动下,该系统实现了实时网络安全态势感知、连续身份验证、访问行为分析和细粒度访问控制。Ramezanpour等人[80]提出了一种i-ZTA体系结构,该结构采用基于服务的体系结构(service-based architectures,SBA)进行设计,并利用人工智能实现信息安全。此外,还讨论了如何利用5G的MEC技术为资源受约束的设备提供实现设想i-ZTA所需的计算资源。
5G的落地结合了如SDN、NFV、云计算、MEC等一系列技术,在提供高带宽、低延迟、可靠的通信以及多样化服务的同时,还为大规模物联设备的接入提供了保障。但这些都大大增加了整个网络的攻击面。如同在之前几个小节讨论的那样,零信任网络能够有效地缓解5G所面临的威胁。
区块链是一种新型的数据共享技术,它通过引入共识机制来解决分布式系统中的信任问题。同时,区块链具有分散性、自治性、开放性和不可篡改性,可以有效降低参与者之间的信任成本[81]。因此,有不少人尝试将区块链与零信任相结合为网络提供安全防护。
Samaniego等人[82]开发了一种称为Amatista的基于区块链的中间件,并引入了基于零信任的分层挖矿方法,在边缘层级上对基础设施以及事务分别从水平和垂直方向上进行信任的验证。由于将挖矿任务分布到了边缘组件,这种挖矿方法消除了计算能力受限的限制。Dhar等人[44]将Forrester的微分段方案应用于物联网,然后利用区块链记录的不变性和可审计性来改进物联网的设备标识、网络属性和日志的完整性,并借助智能合约实施安全策略。Sultana等人[83]将区块链和零信任进行结合,以增强医疗记录和图像传输的安全性。区块链负责对医疗/健康数据传输进行审计跟踪;零信任则用于在传输过程中确保医疗数据的安全,并增强用户端的安全性。Patil等人[84]提出了一种结合工作量证明和运行时间证明的一致性算法,用于构建零信任模型,并以此来管理分布式系统。Alevizos等人[85]讨论了如何使用区块链技术来增强ZTA的实施,例如利用零信任来创建端点的上下文,再利用区块链技术加强上下文的完整性。
由上述讨论可见,零信任技术能够和区块链技术进行有机融合,进一步强化网络的安全性。例如,将零信任网络与智能合约结合,可以对用户或设备的身份进行验证。零信任可以增强数据的保密性和事务流的可视性,而区块链的共识机制可以对发起的事务进行验证,同时区块链的分布式账本还可以提供对事务进行审计跟踪,以及确保身份信息、日志、数据完整性的能力。
除了以上领域内的研究外,在零信任的访问控制、微分段、实践应用等方面也有不少研究成果。Eidle等人[13]基于观察、定向、决策、行动(observe,orient,decide,act,OODA)架构实现了用于零信任网络的自主控制平面,并且还实现了身份验证网关的信任级别以及物理和虚拟防火墙的动态编排。实验结果表明,该零信任网络可以有效地阻止DDoS攻击。Kong等人[86]构建了一个基于Elastic Stack的小型零信任局域网模型。该模型使用指纹识别技术作为用户登录的凭证,并在后台运行透明的进程以收集和审计操作日志,使人们能够在保密和安全使用的前提下,在局域网内方便地传输文件、交换信息。D'Silva等人[20]讨论了如何通过容器化应用程序实现微分段,并使用Kubernetes进行了实践。Hatakeyama等人[87]提出了零信任联邦的概念以及一种在系统之间共享上下文的方法。同时为了保护用户隐私,还提出了一种在用户控制下共享上下文的机制。Yao等人[88]基于ZTA提出了一种动态访问控制与授权系统。该系统会根据用户行为生成用户肖像和用户信任,并以此为依据来调整用户的访问权限,实现细粒度、动态的访问控制和授权。
关于零信任网络的性能,也有少量的文献进行了分析。Mujib等人[89]分析了使用微分段的零信任网络的性能,实验结果表明,在不丢失数据包的情况下,分别增加了平均4 ms的往返时间和11 ms的抖动时间,证明了零信任在数据中心环境中的可行性。Rodigari等人[90]对多云环境中使用Istio服务网格实现的零信任网络进行了性能评估,实验结果表明,Istio减少了响应连续HTTP请求的延迟变化,但总体CPU和内存可能会根据服务网格配置和云环境而增加。Lukaseder等人[91]介绍了零信任网络架构Alekto以及一个计算信任分数的模型,性能测试表明,该架构不仅不会对基线性能产生负面影响,而且还在每秒处理的HTTP请求及其所需响应时间方面得到了改进。
表5总结了零信任在各领域的研究情况。
表5 零信任在各领域的研究情况Table 5 Zero trust research in various fields
现今,传统的网络安全边界正在逐渐失效,零信任作为一种关于信任与安全的新型思考范式,受到了来自国内外政府、学术界和工业界的广泛重视和一致认可。本文介绍了零信任网络的基本架构及常用部署模型,并探讨了各个部署模型的优缺点。随后对零信任的三个关键技术IAM、MSG和SDP的相关内容分别进行了梳理。最后对零信任目前在各个相关领域内的应用研究成果进行了总结。就目前的实际情况而言,零信任技术仍处于摸索发展的阶段,尚未成熟,未来还将面临诸多的挑战。
(1)信任算法
如何获取信任是实践零信任网络首先要考虑的问题。目前已有的信任计算方法主要是根据经验设定信任的评估基准。同时根据不同对象的重要程度分配不同的权重,并结合上下文信息计算出信任分数。最后与评估基准进行比较得出当前的信任级别。这种静态的评估规则对已知的安全风险能够有效地进行评估预警,但无法评估未知的风险。在未来的工作中,可以引入机器学习的方法来训练一些信任计算模型,这些模型可以对具有未知风险的访问进行风险评估。
另外,第1.3.2小节描述了各种用于PE决策的数据源,如威胁情报、SIEM日志、网络流量、受试者地理位置、用户身份和凭证等,它们通常是异构的,并会含有不精确的信息。信任算法要如何将它们进行有效整合,同时确定其信任级别也将是一项具有挑战的任务。
(2)持续的用户身份验证
用户的身份在登录验证之后,还需要在整个访问过程中都持续地验证。然而,持续验证不能仅依靠用户操作的上下文信息,因为攻击者有可能通过一系列常规的操作获取系统的信任以执行敏感的操作。目前大部分对用户身份进行持续性验证的机制依赖于用户生物特征。现有的方案虽然能够实现持续性的身份验证,但是也存在很大的局限性。一方面,有些方案依赖特定的传感器,并需要用户长时间佩戴,降低了用户体验。另一方面,大量的用户生物特征数据的采集也带来了新的隐私问题。在未来的工作中,需要注意到依赖特定传感器的身份验证方案可能无法胜任用户跨多设备操作的情形,应当考虑不同验证方案协作验证的框架。而采集的生物特征,最好是保存在本地设备之中,如果需要传输则应当使用安全的协议进行传输。
(3)微分段的管理与维护
在大型网络中,各种负载之间有着复杂的工作流,要进行有效的微分段是比较困难的。与此同时,负载上的应用程序需求往往也是动态变化的,不时地会有新的应用加入,也有新的应用退出。在这样复杂的环境中,出入策略的管理与维护是极具挑战性的,配置一旦出错则会导致现有的工作中断。因此在未来的工作中,需要研究动态的工作流访问检测技术和访问控制策略来识别工作流的交互,并对相应的访问策略进行更新。
(4)SDP的安全问题
SDP利用第2.3节描述的几个关键技术将重要的网络基础设施隐藏了起来,很多研究工作也验证了SDP在抵御DDoS、端口扫描等网络攻击时具有很好的效果。SDP安全有效的前提是假设SDP控制器是可信可控的,但是目前还没有探讨SDP控制器本身安全的研究工作。如果SDP控制器受到了攻击,那么整个SDP将不再安全。此外,单一的SDP控制器会存在单点故障、网络性能瓶颈等问题,分布式的SDP控制器方案会是今后值得研究的一个方向。
另外,SDP对于远程访问的场景能够提供较好的安全保护,但对于内网中的横向移动还需要结合其他技术才能有效地解决,如MSG技术。
综上,零信任网络是在网络环境日渐复杂、网络安全风险日益增强、网络应用日趋多样化的大背景下,对传统安全模式的一次理念创新和技术变革。作为一项正在快速发展的安全技术,零信任网络在诸多方面还有待进一步发展完善,这也迫使研究者在梳理前人成果的基础上,进一步理清思路,不断进行理论探索和应用实践。