2023-07-25
零信任(Zero Trust)自提出到经过多年的演化之后,已经形成了多种概念和模型,这些知识的呈现往往让企业级用户有些无所适从。本文概述了零信任架构的基础概念、主要特征、部署实现的技术挑战等内容。并从云计算的角度,如何基于云计算构建企业零信任架构的关键服务和关键技术语言 Cedar。希望能够在安全架构构建、部署和快速迭代方面,帮助客户快速了解关联的服务和技术。支持用户在构建安全架构时,既能确保系统和数据具备适当级别机密性、完整性和可用性,还具备系统运行速度和敏捷性。
零信任概念最早由 Forrester 的分析师 John Kindervag 于 2010 年提出,核心思想是“从来不信任,始终在校验(Never Trust, Always Verify)”。在 IT 领域经过多年的演化之后,形成了以零信任模型,零信任网络为主体的安全架构。但不同的组织机构和业务领域有不同的定义与理解。在参考借鉴了国内外 IT 领域和云计算领域的零信任概念和模型定义与构建实践之后,提出了对零信任架构的定义和实现部署的关键挑战解析。以及如何将零信任架构与亚马逊云科技的云计算服务相对应,帮助客户在云计算平台上,开启自己的零信任之旅,最终实现客户的安全目标。
尽管技术方法兴衰轮替,但企业级客户的潜在安全目标往往相对稳定。 零信任架构的许多原则和技术特征与亚马逊云科技的 Well-Architected Framework 的设计原则其实是不谋而合,与亚马逊云科技所提供的各种安全服务异曲同工,非常值得我们去探索和实践。
零信任架构(Zero Trust)是一个概念性的安全模型和相关的一套机制,它专注于围绕数字资产提供安全控制,这些资产不会完全依赖于传统的网络控制或网络边界。其中的“Zero”隐含的意思对常态信任度认知的递减,甚至是“完全没有”。在此之前,信息安全领域主要采用以网络位置为中心的边界安全模型。这种模型的应用会在网络边界,部署防火墙,VPN 等安全防护的硬件设备,来应对来自外部网络的威胁,在网络内部,通过交换/路由协议控制流量区域,构建不同等级的网络安全域,建立起相对静态的信任机制。
在这种安全架构下,如果企业主要的应用访问和数据流量都在内网的多个安全域内流转,跨地域网络访问通过网络专线和 VPN 通道链接,并在边界建立了严格的访问请求控制的情况下,这种安全模型能够提供相当的安全防护能力。但随着移动互联网技术的发展和远程/移动办公模式的兴起,来自外部网站的请求出现了大幅的增加,网络流量请求类型也趋向复杂化,叠加计算机病毒传播和黑客技术的智能化提升,那原有的安全信任机制就将备受挑战。
而在零信任架构下,原始定义就已经降低了位置网络的信任基准,安全的重心向安全对象转移,并通过多项架构和技术手段构建起更加灵活的安全能力。这些手段包括:
1. 设计采用数据平面与控制平面分开控制的架构,提供了更好的隔离。
2. 采用信任智能评估、网络日志实时采集、等技术增强或替代技术,在访问发起者和接受者之间建立起细粒度的安全通路。
3. 提供以身份为中心的策略中心和安全控制机制。为用户提供比预期更好的安全能力。
4. 最终实现更高的安全灵活性和服务可用性。
如上图所示,控制平面是零信任架构的核心和支撑系统,架构中的其他部分统称为数据平面,接受控制平面的指挥和调度。来自客户端的全部访问请求首先需要经过控制平面处理。包括用户与设备的身份注册、认证与授权,访问控制策略匹配,动态信任分析评估等过程后,才可能建立端到端的安全通道,实现到服务端的访问处理。
相对于边界安全模型而言,零信任架构尽可能地趋向于处于“无(不)信任”的网络环境,淡化了原有的安全边界概念,采用了更高维度的模型框架,聚焦更细粒度的防护对象。从而带来了更高的灵活性、扩展性和智能化能力。体现出诸多的优势技术特征。包括:
零信任架构采用独立的控制平面与数据平面架构,控制平面执行控制流的处理,数据平面完成端到端的数据访问与数据交互。这种架构带来的优势是一方面可以最大可能地简化网络流量的复杂度,简化网络访问的控制策略,优化网络传输效率;另一方面可以在网络控制和数据交换之间建立一道防火墙,将数据交换的决策权和控制权提升到更高的层面,避免了网络嗅探和违规越权的风险,并可以支持在任何时间,任何位置的访问允许和阻断操作,从而显著改善以往安全事故中的包欺骗,恶意提权等威胁应对的效率。
零信任架构放弃了边界安全模型中的位置网络概念,不再信任由静态规则定义好的安全域,而后者在应对内网发起的安全威胁或离线东西向攻击时,往往达不到客户所期望的事件响应速度和影响范围控制能力。零信任架构聚焦于网络主体和主体之间的端到端访问通道安全。除此之外的区域,均被视为不可信任区域。其中主体包括了网络请求的发起者(用户,Client 程序)和请求的接收者(Service,Server 端),由控制平面提供主体的注册,认证、授权和主体有效性的可信清单维护。端到端访问通道是一次性的,临时网络通道,而非永久的安全通道,控制平面将基于主体的属性数据、历史行为数据等,开展实时数据智能分析,开展主体和请求的可信度评估,低于信任阈值的连接请求将不被允许,并通知到相关的安全和管理人员。即便请求者提供了一致的身份凭证,密钥、访问请求对象和请求动作等,也可能因信任评估被拒绝访问。而确认允许的访问,将被允许建立端到端的访问通道。零信任架构提供了必要的技术手段保障通道和数据的安全。这种架构对于应对来自企业内部的身份盗用,越权访问尤其有效。
传统边界安全模型主要是基于静态规则配置和处理,技术基础相对成熟,但对于所定义可信区域的状态变化不敏感,应对处理缺乏自动化手段,也缺乏新技术的融合能力。零信任架构采用了一套独立的动态信任评估机制和与之关联的网络控制机制。信任评估机制提供了主体,端到端通道的信任水平评估办法。通过属性数据、历史行为数据的多维分析,生成统一的信任值,为请求的建立、权限的调整提供了执行基础。控制平面还具备了对网络环境的自由控制能力,可以为信任评估机制定义相应的网络控制策略,即动态网络控制机制来实现网络的实时控制。独立的控制平面还带来了技术的扩展性,可以在请求对象和网络通道的管理决策中,融合更多,更新的数据监控、数据分析、趋势预测等技术手段,提供更实时,更细致和更精确的信任评估。例如通过感知网络、流日志智能分析手段,可以实时评估通道被恶意占用的威胁风险,并触发相应的自动化应对措施。
零信任架构是应移动互联网技术发展而演化出来的安全模型,是对边界网络安全模型的提升和增强,而非完全替代。企业客户在开启从边界网络安全架构向零信任架构的转型构建过程中,需提前梳理自身的网络基础能力,并将其与零信任架构的关键能力对齐,已确保在后续的分布构建过程的有序和可靠。典型的关键能力包括:
采用基于身份而非网络位置来构建访问控制体系,需要为网络中的人员、应用、服务、设备等元素建立数字身份,这些元素可能会依据访问上下文而发生变化或组合使用,并在此基础上构建访问的请求者和接受者主体,需构建一套完整的身份管理方案,能够提供主体的生命周期统一信任值管理,定义所需的最小权限基线和权限调整参考基准。
零信任架构根据动态信任评估机制和网络控制机制保障了业务的最小权限受控访问。对所有的业务访问请求进行全流程加密和强制授权,业务安全访问相关机制尽可能工作在应用层,与数据的安全访问机制并行工作,相互衔接。零信任架构的核心资产隐藏在控制平面的对象清单内,默认外部不可见。仅放通主体注册、身份验证、以及符合安全策略要求的访问请求。针对不同业务场景进行访问策略适配,针对不同访问协议和方法进行主体识别和匹配,并建立多层的访问主体关联和访问约束控制机制。
零信任架构中,访问的主要组件是主体身份和访问行为,以及附加在访问主体的网络代理组件,主体信任必须具备短时特征。因此,持续信任评估是零信任架构的关键,它提供了基于主体的信任等级评估和动态访问控制,包括基于身份的信任评估,对访问的上下文环境进行风险判断,对访问请求进行异常行为识别,对现有信任评估结果进行调整。
零信任架构具有独立的信用评估和控制策略引擎,采用分级访问控制的模式,当主体的信任等级高于被请求对象的安全等级时,系统自动授予访问权限,否则需要通过访问控制机制中的策略引擎匹配访问策略,实现跨级的网络访问。同时,根据持续信任评估的判断,主体的信任等级也将实时调整,从而与访问控制机制相适配,保障架构遵循动态最小权限原则。而当访问上下文或访问环境评估存在安全风险时,零信任架构会对访问权限进行实时干预,评估执行降低主体访问等级和网络访问的降权或通道阻断。
零信任架构需具备实时分析和安全状态可视化能力。能够聚合全局的上下文信息,识别并处理威胁。包括执行对用户、客户端程序、设备、服务端应用等主体的数据实时分析。整合用户,会话和应用资源安全状态相关的上下文信息(流量、设备状态、用户身份、行为、位置、时间等),并提供可视化查阅与分析。零信任架构还需提供针对访问主体、网络通道的定义和自动化编排能力,支持控制平面的评估、策略、控制等多个功能模块交互调用,支持对数据平面的监控、数据采集和控制干预等编排能力。
企业开启零信任架构适用的影响覆盖了企业内部信息技术栈的多数层级和维度,带来的是从企业战略,业务能力到技术工具的变革和创新。因此开启零信任架构适用之旅必然是充满挑战,尤其是在具体的部署适用阶段。从已有的成功案例来看,从常规边界安全模型迁移到零信任架构是一条持续适配,持续改进的道路。其中面临的典型技术挑战包括:
零信任架构默认假定是运作在不可信的执行环境,核心实现是通过控制平面提供访问主体管理、环境信任评估和临时网络通道控制等技术,一套完整的独立的控制平面软件至少包括了威胁模型、信任引擎、策略引擎、授权控制与策略执行、网络代理、数据存储等功能模块。还需要具备与数据采集、日志分析、身份管理、证书加密、安全设备等第 3 方软硬件的高效集成能力。目前商用市场上缺乏成熟的商业软件,用户自行研发同样面临高级人才稀缺,定制开发周期长、研发投入大等困难。
用户身份管理和权限控制是典型的企业级管理软件,不管是基于 Windows 生态,还是 Linux 开源生态都有成熟的软件和访问协议规范,可以很好地满足常规的身份管理和安全防护需求,但并非原生就基于零信任架构模型,在跨服务或跨应用的身份验证和动态权限控制方面存在差距。需要在原有的技术基础上,开展功能扩展或定制开发。
如前文所述,零信任架构并非传统边界安全模型的替代,而是安全能力的扩展与提升。因此零信任架构将会继承和使用部分原有的安全设备和技术工具。鼓励用户通过控制平面和网络代理在不同的安全设备之间,实现统一的安全信任评估和安全访问控制。但鉴于安全设备的技术演进和用途设计差异,目前没有一种通用的语言可以统一安全领域和网络领域的功能调度和控制编排。
动态安全信任评估和动态网络访问控制依赖的是日志实时采集,实时分析和智能算法等技术手段。例如感知网络,SIEM(安全信息事件管理)等较为成熟的技术工具也需要明确的网络带宽,计算算力资源和训练成熟的算法模型。我们的用户要实现零信任架构的适用,需要面对诸多先进技术的准备预热和基础资源投入问题,才能确保达到预期的零信任评估和自动化编排处理能力。
基于公有云服务的软件应用运行环境可以为企业用户带来资源弹性、成本优化、卓越运营等云计算应用优势。云服务环境作为一个远程的运行环境,其主要的网络流量均经过互联网接入,所处的环境与零信任架构的假定环境非常吻合。因此,结合上文所述零信任架构的关键能力和技术挑战,基于云服务启用零信任架构模型具备技术应用的合理性和必然性。
与此同时,亚马逊云科技一直以来都非常重视自身和客户的安全管理,将安全视为全部云服务的根基。在零信任架构的技术研究上,汇集了亚马逊全球的安全专家,融合了全球用户的安全应用实践,开发了近 300 项安全相关的云服务和工具,覆盖了从身份、授权、认证、审计、访问控制、威胁侦测等维度,通过了全球近百项安全合规认证,来帮助用户在云端建立零信任安全架构。相关的创新性云服务包括:
包括 Amazon VPC、AWS PrivateLink、VPC Flow Logs 等服务,零信任架构降低了对网络位置的依赖,但依然通过网络控制和边界暴漏面控制技术,与身份和认证技术有效地结合。建立以身份为中心的细粒度,动态访问控制。例如与 AWS API 端点交互,使用 AWS SigV4 请求签名过程,实现请求唯一验证和授权每个签名的 API 请求,并提供非常细粒度的访问控制。通过 VPC 端点控制,可以从系统中过滤掉不必要的噪音,保留出色的网络护栏。并为 VPC 端点提供附加策略的编排能力,允许在逻辑网络边界编写和执行以身份为中心的规则,实现请求前的认证与请求过滤。基于 VPC 云网络的内部创建精心分割的微服务架构和应用程序。通过配置安全组、网络控制列表、路由表等策略,专注于端到端的安全网络通道等。
包括 AWS IAM、AWS IAM Identity Center、Amazon Cognito、AWS Directory Service、AWS Organizations、AWS control tower 等服务。这些服务能够为用户提供独立的身份和访问管理防护机制和基于属性的精细访问权限控制,支持单账号和跨账号的身份集中认证、临时安全凭证和组织级的预防性防护机制,提供持续地访问分析、设置、验证和中途适时最低权限调整。
包括 AWS Cloud HSM、AWS KMS、AWS Certificates Manager&Private CA、AWS Secrets Manager 等服务,这些服务能够为用户在专用 FIPS 140-2 3 级单租户硬件安全模块实例上生成和管理加密密钥,帮助用户加密静态数据,建立传输加密通道,为 Web 服务器卸载 SSL 传输链接,为 CA 证书签发提供私有密钥保护,为数据库激活 TDE 透明数据加密密钥等。
包括 AWS Audit Manager,AWS Detective、AWS GuardDuty、Amazon Inspector、AWS Security Hub、WAF&Shield、 Amazon EventBridge 等服务。这些服务能够持续地监控用户的账号、实例、容器、存储、数据库工作负载中的用户和数据,利用来自于亚马逊云科技和第 3 方专业生态伙伴的异常检测、机器学习、行为建模和威胁情报来源,帮助用户提高安全操作可视性,快速识别潜在威胁的程序和行为,并触发自动响应措施,发送有见地的安全分析结果,帮助用户尽早地消除安全威胁。
包括 AWS IoT Core、FreeRTOS 、AWS IoT Greengrass、AWS Lambda 、IoT SDK 等服务。这些服务覆盖了 IoT 技术栈的所有组件,因此能够帮助用户按照零信任架构的要求,使得从 IoT 设备连接到服务端点时始终保持 TLS 网络加密和客户端身份验证,包括基于证书的双向 TLS,保持小型 CPU 和小型内存设备的现代安全通信协议处理。同时,借助 AWS IoT Greengrass,开创了一种使用远程网关来处理现有无安全设备的方法,该网关服务仅仅依赖于本地网络存在,也能够运行 AWS Lambda 函数来验证安全性并为云网络提供安全代理。通过 IoT 端到端整体支撑服务,使得在开放互联网实现 IoT 设备全量实时身份认证,加密消息传递成为新常态,将零信任架构实现带入一个新高度。
Amazon Verified Permissions、AWS Verified Access 2 项服务是零信任原生安全服务,从应用程序层面出发,支持实现精细权限控制与授权,支持应用程序的动态信任评估和授权控制。
Amazon Verified Permissions 支持在自定义应用程序中管理精细权限和授权,支持将授权与业务逻辑分离,加快应用程序开发,支持通过权限集中和策略生命周期管理节省时间和资源,提供自动化分析来确认权限的合规执行,简化大规模合规审计,支持构建符合零信任架构(动态和实时授权决策)的应用程序。其核心功能包括:
AWS Verified Access 服务支持为应用程序配置精细访问权,确保在满足安全的情况下才授予应用程序访问权。提供了无需 VPN 的公网企业应用安全访问能力,支持实时评估每个 API 访问请求,支持基于身份数据和设备状态条件,定义每个应用程序的唯一访问策略。AWS Verified Access 具备多维度的外部系统集成能力,包括:
Cedar 是亚马逊云科技最新公开发布的通用授权策略描述语言。它能够将权限定义为策略,再通过策略来控制请求对象,可执行操作和可访问的资源等。该语言已经成功适用于 Amazon Verified Permissions 和 AWS Verified Access 等原生零信任托管服务,并将成为零信任架构框架下的通用策略描述语言。Cedar 具有简单而富有表现力的语法,融合了以往的授权模型,同时支持基于角色的访问控制 RBAC 和基于属性的访问控制 ABAC 授权,策略结构具备快速检索索引,可扩展实时评估和自动推理分析,能够帮助用户优化授权策略和证明安全模型的可靠。
Cedar 的策略执行与用户应用程序代码是分开管理,支持独立编写、更新、分析和审计。开发人员可以使用 Cedar SDK 编写策略来为他们的应用程序指定细粒度的访问权限。再由应用程序通过调用 Cedar 的授权引擎来授权访问请求。例如照片共享应用程序中的照片、微服务集群中的计算节点或工作流中的处理组件等。用户可以将细粒度的权限指定为 Cedar 策略,由应用程序通过调用 Cedar SDK 的授权引擎来授权访问请求。样例策略参考如下:
permit(
principal == User::'alice',
action == Action::'view',
resource == Photo::'VacationPhoto94.jpg'
);
forbid(
principal == User::'alice',
action == Action::'view',
resource == Photo::'VacationPhoto94.jpg'
);
正如我们所见的一样,伴随着企业的数字化进程,企业应用的云端应用也将不断扩展。我们相信安全将成为我们客户企业运转的中心之一,基于零信任架构,帮助我们的客户建立起一种安全文化,让每个员工都成为安全的所有者,可以为企业的云端应用安全产生积极影响,基于零信任得安全实践也将成为企业未来发展中的关键技术创新。这也将影响企业和个人对安全预期理解和演进,安全将被视为一种业务主体和创新驱动力,帮助企业在未来创新当中保持竞争力。
本文仅仅是从基础概念上面梳理了零信任网络的主要特征,以及概括了亚马逊云科技助力企业用户在云端适用零信任架构时,可以用于快速构建的多项安全相关的云服务。希望在后续的时间里,能够继续深入,提供更加具体的场景应用介绍和安全实践。