Wifi认证及加密详解
1. 无线安全概述
无线安全是WLAN系统的一个重要组成部分。由于无线网络使用的是开放性媒介采用公共电磁波作为载体来传输数据信号,通信双方没有线缆连接。如果传输链路未采取适当的加密保护,数据传输的风险就会大大增加。因此在WLAN中无线安全显得尤为重要。
为了增强无线网络安全性,至少需要提供认证和加密两个安全机制:
- 认证机制:认证机制用来对用户的身份进行验证,以限定特定的用户(授权的用户)可以使用网络资源。
- 加密机制:加密机制用来对无线链路的数据进行加密,以保证无线网络数据只被所期望的用户接收和理解。
2. 基本概念
- 802.11i:新一代WLAN安全标准。IEEE 为弥补802.11脆弱的安全加密功能而制定的修正案,802.11i提出了RSN(强健安全网络)的概念,增强了WLAN中的数据加密和认证性能,并且针对WEP加密机制的各种缺陷做了多方面的改进。802.11i标准中所建议的身份验证方案是以802.1X框架和可扩展身份验证协议(EAP)为依据的。加密运算法则使用的是AES加密算法。
- RC4:在密码学领域,RC4是应用最广泛的流加密算法,属于对称算法的一种。
- IV:初始化向量(Initialization Vector),加密标头中公开的密钥材料。
- EAPOL-KEY包(EAP over LAN key):AP同STA之间通过EAPoL-key 报文进行密钥协商。
- PMK(Pairwise Master Key,成对主密钥):申请者(Supplicant)与认证者(Authenticator)之间所有密钥数据的最终来源。它可以由申请者和认证服务器动态协商而成,或由预共享密钥(PSK)直接提供。
- PTK(Pairwise Transient Key,成对临时密钥):PTK是从成对主密钥(PMK)中生成的密钥,用于加密和完整性验证。
- GMK(Group Master Key,组主密钥):认证者用来生成组临时密钥(GTK)的密钥,通常是认证者生成的一组随机数。
- GTK(Group Transient Key,组临时密钥):由组主密钥(GMK)通过哈希运算生成,是用来保护广播和组播数据的密钥。
- MIC(message integrity code,消息完整性校验码)。针对一组需要保护的数据计算出的散列值,用来防止数据遭篡改。
3.链路认证方式
链路认证即802.11身份验证,是一种低级的身份验证机制。在STA同AP进行802.11关联时发生,该行为早于接入认证。任何一个STA试图连接网络之前,都必须进行802.11的身份验证进行身份确认。可以把802.11身份验证看作是STA连接到网络时的握手过程的起点,是网络连接过程中的第一步。
IEEE 802.11 标准定义了两种链路层的认证:
- 开放系统身份认证
- 共享密钥身份认证
3.1 (open)开放系统身份认证
开放系统身份认证允许任何用户接入到无线网络中来。从这个意义上来说,实际上并没有提供对数据的保护,即不认证。也就是说,如果认证类型设置为开放系统认证,则所有请求认证的STA都会通过认证。
开放系统认证包括两个步骤:
第一步,STA请求认证。STA发出认证请求,请求中包含STA的ID(通常为 MAC 地址)。
第二步,AP返回认证结果。AP发出认证响应,响应报文中包含表明认证是成功还是失败的消息。如果认证结果为“成功”,那么STA和AP 就通过双向认证。
3.2 (shared)共享密钥身份认证
共享密钥认证是除开放系统认证以外的另外一种认证机制。共享密钥认证需要STA和AP配置相同的共享密钥。共享密钥认证的过程如下:
第一步,STA先向AP发送认证请求;
第二步,AP会随机产生一个Challenge包(即一个字符串)发送给STA;
第三步,STA会将接收到字符串拷贝到新的消息中,用密钥加密后再发送给AP;
第四步,AP接收到该消息后,用密钥将该消息解密,然后对解密后的字符串和最初给STA的字符串进行比较。如果相同,则说明STA拥有无线设备端相同的共享密钥,即通过了共享密钥认证;否则共享密钥认证失败。
4. 接入认证方式
接入认证是一种增强WLAN网络安全性的解决方案。当STA同AP关联后,是否可以使用无线接入点的服务要取决于接入认证的结果。如果认证通过,则无线接入点为STA打开这个逻辑端口,否则不允许用户连接网络。
本节介绍以下两种接入认证方式:
- PSK接入认证
- 802.1X接入认证
4.1 PSK接入认证
PSK (Pre-shared key,预共享密钥)是一种802.11i身份验证方式,以预先设定好的静态密钥进行身份验证。该认证方式需要在无线用户端和无线接入设备端配置相同的预共享密钥。如果密钥相同, PSK 接入认证成功;如果密钥不同,PSK 接入认证失败。
4.2 802.1X接入认证
IEEE 802.1X 协议是一种基于端口的网络接入控制协议。这种认证方式在WLAN 接入设备的端口这一级对所接入的用户设备进行认证和控制。连接在接口上的用户设备如果能通过认证,就可以访问WLAN 中的资源;如果不能通过认证,则无法访问WLAN 中的资源。
一个具有802.1x认证功能的无线网络系统必须具备以下三个要素才能够完成基于端口的访问控制的用户认证和授权:
- 认证客户端
一般安装在用户的工作站上,当用户有上网需求时,激活客户端程序,输入必要的用户名和口令,客户端程序将会送出连接请求。
- 认证者
在无线网络中就是无线接入点AP或者具有无线接入点AP功能的通信设备。其主要作用是完成用户认证信息的上传、下达工作,并根据认证的结果打开或关闭端口。
- 认证服务器
通过检验客户端发送来的身份标识(用户名和口令)来判别用户是否有权使用网络系统提供的服务,并根据认证结果向认证系统发出打开或保持端口关闭的状态。
5.无线加密方式
相对于有线网络,无线网络存在着更大的数据安全隐患。在一个区域内的所有的WLAN 设备共享一个传输媒介,任何一个设备可以接收到其他所有设备的数据,这个特性直接威胁到WLAN 接入数据的安全。IEEE 802.11 提供三种加密算法:有线等效加密(WEP)、暂时密钥集成协议(TKIP)和高级加密标准 AES-CCMP。
- WEP加密
- TKIP加密
- AES-CCMP加密
5.1 WEP加密
WEP (Wired Equivalent Privacy,有线等效加密)是原始 IEEE 802.11 标准中指定的数据加密方法,是WLAN安全认证和加密的基础,用来保护无线局域网中授权用户所交换的数据的私密性,防止这些数据被窃取。
WEP使用RC4算法来保证数据的保密性,通过共享密钥来实现认证。WEP没有规定密钥的管理方案,一般手动进行密钥的配置与维护。通常把这种不具密钥分配机制的WEP称为手动WEP或者静态WEP。
WEP加密密钥的长度一般有64位和128位两种。其中有24Bit的IV(Initialization Vector,初始化向量)是由系统产生的,因此需要在AP和STA上配置的共享密钥就只有40位或104位。在实际中,已经广泛使用104位密钥的WEP来代替40位密钥的WEP,104位密钥的WEP称为WEP-104。虽然WEP104在一定程度上提高了WEP加密的安全性,但是受到RC4加密算法以及静态配置密钥的限制,WEP加密还是存在比较大的安全隐患,无法保证数据的机密性、完整性和对接入用户实现身份认证。
5.2 TKIP加密
TKIP(Temporal Key Integrity Protocol,暂时密钥集成协议)是IEEE 802.11组织为修补WEP加密机制而创建的一种临时的过渡方案。它也和WEP加密机制一样使用的是RC4算法,但是相比WEP加密机制,TKIP加密机制可以为WLAN服务提供更加安全的保护。主要体现在以下几点:
- 静态WEP的密钥为手工配置,且一个服务区内的所有用户都共享同一把密钥。而TKIP的密钥为动态协商生成,每个传输的数据包都有一个与众不同的密钥。
- TKIP将密钥的长度由WEP的40位加长到128位,初始化向量IV的长度由24位加长到48位,提高了WEP加密的安全性。
- TKIP支持MIC认证(Message Integrity Check,信息完整性校验)和防止重放攻击功能。
5.3 AES-CCMP加密
AES-CCMP(Counter mode with CBC-MAC Protocol,计数器模式搭配CBC-MAC协议)是目前为止面向大众的最高级无线安全协议。
IEEE 802.11i 要求使用 CCMP 来提供全部四种安全服务:认证、机密性、完整性和重发保护。 CCMP 使用 128 位 AES (Advanced Encryption Standard,高级加密标准)加密算法实现机密性,使用CBC-MAC(区块密码锁链-信息真实性检查码协议)来保证数据的完整性和认证。
作为一种全新的高级加密标准,AES加密算法采用对称的块加密技术,提供比WEP/TKIP中RC4算法更高的加密性能,它将在IEEE 802.11i最终确认后,成为取代WEP的新一代的加密技术,为无线网络带来更强大的安全防护。
6. WPA安全技术
WPA(Wi-Fi Protected Access),是一种保护无线电脑网络(Wi-Fi)安全的系统,它是应研究者在前一代的系统有线等效加密(WEP)中找到的几个严重的弱点而产生的。
WPA安全技术允许采用更多样的认证和加密方法来实现WLAN的访问控制、密钥管理与数据加密。例如,接入认证方式可采用预共享密钥(PSK认证)或802.1X认证,加密方法可采用TKIP或AES。WPA同这些加密、认证方法一起保证了数据链路层的安全,同时保证了只有授权用户才可以访问无线网络WLAN。
6.1 WPA
Wi-Fi联盟在标准推出之前,在802.11i草案的基础上,制定了一种称为WPA(Wi-Fi Protected Access)的安全机制,它使用TKIP(临时密钥完整性协议),它使用的加密算法还是WEP中使用的加密算法RC4,所以不需要修改原来无线设备的硬件。
其目的在于代替传统的WEP安全技术,为无线局域网硬件产品提供一个过渡性的高安全解决方案,同时保持与未来安全协议的向前兼容。可以把WPA看作是IEEE802.11i的一个子集,其核心是IEEE 802.1X和TKIP。
6.2 WPA2
WPA2 是经由 Wi-Fi 联盟验证过的 IEEE 802.11i 标准的认证形式。它使用CCM(Counter-Mode/CBC-MAC)认证方式和AES(Advanced Encryption Standard)加密算法,更进一步加强了无线局域网的安全和对用户信息的保护。
Wifi认证及加密详解相关推荐
- RSA加密 — 详解
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/120316606 本文出自[赵彦军的博客] 文章目录 推荐 RSA 简介 RSA 常 ...
- AES加密 — 详解
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/120285594 本文出自[赵彦军的博客] 文章目录 推荐 AES 简介 对称加密 ...
- java加密算法入门(三)-非对称加密详解
1.简单介绍 这几天一直在看非对称的加密,相比之前的两篇内容,这次看了两倍多的时间还云里雾里的,所以这篇文章相对之前的两篇,概念性的东西多了些,另外是代码的每一步我都做了介绍,方便自己以后翻阅,也方便 ...
- IOS之RSA加密解密与后台之间的双向加密详解
IOS之RSA加密解密与后台之间的双向加密详解 序言 因为项目中需要用到RSA加密,刚开始也是有点乱,这两天也整理的差不多了,希望能帮到大家. 这次先上代码,我想大部分人肯定是着急解决问题,所以不要废 ...
- 微信公众号登录密码参数加密详解
微信公众号登录密码pwd参数加密详解 前言 此参数的加密没有任何难度,适合小白练手学习. 网址:https://mp.weixin.qq.com/ 一.打开浏览器开始抓包 输入错误的账号密码,登录.然 ...
- mysql数据库表添加加密密码_数据库账号密码加密详解及实例
数据库账号密码加密详解及实例 数据库中经常有对数据库账号密码的加密,但是碰到一个问题,在使用UserService对密码进行加密的时候,spring security 也是需要进行同步配置的,因为sp ...
- 思科ccna认证路由器路由表详解-ielab
思科ccna认证路由器路由表详解-ielab互联网络将世界上各种类型的计算机以及其他终端设备连接在了一起,使得这些设备能够协同工作,使得能够进行相互通信.在IP网络中,数据遵循IP协议所定义的格式,设 ...
- Android传输数据时加密详解
Android传输数据时加密详解 ONE Goal , ONE Passion ! ------–MD5加密------- MD5即Message-Digest Algorithm 5(信息-摘要算法 ...
- Shiro 登录认证源码详解
Apache Shiro 是一个强大且灵活的 Java 开源安全框架,拥有登录认证.授权管理.企业级会话管理和加密等功能,相比 Spring Security 来说要更加的简单. 本文主要介绍 Shi ...
- 表单提交对数据进行加密详解(RSA加密)
一.使用背景 以前在做项目的时候就觉得表单直接明文提交非常不安全.有心之人只要稍加操作就能轻易获取用户的信息,这是非常可怕的事情,但又苦于不知道该如何加密,如何提高安全性. 后来慢慢接触到RSA,才知 ...
最新文章
- ubuntu cpu频率控制
- Redis Spring集成
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- 学python可以做什么职业-学了Python,就能拿下这 7 个高薪的未来职业
- osgi java web_基于 OSGi 和 Spring 开发 Web 应用
- Attit 现代编程语言重要特性 目录 第一章 可读性与开发效率 简单性	1 第一节 垃圾回收	1 第二节 自动垃圾回收	1 第三节 命名参数 函数多返回值	1 第四节 多语言 语言交互性	2 第五
- jQuery源码阅读
- IT行业,应届生找工作遇到“招转培”怎么办?
- em算法python包_关于EM算法原理的分析与理解(Python实现)
- 8 项目沟通管理和干系人管理
- mac小技巧——快速修改图片尺寸
- Katana的高性能图形分析库
- matlab画图不想显示x轴数据,Matlab - 情节; 修改X轴值而不修改图形
- 40+个工业检测数据集
- HCIP课程笔记-04-HDLC、PPP、GRE
- 天数换算月份_EXCEL如何算出指定的月份有多少天计算方法
- 三星老java手机换字体_三星手机设置字体大小与更换默认字体的图文教程
- QT常用控件——QComboBox控件
- 数据恢复 diskginus
- 成功解决:Updates were rejected because the tip of your current branch is behind its remote...【解决方法】