【智能家居篇】wifi网络接入原理(中)——认证Authentication

转载请注明出处:http://blog.csdn.net/Righthek 谢谢!

还是用手机来举例,扫描完成后,我们会选择想要加入的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认证机制。

图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。

图2  CCMP加密过程

图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值不同,则可推断出该帧已经损坏并将其丢弃。

图4  CCMP帧封装格式

转载请注明出处:http://blog.csdn.net/Righthek 谢谢!

时间: 2024-08-06 07:59:28

【智能家居篇】wifi网络接入原理(中)——认证Authentication的相关文章

【智能家居篇】嵌入式WIFI与普通WIFI的区别

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 既然我们这系列的文章名称为<智能家居篇>,那么我们有必要提出一个与智能家居相关的概念.曾经一次在TI的无线研讨会上,提及这个概念.究竟是TI提出的,还是其他无线厂家提出的,这个就不去深究了.这个概念就是嵌入式WIFI,也有叫WIFI的IoT(全称:Internet of Things)解决方案,那么它和普通的WIFI又有什么区别呢?请继续阅读下文.         1.嵌入式WIFI的来源 我们都知道笔记本.手

【智能家居篇】通信技术简介

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 在这个巴西世界杯火爆进行的炎热夏天,能够静下心来写一篇技术性的文章,不容易.2014年科技领域最备受关注之一的莫过于智能家居了.从年初的国际消费电子展(CES)的其中一大看点智能家居,到苹果发布智能家居平台homekit.世界各个科技公司都相继推出自己的智能家居产品. 什么是智能家居呢? 好吧,概念性的东西,我们在谷歌上百度一下吧! 智能家居是以住宅为平台,利用综合布线技术.网络通信技术.安全防范技术.自动控制技

【智能家居篇】wifi在智能家居中的应用

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 在设计智能家居系统方案时,一个非常关键的point就是组网方式.组网方式关系到整个智能家居系统的稳定性.可扩展性.实时性等:从安装及维护等各方面考虑,对于组网方式,本人觉得现在应该没人会去搭建一个有线的智能家居网络了吧,呵呵...... 所以,我们毫无疑问选择了无线的组网方式! 无线组网方式有很多种,有采用Zigbee.Wifi.Z-wave等等,当然一个完整的智能家居系统不可能只采用单纯的一种无线通信方式进行组

【智能家居篇】wifi网络结构(上)

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! WIFI是什么,相信大家都知道,这里就不作说明了.我们需要做的是深入了解其工作原理,包括软硬件.网络结构等.先说明一下WIFI是遵循IEEE802.11协议的,802.11是最早被国际标准组织认可的无线局域网协议,应该是1999年,到现在都有15年了.那时候哥还在读小学,连电脑都没摸过!太落后了...后来发展出很多以字母为后缀的802.11标准协议,如a.b.g.n.ac等. 本章节不作802.11协议的讲解,后

智能家居常用WiFi模块

WiFi模块 WiFi模块就是整个系统的控制中心,控制很简单,就是输出一个开关信号控制继电器,而这个模块的核心是WiFi的连接,手机连接WiFi时需要扫描,输入密码,而这类本身没有屏幕和键盘的硬件设备,要想快捷的接入WiFi网络就需要更加便捷的连接方案,这就是这些模块厂家的主要工作了,所以这些模块都提供类似的连接方案,即手机APP扫描WiFi,在APP上输入对应WiFi的连接密码后自动由APP发送到模块,完成模块和WiFi的连接,本质上是一样的,只是叫的名字不同而已,有的叫SimpleLink有

【智能家居篇】wifi网络接入原理(上)——扫描Scanning

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 对于低头党来说,在使用WIFI功能时,经常性的操作是打开手机上的WIFI设备,搜索到心目中的热点,输入密码,联网成功,各种低头上网...这个看似简单的过程,背后却是隐藏着大量的无线通信技术.用几个专业术语来表示这个过程,分别是:扫描(Scanning).认证(Authentication).关联(Association).下面用一张图来表示这个过程. 图1  WIFI接入网络过程 现在让我们来分析一下这个过程的工

【智能家居篇】wifi网络接入原理(下)——关联Association

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 认证完成后,下一步就是关联(Association). 工作站与基站进行关联,以便获得网络的完全访问权.关联属于一种记录(record keeping)过程,它让分布式系统(Distribution System)得以记录每个移动式工作站的位置,以便将传送给移动式工作站的帧,转送给正确的基站.形成关联之后,基站必须为该移动式工作站在网络上注册,如此一来,发送给该移动式工作站的帧,才会转送至其所属基站.其中一种注册

【智能家居篇】wifi驱动的理解(3)——usb接口在wifi模块中的角色

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 上一篇文章已经提到USB接口在wifi模块中的最重要两个函数是usb_read_port()和usb_write_port().那它们是怎么和wifi扯上关系的呢?我们可以从以下三个方面去分析: 1.首先需要明确wifi模块是USB设备,主控(CPU)端是USB主机: 2.USB主机若需要对wifi模块进行数据的读写时,就必须经过USB接口: 3.既然涉及到数据的读写操作,必然要用相应的读写函数,那么usb_re

【智能家居篇】wifi驱动的理解(1)——驱动架构

转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 在分析WIFI驱动前,分享一下个人对Linux驱动的一些了解,其实纵观Linux众多的设备驱动,几乎都是以总线为载体,所有的数据传输都是基于总线形式的,即使设备没有所谓的总线接口,但是Linux还是会给它添加一条虚拟总线,如platform总线等:介于WIFI的驱动实在是太庞大了,同时又是基于比较复杂的USB总线,所以建议读者在看此文章之前,先了解一下USB设备驱动和网络设备驱动. 我们要看懂WIFI驱动,首先要