跳转到主要内容

从web的早期开始,SSL协议及其后代TLS就提供了加密和安全性,使现代互联网商务成为可能。

SSL及其后代TLS是加密互联网流量的协议,使安全的互联网通信和电子商务成为可能。

这些协议的几十年历史以不断更新为标志,旨在跟上日益复杂的攻击者的步伐。协议的下一个主要版本TLS 1.3将很快敲定,大多数网站运营商都希望升级,因为网络犯罪分子正在追赶。

安全套接字层(SSL)是该协议的原始名称,由当时最流行的网络浏览器公司Netscape在20世纪90年代中期开发。SSL 1.0从未向公众发布,SSL 2.0存在严重缺陷。SSL 3.0于1996年发布,经过了彻底改造,并为随后的工作奠定了基础。

TLS与SSL

当1999年发布该协议的下一版本时,它被互联网工程任务组(IETF)标准化,并被赋予了一个新名称:传输层安全,或TLS。正如TLS规范所指出的,“该协议与SSL 3.0之间的差异并不显著。”因此,这实际上不是TLS与SSL的问题;相反,这两种协议形成了一系列不断更新的协议,通常被统称为SSL/TLS。

TLS协议加密所有类型的互联网流量。最常见的是网络流量;如果您的地址中的URL以“https”开头,您知道您的浏览器是通过TLS连接的,并且有一个带挂锁的指示器,告诉您连接是安全的,如Chrome的屏幕截图所示:

但TLS也可用于其他应用程序,包括电子邮件和usenet。

SSL的工作原理

为了在互联网上安全通信,加密是必要的:如果您的数据未加密,任何人都可以检查您的数据包并读取机密信息。最安全的加密方法称为不对称加密;这需要两个加密密钥-信息块,通常是非常大的数字-才能正常工作,一个公共密钥,一个私有密钥。这里的数学很复杂,但本质上,您可以使用公钥来加密数据,但需要私钥来解密。这两个键通过一些复杂的数学公式相互关联,难以通过蛮力进行反向工程。将公钥视为有关锁定邮箱位置的信息,在前面有一个插槽,私钥视为解锁邮箱的密钥。任何知道邮箱在哪里的人都可以在里面放一条消息;但其他人要阅读它,他们需要私钥。

由于非对称加密涉及到这些困难的数学问题,它需要大量计算资源,因此,如果您使用它来加密通信会话中的所有信息,您的计算机和连接将停止。TLS通过仅在通信会话开始时使用非对称加密来解决这个问题。为了加密会话,服务器和客户端必须就一个会话密钥达成一致,从该点开始,他们都将使用该密钥加密数据包。使用共享密钥的加密称为对称加密,与非对称加密相比,它的计算强度要小得多。由于会话密钥是使用非对称加密建立的,因此通信会话作为一个整体比其他情况下安全得多。

协商会话密钥的过程称为握手,因为这是两台通信计算机相互介绍自己的时刻,也是TLS协议的核心。

SSL握手过程

握手过程相当复杂,协议允许多种变化。以下步骤提供了一个大致的大纲,可以让您了解它的工作原理。

  • 客户端联系服务器并请求安全连接。服务器回复密码套件列表-创建加密连接的算法工具包-它知道如何使用。客户端将其与自己支持的密码套件列表进行比较,选择一个,并让服务器知道它们都将使用它。
  • 然后,服务器提供其数字证书,即由第三方机构发布的确认服务器身份的电子文档。稍后我们将更详细地讨论数字证书,但目前您需要了解的最重要的是,它们包含服务器的公钥。一旦客户端接收到证书,它就会确认证书的真实性。
  • 使用服务器的公钥,客户机和服务器建立一个会话密钥,用于会话的其余部分来加密通信。有几种方法可以做到这一点。客户端可以使用公钥来加密随机数,然后将随机数发送到服务器进行解密,然后双方使用该数字来建立会话密钥。或者,双方可以使用所谓的Diffie-Hellman密钥交换来建立会话密钥。

本文在SSL.com上有一个很好的图表,概述了TLS握手过程中的每个通信步骤。

顾名思义,会话密钥仅适用于单个未中断通信会话。如果由于某种原因,客户机和服务器之间的通信被切断-例如,由于网络问题,或者由于客户机空闲时间太长-在重新建立通信时,将需要新的握手来建立新的会话密钥。

什么是SSL证书?

SSL证书是确认服务器身份并启用加密通信的电子文档。

如前一节中的描述所述,这些证书是SSL/TLS协议的核心:它们为客户端提供启动安全连接所需的公共密码密钥。但他们的目的不仅仅是提供钥匙本身;他们还验证密钥实际上与向客户提供该密钥的组织相关。

这是如何工作的?证书由证书颁发机构(CAs)颁发,在确认身份时,它们相当于护照办公室。想要提供由TLS加密的服务的组织必须从CAs购买证书,CAs反过来验证这些组织是他们声称的组织。例如,如果您想购买证书来保护网站的安全,例如。com,您必须采取一些步骤向CA证明您控制了示例。com域。这样,如果有人连接到示例。com并获得由受信任的CA颁发的有效SSL证书,他们可以确保与example.com的合法所有者进行通信。这可以防止中间人攻击。

请注意,我们在最后一段中使用了短语“可信CA”。任何人都可以将自己设置为证书颁发机构;您如何判断哪些公司执行了验证客户身份所需的尽职调查?幸运的是,解决这一问题的工作主要由软件制造商负责。Mozilla基金会维护Firefox信任的CA列表;苹果和微软还维护了在Windows、macOS和iOS的操作系统级实现的列表,Chrome在这些平台上使用这些列表。2017年,谷歌和赛门铁克就谷歌认为赛门铁科标准松懈的问题进行了一场决战,因此,决定信任哪一家CAs的决定关系重大。

定义SSL证书的标准称为X.509。该标准允许证书携带大量信息,而不仅仅是公钥和证书所有者的确认身份;DigiCert是一个CA,其知识库中有标准的详细分解。

SSL检查器

当您与提供TLS加密连接的服务器通信时,几乎所有上述信息的交换和确认都在幕后进行。如果您想获得更高的透明度,可以将SSL/TLS加密站点的URL输入SSL检查器网站。检查器将返回一系列有关测试站点证书的信息,包括服务器类型、哪些web浏览器将信任和不信任证书、颁发者、序列号和到期日期。

大多数SSL检查器是CAs提供的免费服务,作为其产品的营销工具;例如,许多应用程序将允许您设置一个警报,提醒您检查的证书何时到期,前提是该证书是您的证书,并且随着该日期的临近,您将在市场上购买新证书。如果您正在寻找一种不太商业化的替代方案,请查看Qualys SSL实验室的SSL检查器,它提供了一个特别强大的受检查网站信息收集。

TLS 1.2和TLS 1.2漏洞

TLS 1.2是协议的最新定义版本,已经有几年了。它为通信建立了一系列新的加密选项。然而,与协议的一些早期版本一样,它也允许使用较旧的加密技术,以支持较旧的计算机。不幸的是,随着时间的推移和计算能力的降低,这些较老的技术变得更容易受到攻击,这使它容易受到攻击。

特别是,TLS 1.2越来越容易受到所谓的“中间人”攻击,即黑客在通信过程中拦截数据包,并在读取或修改数据包后发送数据包。它也对 POODLESLOTH, and DROWN 开放。其中许多问题在过去两年中出现,增加了更新议定书的紧迫感。

TLS 1.3

幸运的是,帮助正在路上。TLS协议的1.3版目前处于草案形式,但很快将最终确定,通过放弃对传统加密系统的支持,填补了许多漏洞。如果一端不能使用1.3批准列表上的较新加密系统,则连接将返回TLS 1.2,这是向后兼容的。然而,例如,如果中间人攻击试图强制回退到1.2以监听数据包,则将检测到该攻击并断开连接。

仍然有一些服务器使用的TLS版本甚至比1.2版本还要早,有些服务器仍然使用原始的SSL协议。如果您的服务器是其中之一,您应该立即升级,然后直接升级到草案1.3规范。

TLS犯罪软件

关于TLS和安全的最后一个注意事项:好人不是唯一使用它的人!许多网络犯罪分子使用TLS加密其服务器和安装在受害者计算机上的恶意软件之间的命令和控制流量。这最终改变了通常的状况,让网络犯罪的受害者寻找解密流量的方法。有许多技术可以处理这种加密攻击,包括使用关于加密流量的网络元数据来了解攻击者在做什么,而不需要实际读取任何信息。

有关SSL/TLS的更多信息:

本文:https://cioctocdo.com/what-ssl-how-ssl-certificates-enable-encrypted-co…