安全入门之wireshark抓包之HTTPS
  

葛一鸣 1518

{{ttag.title}}
本帖最后由 葛一鸣 于 2021-4-30 10:56 编辑

安全入门之wireshark抓包之HTTPS


        HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密、对称加密以及HASH算法。

   三次握手和四次挥手略过。


第一步 Client Hello


      先看一下抓出来包的内容,我们直接看到SSL层。

  • TLS的版本




  • 随机数:这个是用来生成最后加密密钥的影响因子之一,包含两部分:时间戳(4-Bytes)和随机数(28-Bytes)




  • session-id:用来表明一次会话,第一次建立没有。如果以前建立过,可以直接带过去。后面的扩展内容会详细讲到。




  • 加密算法套装列表:客户端支持的加密-签名算法的列表,让服务器去选择。




  • 压缩算法:似乎一般都不用




  • 扩展字段:比如密码交换算法的参数、请求主机的名字等等





    这里要注意一个随机数,很重要,记为Random1。



第二步 Server Hello


    据客户端支持的SSL/TLS协议版本,和自己的比较确定使用的SSL/TLS协议版本确定加密套件、压缩算法,产生了一个随机数Random2。

    注意,至此客户端和服务端都拥有了两个随机数(Random1+ Random2),这两个随机数会在后续生成对称秘钥时用到。



第三步 Server => Client


          这次传输包含三部分内容

  • Certificate




  • Server Key Exchange




  • ServerHello Done








      Certificate
      这里主要就是把证书发送给Client。图中可以看到我的证书和证书发放机构。客户端拿到证书后就可以进行验证,同时获取到公钥,用于后面Random3的加密。

      Server Key Exchange
这个消息是用来发送密钥交换算法相关参数和数据的。这里要提前提一下,就是根据密钥交换算法的不同,传递的参数也是不同的。
      常用的密钥交换算法:RSA、DH(Diffie-Hellman)、ECDH(EllipticcurveDiffie–Hellman)。

      Server Hello Done
      这个就是Server来表示自己说完了。类似电影里别人拿对讲机说完话最后会有一个“完毕!”。



第四步 Client => Server

    这次传输也包含三部分内容,也是做了一个优化

  • Client Key Exchange




  • Change Cipher Spec




  • Encrypted Handshake Message





      这里客户端会再生成一个随机数Random3。然后使用服务端传来的公钥进行加密得到密文PreMaster Key。服务端收到这个值后,使用私钥进行解密,得到Random3。这样客户端和服务端就都拥有了Random1、Random2和Random3。这样两边的秘钥就协商好了。后面数据传输就可以用协商好的秘钥进行加密和解密。

      Change Cipher Spec
      编码改变通知。这一步是客户端通知服务端后面再发送的消息都会使用前面协商出来的秘钥加密了,是一条事件消息。

      Encrypted Handshake Message
      这一步对应的是Client Finish 消息,客户端将前面的握手消息生成摘要再用协商好的秘钥加密,这是客户端发出的第一条加密消息。服务端接收后会用秘钥解密,能解出来说明前面协商出来的秘钥是一致的。


第五步 Server => Client


      Change Cipher Spec
      编码改变通知。这一步是服务端通知客户端后面再发送的消息都会使用加密,也是一条事件消息。

      Encrypted Handshake Message
      这一步对应的是Server Finish 消息,服务端也会将握手过程的消息生成摘要再用秘钥加密,这是服务端发出的第一条加密消息。客户端接收后会用秘钥解密,能解出来说明协商的秘钥是一致的。

到这里双方SSL/TLS握手完成。


第六步 Client => Server

      数据开始正常传输。

60906608b6a5f00684.png (80.76 KB, 下载次数: 23)

60906608b6a5f00684.png

50302608b6a9c97e28.png (98.43 KB, 下载次数: 26)

50302608b6a9c97e28.png

45625608b6aae7e1ac.png (103.77 KB, 下载次数: 20)

45625608b6aae7e1ac.png

99961608b6ab9f0798.png (98.26 KB, 下载次数: 30)

99961608b6ab9f0798.png

35037608b70d8d0db8.png (234.71 KB, 下载次数: 42)

35037608b70d8d0db8.png

60126608b70e6e986a.png (233.15 KB, 下载次数: 22)

60126608b70e6e986a.png

葛一鸣 发表于 2021-4-30 10:58
  
这网页文档编辑器 真拉肚子。。。各种错乱格式,浪费我时间。
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
技术咨询
干货满满
功能体验
新版本体验
2023技术争霸赛专题
产品连连看
标准化排查
GIF动图学习
自助服务平台操作指引
运维工具
信服课堂视频
通用技术
秒懂零信任
技术晨报
用户认证
安装部署配置
每日一记
安全攻防
SDP百科
设备维护
答题自测
深信服技术支持平台
社区帮助指南
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
迁移
玩转零信任
山东区技术晨报
地址转换
虚拟机
存储
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

461
244
13

发帖

粉丝

关注

本版达人

feeling

本周分享达人

新手29676...

本周提问达人