零信任网络技术研究V1.0

1、零信任网络诞生的背景

零信任网络并非指某项特定的技术,而是一种网络安全的理念。零信任网络 最早是由 John Kindervag于 2010 年出的,他非常敏锐且极具前瞻性地发现传 统的边界防护模式存在缺陷,被大家普遍认为“可信”的内部网络同样充满了威 胁,并指出“信任是安全的致命弱点”。由此,出了“从不信任,始终验证”(Never Trust,Always Verify)的核心思想。

随后,全球各国的企业和专家便开始了对于零信任网络的研究和实践。Evan Gilman, Doug Barth出了对于零信任网络中,信任、授权等核心概念的理解, 从设备信任、用户信任、应用信任、流量信任四个方面阐述了零信任网络搭建过 程中应当关注的关键点,并给出了实现零信任网络的实践建议。谷歌出并实践 了它自己的零信任网络架构 Beyond Corp。在 Beyond Corp 中,用户首先根据不 同的地点选择使用 RADIUS 协议还是单点登录 SSO 方式进行认证(类似飞连)。认证完成后需要通过“访问控制引擎”赋予“访问代理”授权信息来进行授权。随后根据决策结果划分最小访问权限 vnet 实现访问控制。美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)在其发布的《零信任架构》标准草案 白皮书第二版,对零信任安全理念和逻辑架构做了标准定义,并出了实现零 信任安全理念的三大技术方案:SDP,软件定义边界;IAM,身份识别与访问管理; MSG,微隔离。微软构建了 Azure 零信任架构[26],针对用户、设备、客户端和位 置等多个维度综合判定,结合微软自身的机器学习产品 ML、实时评估引擎等,实 现持续自适应的访问。

目前国内也有诸多厂商在从事零信任商业化的产品:

  • 腾讯IOA、亿格云、网宿等主导SAAS化产品
  • 深信服、奇安信、安恒等传统安全厂商主推私有化,讲求网络与现网安全产品的协同。
  • 飞连,类似谷歌Beyond Corp能满足内网办公和远程办公不同认证的便捷接入,飞连还具备统一的桌面管理能力。

2、零信任产品详细介绍

2.1、传统VPN存在的问题

(1) 传统 VPN 更多的关注点是如何搭建隧道,无法针对业务需求制定做细颗粒度的访问控制,要么全通,要么不通。
(2) 传统 VPN 无法在接入端就进行安全防护,无法根据用户网络环境及实时访问行为动态地更改用户访问权限乃至关闭正在进行非法行为的用户的链接,导致使用 VPN 时的风险增加。
(3)由于VPN的受众群体非常广,近年来爆出的漏洞较多,随着新技术的发展,单一的安全加密的方式已经很难满足当下的需求了。
(4)传统 VPN 网关另一个重要的问题, 是它将注意力大部分都集中在了建立隧道过程的安全性,而对于隧道建立后用户 行为的监测以及对于异常行为的反馈机制并不完善。若将 IDS 部署在网关前端, 由于此时的数据流仍为密文,难以对流量进行全面深度的分析,而若部署在后端, 根据传统网络架构,在每个网络内部都必须进行部署,且无法与 VPN 网关进行联 动。因此在架构设计上存在一定的困难。

2.1.1、MPLS VPN介绍

多协议标签交换(Multi-Protocol Label Switching,即 MPLS),是 IP 高速 骨干网络交换标准,该标准运行在 OSI 七层协议的数据链路层和网络层之间。 MPLS 技术的核心是在二层报头和三层报头之间,插入包含标签位(label)的 MPLS 报头,实现将标签打入报文,从而根据标签进行数据的转发。当分组进入网络时, 为其分配固定长度的标记,把路由选择和数据转发分开,并将标记与分组封装在 一起,在整个转发过程中,交换节点仅根据标记进行转发,由标签来规定一个分 组通过网络的路径。在 MPLS 中,数据传输发生在标签交换路径(Label Switching Path)上。LSP 是每一个沿着从源端到终端的路径上的结点的标签序列。MPLS 报文结构如下图所示:
在这里插入图片描述
MPLS-VPN 技术,是利用 MPLS 技术,将不同业务打上不同的标签,将不同 的 LSP 作为虚拟网络通道的 VPN 技术。可以实现在同一张物理网络上,相互隔离 的转发各系统自身数据的功能。数据通信网采用 MPLS-VPN 技术,通过根据不同 VPN 号查询对应 VRF 下一跳的标签,将标签作为内部标签栈中打上对应标签的方式,区分不同专业系统网络,用以承载不同的业务信息系统。

2.1.2、IPsec VPN

IPSec 协议设计的初衷,是为了在网络层为 IP 分组􏰁供安全服务,这些服务 包括访问控制、身份验证、防篡改、防重放和加密传输。为此,IPSec 设计了 2 种 安全协议:封装安全有效负载(Encapsulate Security Payload,ESP)以及验证报头 (Authentication Header,AH)。
AH 是一种 IP 协议,仅支持认证功能,不支持加密功能。AH 在每一个数据包 的标准 IP 报头后面添加一个 AH 报文头。AH 对数据包和认证密钥进行哈希值计算,接收方收到带有计算结果的数据包后,执行同样的哈希计算并与原计算结果 比较,根据以上机制,AH 协议能够为整个 IP 报文􏰁供数据来源和数据完整性校验。其报文封装结构如图所示:
在这里插入图片描述
ESP 支持认证和加密功能,在 IP 报头中用 50 表示。ESP 协议在每一个数据包 的标准 IP 报头后面添加一个 ESP 报文头,并在数据包后面追加一个 ESP 尾(ESPTrailer 和 ESP Auth data),如封装模式所示。与 AH 不同,ESP 通过将数据中的有 效载荷进行加密后再封装到数据包中,以实现对数据的机密性的保护。需要注意的是:

  • 在传输模式(Transport Mode)下,ESP 并没有对 IP 头的内容进行保护。
  • 只有当采用隧道模式(Tunnel Mode)时,由于建立隧道生成了新的 IP 报头,此时原 IP 报文头部也可以一同封装在 ESP 载荷中,对 IP 报文头部也起到保护作用。其报 文封装结构如下图所示:
    在这里插入图片描述
    ESP 报头中的安全参数索引(SPI)是一个 32 位二进制值。SPI 是在 Internet 密钥交换(IKE)协商期间随机生成的一个数字。可用于在安全联盟数据中查找 SA。根据 SPI 值,结合 IP 报头中的目的地址和协议一同指出了用于处理分组的安 全联盟(Security Association,SA)。ESP 报头中的序列号是由发送方插入的一个 唯一的单调递增数字,每次报文发出前序列号都会强制增加,通过序列号与滑动 窗口的联动,可以避免重放攻击。IKE 是整个 IPSec 认证过程中最重要的一环。
    IPSec 隧道模式下的 ESP 协议能够保证整个 IP 数据报的完整性和机密性,是网络层较为安全的加密通信协议,能够确保网络层传输时数据的保密性和完整性。
2.1.2.1、IKE协商

对于 VPN 的建立过程,最困难的环节就是如何在不可信的网络环境中协商交 换加密密钥,加密算法等加密参数。这也是保障零信任网络传输安全的重要环节之一。

互联网密钥交换协议(Internet Key Exchange,IKE)是建立在互联网安全联盟 和密钥管理协议(Internet Security Association and Key Management Protocol, ISAKMP)定义的框架的秘密材料(包括验证材料和加密材料)的生成技术和密钥 协商策略。IKE供了在有保护的方式下协商安全联盟(SecurityAssociation ,SA), 并为 SA 供经过验证后的秘密材料。SA 主要用来记录 IPsec 通讯双方所协商的安全约定套件,包括 IPSec 安全协议表示、网络传输模式、加密和验证算法、协商得到的加密密钥、密钥的生存周期、防重放窗口等。SA 是 IPSec 的核心组成部分。 SA 为 AH 和 ESP 供通信的安全保护,IKE 协商的主要内容就是 SA。
SA 的表示方法为三元组(SPI,IP 目的地址,IPSec 协议)。SPI 唯一标识一 个 SA。IP 记录目的地址。IPSec 协议标识指出采用的是 AH 协议还是 ESP 协议。 IPSec 通讯双方协商好 SA 后,通过 IKE 的自动管理,将 SA 保存到 SADB 中。 SA 具有生命周期,当 IPSec 通讯双方进行通讯时,若发现没有对应的 SA,则 IPSec 会启动 IKE 协商 SA。当发生 SA 的生命周期过期、密钥失效、SA 保护 的数据包的字节数超过策略设定值或者 SA 被要求删除时,SA 就应该被删除。 SA 被删除之后,通讯双发再次进行了协商,产生新的 SA。

IKE 的机制确保了需要加密通信的双方对各自的身份进行了验证,有效避免了 攻击者冒充通信双方进行通信,同时协商过程保证了加密密钥在不可信网络环境 下的产生和交换,攻击者即使窃听到了报文,也无法得知密钥。最后 IPSec 使用 IKE 协商得出的 SA 进行加密通信,确保了通信过程中数据的保密性和完整性。即使传输过程中被攻击者截获,也无法得知传输内容。若攻击者在传输过程中篡改了传 输内容,当报文被接收端接收后,会对内容进行校验和计算,一旦发现报文被篡改,直接丢弃。IKE 技术与 IPSec 安全协议一样,是实现 IPSec VPN 安全的重要技术,也是实现零信任网络的关键技术。

2.1.2.2、TLS/DTLS协议(七层场景中)

当数据在不可信的网络中明文传输时,通常会面临较大的安全风险,其中最 典型的包括:窃听风险:攻击者可以通过窃听报文信息获知报文内容;篡改风险: 攻击者可以通过修改报文内容实现篡改数据来为自己的目的服务;冒充风险:攻 击者可以通过冒充他人身份来与网络中的用户进行非法的通信。这些行为严重地 影响了网络传输数据的保密性、完整性。为了解决上述安全风险,网景公司于 1994 年设计了安全套接层协议(Secure Socket Layer,SSL)用于 Web 页面的安全传 输协议。1999 年 IETF 将 SSL 进行标准化,公布了第一版 TLS(传输层安全,Transport Layer Security)标准。随后又在 2008 年 8 月和 2011 年 3 月分别发布了 RFC 5246 和 RFC 6176。TLS 协议因其能够为不可信网络通信􏰁供安全及数据完整性保障被 广泛应用。

TLS 协议运行在传输层与应用层之间,通过交换网络中公认可信的证书授权 中心(Certificate Authority,CA)颁发的证书,发送端和接收端能够相互认证对方的 身份。同时,通过在发送端对数据进行加密,并在接收端对信息进行解密实现数 据的加密传输。对于 TLS 协议而言,其最复杂且最重要的就是身份验证的握手过 程,下面对其进行重点介绍:

TLS 认证分为单向认证和双向认证,本文着重介绍所使用的双向认证。在双向认证过程中,首先客户端和服务端都应申请获得公认的 CA 所颁发的证 书,申请得到的证书中包含它们各自的公钥、基本信息(如国家、组织机构等) 以及由 CA 进行的数字签名。随后客户端发起请求 client_hello,以明文传输请求信 息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数 A 等信息。 服务端在收到请求后,返回协商的信息结果server_hello,包括服务端使用的协议 版本,以及根据客户端发送的候选列表中选择的加密套件,选择的压缩算法、随 机数、以及服务端证书信息等,其中随机数 B 用于后续的密钥协商,服务端证书 交由客户端对服务端身份进行验证。客户端完成服务端身份验证后,将自身证书 client.crt 发送给服务端,同时计算产生随机数字 pre-master,并用服务端证书公钥 加密,并根据前期交换的随机数 A、B 以及 pre-master 生成加密密钥 key,将前期 所有通信参数使用 Hash 算法形成摘要,利用加密密钥 key 进行加密,统一发送给 服务端,并通知服务端后续的通信都采用协商的通信密钥和加密算法进行加密通 信。服务端收到上述信息后,验证客户端证书的合法性。服务端用自身私钥解密 收到的 pre-master 数据,并根据前期交换的随机数 A、B、pre-master 生成加密密钥,对客户端发送的加密信息进行解密,核对信息摘要的内容,同时服务端也与 客户端一样,对所有信息摘要进行使用加密密钥 key 进行加密并发还给客户端, 并告知客户端后续都采用协商的通信密钥和加密算法进行通信。客户端利用自身 密钥对信息进行解密核对。若通过,则握手环节结束,连接建立完成,后续利用 协商的密钥与算法进行加密通信。具体握手过程如图所示:
在这里插入图片描述
在这里插入图片描述

在整个握手过程中,利用只有客户端和服务端知道的随机数和各自的数字证书,保证了身份认证过程的安全可靠。即使攻击者能够窃听篡改验证报文,在没 有私钥和证书的情况下,是无法与客户端服务端任何一方建立连接的。而一旦身 份验证完成后,由于攻击者无法掌握传输过程的密钥和加密算法,数据报在攻击 者手中是无法破解的一串密文,数据的保密性也得到了保证。利用 TLS 协议,能 够有效地规避网络层面的窃听、篡改、冒充攻击。
数据报传输层安全协议(Datagram Transport Layer Security,DTLS)是由传输 层安全协议(Transport Layer Security,TLS)演变过来的。TLS 协议并不能用于 UDP 协议,由于网络中诸多协议需要通过组播进行传输,组播是基于 UDP 协议的, 而 UDP 协议本身也需要一个保证其安全传输的协议,于是产生了 DTLS 协议。
DTLS 协议的验证过程与 TLS 基本一致,但仍存在以下两个重要的区别:
第一,由于是运行在 UDP 协议之上,因此需要自建保障机制。相比 TLS,DTLS 在第一次握手环节,需要对 session ID 进行验证。如果是第一次建立连接,则 session ID 为空,需要在握手过程中进行协商。客户端收到服务端发回的 session ID 后, 重新利用该 session ID 向服务端发起 hello 请求。
第二,DTLS 必须检测 MTU 大小,当数据包载荷大小超过 MTU 时,DTLS 会报错,为防止握手的 IP 数据包超载导致丢失,DTLS 针对握手消息实现分片处 理。

2.2、零信任网络

零信任网络最早是由 John Kindervag[22]于 2010 年􏰁出的,他敏锐且极具前瞻 性地发现传统的边界防护模式存在缺陷,被大家普遍认为“可信”的内部网络同 样充满了威胁,并指出“信任是安全的致命弱点”。基于上述观点,零信任网络的 概念被􏰁出,其核心思想为“从不信任,始终认证”(Never Trust, Always Verify)。 在零信任理念下,网络位置变得不再重要。

零信任网络的概念是建立在以下 5 个基本假设的基础之上:
(1) 网络每时每刻都处在危险的环境中。
(2) 网络中自始至终都存在来自外部和内部的威胁。
(3) 网络中的位置并不能代表网络的可信度。
(4) 所有设备、用户和网络流量都应经过认证和授权。
(5) 安全策略必须是动态的,并基于尽可能多来源的数据进行计算得出。

根据上述假设,对于零信任网络的主要行为共分为三类:信任、授权、执行。信任,包括建立设备信任、用户信任、流量信任等,信任的第一步是认证,认证 完成后根据设备、用户等信息的集合(也被称为网络代理),进行信任评分。授权 是结合用户的访问需求以及信任评分结果,按照一定的匹配策略对用户的行为进 行批准或拒绝。执行是策略执行组件根据授权结果,强制执行策略要求的过程。

根据零信任网络的三种主要行为,零信任网络架构,共可 分为信任引擎、策略引擎、策略执行组件、数据存储系统四个组成部分。其中信 任引擎根据用户的基本信息以及实时的行为监测结果,动态地为用户进行评分, 并将评分传递给策略引擎。策略引擎根据用户􏰁交的业务请求以及信任引擎的实 时评分,对照自身所包含的策略规则,将对应的策略下发至策略执行组件。策略执行组件根据接收到的策略进行策略的部署和强制执行。数据存储系统由于较为独立,且对零信任网络架构搭建的影响较小。同时,由于零信任网络架构搭建的核心思想之一,就是控制层面和数据层面分开建立,即转控分离。
在这里插入图片描述

2.2.1、零信任网络认证

信任,是零信任网络中最重要的概念。这里的信任包括:设备信任、用户信 任和流量信任,零信任网络安全模型是涵盖上述三个方面的立体的模型。同时, 与传统边界防护模型中对于内网环境给予的永久的、绝对的信任不同,零信任网络中的信任是一次性的、有时限的、有范围的、动态变化的信任。一次性是指对 于用户建立的信任只是当次有效,下一次用户的访问依然需要重新建立信任。有时限是指对于用户已建立的信任都是临时的,到了一定时间必须重新验证用户的 可信度,而不是长期的、永久的。有范围是指对于用户的信任都是在一定范围内 的,而非完全的绝对的信任。动态变化是指对于用户的信任是随着用户自身的环 境和行为的变化而变化的。可以说,零信任网络的构建过程,就是利用现有的优 秀的技术对网络和系统架构进行设计和优化,来使上述的设备、用户、流量信任 满足一次性、时限性、范围性、动态变化的过程。

2.2.1.1、设备认证

设备信任是整个零信任的第一个环节,目前可以采用的主要的建立设备信任 的方式有:利用设备证书建立初始信任,以及利用控制平面进行设备认证等。设 备证书的关注重点是证书私钥的安全存储。目前较为成熟的实践方法是使用安全 的加密处理器。通常被称为硬件安全模块(Hardware Security Moduel, HSM)或者可信平台模块(Trusted Platform Moduel, TPM)[45]。TPM 是一种嵌入到计算设备 中的特殊芯片,这种芯片一般称为加密处理器,用于以可信和安全的方式进行密 码运算。TPM 一般包含自己的固件,可以将其视作一种特殊的单片机。TPM 实现 了一种小巧而精简的硬件 API,且能够轻松地审核和分析潜在的系统漏洞。通过供接口实现与密码相关的运算,可以避免暴露过多接口以及直接对私钥的读取。 作为本次零信任网络策略执行组件的 SD-WAN 设备,都集成 TPM 安全芯片,将 设备的私钥以及 ESN(设备序列号)等敏感信息安全地保存在其中,提高设备本身的安全性的同时,也能够有效地被控制层调用以进行控证层面的身份认证。控制层面的设备认证,主要通过 X.509 标准数字证书实现。

2.2.1.2、用户认证

建立用户信任的过程,就是验证用户身份的过程。其实,在目前的信息系统的使用过程中,用户信任的建立同样存在且在网络安全中扮演着重要的角色。在使用系统前,用户必须登录网页或客户端,输入用户名口令进行验证,对于安全性要求更高的系统,还会存在使用一次性口令(One-Time Password,OTP) ,例如具有时效性的验证码,来进行身份认证以建立用户信任。
目前,身份认证的要素主要包含以下三种类型:1. 用户所知道的信息;2. 用户所持有的凭证;3. 用户所固有的特征。用户所知道的信息,即只有用户才知道 的信息。例如:用户自身的口令密码等。用户所持有的凭证,即用户所持有的物 理凭证或数字凭证,例如:TOTP 一次性口令、证书、安全令牌等。

2.2.1.3、流量认证

流量信任的建立,是零信任网络至关重要的一环。流量信任建立,主要包括 对于流量的保密性,完整性以及流量发送者和接收者的身份认证。认证和加密, 是流量信任建立过程中最重要的两个概念。
目前在流量信任中主要使用的技术包括:IPSec VPN 技术、TLS 双向认证技术、 单包授权技术(Single Packet Authorization,SPA)。其中 IPSec VPN 技术用于网络 层发送者和接受者的身份认证和加密传输,TLS 双向认证运行在传输层和应用层 之间,用于对会话的发送者和接收者的身份认证和加密传输。上述两种核心技术 已在上VPN技术中介绍,下面重点介绍 SPA 单包授权技术。SPA是通过对试图连接服务端的所有数据包进行认证授权,服务器认证通过之后才会响应连接请求,以此实现企业业务 的服务“隐身”,从网络上无法连接、无法扫描。目前主流的 SPA 主要有 fwknop 技术以及封装 TOTP 字段的技术。fwknop 技术的实现如图 4所示。
在这里插入图片描述
fwknop 部署在所有服务端设备上,与防火墙集成,防火墙默认采用 Deny All 的策略,使服务端对于非授权用户而言处于隐身状态。当服务端对用户端发送的 SPA 报文认证通过后,不回对报文进行回应,同时,服务端的 SPA 守护进程会重 新配置防火墙,短暂开启与该用户进行认证的端口用于进行双向 TLS 认证。同时, 通过 AES 等加密算法对 SPA 载荷进行加密保证 SPA 报文的机密性,并依靠 HMAC 等技术保证消息的真实性和完整性。

封装 TOTP 技术需要安全网关作为 TOTP 的产生者,通过在用户访问请求的 TLS 报文中添加 TOTP 字段,并在服务端解包时对 TOTP 进行验证,通过后方可 继续进行 TLS 的认证环节。利用这种方法,同样实现首包授权认证的效果。具体 认证过程如下图所示:
在这里插入图片描述
利用单包授权技术,能够保护后台服务器,即在􏰁供真正的 SPA 之前,服务 器不会响应来自任何客户端的任何连接。同时,能够缓解面向互联网的运行 HTTPS 协议的服务器极易受到的拒绝服务(DoS)攻击。结合上述三种重要的技术,能够 建立流量信任,并保护建立流量信任的过程。

2.2.2、零信任网络授权

授权,就是根据访问的需求,结合综合信任评分,对照策略要求,判定是否 接受本次访问,并将策略内容下发到策略执行组件进行执行的过程。这一过程中, 需要策略引擎、信任引擎、策略执行组件共同的参与,是零信任网络的核心机制。 授权中的核心问题包括:信任评分的产生,以及策略下发强制执行的过程。

2.2.2.1、信任评分的产生

信任评分,主要依托设备、用户、流量的状态和行为(也称信任信号)等维 度进行综合评价。
对于设备信任,其最主要的信任信号即为设备本身的证书。除此之外,还应 将以下因素一并考虑在内:

  1. 操作系统上次镜像时间。镜像距离现在越长,则信 任评分越低;
  2. 历史访问。异常的访问记录会降低信任评分。例如:开通了数月 的设备突然发起对一个新资源的访问,则信任评分会降低;若设备在访问其每周 都会访问的资源则认为是较为正常的行为。另外,访问的频率也值得关注。例如 一般每月平均地访问一个地址 200 次,结果突然某一天内访问了 195 次,则应认 为其信任度较低。
  3. 地理位置。例如:同一台设备 1 个小时前刚在上海办公室申 请通过了授权认证,突然又在北京发起了请求,这样同样认为其信任度较低。
    对于用户信任,主要的信任信号除地理位置和历史访问记录及频率以外,还 应包含用户的历史操作,例如用户试图访问超出其正常工作所需的范围的敏感资源的行为将视为信任评分较低的行为。

其他需要考虑的因素包括:

  1. 本次连接时间。随着连接时间的增长,对应的 安全风险会增大,信任评分将会降低。
  2. 同一时刻与不同系统申请的连接数量, 数量增多,信任评分将会降低(可在策略引擎中设置关联系统,即若部分系统之 间存在同时访问的需求,可将其设置为关联系统,对于关联系统的多个同时连接 可以不降低信任评分)。
  3. 设备计算环境安全情况,主要指终端安全软件的安全情 况。可以在 SPA 认证的报文中,可以将终端安全软件类型及版本号添加进载荷中, 作为信任评分的一个依据,若没有按照要求安装安全软件,则将降低信任评分。 或者直接通过相关具备安全准入功能的产品实现。目前主流安全厂商都具备这样 的产品和能力。
    除了上述的基本的信任信号外,在进行信任打分时还有一些信号,还有一个 重要的因素——网络位置。

综合上述信任信号,结合机器学习等技术,能够完成信任评分操作,并根据 实际情况动态的改变信任评分,从而实现动态策略等功能。

2.2.2.2、策略的下发和执行

当信任评分由信任引擎动态产生后,策略引擎就可根据评分以及其决策规则 对本次连接申请进行决策。产生的决策结果通过策略执行组件进行强制执行。本文中利用 SD-WAN 作为策略执行组件,以实现策略的强制下发和自动部署。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值