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. MyBatis之二:简单增删改查

    这一篇在上一篇的基础上简单讲解如何进行增删改查操作. 一.在mybatis的配置文件conf.xml中注册xml与注解映射 <!-- 注册映射文件 --> <mappers> ...

  2. Chronometer控件实现的Android计时器

    本文为大家演示了如何使用Chronometer控件实现Android计时器的实例. 先贴上最终的实现效果图: Android计时器实现思路 使用Chronometer控件实现计器的操作.通过设置set ...

  3. mahout算法源码分析之Itembased Collaborative Filtering(三)RowSimilarityJob验证

    Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit. 本篇分析上篇的分析是否正确,主要是编写上篇输出文件的读取以及添加log信息打印相关变量. 首先,编写下面 ...

  4. python学习笔记(三)--条件语句

    Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条 ...

  5. C语言 字符串和数字转换函数

    atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include <stdlib.h> 定义函数 double at ...

  6. ES各种错误解决

    _update API 执行报错 错误信息: { "error": { "root_cause": [ { "type": "re ...

  7. [转]Speeding Up Websites With YSlow

    本文转自:http://net.tutsplus.com/tutorials/other/speeding-up-websites-with-yslow/ We all know there are ...

  8. [改善Java代码]断言绝对不是鸡肋

    建议19: 断言绝对不是鸡肋 在防御式编程中经常会用断言(Assertion)对参数和环境做出判断,避免程序因不当的输入或错误的环境而产生逻辑异常,断言在很多语言中都存在,C.C++.Python都有 ...

  9. python中提示invalid syntax 总结

    记录语法错误的坑 1.陷进1,使用notepad++,格式显示与实际不相匹配,报invalid syntax 错误 使用文本格式执行一个文件,一直提示 找原因,因为写文件时一直是用的文本文件写的代码, ...

  10. 在 Tomcat 中设置 JDBCRealm

    除了默认配置的 DataSourceRealm,Tomcat 还支持 JDBCRealm,它通过 JDBC 来访问记录在关系数据库里的认证信息. JDBCRealm 的配置步骤如下: 在 $TOMCA ...