封包类型与加密

前向加密技术PFS :让每个数据交互都使用的是不同的私钥,
RSA:一个私钥就能把整个session会话的网络数据包都破解出来

原文链接:https://blog.csdn.net/u010726042/article/details/53408077   //SSL与https
http://blog.sina.com.cn/s/blog_ba07cea10102wfw0.html //TCP IP
https://blog.csdn.net/leho666/article/details/89303474#comments //tcp ip详解
TCP IP :
TCP(Transmission Control Protocol) 传输控制协议

TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:

位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)
Sequence number(顺序号码) Acknowledge number(确认号码)

3次握手4次挥手
3次握手:
客户端 -> 发SYN=j 请求建立连接 -> 服务器    //客户端进入SYN_Send 状态
服务器 -> 发SYN+ACK:(确认)ack=j+1,随机发SYN=k ->客户端  //服务器进入SYN_Received状态
客户端 -> 确认SYN,发ACK(ack=k+1), => 服务器  => 连接建立  客户端和服务器进入ESTABLISHED状态

4次挥手
客户端a->发FIN=m(我要停止发送数据了) -> 客户端b
客户端b-> ACK=m+1(好的,了解,不过我看看还有没有数据剩下,需要传给你的)->客户端a
客户端b-> FIN=n(剩下的数据都发你了,我这边也之后停止发你数据了,同意关闭)->客户端a //b进入last ack状态
客户端a->ACK=n+1(好的,收到)->客户端b //a进入TIME_WAIT状态,
还需要等2MSL后才能返回到CLOSED状态( 你无法保证你最后发送的ACK报文会一定被对方收到,因此对方处于LAST_ACK状态下的SOCKET可能会因为超时未收到ACK报文,而重发FIN报文)
1.为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?
2.为什么TIME_WAIT状态还需要等2MSL后才能返回到CLOSED状态?

SSL协议栈位置介于TCP和应用层之间,分为SSL记录协议层和SSL握手协议层。其中SSL握手协议层又分为SSL握手协议、SSL密钥更改协议和SSL警告协议。SSL握手协议作用是在通信双方之间协商出密钥,SSL记录层的作用是定义如何对上层的协议进行封装。SSL记录协议将数据块进行拆分压缩,计算消息验证码,加密,封装记录头然后进行传输。

在这里插入图片描述
HTTPS(Hypertext TransferProtocol over Secure Socket Layer,基于SSL的HTTP协议),端口443,需要向CA申请证书,通过SSL握手建立安全通道,利用协商密钥对数据进行对称加密通信。

使用wireshark过滤ssl流量,可以看到有几个明显的ssl会话建立包,例如client hello,server hello等;

SSL握手:

1、 初始化阶段。客户端创建随机数,发送ClientHello 将随机数连同自己支持的协议版本、加密算法和压缩算法发送给服务器。服务器回复ServerHello将自己生成的随机数连同选择的协议版本、加密算法和压缩算法给客户端。

2、 认证阶段。服务器发送ServerHello的同时可能将包含自己公钥的证书发送给客户端(Certificate),并请求客户端的证书(Certificate Request)。

3、 密钥协商阶段。客户端验证证书,如果收到Certificate Request则发送包含自己公钥的证书,同时对此前所有握手消息进行散列运算,并使用加密算法进行加密发送给服务器。同时,创建随机数pre-master-secret并使用服务器公钥进行加密发送。服务器收到这个ClientKeyExchange之后解密得到pre-master-secret。服务器和客户端利用1阶段的随机数,能够计算得出master-secret。

4、 握手终止。服务器和客户端分别通过ChangeCipherSpec消息告知伺候使用master-secret对连接进行加密和解密,并向对方发送终止消息(Finished)。

————————————————
版权声明:本文为CSDN博主「Q1n6」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010726042/article/details/53408077

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值