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

  • 相关阅读:
    [转载]在sharepoint里增加PDF图标显示收藏主题
    CuratorFramework开源Zookeeper快速开发框架介绍
    Zookeeper和CuratorFramework实践之:分布式消息队列
    Zookeeper和CuratorFramework实践系列之: 配置管理
    JS 文字向上滚动代码
    sql递归查询问题
    双线单IP和双线双IP机房的区别
    js获取标准北京时间
    ftp 21端口被占用解决办法
    "由于没有远程桌面授权服务器可以提供许可证..."不能远程桌面解决方法
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/10193704.html
Copyright © 2011-2022 走看看