传统的 HTTP 协议在网络传输中采用明文形式,这意味着用户输入的密码、银行卡号等敏感信息在通过公共网络、路由器时,极易被黑客窃听、篡改或伪造。为了解决这一严重的安全漏洞,基于 SSL/TLS 协议的 HTTPS 应运而生,为现代互联网应用构建了一条牢固的安全防线。
HTTPS 的核心理念是融合了对称加密与非对称加密的“混合加密体制”。对称加密(如 AES、CHACHA20)速度极快,适合对大容量的实际业务数据进行加密,本它的致命缺点在于密钥无法安全地在公网上分发。非对称加密(如 RSA、ECC)则拥有两把不同的钥匙:公钥和私钥。公钥可以向全世界公开,任何用公钥加密的数据,只有持有私钥的服务器才能解密。因此,HTTPS 利用非对称加密来安全地传输对称加密的“会话密钥”,一旦双方在握手阶段协商好该会话密钥,后续的所有应用层数据便改用高效的对称加密进行传输。
在这个握手交互过程中,另一个关键组件是数字证书与 CA(证书颁发机构)。如果没有权威的第三方信任机构,黑客很容易实施“中间人攻击”,用自己的公钥冒充目标网站的公钥。因此,网站管理员必须向 CA 申请数字证书。当浏览器访问 HTTPS 网站时,服务器首先发回该证书。浏览器会利用内置在操作系统中的根证书和公钥,验证该证书的数字签名是否真实有效、域名是否匹配、是否在有效期内。验证通过后,浏览器才会放心地提取出服务器的真实公钥,生成一个随机的对称密钥并用该公钥加密发回服务器。服务器用私钥解密得到该密钥,双方至此完成安全握手,从而确保了传输的机密性、完整性和身份真实性。