WPA全名为Wi-Fi Protected Access ,是有WPA和WPA2两个标准,是一种保护无线电脑网络(Wi-Fi)安全的系统,它是应研究者在前一代的系统有线等效加密(WEP)中找到的几个严重的弱点而产生的。WPA实作了IEEE 802.11i标准的大部分,是在802.11i完备之前替代WEP的过渡方案。WPA的设计可以用在所有的无线网卡上,但未必能用在第一代的无线取用点上。WPA2具备完整的标准体系,但其不能被应用在某些老旧型号的网卡上。
在802.11标准里,802.1X身份认证是可选项;在WPA里802.1X身份认证是必选项。对于加密,WPA使用临时密钥完整性协议(TKIP:Temporal Key Integrity Protocol)的加密是必选项。TKIP使用了一个新的加密算法取代了WEP,比WEP的加密算法更强壮,同时还能使用现有的无线硬件上提供的计算工具去实行加密的操作。TKIP提供的重要的数据加密增强型内容包括:每包密钥混合功能(per-packet key mixing);称为Michael的信息完整性检查(MIC:message integrity check);有先后次序规则的扩展初始向量(extended initialization vector (IV));和再生密钥机制。并通过这些增强量,TKIP弥补了WEP所有的弱点。
WPA是目前最好的无限安全加密系统,它包含两种方式:Pre-shared密钥和Radius密钥,以下简单介绍一下:
1.Pre-shared密钥有两种密码方式:TKIP和AES。
2.RADIUS密钥利用RADIUS服务器认证并可以动态选择TKIP、AES、WEP方式。
一、工作原理
WPA是继承了WEP基本原理而又解决了WEP缺点的一种新技术。由于加强了生成加密密钥的算法,因此即便收集到分组信息并对其进行解析,也几乎无法计算出通用密钥。其原理为根据通用密钥,配合表示电脑MAC地址和分组信息顺序号的编号,分别为每个分组信息生成不同的密钥。然后与WEP一样将此密钥用于RC4加密处理。通过这种处理,所有客户端的所有分组信息所交换的数据将由各不相同的密钥加密而成。无论收集到多少这样的数据,要想破解出原始的通用密钥几乎是不可能的。WPA还追加了防止数据中途被篡改的功能和认证功能。由于具备这些功能,WEP中此前倍受指责的缺点得以全部解决。
二、认证、加密和数据完整性校验
WPA不仅是一种比WEP更为强大的加密方法,而且有更为丰富的内涵。作为802.11i标准的子集,WPA包含了认证、加密和数据完整性校验三个组成部分,是一个完整的安全性方案。
1.认证
在802.11中几乎形同虚设的认证阶段,到了WPA中变得尤为重要起来,它要求用户必须提供某种形式的证据来证明它是合法用户,并拥有对某些网络资源的访问权,并且是强制性的。
WPA的认证分为两种。第一种采用802.1x+EAP的方式,用户提供认证所需的凭证,如用户名密码,通过特定的用户认证服务器(一般是RADIUS服务器)来实现。在大型企业网络中,通常采用这种方式。但是对于一些中小型的企业网络或者家庭用户,架设一台专用的认证服务器未免代价过于昂贵,维护也很复杂,因此WPA也提供一种简化的模式,它不需要专门的认证服务器。这种模式叫做WPA预共享密钥(WPA-PSK),仅要求在每个WLAN节点(AP、无线路由器、网卡等)预先输入一个密钥即可实现。只要密钥吻合,客户就可以获得WLAN的访问权。由于这个密钥仅仅用于认证过程,而不用于加密过程,因此不会导致诸如使用WEP密钥来进行802.11预共享认证那样严重的安全问题。
2.加密
WPA采用TKIP为加密引入了新的机制,它使用一种密钥构架和管理方法,通过由认证服务器动态生成分发的密钥来取代单个静态密钥、把密钥首部长度从24位增加到48位等方法增强安全性。而且,TKIP利用了802.1x/EAP构架。认证服务器在接受了用户身份后,使用802.1x产生一个唯一的主密钥处理会话。然后,TKIP把这个密钥通过安全通道分发到AP和客户端,并建立起一个密钥构架和管理系统,使用主密钥为用户会话动态产生一个唯一的数据加密密钥,来加密每一个无线通讯数据报文。TKIP的密钥构架使WEP静态单一的密钥变成了500万亿个可用密钥。虽然WPA采用的还是和WEP一样的RC4加密算法,但其动态密钥的特性很难被攻破。
3.消息完整性校验
消息完整性校验(MIC),是为了防止攻击者从中间截获数据报文、篡改后重发而设置的。除了和802.11一样继续保留对每个数据分段(MPDU)进行CRC校验外,WPA为802.11的每个数据分组(MSDU)都增加了一个8个字节的消息完整性校验值,这和802.11对每个数据分段(MPDU)进行ICV校验的目的不同。ICV的目的是为了保证数据在传输途中不会因为噪声等物理因素导致报文出错,因此采用相对简单高效的CRC算法,但是黑客可以通过修改ICV值来使之和被篡改过的报文相吻合,可以说没有任何安全的功能。而WPA中的MIC则是为了防止黑客的篡改而定制的,它采用Michael算法,具有很高的安全特性。当MIC发生错误的时候,数据很可能已经被篡改,系统很可能正在受到攻击。此时,WPA还会采取一系列的对策,比如立刻更换组密钥、暂停活动60秒等,来阻止黑客的攻击。
三、什么是WPA安全的密钥特性?
WPA标准里包括了下述的安全特性:
1.WPA认证
2. WPA加密密钥管理
-- 临时密钥完整性协议(TKIP)
-- AES支持(逐步采用)
下面我们将描述这些特性:
WPA改善了我们所熟知的WEP的大部分弱点,它主要是应用于公司内部的无线基础网络。无线基础网络包括:工作站,AP和认证服务器(典型的RADIUS服务器).在无线用户访问网络之前,RADIUS服务掌控用户信任(例如:用户名和口令) 和认证无线用户.
WPA的优势来自于一个完整的包含802.1X/EAP认证和智慧的密钥管理和加密技术的操作次序. 它主要的作用包括:
网络安全性能可确定:它发生于802.11 标准,并通过信标里的WPA信息元素通信、探测响应和(重)联合请求. 这些基础的信息包括认证算法(802.1X或预共享密钥)和首选的
认证; WPA使用EAP(可扩展的认证协议)来强迫用户层的认证机制使用802.1x基于端口的网络访问控制标准架构.802.1x端口访问控制是防止在用户身份认证完成之前就访问到全部的网络。802.1X EAPOL-KEY包是用WPA分发每信息密钥给这些工作站安全认证的.
在工作站客户端程序(supplicant)使用包含在信息元素里的认证和密码套件信息去判断哪些认证方法和加密套件是使用的.例如,如果AP是使用的预共享密钥方法,那么客户端程序(Supplicant)不需要使用成熟的 802.1X. 然而, 客户端程序(Supplicant)必须简单的证明它自己所拥有的预共享密钥给AP; 如果客户端检测到服务单元不包含一个WPA元素,那么它必须在命令里使用预WPA 802.1X认证和密钥管理去访问网络。
密钥管理: WPA定义了强健的密钥生成/管理系统,它结合了认证和数据私密功能.在工作站和AP之间成功的认证和通过4步握手后, 密钥产生了。
数据加密(加密):临时密钥完整性协议(TKIP)是使用包装在WEP上的动态加密算法和安全技术来克服它的缺点,
数据完整性:TKIP在每一个明文消息末端都包含了一个信息完整性编码(MIC),来确保信息不会被“哄骗”。
WPA体系:企业级用户通过802.1X/EAP和RADIUS认证
图:802.1x认证过程步骤:
AP用WPA信息元素发送信标帧给在服务单元内的工作站. 信息元素包括需要的认证方法(802.1x或预共享密钥)和首选的密码套件(WEP,TKIP.或AES). 探测响应(AP至工作站)和联合请求(工作站至AP) 、同样也包含WPA消息元素。
1. 最初的 802.1X通讯开始以一个非认证Supplicant(客户端设备) 尝试去连接一个认证端(802.11 AP), 这客户端发送一个EAP起始消息.然后开始了客户端认证的一连串消息交换。
2.AP回复EAP-请求身份消息.
3. 客户端发送给认证服务器的EAP的响应信息包里包含了身份信息.AP通过激活一个只允许从客户端到AP有线端的认证服务器的EAP包的端口.并关闭了其它所有的传输,,象HTTP、DHCP和POP3包,直到AP通过认证服务器来验证了用户端的身份。(例如:RADIUS)
4. 认证服务器使用一种特殊的认证算法去验证客户端身份。同样它也可以通过使用数字认证或其他类型一些EAP认证。
5. 认证服务器会发送同意或拒绝信息给这个AP。
6.AP发送一个EAP成功信息包(或拒绝信息包)给客户端。
7.如果认证服务器认可这客户端,那么AP将转换这客户端的端口到以授权状态并转发其它的通信。最重要的是,这个AP的软件是支持认证服务器里特定的EAP类型的,并且用户端设备的操作系统里或“Supplicant”(客户端设备)应用软件也要支持它。AP为802.1X消息提供了“透明传输”。 这就意味着你可以指定任一EAP类型,而不需要去升级一个自适应802.1X的AP. 总之,你可以升级EAP认证类型的设备,象Token cards (Smart Cards), Kerberos, one-time passwords, certificates, 和public key authentication,或者是一些你的安全变化需求的实用的新类型。
WPA是当前主要的无线加密方案,它是在客服WEP缺陷的基础上提出的。WPA虽然存在一些缺陷,在密码设置较弱时,攻击者可以通过暴力破解哈希表破解等方案获取密码,总体来说,WPA具有很高的安全性,想要破解还是有难度的。如果您还要其他疑问,欢迎登陆编程学习网教育或关注公众号【编程学习网IT精品课程】学习吧!