HTTPS(Hypertext Transfer Protocol Secure)是 Hypertext Transfer Protocol(HTTP)的扩展。HTTPS使用 **传输层安全性(TLS)**传输加密数据。
如果数据在在线传输过程中被劫持,劫持者只能获得二进制代码。
步骤1 - 客户端(浏览器)和服务器建立一个TCP连接。
步骤2 - 客户端向服务器发送一个“客户端Hello”消息。该消息包含一组必要的加密算法(密码套件)和它可以支持的最新TLS版本。服务器会回应一个“服务器Hello”,以便浏览器知道是否可以支持这些算法和TLS版本。
然后,服务器将SSL证书发送给客户端。该证书包含了公钥、主机名、过期日期等信息。客户端验证证书的有效性。
步骤3 - 在验证SSL证书后,客户端生成一个会话密钥并使用公钥对其进行加密。服务器接收加密的会话密钥并使用私钥解密它。
步骤4 - 现在,客户端和服务器都拥有相同的会话密钥(对称加密),加密的数据在安全的双向通道中传输。
为什么HTTPS在数据传输过程中切换到对称加密?有两个主要原因:
HTTPS通常会引入一些性能开销,但具体性能开销取决于多个因素,包括服务器硬件、TLS协议版本、加密算法等。以下是一些与HTTPS相关的性能开销因素:
总的来说,HTTPS通常会引入一些性能开销,但这些开销通常可以通过优化服务器配置、使用硬件加速和选择适当的加密套件来降低。
在许多情况下,安全性的提升可以抵消性能开销。