WiFi安全之WPA介绍
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介绍的更多相关文章
- 如何使用Reaver破解Wi-Fi网络的WPA密码
via: http://lifehacker.com/5873407/how-to-crack-a-wi+fi-networks-wpa-password-with-reaver 译者:Mr小眼儿 本 ...
- 1-51单片机WIFI学习(开发板介绍)
源码链接都在后面 前面的都是介绍单独的WIFI,没有和单片机结合起来,因为做项目很少会只用WIFI模块.大多数都是WIFI模块作为中转数据的桥梁,单片机负责 数据采集,控制等等,所以自己准备出一套51 ...
- Wi-Fi DFS与TPC介绍
DFS与TPC是wifi认证的其中一项测试内容,如果不需要DFS功能,可以不进行测试,但是某些属于DFS频段的wifi信道则不允许使用. 1. 什么是WIFI Auto DFS? 通俗的说就是:躲雷达 ...
- wifi测试相关(iwconfig,WPA Supplicant用法)
iwconfig用法 1.打开无线网卡电源 iwconfig wlan0 txpower no 2.列出区域内的无线网络 iwconfig wlan0 scan 3.假设要连接到网络myhome(即e ...
- Native wifi API使用
写于博客园,自己迁过来: 一.WlanOpenHandle打开一个客户端句柄 DWORD WINAPI WlanOpenHandle( __in DWORD dwClientVersion, __re ...
- 无线网络(WLAN)常见加密方式介绍
在使用无线路由器配置wifi安全设定的时候经常会遇到各种加密方式,即不懂意思也不知道如何选择.本文将对此做一个简单的介绍. 1.WEP 有线等效协议(Wired Equivalent Privacy, ...
- 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 ...
- 无线加密的多种方法及其区别(WEP WPA TKIP EAP)
无线加密的多种方法及其区别(WEP WPA TKIP EAP) 无线网络的安全性由认证和加密来保证. 认证允许只有被许可的用户才能连接到无线网络: 加密的目的是提供数据的保密性和完整性(数据在传输过程 ...
- 扔掉360:Linux下无线网卡作WiFi路由器(转薄荷开源网)
这个话题很多人感兴趣,毕竟现在是无线互联时代.手机一族到外面去,首先关心的就是有没有 WiFi.Windows 7 用户可以安装 360 的软件,把笔记本电脑配置成路由器,供手机或其他电脑上网. 在 ...
随机推荐
- Codeforces Gym 100431G Persistent Queue 可持久化队列
Problem G. Persistent QueueTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudg ...
- cardsui-for-android
https://github.com/Androguide/cardsui-for-android cardsui-for-android-master.zip
- "jobTracker is not yet running"(hadoop 配置)
今天自己尝试做配置了一下hadoop,环境是ubuntu13.10+jdk1.7.0_51+hadoop version1.2.1. 主要过程主要参考http://blog.csdn.net/hitw ...
- Swiper Usage&&API
最近使用Swipe.js,发现中文的资料很少,试着翻译了一下.能力有限,翻译难免错漏,请指出,多谢!如果想获得国外较多而全的文档,还是用google. 一了解SwiperSwiper 是一款免费以及轻 ...
- mysql --The MEMORY Storage Engine--官方文档
原文地址:http://dev.mysql.com/doc/refman/5.7/en/memory-storage-engine.html The MEMORY storage engine (fo ...
- 利用mmap /dev/mem 读写Linux内存
转载:http://blog.csdn.net/zhanglei4214/article/details/6653568 使用 hexedit /dev/mem 可以显示所有物理内存中的信息. 运用m ...
- Android 定时器实现的几种方式和removeCallbacks失效问题详解
实现定时器有很多种方式,在这里我简单的介绍几种方式 (1)使用Handler + Runnable的方式 Handler handler = new Handler(); Runnable runna ...
- ActiveXObject对象详解
一.什么是 ActiveX 控件? ActiveX 控件广泛用于 Internet.它们可以通过提供视频.动画内容等来增加浏览的乐趣.不过,这些程序可能出问题或者向您提供不需要的内容. ...
- poj3295解题报告(构造、算术表达式运算)
POJ 3952,题目链接http://poj.org/problem?id=3295 题意: 输入由p.q.r.s.t.K.A.N.C.E共10个字母组成的逻辑表达式, 其中p.q.r.s.t的值为 ...
- Android(java)学习笔记76:多线程-定时器概述和使用
定时器: 定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行. 在Java中,可以通过Timer和TimerTask类来实现定义调度的功能 Timer public Tim ...