Skip to content

HTTPS 如何工作?

安全超文本传输协议(HTTPS)是超文本传输协议(HTTP)的扩展。HTTPS 使用传输层安全性(TLS)加密数据进行传输。如果数据在网上被劫持,劫持者得到的只是二进制代码。

数据是如何加密和解密的?

步骤1 - 客户端(浏览器)和服务器建立TCP连接。

步骤2 - 客户端向服务器发送“客户端问候”。该消息包含一组所需的加密算法(密码套件)和它可以支持的最新TLS版本。服务器回复“服务器问候”,以便浏览器知道它是否能够支持这些算法和TLS版本。

然后,服务器将SSL证书发送给客户端。该证书包含公钥、主机名、到期日期等。客户端对证书进行验证。

步骤3 - 在验证SSL证书后,客户端生成一个会话密钥,并使用公钥对其进行加密。服务器接收加密的会话密钥,并使用私钥进行解密。

步骤4 - 现在客户端和服务器都持有相同的会话密钥(对称加密),加密的数据在安全的双向通道中传输。

为什么HTTPS在数据传输过程中切换到对称加密?主要有两个原因:

  1. 安全性:非对称加密只能单向进行。这意味着如果服务器尝试将加密数据发送回客户端,任何人都可以使用公钥解密数据。

  2. 服务器资源:非对称加密增加了相当多的数学开销,不适合于长会话中的数据传输。