Hyper Text Transfer Protocol Secure (HTTPS) 是 HTTP 的安全版本。HTTPS 用于保密 Internet 通信,例如在线交易和社交媒体消息交换。
HTTPS 是一个通过 SSL/TLS 握手会话建立的 Internet 协议。Internet Explorer, Firefox 和 Chrome 等 Web 浏览器在地址栏中显示挂锁,以指示一个 HTTPS 连接处于活动状态。
SSL (Secure Sockets Layer) / TLS (Transport Layer Security) 是用于保护 HTTP 连接安全的标准技术。它使用加密算法防止未经授权的人员或系统读取和修改信息。SSL/TLS 的身份验证算法提供端点的可靠身份。TLS 是 SSL 的更新的且更安全的版本。现在,TLS 是在 Internet 上保护通信的主要方式。不过,SSL 术一词仍然用于描述 HTTPS 会话的安全技术。
在本手册中,我们使用 SSL/TLS 来指代 SSL 技术。
要在客户端和服务器之间建立 HTTPS 连接,至少需要服务器的身份证书才能进行身份验证。
SSL/TLS 握手会话是启动 HTTPS 连接的第一步。在 SSL/TLS 握手期间,服务器和客户端执行身份验证并协商过程。它们就 TLS 版本、密钥交换算法和加密信息交换的算法进行协商。加密算法集也称为密码套件。
例如:
在下面您会找到一个方案,解释 Web 服务器和浏览器之间 SSL/TLS 握手的主要步骤。
浏览器请求 HTTPS 连接。
Web 服务器发送与其公钥一起嵌入的身份证书的副本。
浏览器验证身份证书和公钥。
浏览器和 Web 服务器商定共享的加密密钥。
浏览器和 Web 服务器使用相同的共享密钥将纯文本加密为密码文本,并将密码文本解密为纯文本。
为确保连接的安全性,对于每个新会话,都将协商并创建一个新的共享密钥。