zoukankan      html  css  js  c++  java
  • HTTPS 基本流程3

    前文说到了6 组key material, 12个hash 值,非常迷惑, 今天才搞明白, 原来所有这些内容就是 对称密钥的内容。

    上面的图 虽然不是很清晰,但是, 其实也已经写明白了, 就是 右边的 CBC 模式的部分。对于 CBC模式的DES加密算法, 是需要这些内容的。

    关于 身份认证, 其实不是 防止 篡改, 说的另外的一回事。 一般就是说,防止 middler man, 就是验证 服务端就是 我想要的那个。 通过 证书 验证, 可以完成 身份的认证。

    当然, 其实我们也可以 对客户端 进行认证, 这也是 身份认证的一部分。

    1. 身份认证:第三方无法伪造服务端(客户端)身份

    DH 算法的通信建立过程是这样的:

     总之,如果协商过程使用 RSA 的话, 建立tls / ssl通道(正式传输 tls 上层数据之前)有7个 交互过程:

    1 C->S:Client Hello
    2 S->C:Server Hello
    3 S->C:Certificate, Server Key Exchange, Server Hello Done
    4 C->S:Client Key Change
    5 C->S:Change Cipher Spec
    6 C->S:Encryted Handshake Messagex`
    7 S->C:Change Cipher Spec, Encryted Handshake Message
    8 C->S/S->C:Application Data

    简单的SSL握手连接过程(Server端交换证书给client)

    1.C->S:client发送ClientHello,指定版本,随机数(RN),所有支持的密码套件(CipherSuites)

    2.S->C:server回应ServerHello,指定版本,RN,选择CipherSuites,会话ID(Session ID)

    3.S->C:server发送Certificate

    4.S->C:Server发送ServerHelloDone

    5.C->S:Client发送ClientKeyExchange,用于与server交换session key

    6.C->S:Client发送ChangeCipherSpec,指示Server从现在开始发送的消息都是加密过的

    7.C->S:Client发送Finishd,包含了前面所有握手消息的hash,可以让server验证握手过程是否被第三方篡改

    8.S->C:Server发送ChangeCipherSpec,指示Client从现在开始发送的消息都是加密过的

    9.S->C:Server发送Finishd,包含了前面所有握手消息的hash,可以让client验证握手过程是否被第三方篡改,并且证明自己是Certificate密钥的拥有者,即证明自己的身份

    已经SSL握手完成,已经 建立tls / ssl通道了。

    10 C->S/S->C:Application Data  开始正式数据交互

    实际上呢, 2/3/4 几个步骤是可以合并的, 5/6/7 也是,8/9 也是。 所以抓包的时候可以看到 4次通信。

     参考:

    https://blog.csdn.net/tterminator/article/details/50675540 非常非常详细

    https://blog.csdn.net/phunxm/article/details/72853376 非常非常详细

    https://blog.csdn.net/a_tu_/article/details/77119532

     http://www.cnblogs.com/svan/p/5090201.html

  • 相关阅读:
    Ubuntu操作系统如何设置默认启动内核
    设置和取消环境变量
    vue create与vue init的区别
    base64 编解码
    获取url中的参数
    ubuntu账户密码正确但是登录不了怎么办
    斐波那契数列的递推式-----动态规划
    Round-Robin轮询调度法及其实现原理
    MySql中float类型的字段的查询
    使用 Python 从网页中提取主要文本内容
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/10193704.html
Copyright © 2011-2022 走看看