WPARSN四次握手和PTK
- 格式:pdf
- 大小:127.35 KB
- 文档页数:4
TCP三次握手/四次挥手详解TCP(Transmission Control Protocol)传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送ST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=机;第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随1的包第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。
完成三次握手,主机A与主机B开始传送数据。
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据实例:IP 192.168.1.116.3337 > 192.168.1.123.7788: S 3626544836:3626544836IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 ack 3626544837IP 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487,ack 1第一次握手:192.168.1.116发送位码syn=1,随机产生seq number=3626544836的数据包到192.168.1.由SYN=1知道192.168.1.116要求建立联机;第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送ack number=362654483机产生seq=1739326486的包;第三次握手:192.168.1.116收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码a 192.168.1.116会再发送ack number=1739326487,ack=1,192.168.1.123收到后确认seq=seq+1,ack图解:一个三次握手的过程(图1,图2)(图1)(图2)第一次握手的标志位(图3)我们可以看到标志位里面只有个同步位,也就是在做请求(SYN)(图3)第二次握手的标志位(图4)我们可以看到标志位里面有个确认位和同步位,也就是在做应答(SYN + ACK)(图4)第三次握手的标志位(图5)我们可以看到标志位里面只有个确认位,也就是再做再次确认(ACK)(图5)一个完整的三次握手也就是请求---应答---再次确认四次分手:由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。
TCP协议的三次握手四次挥手简单理解三次握手:1.第一次握手:客户端向服务器发送一个连接请求报文段,请求建立连接。
该报文段包含源IP地址和端口号以及目的IP地址和端口号。
2.第二次握手:服务器收到客户端的连接请求报文后,确认收到请求,并发送一个连接接受报文段给客户端。
该报文段中包含源IP地址和端口号以及目的IP地址和端口号。
3.第三次握手:客户端收到服务器的连接接受报文后,向服务器发送一个确认报文段,确认建立连接。
该报文段包含源IP地址和端口号以及目的IP地址和端口号。
四次挥手:1.第一次挥手:当客户端想要关闭连接时,发送一个连接释放报文段给服务器。
该报文段包含源IP地址和端口号以及目的IP地址和端口号。
2.第二次挥手:服务器收到客户端的连接释放报文后,发送一个确认报文段给客户端,表示已收到释放请求。
该报文段中包含源IP地址和端口号以及目的IP地址和端口号。
3.第三次挥手:服务器发送完数据包后,发送一个连接释放报文段给客户端。
该报文段包含源IP地址和端口号以及目的IP地址和端口号。
4.第四次挥手:客户端收到服务器的连接释放报文后,发送一个确认报文段给服务器,表示已收到释放请求并确认释放连接。
该报文段中包含源IP地址和端口号以及目的IP地址和端口号。
三次握手的目的是保证客户端和服务器能够正确建立连接,防止无效的连接请求。
如果只有两次握手,存在一种情况,即客户端发送的连接请求报文段在网络中滞留了一段时间,导致服务器接收到请求后建立了连接,但客户端并没有接收到服务器的确认,误以为服务器没有收到请求,以为连接建立失败,重新发起连接请求。
而如果有了第三次握手,就可以避免这种情况,确保连续的连接请求可以正确建立连接。
四次挥手的过程是为了确保连接的双方都能正确关闭连接。
如果只有三次挥手,存在一种情况,即客户端发送的连接释放报文段在网络中滞留了一段时间,导致服务器没有收到释放请求,保持连接并继续发送数据。
而如果有了第四次挥手,就可以避免这种情况,确保连接的双方都能正确关闭连接。
WPA加密协议WPA(Wi-Fi Protected Access)加密协议是一种用于保护无线网络通信安全的加密标准。
它是Wi-Fi联盟在2003年推出的,作为WEP (Wired Equivalent Privacy)加密协议的替代方案。
WPA旨在解决WEP存在的漏洞,提供更强大的安全性和数据保护。
本文将详细介绍WPA加密协议的特点、工作原理以及其在保护无线网络通信中的应用。
1. WPA加密协议的特点WPA加密协议相对于WEP来说,在保护无线网络通信方面具有以下显著特点。
1.1 强密码策略WPA采用了强大的密码策略,通过使用更长且更复杂的密码短语,增加了密码的复杂度,减少了密码被破解的概率。
1.2 动态密钥分配WPA引入了动态密钥分配的机制,即使用了临时会话密钥(Temporal Key Integrity Protocol,TKIP)来保护数据传输。
TKIP会为每个数据包生成一个新的加密密钥,从而使得破解者难以通过解析数据包来获取密钥信息。
1.3 完整性检查WPA通过使用消息认证码(Message Integrity Check,MIC)来检查数据包的完整性,防止数据包在传输过程中被篡改。
1.4 动态密钥更新为了增加安全性,WPA定期更新加密密钥,从而降低密钥长时间受到攻击的风险。
2. WPA加密协议的工作原理WPA加密协议的工作原理涉及到以下几个关键步骤。
2.1 4次握手WPA通过进行4次握手来建立安全的无线连接。
在握手的过程中,WPA客户端和接入点(Access Point,AP)会相互验证身份,并协商出一个相同的预共享密钥(Pre-Shared Key,PSK),该密钥将用于加密数据传输。
2.2 动态密钥生成一旦握手成功,WPA客户端和AP会使用PSK生成一个会话密钥,该会话密钥将用于加密数据传输。
2.3 TKIP加密WPA采用TKIP加密算法对数据进行加密。
TKIP将会话密钥与数据包的序列号相结合,生成一个临时密钥来加密数据包。
wifi连接ap4次握⼿过程设备sta在接⼊ap的过程主要:1. 扫描,scan,⼀般是主动扫描,⼆般是被动扫描2. 认证,authentication3. 接⼊ ASSOC in下⾯讲的 4次握⼿,就是认证, 过程中,认证的过程中的使⽤wep,wpa,wpa2加密⽅式进⾏认证。
wep⽼是形式,wpa新的,⼴泛,wpa2最新的,四次握⼿过程更新成对密钥:四道磋商1、认证者将nonce传给申请者;nonce是防范重放攻击的随机值。
信息本⾝并未经过认证,但并没有被篡改的危险。
如果信息遭⼈更改,磋商就会失败并重新执⾏2、申请者所送出的的信息中包含申请者的nonce以及初次与⽹络连接所取得的安全参数副本。
整个信息系经过(以EAPOL密钥确认密钥计算⽽来的完整性检验值)的验证。
认证者取出消息中的申请者nonce,依次衍⽣出完整的密钥层次结构。
3、此时磋商双⽅的密钥均已就绪,但仍需确认。
认证者会将⼀个信息传给申请者;此信息代表将被加⼊之成对密钥的序号。
它同时包括了⽬前的群组临时密钥,以便后续能够更新群组密钥。
GTK以EAPOL密钥加密密钥来加密,以密钥确认密钥来认证4、申请者最后会送出确认信息给认证者,告诉认证者已经接收到配钥信息,可以开始使⽤这些密钥。
此信息系经过密钥确认密钥的认证。
更新群组密钥:群组密钥的磋商1、认证者送出群组临时密钥,并以成对密钥体系中的密钥加密密钥进⾏加密。
此信息亦经过密钥确认密钥计算出来的检验值的认证。
2、申请者送出的回应信息,告诉认证者开始使⽤新的群组密钥。
此信息也就是使⽤密钥确认密钥进⾏认证的。
三次握手过程详解TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道上图主要包括三部分:建立连接、传输数据、断开连接。
1.建立TCP连接很简单,通过三次握手便可建立连接。
2.建立好连接后,开始传输数据。
TCP数据传输牵涉到的概念很多:超时重传、快速重传、流量控制、拥塞控制等等。
3.断开连接的过程也很简单,通过四次握手完成断开连接的过程三次握手建立连接:第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。
理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。
传输数据过程:a.超时重传超时重传机制用来保证TCP传输的可靠性。
每次发送数据包时,发送的数据报都有seq号,接收端收到数据后,会回复ack进行确认,表示某一seq 号数据已经收到。
发送方在发送了某个seq包后,等待一段时间,如果没有收到对应的ack回复,就会认为报文丢失,会重传这个数据包。
b.快速重传接受数据一方发现有数据包丢掉了。
就会发送ack报文告诉发送端重传丢失的报文。
如果发送端连续收到标号相同的ack包,则会触发客户端的快速重传。
比较超时重传和快速重传,可以发现超时重传是发送端在傻等超时,然后触发重传;而快速重传则是接收端主动告诉发送端数据没收到,然后触发发送端重传。
c.流量控制这里主要说TCP滑动窗流量控制。
eapol 四次握手流程
EAPOL(Extensible Authentication Protocol over LAN)四次握手流程主要是为了派生密钥和安装密钥,其交互过程主要分为四个阶段:
- 阶段1:STA收到Message A的处理逻辑如下:生成一个Nonce,也叫SNonce。
派生PTK。
构造第二个EAPOL-Key帧,称为Message B。
- 阶段2:AP收到Message B后,计算PTK。
构造一个EAPOL-Key帧回应STA,称为Message 3。
- 阶段3:STA收到Message 3后,确认PTK。
构造一个EAPOL-Key帧回应AP,称为Message 4。
- 阶段4:AP收到Message 4后,认证完成,可以进行数据的加解密。
在实际应用中,网络环境可能会影响四次握手的流程和稳定性。
如果在握手过程中出现错误,STA将会等待认证超时时间后,再判断认证失败,然后重新连接。
MAC:媒介访问控制层CSMA/CD:载波监听多路访问两类对称加密算法TKIP:核心仍然是RC4算法CCMP:核心为AES算法LLC:802标准所描述的局域网参考模型只对应OSI参考模型的数据链路层与物理层,它将数据链路层划分为逻辑链路控制层LLC子层和介质访问控制MAC子层。
RTS/CTS:请求发送/允许发送协议Mesh:Mesh网络即”无线网格网络”,它是“多跳(multi-hop)”网络,是由ad hoc网络发展而来,是解决“最后一公里”问题的关键技术之一。
在像下一代网络演进的过程中,无线是一个不可或缺的技术。
无线mesh可以与其它网络协同通信。
是一个动态的可以不断扩展的网络架构,任意的两个设备均可以保持无线互联。
Ad-Hoc(点对点)模式:ad-hoc模式就和以前的直连双绞线概念一样,是P2P的连接,所以也就无法与其它网络沟通了。
一般无线终端设备像PMP、PSP、DMA等用的就是ad-hoc 模式。
在家庭无线局域网的组建,我想大家都知道最简单的莫过于两台安装有无线网卡的计算机实施无线互联,其中一台计算机连接Internet就可以共享带宽。
如下图所示,一个基于Ad-Hoc结构的无线局域网便完成了组建。
ISM(Industrial Scientific Medical) Band,是由ITU-R (ITU Radiocommunication Sector,国际通信联盟无线电通信局)定义的。
此频段主要是开放给工业、科学、医学三个主要机构使用,属于Free License,无需授权许可,只需要遵守一定的发射功率(一般低于1W),并且不要对其它频段造成干扰即可。
OFDM:正交频分多路复用DCF:分布式协调功能PCF:点协调功能HCF:混合协调功能QoS:服务质量802.11具备两种载波监听功能:物理载波监听与虚拟载波监听。
只要其中有一个监听功能显示媒介处于忙碌状态,MAC就会将此状况汇报给较高层的协议。
简述tcp四次握手的过程。
TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它通过四次握手建立连接,确保数据的可靠传输。
下面将对TCP四次握手的过程进行简述。
我们先了解一下四次握手的背景。
在TCP通信中,通信双方需要先建立连接,然后进行数据的传输,最后再关闭连接。
而四次握手就是在关闭连接时的过程,用来确保双方都已经完成了数据的传输,可以安全地关闭连接。
第一次握手:客户端向服务器发送连接请求报文段在这一步,客户端向服务器发送一个特殊的TCP报文段,称为SYN (Synchronize Sequence Numbers)报文段。
该报文段中包含了客户端的初始序列号(sequence number),并且将SYN标志位设置为1,表示这是一个连接请求报文段。
客户端发送完这个报文段后,进入SYN_SENT状态,等待服务器的确认。
第二次握手:服务器收到连接请求报文段,并返回确认应答服务器在收到客户端的连接请求报文段后,如果同意建立连接,就会发送一个确认应答报文段给客户端。
该应答报文段中将ACK (Acknowledgment)标志位设置为1,表示确认。
同时,服务器也会向客户端发送自己的初始序列号,并将SYN标志位设置为1。
服务器发送完这个报文段后,进入SYN_RCVD状态。
第三次握手:客户端收到服务器的确认应答,并发送确认客户端收到服务器的确认应答后,会向服务器发送一个确认应答报文段。
该报文段中将ACK标志位设置为1,表示确认。
同时,客户端也会将自己的序列号加1,作为下一次发送数据的初始序列号。
客户端发送完这个报文段后,进入ESTABLISHED状态。
第四次握手:服务器收到确认应答后,也发送确认服务器收到客户端的确认应答后,会进行最后一次的确认。
服务器将ACK标志位设置为1,表示确认,并将自己的序列号加1。
服务器发送完这个报文段后,进入FIN_WAIT_2状态。
TCP连接的建立(三次握手)和释放(四次握手)一、TCP报文段首部格式✧∙序号:本报文段所发送的数据的第一个字节的序号。
✧∙确认号ack:期待收到对方下一个报文段的第一个数据字节的序号✧∙确认ACK:占1位,仅当ACK=1时,确认号字段才有效。
ACK=0时,确认号无效✧∙同步SYN:连接建立时用于同步序号。
当SYN=1,ACK=0时表示:这是一个连接请求报文段。
若同意连接,则在响应报文段中使得SYN=1,ACK=1。
因此,SYN=1表示这是一个连接请求,或连接接受报文。
✧∙终止FIN:用来释放一个连接。
FIN=1表示:此报文段的发送方的数据已经发送完毕,并要求释放运输连接二、三次握手(三次联络)还要再发送一次确认是为了,防止已失效的连接请求报文段突然又传到了B,因而产生错误。
已失效的报文段:正常情况下:A发出连接请求,但因为丢失了,故而不能收到B的确认。
于是A重新发出请求,然后收到确认,建立连接,数据传输完毕后,释放连接,A发了2个,一个丢掉,一个到达,没有“已失效的报文段”但是,某种情况下,A的第一个在某个节点滞留了,延误到达,本来这是一个早已失效的报文段,但是在A发送第二个,并且得到B的回应,建立了连接以后,这个报文段竟然到达了,于是B就认为,A又发送了一个新的请求,于是发送确认报文段,同意建立连接,假若没有三次的握手,那么这个连接就建立起来了(有一个请求和一个回应),此时,A收到B的确认,但A知道自己并没有发送建立连接的请求,因为不会理睬B的这个确认,于是呢,A也不会发送任何数据,而B呢却以为新的连接建立了起来,一直等待A发送数据给自己,此时B的资源就被白白浪费了。
但是采用三次握手的话,A就不发送确认,那么B由于收不到确认,也就知道并没有要求建立连接。
三、四次握手(两个二次握手):B收到连接释放报文段后就立即发送确认,然后就进入close-wait状态,此时TCP服务器进程就通知高层应用进程,因而从A到B的连接就释放了。
WPAWPA2密钥派生与分发1 概述WPA的密钥生成、管理系统结合了认证和数据私密功能,具有较强的健壮性,在STA和AP之间认证完成且四次握手成功后,各类密钥就产生了。
在ESS网络中,RSNA定义了两类密钥层次结构:1)Pairwise Key层次结构,用于保护单播流量(UnicastTraffic),支持CCMP或TKIP,通过将发送地址、接收地址与PairwiseKey的绑定,可以在解密(Decapsulation)过程中,有效地检测出攻击者伪造的MPDU,即允许接收端的STA检测MAC欺骗及数据伪造,而GTK则不具备这样的能力;2)Group Key层次结构,用于保护多播(Multicast Traffic)和广播流量(BroadcastTraffic),由单个密钥组成。
在ESS中,AP的BSSID就是IEEE 802.1X 认证器的AA(MAC地址),而请求者的MAC地址(SPA)也就是STA的MAC地址,在RSN中,使用CCMP的STA在每个<TA,RA>对中,应该至少支持一个Pariwise Key,同时可以用<TA ,RA>来标识Pariwise Key。
在复杂网络中(ESS与IBSS混合),当AP同时与使用WEP (用共享WEP密钥)的STA以及使用CCMP或TKIP(用PairwiseKey)的STA通信时,使用WEP的STA使用Default Key 0~3 作为shared WEP Key,问题在于,若AP设置成使用WEP DefaultKey 0与使用WEP的STA通信,那些不支持WEP Default 0但支持TKIP或者CCMP的STA将会在RSN Capabilites field里头指定为No Pairwise subfield,由此,AP也会配置成与WEP-STA及No Pairwise-STA(NoPairwise的使用仅为了在RSNA中支持WEP)通信,也就是说四次握手的时候AP不会安装Pairwise TemporalKey,而是在所有类型的通信流量中使用WEP Default Key 0。
WPA/RSN四次握手和PTK
WPA/RSN使用四次握手(4-Way Handshake)的方式生成所需的密钥。
作用
四次握手通过一系列的交互,从PMK(Pairwise Master Key)生成PTK(Pairwise Transient Key)。
PMK来自MSK(Master Session Key),是MSK的前256位,32字节。
本文的主要目的是讲PTK,所以暂时忽略PMK和MSK。
PTK的内容
PTK包含3个部分,KCK(Key Confirmation Key),KEK(Key Encryption Key),TK (Temporal Key)。
PTK的总长度根据加密方式不同而不同。
当加密方式是TKIP时,PTK长512位,按顺序分别为KCK占128位,KEK占128位,TK占256位。
当加密方式是CCMP时,PTK长384位,按顺序分别为KCK占128位,KEK占128位,TK占128位。
KEK和KCK是给EAPOL-Key,也就是四次握手时,加密和完整性验证用的。
TK用于后续的数据加密。
四次握手的报文都是基于EAPOL-Key的。
EAPOL-Key的结构如下:
PTK的生成
生成PTK,需要5个必要元素,PMK,ANonce(Nonce1),SNonce(Nonce2),Authenticate MAC(MAC1),Supplicant MAC(MAC2)。
如下图:
2个Nonce分别是Authenticator和Supplicant生成的随机数。
这张图里的输出包含4个部分,其实Data Encr和Data MIC合起来就是前面提到的TK。
而EAPOL Encr/MIC分别对应前面的KEK和KCK。
四次握手的交互过程
下面的交互仅仅是一个流程,对内部的一些数据的处理就不细说了。
1/4:Authenticator->Supplicant
Authenticator把ANonce送给Supplicant。
Supplicant收到1/4后,就有了生成PTK的所有元素。
因为1/4里同时也包含了Authenticator的MAC地址。
2/4:Supplicant->Authenticator
Supplicant计算出PTK,把SNonce和自己的MAC地址送给Authenticator。
同时,从2/4报文开始,后面的每个报文都会有MIC。
1/4没有。
3/4:Authenticator->Supplicant
Authenticator向Supplicant证明自己有有效的,同样有MIC加入其中
4/4:Supplicant->Authenticator
仅是对3/4的一个ACK。
说明PTK已经装好,后面的数据可以加密了。