# HTTPS

# 什么是HTTPS?

HTTPS是添加了SSL/TLS安全层的HTTP协议。

# 为什么使用HTTPS?

# HTTPS的交互过程

  • 在讨论HTTPS的交互过程之前,我们先对HTTPS协议的各部分产生逻辑进行一下推理:

    目标:传输安全 -> 报文加密 -> 使用对称加密(非对称加密效率太低)-> 秘钥需要随机生成(秘钥协商)-> 秘钥传递如何保证安全 -> 使用非对称加密即公私钥加密“对称秘钥”,公钥可以明文传输 -> 如何保证公钥是真实的 -> 信任CA,客户端安装CA证书,CA来签发数字证书(数字证书里包含公钥) -> 如何确保证书不被拦截篡改 -> 使用摘要算法为证书添加摘要 -> 如何校验证书确实是CA签发的 -> CA使用私钥对证书摘要加密形成“数字签名”,客户端用CA证书中的公钥解密“签名”获取摘要,同时摘要校验通过。

  • 上述逻辑的简化版本:

    报文安全(机密性) -> (对称)秘钥安全(机密性) -> 公钥安全(完整性、身份认证、不可否认) -> 摘要+数字签名(CA)

  • HTTPS的交互过程主要分为三个部分:

    1. 证书验证:保证公钥安全(确认来源、没有篡改)

    2. 秘钥协商:通过随机字符串生成秘钥,通过非对称加密传递秘钥

    3. 加密传输:使用秘钥加密信息

  • HTTPS的前期准备

    1. 客户端:安装CA证书(校验数字证书,保证公钥安全)

    2. 服务端:存在数字证书和私钥

    CA中间证书:通常CA会存在一份自签名的根证书,根证书是信任链源头,无条件信任;根证书再签发多个中间证书,CA通过中间证书签发数字证书,以确保根证书的安全(因为从不使用)。

    参考资料:https://sg.godaddy.com/help/what-is-an-intermediate-certificate-868

上次更新: 2/13/2025, 3:29:47 AM