SSL协议小结

这篇文章写的很详细哦,赞一个:http://rrsongzi-gmail-com.iteye.com/blog/603015


最近要用到ssl协议,顺便了解了下

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。

SSL协议可分为两层:

 SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL协议有多个版本,SSLV2,SSLV3,TLSv1.0,TLSv1.1,TLSv1.2,目前由于爆出SSLV2,SSLV3存在安全漏洞,估计不久的将来基本会被TLS取代

http://www.cnxhacker.com/2014/10/15/2803.html

SSL链接的大致流程如下:

先来看wireshark抓取的ssh包


大致如下流程


1.客户端发送client Hello消息体到服务器,消息体结构如下

struct {
ProtocolVersion client_version;  //客户端支持的版本号
Random random;                   //随机数
SessionID session_id;            //会话session一般为0,最终由服务器端分配
CipherSuite cipher_suites<0..216-1>;//客户端所支持的秘钥套件列表
CompressionMethod compression_methods<0..28-1>;//客户端所支持的压缩算法列表
} ClientHello;

wireshark解包如下:

2.服务器端发送server Hello消息体给客户端,消息体结构如下


struct {
ProtocolVersion server_version;<span style="font-family: Arial, Helvetica, sans-serif;">//版本版本号,该版本好取通信双方所支持的最高版本中的低者,如client为TSL1.1,server最高支持TSL1.2,哪个用TSL1.1进行ssl链接</span>
Random random;//随机数
SessionID session_id;//session,该session用于通信整个过程中
CipherSuite cipher_suite;//第一个验证通过的秘钥
CompressionMethod compression_method;//压缩算法
} ServerHello; 
wireshark解包如下,可以发现现server Hello消息体中多了秘钥交换消息:

3.客户端根据服务端返回的消息作出相应,交换秘钥,最终实现数据的安全传输


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值