SSL 如何工作?| SSL 证书和 TLS

SSL(也称为 TLS)使用加密来确保用户数据的安全,验证网站的身份并阻止攻击者篡改 Internet 通信。

学习目标

阅读本文后,您将能够:

  • 了解 SSL/TLS 的含义
  • 说明 SSL/TLS 如何确保 Internet 通信的安全
  • 了解如何获取 SSL 证书以及 SSL 证书如何确保用户数据安全

相关内容


想要继续学习吗?

欢迎注册以接收来自 Cloudflare 的安全学习文章。

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是 SSL?

SSL 代表安全套接字层,是指用于加密、保护和验证互联网上之通信的协议。尽管 SSL 在一段时间前已被称为 TLS(传输层安全性)的更新协议代替,但“SSL”仍是该技术的常用术语。

SSL/TLS 的主要用例是保护客户端和服务器之间的通信安全,但它也可以保护不安全网络上的电子邮件、VoIP 和其他通信。

注册
使用 Cloudflare CDN 提升性能

SSL/TLS 如何工作?

以下是理解 SSL/TLS 工作原理应掌握的基本概念:

  • 安全通信从 TLS 握手开始,在这过程中两个通信方打开安全连接并交换公钥
  • 在 TLS 握手期间,双方会生成会话密钥,会话密钥用于加密和解密 TLS 握手之后的所有通信
  • 每一个新会话中使用不同的会话密钥来加密通信
  • TLS 确保服务器方或用户与之交互的网站确实是它们声称的身份
  • TLS 还确保数据没有被篡改,因为传输中包含消息身份验证码(MAC)

使用 TLS 时,用户发送到网站(单击、填写表格等)的 HTTP 数据和网站发送给用户的 HTTP 数据都被加密。接收者必须使用密钥来解密加密的数据。

白皮书
最大化 TLS 的力量

TLS 握手

TLS 通信会话从 TLS 握手开始。TLS 握手采用一种称为非对称加密的方法,也就是在对话的两端使用两个不同的密钥。这是通过一种称为公钥加密的技术实现的。

公钥加密中使用两个密钥:公钥(服务器将其公开提供)和私钥(保密且仅在服务器端使用)。用公钥加密的数据只能用私钥解密。

在 TLS 握手期间,客户端和服务器使用公钥和私钥交换随机生成的数据,并且使用此随机数据创建新的加密密钥,即会话密钥。

使用会话密钥的对称加密

与非对称加密不同,在对称加密中,会话中的两方使用相同的密钥。TLS 握手后,双方使用相同的会话密钥进行加密。一旦使用了会话密钥,就不再使用公钥和私钥。会话密钥是临时密钥,会话终止后便不再使用。下一会话需要创建一组新的随机会话密钥。

对称加密

验证源站服务器身份

来自服务器的 TLS 通信包括消息身份验证码或 MAC,它是用于确认通信源自实际网站的数字签名。这将对服务器进行身份验证,从而防止在途攻击和域欺骗。它还确保数据在传输过程中没有被篡改。

什么是 SSL 证书?

SSL 证书是网站的源服务器上安装的文件。它只是一个数据文件,包含公钥和网站所有者身份以及其他信息。如果没有 SSL 证书,就无法使用 TLS 来加密网站的流量。

从技术上讲,任何网站所有者都可以创建自己的 SSL 证书,这些证书称为自签名证书。但是,浏览器不认为自签名证书像证书颁发机构颁发的 SSL 证书一样值得信赖。

网站如何获得 SSL 证书?

网站所有者需要从证书颁发机构获取 SSL 证书,然后将其安装到自己的 Web 服务器上(通常 Web 主机可以处理此过程)。证书颁发机构是一个外部方,可以确认网站所有者是他们所称的身份。他们保留所颁发证书的副本。

是否可以获得免费的 SSL 证书?

许多证书颁发机构对 SSL 证书收费。为了帮助提高互联网的安全性,Cloudflare 提供免费 SSL 证书。Cloudflare 是第一个这样做的互联网安全和性能公司。Cloudflare 还致力于优化 SSL/TLS 性能,使网站从 HTTP 迁移到 HTTPS 时不影响性能。如需 Cloudflare 提供的 SSL 选项的更多信息,请参阅我们的开发人员文档

HTTP 和 HTTPS 有什么区别?

“HTTPS”中的 S 代表“安全”。HTTPS 只是具有 SSL/TLS 的 HTTP。拥有 HTTPS 地址的网站具有由证书颁发机构颁发的合法 SSL 证书,并且使用 SSL/TLS 协议对往返于该网站的流量进行身份验证和加密。

为了鼓励整个互联网转向更安全的 HTTPS,许多 Web 浏览器已开始将 HTTP 网站标记为“不安全”。因此,HTTPS 不仅对于确保用户和用户数据的安全至关重要,而且对于建立与用户的信任也至关重要。