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个终端。