HTTPS(Hypertext Transfer Protocol Secure)是一种在传输过程中使用SSL/TLS加密的HTTP协议,用于保护Web通信的安全性和隐私。HTTPS在常规HTTP的基础上添加了加密层,使数据在传输过程中得以加密,从而提供更高的安全性和保护用户数据不被窃取或篡改。
以下是HTTPS加密解析的简要过程:
- 客户端请求: 当用户在浏览器中输入HTTPS网址并访问时,浏览器会向Web服务器发起HTTPS请求。
- SSL/TLS握手: 在建立HTTPS连接之前,浏览器和Web服务器之间会进行SSL/TLS握手。在握手阶段,客户端和服务器将协商加密参数和密钥交换方式。
- 证书验证: 在握手期间,服务器会向客户端发送其数字证书。数字证书包含服务器公钥和相关的证书信息,由数字证书颁发机构(CA)签发。浏览器会验证证书的合法性,确保它是由受信任的CA签发的,并且与服务器域名匹配。
- 密钥交换: 一旦证书验证通过,浏览器使用服务器的公钥加密一个随机生成的对称密钥,并将其发送给服务器。
- 数据加密: 服务器使用其私钥解密浏览器发送的随机对称密钥。现在,浏览器和服务器都拥有相同的对称密钥,用于加密和解密数据。
- 安全通信: 一旦握手完成,加密通信就建立起来了。现在,浏览器和服务器之间的数据传输通过使用对称密钥进行加密和解密。
HTTPS在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。
HTTPS的整体过程分为证书校验和数据传输阶段具体交互过程如下
标签:浏览器,https,证书,密钥,HTTPS,服务器,加密,抓包 From: https://blog.51cto.com/u_15403006/6814813