WPA,全称为Wi-Fi Protected Access,是一种保护WiFi安全的系统,实现了IEEE 802.11i的大部分标准,是一种替代WEP的过渡方案。

这个协议包含了前向兼容RC4的加密协议TKIP,它沿用了WEP所使用的硬件并修正了一些缺失,但仍然是存在弱点的,随后的升级版本,基于IEEE 802.11i最终版的协议称之为WPA2.WPA2是经由Wi-FI联盟验证过的IEEE 802.11i正式标准的认证形式。WPA2实现了802.11i的强制性元素,在WPA2中,RC4被AES取代,

WPA/WPA2 包含认证、加密和数据完整性校验,是一整套安全系统。

WPA =  IEEE802.11i draft 3 = IEEE 802.1X/EAP + WEP(可选)/TKIP

WPA2 = IEEE 802.11i 正式版 = IEEE 802.1X/EAP + WEP(可选)/TKIP/CCMP

认证

WPA包含两种认证级别,分为个人版和企业版,根据不同的版本,可分为四种,WPA-PSK,WPA2-PSK,WPA-Enterprise,WPA2-Enterprise。

个人版的WiFi加密,简单说,就是让同一无线路由器底下的每个用户都使用同一把密码,这种模式称之为“PSK Pre-shared Key 预共享密钥模式”,它的设计目的是针对承担不起802.1X认证服务器的家庭或者小型公司网络。每一个使用者必须输入预先配置好的相同的密钥来接入网络,密钥的格式要求在8~63个ASCII字符,输入的密钥通过PBKDF2密钥管理算法来生成实际传输所用的256位加密密钥。

企业版安全加密,需要用到一个 8802.1X认证服务器来分发不同的密钥给各个终端用户,这要求更加复杂的设置来提供更加安全的系统,包含不同种类的扩展认证协议EAP。

这台服务器存储无线使用者账户数据,当用户准备连入无线时,需要输入账号名称和密钥,登陆成功后,每个客户会得到一个唯一的密钥,这个密钥很长,并且每隔一段时间就被更新。

加密

WPA的数据负载,通过128位的密钥和48位的IV向量,基于RC4 stream cipher加密算法来加密数据,在数据通讯中,它还使用了动态改变密钥协议(Temporal Key Integrity Protocol,TKIP)。TKIP为每个数据包部署了密钥,这意味着,对于每个传输报,它能够动态的生成新的128位密钥,快速更新密钥来改进WEP模式下可能被暴力破解的缺点。

WPA2使用AES来替代WPA中的RC4加密算法、

完整性保证

相比于WEP所使用的CRC校验,在不知道密钥的情况下,有可能同时篡改负载和对于的CRC,WPA使用了称为“Michael”算法来保证传输报的完整性。Michael比CRC强壮的多。每个MIC中,还包含了帧计数器,这可以防止重放攻击。

WPA2包含更加强大的CCMP(一种基于AES加密算法,具有更高的安全性),用于取代WPA的Michael算法。

加密的影响

AP热点可以容纳的终端个数,取决于所使用的Wi-Fi芯片,对于不加密的情况,取决于内存的大小。对于加密的情况,取决于Wi-Fi芯片内部存放密钥的缓冲区有多大。在传输过程中,加解密都是硬件做的,密钥是用户设置的,存放密钥的缓冲区大小是受限的,存放密钥的个数是受限的,举例:如果缓冲区可以存放32个密钥,Wi-Fi采用WPA2-AES加密,WPA2-AES下,每个接入终端有一个单播密钥(占据一个密钥空间),所有终端共享一个组播密钥(占据两个密钥空间),密钥是周期性更新,需要有新旧备份。因此,假设最多可以接入X个设备, 那么( X + 2 ) * 2 = 32, X = 14,它最多可以支持14个终端。

参考文档:http://www.45fan.com/a/wireless/293.html

http://www.cnblogs.com/littlehann/p/3700357.html

WiFi安全之WPA介绍的更多相关文章

  1. 如何使用Reaver破解Wi-Fi网络的WPA密码

    via: http://lifehacker.com/5873407/how-to-crack-a-wi+fi-networks-wpa-password-with-reaver 译者:Mr小眼儿 本 ...

  2. 1-51单片机WIFI学习(开发板介绍)

    源码链接都在后面 前面的都是介绍单独的WIFI,没有和单片机结合起来,因为做项目很少会只用WIFI模块.大多数都是WIFI模块作为中转数据的桥梁,单片机负责 数据采集,控制等等,所以自己准备出一套51 ...

  3. Wi-Fi DFS与TPC介绍

    DFS与TPC是wifi认证的其中一项测试内容,如果不需要DFS功能,可以不进行测试,但是某些属于DFS频段的wifi信道则不允许使用. 1. 什么是WIFI Auto DFS? 通俗的说就是:躲雷达 ...

  4. wifi测试相关(iwconfig,WPA Supplicant用法)

    iwconfig用法 1.打开无线网卡电源 iwconfig wlan0 txpower no 2.列出区域内的无线网络 iwconfig wlan0 scan 3.假设要连接到网络myhome(即e ...

  5. Native wifi API使用

    写于博客园,自己迁过来: 一.WlanOpenHandle打开一个客户端句柄 DWORD WINAPI WlanOpenHandle( __in DWORD dwClientVersion, __re ...

  6. 无线网络(WLAN)常见加密方式介绍

    在使用无线路由器配置wifi安全设定的时候经常会遇到各种加密方式,即不懂意思也不知道如何选择.本文将对此做一个简单的介绍. 1.WEP 有线等效协议(Wired Equivalent Privacy, ...

  7. wpa_supplicant 和 802.11g WPA 认证的配置

    # cd /etc/init.d# ln -s net.lo net.eth0 默认的接口名是 wlan0,让它开机时自动 up:cp /etc/init.d/net.lo /etc/init.d/n ...

  8. 无线加密的多种方法及其区别(WEP WPA TKIP EAP)

    无线加密的多种方法及其区别(WEP WPA TKIP EAP) 无线网络的安全性由认证和加密来保证. 认证允许只有被许可的用户才能连接到无线网络: 加密的目的是提供数据的保密性和完整性(数据在传输过程 ...

  9. 扔掉360:Linux下无线网卡作WiFi路由器(转薄荷开源网)

    这个话题很多人感兴趣,毕竟现在是无线互联时代.手机一族到外面去,首先关心的就是有没有 WiFi.Windows 7 用户可以安装 360 的软件,把笔记本电脑配置成路由器,供手机或其他电脑上网. 在 ...

随机推荐

  1. 一个简单的小例子让你明白c#中的委托-终于懂了!

    模拟主持人发布一个问题,由多个嘉宾来回答这个问题. 分析:从需求中抽出Host (主持人) 类和Guests (嘉宾) 类. 作为问题的发布者,Host不知道问题如何解答.因此它只能发布这个事件,将事 ...

  2. maven学习(二)

    为了兼容之前基于ant构建的项目发布包结构,在基于maven做构建的时候,需要自定义打包方式. maven的maven-assembly-plugin插件支持任意格式的打包,比如:dir,zip等形式 ...

  3. cocos2dx-3.2 环境配置

    一.软件 1)VS2012(C++11特性在VS2012以上可以使用) 2)Cocos2d-x官网源码 3)JDK 4)NDK(3.2要用r9d版本,用了android-ndk-r8e报错了) 5)A ...

  4. 1081. Rational Sum (20)

    the problem is from PAT,which website is http://pat.zju.edu.cn/contests/pat-a-practise/1081 the code ...

  5. yar

    <?php class Operator { /** * 两数相加 */ public function add($a, $b) { return $this->_add($a, $b); ...

  6. 网口扫盲三:以太网芯片MAC和PHY的关系

    转载:http://www.cnblogs.com/jason-lu/articles/3195473.html   问:如何实现单片以太网微控制器? 答:诀窍是将微控制器.以太网媒体接入控制器(MA ...

  7. c++暂停

    #include<cstdlib> 加入这个 然后  system("pause");

  8. 小白日记23:kali渗透测试之提权(三)--WCE、fgdump、mimikatz

    WCE windows身份认证过程 http://wenku.baidu.com/view/cf2ee127a5e9856a56126017.html #特例在登陆的目标服务器/系统,有一个w摘要安全 ...

  9. Android(java)学习笔记78:设计模式之单例模式

    单例模式代码示例: 1. 单例模式之饿汉式: package cn.itcast_03; public class Student { // 构造私有 private Student() { } // ...

  10. Apache服务器中配置虚拟机的方法

    新浪微博虚拟机开发配置步骤及介绍.1.由于后面虚拟机中需要用到Rewrite所以先编辑Apache的conf目录下的httpd.conf文件.(可根据实际需要操作)添加mod_rewrite.so模块 ...