authentication association and 4-key handshake

来源:互联网 发布:软件测试职业学校 编辑:程序博客网 时间:2024/06/03 20:44

看了两天,终于将这几个的关系理顺了,有不对的地方以后再改正。

为了对数据进行保护,主要采取了身份验证和数据加密两种途径。

Authentication:open/sharedkey两种。

   Open:EAP(企业网用的比较多)

         预身份验证(家庭网)必须保证双方都拥有PSK。

   Shared-Key: WEP。

Data encryption: 用到的密钥有 PTK GTK。

下面对家庭中常用到的三种加密方式进行说明。

WEP:

WPA:  PSK+TKIP

WPA-2 : PSK+AES+

 

WEP:

针对WEP来说,采用的是share-key的身份验证方式,AP下面的所用工作站共同使用同一个key来加密。在开始传递数据之前需要完成的工作是:authention和association。

对于WEP来说,如果要破解的话只需要抓取大量的数据包即可。

 

WPA(WPA2)-PSK

针对WPA以及WPA-2来说,要根据PMK来生成PTK以及GTK。整个过程如下:首先进行authentication(open)以及association。然后需要通过PMK来生成PTK和GTK。当采用WPA(WPA2)-PSK的方法时,PMK就是我们直接配置在AP和无线网卡上的预配置密钥。通过四次握手的方式来产生PTK以及GTK。整个过程如下。

 

第一个数据包是由AP发送到无线网卡的,里面有个叫ANouce的字段,这个字段可以是随机的,或者简单的就是AP的当前时间。无线网卡在接收到这个数据包后,自己生成一个SNouce值(产生方法和ANouce相同),并利用PMK、双方MAC地址、ANouce和SNouce计算出PTK。

第二个数据包是由无线网卡发送到AP的,包括了SNouce字段,并利用KCK对数据包作了完整性检查操作(从数据包计算出一个MIC字段)。AP收到这个数据包后,也计算出PTK,并用自己的KCK也计算出一个MIC值来,和从无线网卡发送过来的MIC值进行比较,如果相同则说明两方拥有相同的PMK,通信正常继续。

第三个数据包由AP发出,把组密钥(GTK)发送给客户端,当然使用了KEK对这个数据加了密,其他人是看不到的。

第四个数据包由无线网卡发出,对第三个包进行确认。

 

组密钥握手过程

组密钥指在一组关联着的无线设备之间使用的密钥,比如一个AP发送数据给所有关联在它下面的电脑时就是使用组密。在四次握手过程上我们发现,AP已经给无线网卡分配了一个组密钥了,为什么还有组密钥握手过程呢?原因是组密钥更换可能要更经常一些,定义这个握手过程可以在PTK不变的情况下单独地更换GTK。GTK的握手过程比较简单,如下面的图表示:

 

第一个数据包由AP发出,直接把新的组密钥发送给无线网卡,这一数据使用了KEK进行加密。

       第二个数据包由无线网卡发出,对第一个数据包进行确认。

 

对于WPA(WPA2)-PSK来说,如果要破解的话,主要是要得到PMK,然而PMK的获取并不能依靠抓取大量的数据包来获得,最主要的是要抓取四次握手的包。因此该加密方式要比WEP好的多。

 

 

原创粉丝点击