点击上方蓝字,关注我们

1、前言

如今全站https的趋势越来越强烈,互联网对安全的认识越来越深入。本文根据自己的实际情况,对SSL链接建立做个总结。SSL相关的非对称加密和加密,涉及到公钥、私钥、证书、对称密钥,这些非常复杂,本文不会涉及。本文重点介绍SSL的握手过程,客户端和服务端的步骤,通过wireshark抓包分析整个过程。

2、基本概念

SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。

TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。

TLS是在SSL的基础上标准化的产物,目前SSL3.0与TLS1.0保持一致的,二者是并列关系,只是大家习惯称呼SSL。注明的web服务nginx默认支持的就是TLS1.0、TLS1.1、TLS1.2协议。调用的openssl库中,对应的就是ssl3_acceptt函数。

SSL/TLS位于传输层和应用层之间,应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。

3、握手过程

我使用nginx搭建了一个https的服务,nginx的默认ssl cipher为HIGH:!aNULL:!MD5; 不同的cipher 决定了握手的交互过程。chrome浏览器支持的cipher如下所示:

cipher的格式为:认证算法_密钥交换算法_加密算法_ 摘要算法

首先看看最基本的基于RSA的密钥协商算法,配置的ssl sipher为 AES256-GCM-SHA256。

使用wireshark抓包分析,抓包如下所示:

从上面报文可以看出,SSL建立过程如下图所示:

使用椭圆曲线(ECDHE)算法作为密钥交换算法,配置ssl ciper为:,交互流程如下所示:

抓包看如下:

从上面报文可以看出,SSL建立过程如下图所示:

相比RSA算法而言,握手过程多了一个server key exchange步骤

RSA算法服务端没有Server key Exchange。

4、参考资料

http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

https://blog.cloudflare.com/keyless-ssl-the-nitty-gritty-technical-details/

MySQL执行计划解析

三个方案解决Elasticsearch深度翻页问题

大型系统的发布部署方案(图文)

分布式系统中Redis为什么那么重要?

彻底搞清分库分表(垂直分库,垂直分表,水平分库,水平分表)

小白也能学会的RAID磁盘冗余阵列教程

欢迎分享转发,有帮助的话点个“在看”

抓包分析SSL/TLS连接建立过程相关推荐

  1. linux服务器抓包分析,抓包分析SSL/TLS连接建立过程总结

    1.前言 最近在倒腾SSL方面的项目,之前只是虽然对SSL了解过,但是不够深入,正好有机会,认真学习一下.开始了解SSL的是从https开始的,自从百度支持https以后,如今全站https的趋势越来 ...

  2. 抓包分析SSL/TLS连接建立过程【总结】

    1.前言 最近在倒腾SSL方面的项目,之前只是虽然对SSL了解过,但是不够深入,正好有机会,认真学习一下.开始了解SSL的是从https开始的,自从百度支持https以后,如今全站https的趋势越来 ...

  3. 例说图解TCP/IP协议族--TLS篇(1)抓包分析SSL/TLS握手

    SSL是Secure Sockets Layer (安全套接层)的简写,SSL协议是为网络通信提供安全的一种安全协议,继任者为TLS,即 Transport Layer Security传输层安全. ...

  4. Wireshark抓包分析SSL握手的过程

    刚才用图和文字描述讲解了SSL协议的交互过程HTTPS协议--通过SSL协议实现安全保障的过程和原理. 用Wireshark抓包进行详细的讲解.抓的是某机构腾讯课堂的首页. (因为网页有变动,所以实际 ...

  5. wireshark抓包分析SSL/TLS协议

    SSL/TLS协议一般有两种握手过程,一种是SSL握手,一种是会话恢复.前些时候在写HTTP和HTTPS协议区别的时候介绍了SSL协议的相关理论知识,但多少还是有点抽象,今天我们可以通过wiresha ...

  6. SSL/TLS连接建立过程

    分析SSL/TLS连接建立过程 1.基本概念 SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层.SSL通过互相认证.使用数字 ...

  7. SSL握手过程实例抓包分析

    为了更好理解SSL协议的握手过程,结合实例,使用Wireshark抓包分析SSL握手过程中客户端与服务器间的交互过程.本例中服务器为AcFun弹幕视频网 - 认真你就输啦 (・ω・)ノ- ( ゜- ゜ ...

  8. Wireshark抓包分析TCP连接、发送数据与断开过程

    准备工具: 1. 两台连接到同个局域网的电脑,或者虚拟机; 2. 在其中一台电脑安装Wireshark; 3. 在两台电脑上面都有TCP&UDP测试工具软件 TCP连接建立过程(三次握手): ...

  9. 网络安全学习第10篇 - ping程序的实现,抓包分析ping数据包以及ping工具对于网络安全方面的威胁

    请结合附件:Ping的实现原理与ping.cpp的内容,编写一个程序,使其能够实现简单的ping的功能,即判断目标网站是否可以连接,然后通过Wireshark进行抓包分析其ICMP协议,指出哪个数据包 ...

最新文章

  1. “不给钱就删库”的勒索病毒, 程序员该如何防护?
  2. Bex5开发技巧之MYSQL Incorrect string value
  3. MemberShip驗證
  4. 传奇芯片设计大神Jim Keller又离职了,英特尔失了总设计师,网友喊话雷军:挖他!...
  5. python入门要多久-初学者如何快速上手python入门要多久
  6. Leetcode-第 283 场周赛
  7. 数据挖掘150道笔试题
  8. [半翻] 设计面向DDD的微服务
  9. Vim文本编辑器 指令大全(二)
  10. (29)Verilog HDL系统函数:$finish
  11. Linux shell脚本详解及实战(二)——shell脚本之分支
  12. 吉林大学计算机游戏程序设计,吉林大学在2018年大学生程序设计竞赛中夺得佳绩...
  13. 电机选型计算电机转动惯量、启动转矩和额定转速
  14. linux mint更改锁屏壁纸
  15. HTML5期末大作业:基于HTML+CSS+JavaScript茶文化中国水墨风格绿色茶叶销售(5页) 学生网页设计作业源码
  16. excel(2015)表格如何在滑动时固定标题栏
  17. gazebo实现小车巡线
  18. 微信商户平台配置JSAPI支付目录,vue项目,好多坑呐
  19. C#如何立即回收内存
  20. 少数人的晚餐—观后感

热门文章

  1. 3.1.5 操作系统之动态分区分配的四种算法(首次适应算法、最佳适应算法、最坏适应算法、临近适应算法)
  2. 微信小程序直播和直播平台有何不同
  3. 新手必看的seo优化方案【完整版】
  4. 服务器 地址 域名 ip ??从输入url地址到客户端见到网页的大致过程,连接好服务器以后将网页挂上去的具体操作
  5. 华为鸿蒙车,华为鸿蒙「上车」
  6. 通达信收费接口查询可申购新股c++源码分享
  7. MySQL字段类型与Java中类型的对应
  8. 如何做一名主程之Unity3D网络游戏服务器架构设计
  9. 微信小程序之js模块化
  10. 联盟链FISCO BCOS网络端口讲解