文 │ 启明星辰集团首席战略官 潘柱廷
“问题”是一个多义词,可以理解为负面的意义,如错误(Error)、麻烦和困难(Problem)、副作用(Side-effect),也可以理解为开放性的意义,如提问(Question)、题目和课题(Topic)。本文探讨零信任的问题,是从宏观的视角来分析:没有特别关注零信任的技术细节,重点是试图追问零信任根本的原理问题;没有具体讨论零信任的实现方法,但是却希望解构其需求框架。文章重点不在于阐明或立论“正道”和“正解”,而是尽量提出问题,引发对零信任的关注和探讨。
一、零信任的命名问题
零信任这个词其实有些名不对意。“名可名,非常名”,对于一个复杂而玄妙的事务,任何名字都会是片面、甚至是错误的。零信任的“持续验证,永不信任”的这种极为绝对的说法,不太符合网络安全“是相对的而不是绝对”的基本安全观。从零信任的框架内涵和技术实现来看,称作“零化信任”也许更加符合——尽量趋近于零的信任。真实实现的零信任,还有理论框架上的零信任,都不是“永不信任”,而是给信任尽量小的时间窗、尽量小的空间延展。零信任其实可以理解为颗粒度很小,用趋近于零来比喻的信任方式。
但是,换个角度来看,零信任这个名字也不错,具有很好的冲击力和传播性,有助于零信任的推广。在理解了零信任的本质后,可以不再纠结零信任的名字问题。
二、零信任的理论和体系程度问题
零信任到底有没有理论基础和理论支撑?这个问题成为很多质疑者的提问之处。以笔者对于零信任的接触和了解,认为零信任在提出之初,更主要是一种可行的工程化框架和实现思路,理论的严密性并不是其早期的核心诉求。没必要苛求零信任的理论深度和完备性,但随着零信任应用的深入,对于其理论完备性的补充,可以由学术界来完成,理论的顺畅能反哺工程框架。
三、零信任究竟在解决什么问题?其究竟是一个什么样的原生问题?
“云原生安全”已经是业界比较熟悉的一个词。启明星辰在 2021 年末也提出了“数据原生安全”的概念。什么是原生?从字面意思来看,原生就是事物原本的、内在的,而不是外挂的、补丁式的。再细致一些,至少应当包括下面三个部分。
延续基本框架。从最表面来看,原生就是延续了所基于对象的基本框架。例如,云现在已经容器化,那么云原生安全就要基于容器、针对容器。
符合本质规律。例如,数据的本质特征就是容易复制,那么,对于数据遗忘权的诉求就是一个“逆数据原生”的要求,很难实现。
满足根本诉求。例如,云是要实现按需弹性,那么安全访问服务边缘(SASE)就是要实现网络接入的按需弹性。再如,数据是要流通的,那么隐私计算就是要力图实现流通而不拥有,可算但不可见。
零信任究竟有什么用?究竟在解决什么问题?这是一个关键问题。对于这类问题的回答,如果不同,则会走向不同的道路、不同的框架、不同的实现。笔者的回答是“访问”。零信任归根结底是在用一种独特的思路来解决“访问”的问题,零信任是一个“访问原生”的技术方法论,应当可以归结为安全原生的一种类型。
四、零信任的“访问原生”问题
访问,就是主体对客体的访问。简单来看是一个三元问题——主体(Subject)、 客体(Object)、访问(Access)。但不能忽视的是,任何主体和客体,都会存在于空间和环境中。同时,因为访问不是实体,而是一个过程,里面有时间因素。所以,访问原生至少是五元的,除了上述三个要素,还包括环境(Environment)、 时间窗(Time)。零信任就是在访问原生的这五元要素出现趋势性变化的情况下出现的。
五、零信任的主体统一身份问题
在以往的传统访问控制体系中,主体(访问者)都要在被访问的系统中注册,访问者变成了账号(Account)。不管是在普遍的面向企业(To B)机构环境,还是在互联网移动终端(App)的环境,仍然都是主流。不过,由于一个人所涉及的系统和应用越来越多,因此就出现了不同程度的统一身份问题。例如,以身份认证和权限管理为主的堡垒机,就是帮助系统管理员应对超大量的系统管理界面。在当前的互联网环境中,一些强势平台的账号逐渐演变成一种统一账号平台。
身份和访问管理系统(IAM)的一个重要需求驱动因素就是统一身份诉求,而以 IAM 为核心的零信任解决方案也常常是在统一身份管理的前提下,再追求其他零信任能力。
但是,零信任的统一身份诉求可以说是与零信任的“零化”诉求相逆的。因为,统一身份把每个系统单独需要做的身份访问控制都合并了,也就是将诸多访问的信任合并到了一起来管理,访问确实变得方便了,但如果不能做到更加针对性地授权和控制,其控制颗粒度实际是变粗放了,要意识到这里增加的风险。
六、零信任的客体层次上移问题和数据访问控制问题
在过去的传统访问控制体系中,主要集中于相对静态的系统对象,可能是网络设备、操作系统、数据系统、管理系统、应用系统等。不管系统对象的层次是网络层、系统层、应用层,在新的层次视角中,都是“网络和系统层”。现在的 IT 环境,已经变成了下表中的四层结构。过去仅在网络和系统层的访问控制客体,已经上移到了软件定义(SD)网络层(或者称为云计算层、云算力层),还有数据层。
表1 IT环境的四层结构
数据的访问控制问题,过去依靠的是数据所在系统的访问控制来解决,那是数据安全 1.0(数据对象安全)的层次。而在数据安全 2.0(数据汇聚安全)和数据安全 3.0(数据流通安全)的层次,必须有直接把数据作为客体的技术框架和技术手段。换句话说,就是要把数据、数据块、数据的结构、数据的操作等数据本身对象化、客体化。数据只有变成了被访问的客体对象,才能用访问控制的机制加以管理和保护。例如,数据库的列访问控制,就是将数据库的列对象化的效果。这种方法将是数据原生安全的突破口之一。
七、零信任访问环境的网络结构性变化问题
在上文阐述零信任的访问原生结构时,谈到了“环境”是五元之一。环境至少可分为四类环境(或称空间):主体所在环境、客体所在环境、主体访问客体的时候所途经的环境、访问控制的管理环境。
过去由零散系统所组成的客体群,已经走向了一个明显的趋势——云化。而且未来最需要访问控制的被访问客体将是应用和数据,这确实不同于过去以网络访问控制为主的安全格局。大型 To B 机构的应用整合梳理、To C 互联网环境的应用互通,都让客体所在环境及其结构发生了变化。
当然,这种客体结构性变化,并没有完全磨灭网络访问控制的价值。虽然网络边界不在以前熟悉的位置,但是边界依然会客观存在。边界的价值在于,在边界进行安全控制的成本,要大大低于在边界后面的每一个节点进行安全控制的成本。在一定防御效能诉求下,边界安全仍是优良费效比的控制手段。
过去的访问主体环境,在统一身份管理系统的推动下,已经进行了重组,更加聚焦在“人、角色”身上。而能够代表人的最方便载体,就是移动终端或者其他与角色紧密关联的端。代表人参与访问和访问控制的经常是端上的代理(Agent)。这对终端安全提出了非常高的要求。访问主体一侧的安全,至少要包含端本身的系统安全、人登录到端上的安全、端访问到端外资源的安全。零信任让端安全技术的地位得到了提升。
另外,对于主体的管理,也可以继续引入安全域和域间控制。例如,将一个分支机构作为一个访问主体聚集的网络域,将域边界控制设备作为主体防护的一环。
八、零信任的 SDP 颗粒度问题和微隔离颗粒度问题
擅长网络访问控制的厂商和用户,最容易引入零信任能力的方式就是软件定义边界(SDP)。
在客户端 SDP、服务侧 SDP、中央策略管理中心(PDP)这三者之间,常常可以先弱化中央管理PDP,降低与应用适配的耦合度,确保系统执行可行性。而客户端 SDP 和服务侧 SDP 都有网络边界的相似性,只是主要体现为应用的边界。如果要加强 SDP 的零化程度,提高访问控制颗粒度,可以逐步迭代客户端和服务侧两端的 SDP。
业界公认的一个零信任分支就是“微隔离”。可以将其理解为对服务侧的、“东西向”的更细颗粒度分割。另外,作为被访问客体的颗粒度,不仅仅从系统细化到应用,而且已经从应用细化到了应用程序编程接口(API)层面。
九、零信任和 SASE 关系的问题
访问环境,除了主体所在的环境、客体所在的环境,还有第三种环境,即主体主场和客体主场之外的中间环境。
基于 SASE 模式的边缘接入网络可以算作这一类。在边缘接入网的入网节点(PoP)中,常常会提供安全资源池的访问控制和调度服务以及其他安全资源池服务。这种安全机制,可以称之为“从边界安全到边缘安全”。
十、零信任的强中心模式问题
零信任的访问控制环境中的第四个环境就是管理环境。因为零信任的体系中总是绕不开集中式的IAM,这让身份和授权等关键管理活动都集中在一个中心,是典型的强中心模式。强中心模式意味着存在单点故障就会导致大面积瘫痪的风险,可能一个漏洞或者一个内鬼就会造成管理系统的破坏甚至被占领。在构建以 IAM 为核心的零信任体系时,必须意识到这种潜在风险。
身份和授权管理的对立模式是“去中心化的”类区块链模式。未来,依托区块链“算力本位”的访问控制模式,是会补充零信任模式,还是颠覆零信任和其他中心化模式,还有待观望。
十一、零信任的时间轴颗粒度问题和用户及实体行为分析(UEBA)问题
零信任的“零化”,有一个重要的方向是在时间轴上越来越小的时间窗。传统的访问控制,常常会在一个访问周期内、一个登录周期内、一个拥有周期内,保持已经被认证和授权的信任关系。而“持续验证,永不信任”文字所表达的不保持信任过于极端,应当理解为零化取向,即尽量缩短信任的保持期。
这种信任保持期的结束,可以随着短期活动的结束而结束,也可在一个确定性的阈值上强硬截断长期活动的信任保持,或在出现风险变化和波动的时候结束信任保持,进入再验证状态。
十二、零信任的事后审计问题和UEBA 问题
网络安全领域理解的审计,经常是在事件发生之后进行的。而 UEBA 用户行为分析要在一个较长期的活动周期内,将对用户行为的风险评判介入到访问控制的事中干预。访问控制的事中干预有较高的性能要求,其反应敏捷度要求大大高于审计类的深度分析、挖掘式分析。这就要求在零信任的分析体系中,要平衡地融合快控制和慢分析,这两者之间不同的平衡模式,将是 UEBA 关键技术和关键能力的一部分。
十三、零信任的 6A 问题
信任中经常提到的 4A,即账号(Account)、授权(Authorization)、认证(Authentication)和审计(Audit),是安全管理平台 SOC、身份管理系统、特权账号管理系统、运维管理系统等多种系统逐步融合发展的产物。就像零信任改变了 IAM、SDP、微隔离等技术的受关注度一样,4A 也得到了新的认识和提升。从信任原生的视角,对 4A 的认识已经扩展为了 6A,即 Account——账号和其他主体、以及它们的标识问题,Application——应用和其他客体,以及它们的标识问题,Authentication——认证,Authorization——授权(事前,常常在 PDP 策略决策点来管理),Access Control——访问控制(事中,由 PEP 策略强制点来执行),Auditing——审计(事中记录,事后分析)。
十四、零信任的特权账号管理问题
绝对不能认为零信任中没有特权账号管理。
对特殊类型的主体、特殊类型的客体、特殊的环境等,设计针对性的访问控制模式,非常重要。特权账号管理(PAM)就是一个典型,可以集中解决最具风险性的一些问题。在一个较大的复杂体系中,一定会有重点和特例,绝对不能追求所谓的体系的纯粹简洁,这在真实工程中是非常要不得的。
十五、零信任的信任延展问题和信任承载问题
“永不信任”这样的说法作为宣传噱头可以,实际落地的时候则不能这样。信任总要从一个时空点,延展和保持到其他时空空间。
从空间上看,在 SDP 的体系中,客户端 SDP 和服务 SDP 之间就必须有一个由密码类技术支撑的通道。这个通道可以是类似虚拟专用网络(VPN)的加密信道,也可以是由标签签名技术保证的防抵赖防篡改传输。这些都可以认为是信任的空间传输。
从时间上看,一个主体通过拥有口令、非对称私钥、证书、区块链的算力证明等,以维持对于主体的信任。这都是信任的承载。
另外,在现实生活空间中,对于一个对象的信任常常由这个对象的亲身到场来获得。对此,可以抽象为一种“抵押物信任”。因为如果这个对象做了不该做的,自己在场就要承担责任接受惩罚。在网络空间中,是否能够通过访问者的某种抵押物来作为信任的承载?可否在技术上实现?这是未来可行的一个小分支。
在未来更多的新密码技术应用场景下,也许还能够实现更多类似隐私计算这类在双方只有低互信度下的协同计算。
十六、零信任为什么能火的根本问题
零信任能够火起来,是因为信任原生的各个要素都发生了很大的变化。
信任的空间结构变化,更多的连接,信任变成了全局信任问题;信任的时间结构变化了,信任需要在时间轴上有所控制;信任的多样性变化了;信任的等级不是只有两级(信任或不信任),而是一个有梯度可以度量的区间;海量的主客体构成了新的全局性结构;对客体,从对实体系统的拥有,变为短期的运行访问,从实体变为服务;访问控制的颗粒度要求越来越细等。还有很多新的分支方向值得去挖掘研究。
十七、结束语
还有哪些问题是不适合用零信任来解决的?零信任会带来哪些负面问题?常见的副作用有哪些?零信任成本太高的问题怎么解决?一个较大的复杂系统向零信任转换,有哪些较好的切入路径?除了这些问题,零信任肯定还有一些尚待发现的新问题,需要业界更开放地去探讨、去解决。
(本文刊登于《中国信息安全》杂志2022年第2期)