wifi网络接入原理(中)——认证Authentication

还是用手机来举例,扫描完成后,我们会选择想要加入的WIFI热点。此时,大部分都会弹出一个输入密码的窗口,当然也有不用输入密码的。这个过程叫做:认证(Authentication)。

        有时觉得搞技术的真累,当我们辛辛苦苦地在网上找资料学习新技术时,当我们渐渐掌握这门技术之后,才发现该技术对自己来说是新的,但是对现时来说,已经过时并且被遗弃了!所以说……Shit!

        由于网上大量讲解WIFI技术的资料在认证方面都是侧重讲WEP加密方式。但是,时至今日,WEP已经属于石器时代的技术了,而且破解方法满天飞。虽然现在无线路由器都保留WEP加密方式,但是当你进行设置时,它会用红字提醒你:

        注意:您选择的WEP加密经常在老的无线网卡上使用,新的802.11n不支持此加密方式。所以,如果您选择了此加密方式,路由器可能工作在较低的传输速率上。建议使用WPA2-PSK等级的AES加密。

        看到没?现在的802.11n协议已经不支持WEP加密方式了,更何况最新的802.11ac。所以本文侧重讲解现当代正在使用的WPA/WPA2加密方式,特别是倾向于家庭网络的WPA-PSK/WPA2-PSK。

        无线网络所使用的媒介是经过特殊编码与调制过的无线电波链路。它是众所周知的开放标准,只要对无线传输有所研究和了解的人,都可以在无线覆盖范围内发送和接收信号。因此对数据的拦劫和非法灌注是多么的简单!

        由于无线网络的最大缺陷就是安全性,进行身份认证是必须的,同时认证的连接工作也必须予以加密,以防未经授权的使用者访问。

        早期的IEEE802.11定义了两种认证方式:

        (1)开放系统认证(OpenSystem authentication);

        (2)共享密钥认证(SharedKey authentication)。

        开放系统认证是IEEE802.11默认的认证方式,实质上并没有做认证。连接无线网络时,基站并没有验证工作站的真实身份。认证过程由以下两个步骤组成:第一,工作站发送身份声明和认证请求;第二,基站应答认证结果,如果返回的结果是“successful”,表示两者已相互认证成功。

        共享密钥认证依赖于WEP(Wired Equivalent Privacy,有线等效加密)机制,而上文已经提到WEP渐渐被淘汰,我们就不讲解了,接下来侧重讲解与我们家庭无线网络息息相关的WPA-PSK/WPA2-PSK认证机制。当我们进入无线路由器设置界面,打开无线安全设置,就会看到以下信息,如图1。WPA(Wi-Fi Protected Access)是WIFI联盟制定的安全性标准,WPA2是第二个版本。PSK(PreShared Key)叫做预共享密钥。WPA-PSK/WPA2-PSK主要是针对个人或家庭网络等,对安全性要求不是很高的用户。而WPA /WPA2是针对企业的,对安全性要求很高的用户,在WPA/WPA2选项中,大家可以看到它比WPA-PSK/WPA2-PSK多了一个Radius服务器,这个就是认证服务器。而对我们家庭网络来说,适合选择WPA-PSK/WPA2-PSK选项,因为我们不需要认证服务器。现有我们来详细分析WPA-PSK/WPA2-PSK认证机制。

wifi网络接入原理(中)——认证Authentication_第1张图片

图1 WPA-PSK/WPA2-PSK、WPA/WPA2

        1、WPA-PSK

        WPA-PSK(Wi-Fi ProtectedAccess,Wi-Fi保护访问)是WiFi联盟推出的标准,它是为兼容原有的WEP硬件产品,所以它采用的模式是:

WPA-PSK = PSK + TKIP + MIC

        PSK:PreShared Key,预共享密钥。

        TKIP:Temporal KeyIntegrity Protocol,临时密钥完整性协议。

        MIC:Message IntegrityCode,消息完整性校验码。

        TKIP的开发目的是为了提高原有的基于WEP硬件的安全性,因此它和WEP一样都是采RC4加密算法,同时保留了WEP的基本结构和操作方式。TKIP是一种过渡的加密协议,现已被证明安全性不高。因此,我们就不去详细的讲解了。

        2、WPA2-PSK

        WPA2是在802.11i颁布之后,WIFI联盟随即推出的最新无线安全标准,它遵循802.11i标准,以下是它采用的模式:

WPA2-PSK= PSK + AES + CCMP

        PSK:PreShared Key,预共享密钥,它是一种802.11身份验证方式,以预先设定好的静态密钥进行身份验证,此密钥必须手动进行传递,即是我们的手机连接WIFI热点时需要输入的密码。

        AES:Advanced EncryptionStandard,高级加密标准。AES是美国NIST制定的替代DES的分组加密算法。AES具有优秀的密钥扩展方案,灵活的密钥生成算法。算法对内存要求极低,即使在限制较大的环境中也能获得很好的性能。分组和密钥被设计成可以在三种长度中自由选择的形式,AES具有128、192、256位的密钥。802.11规定CCMP中的AES使用的是128位密钥,它的加密块大小也是128位。

        CCMP:Counter modewith Cipher-block chaining Message authentication code Protocol,计数器模式及密码块链消息认证码协议。它是基于高级加密标准(AES)的CCM(CTR with CBC-MAC)模式。CCM是一种通用的模式,它可以使用在任何成块的加密算法中。CCM模式使用CTR(Counter Mode)提供数据保密,并采用密码块链信息认证码(Cipher-Block Chaining with Message Authentication Code,CBC-MAC)来提供数据认证和完整性服务。

        CCMP加密时由以下四个输入项组成:

        (1)明文(Plaintext MPDU);

        (2)临时密钥(TK);

        (3)封包编号(PN);

        (4)密钥标识符(KeyId);

        CCMP的加密和解密过程如图2、图3。

wifi网络接入原理(中)——认证Authentication_第2张图片

图2  CCMP加密过程

wifi网络接入原理(中)——认证Authentication_第3张图片

图3  CCMP解密过程

        下面让我们来看看CCMP帧封装格式,如图4。MAC Header是明文(Plaintext MPDU)原封不动传递过来的,该MAC Header符合802.11MAC标准帧格式。CCMP扩展了原始的MPDU长度到16个octet(注:在网络术语中,用octet表示8 bits),包括8 octets的CCMP头部和8 octets的MIC。CCMP头部由PN、ExtIV、KeyID组成。PN是48位的代表6个octets的数组,在PN中,PN5是最重要的的,PN0是重要性最低的。Data(PDU)是我们需要传输的数据。MIC(Message Integrity Code)是消息完整性检验码,它是针对一组欲保护数据计算出来的散列值,用以防止数据遭人篡改。FCS(Frame Check Sequence)是帧检验序列,处于802.11网络帧的尾部,用来侦测数据是否损坏,若接收端所计算出的FCS与帧中记载的FCS值不同,则可推断出该帧已经损坏并将其丢弃。

wifi网络接入原理(中)——认证Authentication_第4张图片

图4  CCMP帧封装格式

你可能感兴趣的:(wifi网络接入原理(中)——认证Authentication)