技术知识

HTTPS加密过程详解

时间 : 2025-01-11 19:49:55浏览量 : 52

HTTPS加密过程详解

一、初始连接

当用户在浏览器中输入HTTPS网址并按下回车键时,客户端(通常是用户的浏览器)向服务器发送一个TCP连接请求。一旦连接建立,通信开始。

二、握手阶段

  1. 第一次握手

    • 客户端C向服务器S发送连接,其中带有的信息为随机数A以及加密算法等信息。

  2. 第二次握手

    • 服务器S返回信息,其中带有的信息为协商好的加密算法以及证书(公钥)信息。这里的证书包含公钥信息以及服务器的域名信息。每个电脑上都可以拥有该证书,当浏览器返回该证书时,会对该证书进行检查,查看证书的有效性以及对应的域名地址是否是自己请求的地址。

  3. 第三次握手

    • 客户端C利用外层为非对称加密(内容为对称加密算法相关信息以及‘hello,我们以后用对称加密吧’(这句话是便于理解写的))。这是因为如果只利用对称加密,让密钥在网络中传输,且密钥是作为解密和加密的唯一工具,一旦泄露,后果极为严重;而如果只利用非对称加密,那么客户端只有公钥,意味着服务器端需要利用私钥加密,公钥在网络中传输容易被中间人进行攻击,服务器返回的数据会被泄露。所以采用这种混合加密,利用非对称加密对对称加密算法的相关信息进行加密。因为是非对称加密,且在网络中仅有可能泄露的是公钥,所以利用非对称加密算法的性质,到了服务器端利用私钥进行解密,得到里面的对称加密算法以及数据。

  4. 第四次握手

    • 由于利用非对称加密算法,服务器可以利用私钥对内容进行解密。之后客户端以及服务端就都可以用对称加密的密钥,从而后面的数据传输都用对称加密算法,这样不仅速度快还可以解决中间人攻击问题。

三、加密技术相关

  1. 对称加密

    • 对称加密使用同一密钥进行加密和解密。其优点是高效,但密钥分发存在风险,例如如果客户端直接将密钥进行明文传输给服务器,黑客能获得密钥,后续加密操作就失去意义。

  2. 非对称加密

    • 非对称加密使用公钥和私钥配对,公钥加密,私钥解密。公钥和私钥是配对的,其最大的缺点就是运算速度慢,比对称加密慢许多。在HTTPS中,服务器通过证书提供公钥,客户端验证证书后,使用公钥加密对称密钥发送给服务器。

  3. 证书机制

    • 引入证书机制后,通过第三方公证机构验证公钥合法性,有效防止中间人攻击,确保数据传输的安全性。服务器的证书包含公钥等信息,客户端会对证书进行验证,包括查看颁发机构、过期时间等,如果发现异常,会弹出警告框提示证书存在问题。