zoukankan      html  css  js  c++  java
  • HTTPS 加密

    由上图可见 HTTPS 比 HTTP 多做了一层 TSL or SSL 的安全层。

    TLS 由记录协议、握手协议、警告协议、变更密码规范协议、扩展协议等几个子协议组成,综合使用了对称加密、非对称加密、身份认证等许多密码学前沿技术。

    对了,最开始先提出的是 SSL,自 1996 年后,SSL v3 改名叫 TLS 1.0,目前运用最广泛的是 TLS 1.2。

    TLS 握手

    • 指定将使用的TLS版本(TLS 1.0、1.2、1.3等)
    • 确定将使用哪些加密套件。
    • 通过服务器的公钥和SSL证书颁发机构的数字签名来验证服务器的身份
    • 握手完成后,生成会话密钥以使用对称加密

    TLS 中有两种主要的握手类型:一种基于 RSA,一种基于 Diffie-Hellman(DH)。这两种握手类型的主要区别在于主秘钥交换和认证上。而 RSA 是主流,就讲 RSA 握手。

    流程图如下,图出自HTTPS篇之SSL握手过程详解

    • 客户端hello:客户端通过向服务器发送“问候”消息来发起握手。该消息将包括客户端支持的TLS版本,支持的加密套件以及称为“客户端随机”的随机字节字符串。
    • 服务器hello:为回复客户端hello消息,服务器发送一条消息,其中包含服务器的SSL证书,服务器选择的加密套件和“服务器随机数”,即服务器生成的另一个随机字节串。
    • 客户端发送公钥加密的预主密钥。
    • 服务器用自己的私钥解密加密的预主密钥。
    • 客户端finished:客户端发送“完成”消息,该消息已用会话密钥加密。
    • 服务器finished:服务器发送一条用会话密钥加密的“完成”消息。

    握手完成,后续通过主密钥加解密。

    密码套件

    密码套件(cipher suite)是一组选定的加密基元和其他参数,它可以精确定义如何实现安全。套件大致由以下这些属性定义。

    • 身份验证方法
    • 密钥交换方法
    • 加密算法
    • 加密密钥大小
    • 密码模式(可应用时)
    • MAC算法(可应用时)
    • PRF(只有TLS1.2一定使用,其他版本取决于各自协议)
    • 用于Finished消息的散列函数(TLS1.2)
    • verify_data结构的长度(TLS1.2)

    对称加密有AES 和 CHACHA20, 分组模式以前有 CBC、CTR,但 TLS1.3 中只剩下 GCM。非对称加密 RSA、ECDHE,哈希摘要算法(Sha256, Sha384,md5)

    参考

    HTTPS篇之SSL握手过程详解

  • 相关阅读:
    5.线性回归算法
    作业14 15 手写数字识别-小数据集
    作业13 14 深度学习-卷积
    作业12 13-垃圾邮件分类2
    作业11 12.朴素贝叶斯-垃圾邮件分类
    作业10:11.分类与监督学习,朴素贝叶斯分类算法
    作业9、主成分分析
    作业8、特征选择
    作业7.逻辑回归实践
    作业6.逻辑归回
  • 原文地址:https://www.cnblogs.com/everlose/p/12742658.html
Copyright © 2011-2022 走看看