HTTPS详解

由来:

       http明文传输,有窃听,篡改,冒充的风险,所以在HTTP与TCP层中加入了TLS协议,   解决这个问题。

      窃听:对信息进行了加密。

      篡改:引入校验机制。

      冒充:身份证书。

*首先了解一下对称加密,非对称加密。

        常见的对称加密算法:DES,3DES,AES,SM4,

        常见的非对称加密算法:RSA,ECC,SM2

        对称加密与非对称加密算法_对称加密和非对称加密_大草原的小灰灰的博客-CSDN博客

        对称加密,非对称加密加密过程:

        对称加密和非对称加密算法工作过程详解_w好运来x的博客-CSDN博客

过程:

      先完成 TCP 连接建立,然后走 TLS 握手过程后,才能建立通信安全的连接。

      TLS握手过程:

报文信息理论如下:

  1. 客户端发送 Client Hello 消息给服务端;
  2. 服务端回应 Server Hello ,Server Certificate、Server Key Exchange 和 Server Hello Done
  3. 客户端发送 Client Key Exchange、Change Cipher Spec 和 Client Finished 消息;
  4. 服务端最后发送 Change Cipher Spec 和 Server Finished 消息;

备注:

1.Client hello,Server Hello

  • Version Number: 客户端发送它所支持的最高 SSL/TLS 版本。
  • Randomly Generated Data:一个 32 字节的客户端随机数,该随机数被服务端生成通信用的对称密钥(master secret);
  • Session Identification :session ID 被客户端用于恢复之前的会话(只有恢复 session 时该字段才有值),这样可以简化 SSL 握手过程,避免每次请求都建立新的连接而握手,握手过程是需要消耗很多计算资源的。已建立的连接信息存储在客户端和服务端各自的 session 缓存中,用 session ID 标识;
  • Cipher Suite: 客户端发送它所支持的加密套件列表;

2. Certificate

     服务端发送 SSL 证书给客户端,包含服务端的公钥,客户端用该证书验证服务端的身份。

     如果服务端发送了 Client Certificate Request 消息 (高保密性。可选),那么客户端会发送该消息给(Client Cipher,message)服务端,包含  自己的证书信息,供服务端进行客户端身份认证。Certificate Verify ,该消息只有在 Client Certificate message 消息发送时才发送,客户端通过自己的私钥签名从开始到现在的所有发送过的消息,然后服务端会用客户端的公钥验证这个签名。

3.Server Key Exchange ,Client Key Exchange

     主要用来传递双方协商密钥的参数

4.Server Hello Done

     告知握手相关的消息发送完毕,等待响应。

5.Change Cipher Spec 消息

    通知此消息以后会以之前协商的密钥加密发送数据。

 

6.Client Finished ,Server Finished

     客户端服务端,都会在握手完成之后,发送 Encrypted handshake message,且各自收到对端的Encrypted handshake message后会去验证这个数据,确认秘钥的正确性。因为Encrypted handshake message是使用对称秘钥进行加密的第一个报文,如果这个报文加解密校验成功,那么就说明对称秘钥是正确的。
    客户端计算生成对称密钥,然后使用该对称密钥加密之前所有收发握手消息的 Hash 值,发送给服务器,服务器将用相同的会话密钥(使用相同方法生成)解密此消息,校验其中的Hash 值。

    服务器使用对称密钥加密(生成方式与客户端相同)之前所发送的所有握手消息的hash值,发送给客户端去校验。至此 SSL 握手过程结束,双发之后的通信数据都会用双方协商的对称密钥 Session Key 加密传输。

首先了解wireshark的基本使用:

wireshark使用教程 如何使用wireshark - 云骑士一键重装系统

Frame:物理层的数据帧概况

EthernetII:数据链路层以太网帧头部信息

Internet Protocol Version 4:互联网层IP包头部信息

Transmission Control Protocol:传输层

Hypertext Transfer Protocol:应用层的信息

抓包分析:RSA

 

 未完待续:证书的有效性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值