TLS终止代理详解:它是什么以及如何工作?

TLS协议:TLS的含义及工作原理

含义

互联网基于数据交换和处理。为了正确处理和交换数据,计算机使用符合通用标准的规则集合。这些指导原则被称为网络协议。网络协议向全球互联网中的计算机解释如何相互通信。

TLS(传输层安全)是一种用于安全数据交易的加密协议。1999年,IETF(互联网工程任务组)发布了TLS的第一个版本,以升级SSL 3.0标准。

SSL标准最初是由网景公司发明的,旨在保护未加密且易受攻击的HTTP超文本传输协议。

2015年,SSL标准被宣布为过时。后来,TLS几乎完全取代了SSL。到2022年,TLS 1.3将成为最现代和先进的安全协议。

OSI 模型中的 TLS

开放系统互连模型
开放系统互连模型

OSI (开放系统互连)模型对该协议的范围给出了初步的近似值。

简单协议可以属于一个OSI层次,复杂协议由于特性多样,所以可以同时属于不同的OSI层次。

TLS 具有四个层次的特点:应用层、表示层、会话层、传输层。

  • 应用层:与面向用户的应用程序通信。
  • 传输层:数据事务。
  • 表示级别:加密。
  • 会话级别的会话恢复。

TLS 的工作原理

HTTP 是互联网上的主要数据交易协议。最初并不安全,但通过 SSL/TLS 加密后变得安全。

TLS 是 HTTP 的加密安全附加组件。它设置连接规则并调用加密系统来保护连接。升级后的 HTTP 版本被广泛称为 HTTPS。

TLS 设定了三个主要安全目标:

  • 保密
  • 正直
  • 安全身份验证

这些目标的实现是 TLS 工作原则的本质。

保密

机密性保护是一系列旨在避免不必要的信息访问的行动。

无机密性保护的系统示例:

不安全的 HTTP 连接
不安全的 HTTP 连接
  1. 用户想要登录银行网站。
  2. 用户通过客户端机器连接到银行服务器。
  3. 客户发送包含银行凭证的消息。
  4. 服务器检查登录名和密码并允许用户登录。

机密性受到威胁!攻击者(“中间人”)可以拦截消息并阅读内容。

具有简单对称加密的系统示例:

安全的 HTTP 连接
安全的 HTTP 连接

客户端向服务器发送带有银行凭证的消息。同时,客户端在发送消息之前会使用密钥对其进行加密。对于中间人来说,这项任务更难解决,但仍然有可能获取消息并解密内容。

TLS 安全加密

TLS 协议使用更安全的非对称加密类型。它启动客户端和服务器之间的相互验证过程。此过程称为握手。该协议可以调用不同的算法来执行握手,但 RSA 和 Diffie-Hellman 算法最受欢迎。这是 RSA 握手的简化示例。

服务器持有两个密钥,而不是每个连接一个密钥:公钥和私钥。任何人都可以查看公钥。但是,使用此密钥加密的消息只能使用私钥解密。服务器会保留此私钥,不会与任何人共享。

简化的 TLS 握手
简化的 TLS 握手
  1. 客户端连接到服务器并请求安全连接。
  2. 服务器响应并向客户端发送公钥。
  3. 客户端用此密钥加密数据并发回。即使攻击者获取了消息,他们也无法在没有私钥的情况下解密。
  4. 服务器收到消息并使用私钥解密。

完整性

数据完整性保护是一系列保持信息不变的措施。其主要目标是避免由于系统故障导致的信息损坏。

TLS使用对称哈希函数(如MD5、SHA等)来实现完整性:

1. 客户端将数据数组转换为加密字符串并获得哈希值。
2. 客户端将数据和哈希值一起打包发送。
3. 服务器接收并提取数据和哈希值,再次将数据转换为哈希,并将提取的哈希与新接收到的哈希进行比较。如果它们不匹配,则表示消息已损坏。

认证

认证保护意味着真实性检查。例如,客户端连接到银行时,中间人可能会将客户端重定向到类似网站以窃取客户端的凭证。

数字证书有助于检查服务器是否可信。服务器可以通过被称为证书颁发机构(CA)的可信机构来认证其公钥。这些公司包括IdenTrust、DigiCert和GoDaddy等。他们使用根CA证书认证公钥。当客户端机器连接到服务器并获取密钥时,它会向CA询问:这个密钥是否真实?如果密钥未被认证,CA将阻止连接。


TLS 代理:它是什么以及它如何工作

什么是代理?

代理连接
代理连接

代理是客户端和服务器之间的中介。所有流量都通过中介。中介点连接的好处是:

  • 负载均衡
  • 身份隐藏
  • 防范入侵、跟踪和恶意软件
  • 流量过滤
  • 节省带宽

TLS 代理的工作原理

适用于 Windows、Mac 或 Linux 的 TLS 代理是管理 HTTPS 流量的方式。它像其他代理一样充当中介服务器。不同之处在于它在 HTTPS 隧道内工作,使用握手算法保护信息。因此,此中介必须参与加密数据交换。

根据参与此过程的方式,TLS 代理有两种类型。直通代理将消息从客户端转发到服务器,然后再转发回来。终止代理会在中间中断连接。


TLS终止代理

TLS终止代理的类型

TLS终止代理是连接中的一个活跃参与者。它将HTTPS流量从客户端路由到服务器,并中断连接以读取和分析流量。为此,中介将客户端和服务器之间的隧道分为两部分:客户端-代理,代理-服务器。TSL连接在一侧停止。根据停止的侧面,连接有两种类型:

  • 卸载:终止“代理-服务器”连接。来自客户端的入站HTTPS数据作为HTTP转发到服务器。
  • 加密:终止“客户端-代理”连接。来自客户端的入站HTTP数据作为HTTPS转发到服务器。
  • 桥接是两种连接类型的组合。

卸载

卸载类型是网络构建中最常见的一种。

TLS_卸载
TLS_卸载

代理服务器从客户端接收加密消息(HTTPS)并解密。由于代理只能处理解密文件,因此此时它们可以分析和管理数据。例如,它可以平衡后端的负载,允许网络监视并阻止恶意活动。然后,中介使用 HTTP 将流量转发到服务器。

当服务器响应时,中介会再次收到消息。此时,它还可以允许数据分析并启用有用的功能:恶意软件和入侵检测、内容过滤以及启用其他版本的协议。然后,代理会再次加密数据并将其发送给客户端。

作为中介机构,它可以完成所有的加密和解密工作,从而减轻服务器的负担,使它们能够更快地运行。

这种方法的最大缺点是 HTTP 流量隧道中有一个不安全的部分。中间人可以访问那里的数据并窃取数据。幸运的是,没有其他漏洞——中间人无法创建网关来窃取信息。

要启动终止过程,代理服务器需要拥有与任何服务器从 CA 获得的证书类型相同的证书。TLS 隧道内的服务器需要证明自己值得信赖,可以启动握手过程 – 而这正是终止中介所做的。

加密

加密类型类似于卸载,但数据是从服务器端加密的。中介接收纯文本客户端数据(HTTP)。然后它加密流量并使用 HTTPS 将其转发到服务器。服务器响应,中介解密数据并将其转发给客户端。

TLS_Bridge
TLS_Bridge

此类型在双方建立加密连接。第一个代理从客户端获取数据。客户端和代理进行握手。中介解密来自客户端的数据并运行必要的应用程序:恶意软件过滤、负载平衡和 HTTP 清漆。然后中介再次加密数据 – 现在与服务器握手。它发送数据,接收响应,解密并再次优化。然后它加密信息以将其发送给用户。

换句话说,代理会中断连接,但流量仍保持加密。流量在中间点解密,因此如果中间方存在漏洞,数据可能会受到损害。

使用代理终止的原因

  1. 使 HTTPS 与 HTTP 通信(有助于建立前端 HTTPS 与后端 HTTP 的连接)。
  2. 添加基于证书的认证点。
  3. 卸载服务器。
  4. 用于负载平衡。
  5. 启用加密数据无法访问的功能:数据分析、恶意软件和入侵检测、内容过滤和 HTTP 清漆。
  6. 启用其他协议版本。
  7. 如果代理比端点更靠近客户端,则握手过程会更快。

使用代理终止的利与弊

优点

  • 允许 HTTPS 与 HTTP 通信
  • 卸载服务器
  • 不是很贵
  • 高效负载平衡
  • 数据分析
  • 允许对流量采取行动
  • 网络监控、入侵检测
  • 允许启用 HTTP 加速器

缺点

  • 易受中间人攻击
  • 不适合重要网络
  • 如果你有很多后端服务器,那么中点就会出现瓶颈

TLS 直通代理

TLS_Passthrough 代理
TLS_Passthrough 代理

直通代理是连接中的被动参与者。它“坐”在客户端和服务器之间,将加密消息从一个转发到另一个,中间不进行任何干预或解密。所有数据仅在端点进行解密。这种连接类型减轻了中介的负担,使其能够更准确地执行负载均衡。

端到端直通隧道是安全的,因为安全的HTTPS连接不会像终止过程那样转变为HTTP。中间人无法在隧道的任何部分访问受保护的数据。

这种方法的缺点是成本高,并且无法对网络流量执行任何操作。

使用直通代理的目的

  • 封装在 HTTPS 流量中的代理。
  • 更准确的负载平衡
  • 路径所有部分上的安全连接。
  • 防止“中间人”攻击。

使用直通代理的利与弊

优点

  • 为HTTPS-HTTPS连接提供稳定的通道
  • 不需要证书
  • 不易受到中间人攻击

缺点

  • 昂贵的
  • 无缓存
  • 没有数据分析
  • 未对交通采取任何行动

总结:TLS终止代理与直通代理

TLS终止代理和直通代理各有其优缺点。然而,很难说哪种类型更好,因为终止代理和直通代理追求不同的目标。简要总结如下,展示了这两种类型之间的差异及其优缺点。

功能 终止代理 直通代理
网络设计 中间网关 端到端
数据加密/解密 在中间点 在端点
参与握手过程 主动 被动
连接结构 HTTPS-代理-HTTP HTTP-代理-HTTPS
额外的安全措施 需要证书 不需要证书
HTTP兼容
安全性 易受中间人攻击 安全
代理功能效率 有限
减轻后端负担
成本 较便宜 较贵

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部