一. 无线安全介绍
首先无线网络是半双工并且在同一信道的终端在一个冲突域,在同一信道内的用户是可以收到相互的通信帧;所以无线与安全是紧密集合的,只有完善的安全机制才能够保障无线信息的安全性;
二.无线的威胁
无线的威胁主要有几种,分别是rogue AP
,Ad Hoc Network
,wireless attacks
等;
rogue AP
简介:流氓AP可以分为两种,一种是没有主观恶意的,比如某员工自己开的热点;另一种是具有主观恶意的,比如某个黑客使用一个AP广播着与公司内网同样的SSID,用户却无法分辨,这种现象被称为Client Misassociation
。
防御:正常的AP去探测这些流氓AP,并通过deauthentication
让终端无法连接它;
AD HOC Network
简介: AD Hoc Network
是一种笔记本直接与笔记本通信的无线连接方式,这种使用明文传输信息的方式,存在安全隐患同时会占用信道;
防御:自从Win7以后,已经不存在在系统中了;
Wireless Attacks
简介: 无线的攻击有很多种,但大致可以分为三类:
Management frame spoofing
:- 描述:伪造无线管理帧,对无线终端记性控制,比如
deauthentication attack
; - 防御:Cisco通过Client MFP客户帧保护;
- 描述:伪造无线管理帧,对无线终端记性控制,比如
- 主动攻击:
- 主动破解密码及发动ARP攻击等;
- ARP毒化通过使用P2P隔离及有线网的ARP源检测来处理;
- 设置复杂的密码并定期更换,使用802.1x认证提高安全性;
- 被动攻击:只是在无线中静静的"听",即收帧;
三. 无线的安全协议
无线的安全协议大略的演变过程为WEP
,WPA
,WPA2
及WPA3
。
3.1 WEP
WEP是Wire Equivalent Privacy的简称,名称为有线等效保密(WEP);因LAN的物理结构,LAN天生对数据的传输是有一定的保密性的;在2003年被Wi-Fi Protected Access(WPA)
淘汰,又在2004年由完整的IEEE 802.1i(即WPA2)
标准所取代。
如下图:WEP在4次握手中,即传输了密文也传输了明文,那么破解密码就相当容易,如下图:
从WEP中衍生出了一种认证方式,叫做Open Authentication
,它可以在不配置任何加密时使用,也可以作为其他认证开始前的Open
,如下图:
3.2 WPA
WPA
的全名为Wi-Fi Protected Access
(Wi-Fi保护访问),有WPA
和WPA2
两个标准。
WPA
共两种安全类型,如下图:
- WPA个人:使用
PSK
实现身份认证; - WPA企业:使用
802.1x
和3A
服务器实现身份认证;
3.2.1 WPA的几种秘钥
PMK-Pairwise Master Key[成对主秘钥]
- PTK和GTK都是通过PMK派生的;
- PMK是一个256位的hash值;
- Client和AP分别计算PMK,PMK值并不在网络中传输;
PTK-Pairwise Transient Key[成对传输秘钥]
- 针对每个用户单播的信道单独加密;
- PTK由PMK和2个随机数、两个MAC地址通过三列计算得到;
GTK-Group Temporal key [临时组秘钥]
- 针对组播及广播使用的共同秘钥;
- GTK在有终端与AP链接断开时,会发生变化,新增终端时不会变;
- GTK由AP直接产生,并使用PTK加密传送给终端;
MIC-Message integrity check(消息完整性校验)
- 使用HASH算法,以前MD5,现在使用SHA及SHA2;
- 在发送数据时计算并携带,另一端收到时,对数据hash并与原MIC对比,完成校验;
- 注Hash时,使用的数据包含真是数据及MIC值(由PMK计算所得);
WAP四次握手
参考:戳这里
如下:
-
第一条msg是由AP发给Client,msg内携带一个随机数
ANonce
,当Client收到后,自己会产生一个随机数SNonce
,同时也知道SA
,AA
及PMK
从而生成PTK
,帧如下: -
Client将SNonce与MIC给予AP,AP收到后计算出PTK与MIC,并与收到的对比,匹配则进入第三步;
-
AP使用
PTK
加密GTK
后发送,注意帧不是加密的,只有GTK
是加密的; -
Client完成
EAP-Key
过程,并向AP发送ACK
,在AP收到后,整个过程结束;
四. 无线的认证简介
无线的认证可以分为二层认证及三层认证,二层认证主要指802.1x认证及PSK认证,三层认证主要指的是web重定向认证;
4.1 802.1x认证
802.1x,全称为Port-BasedNetworks AccessControl
,即基于端口的网络访问控制。由IEEE为解决无线局域网用户的接入认证问题,但由于其原理对于所有符合IEEE802标准的局域网通用性,现在有限局域网中也普遍使用;
4.1.1 体系结构
802.1x使用Client/Server模式,主要有三个部分:客户端、认证系统以及认证服务器,三者关系如下:
客户端: 需要接入LAN/WLAN中的终端设备,需要802.1x客户端,同时必须支持EAPOL协议;
认证系统:通常为支持802.1x协议的网络设备,在客户端及认证服务器间充当代理:
- 跟客户端之间通过EAPOL协议进行通信;
- 跟认证服务器间通过EAPOver Radius报文或者Radius报文进行通信;
认证服务器:通常为Radius服务器,用于实现对用户的认证、授权和计费;
- 认证服务器通过检验客户端的身份标识,判断是否入网;
- 认证服务器将相关信息交给认证系统,由认证系统构建动态的访问控制列表;
4.1.2 涉及的协议
EAPOL(EAPoverLANs):是802.1X协议定义的一种报文封装格式,主要用于在客户端和设备端之间传送EAP协议报文,以允许EAP协议报文在LAN上传送;
EAP(ExtensibleAuthenticationProtocol): 可扩展认证协议,用来实现客户端、认证系统和认证服务器之间认证信息的交互。
RADIUS(RemoteAuthentication Dial In UserService): 用户远程拨入认证服务,是AAA的的应用协议,也是AAA的网络传输协议;
4.1.3 认证的基本过程
802.1x系统支持EAP中继方式和EAP终结方式与远端RADIUS服务器交互完成认证;
EAP中继方式
这种方式中,将EAP承载在其它高层协议中,如EAPoverRadius,用来扩展认证协议报文穿越复杂网络的能力;
- 需要Radisu服务器支持EAP属性
步骤:
- 用户在802.1x客户端输入用户名密码后,客户端发出EAPOL-Start报文,开始认证;
- NAS收到后,发送EAP-Request/Identity报文,要求客户端发送用户名;
- 客户端在EAP-Responsne/Identity报文中,发送用户名;
- NAS将客户端发来的数据帧使用Radius Access-Request报文封装并转发给Radius服务器;
- Radius服务器将在数据库中查找用户名,然后使用随机加密字加密密码信息,并将加密字都发给NAS,NAS解封装后(EAP-Request/MD5Challenge)发给Client;
- Client使用收到的加密字加密自己的密码,生成EAP-Response/MD5challenge,然后通过NAS封装后发送给Radius;
- 认证服务器判断是否通过,通过发送(RADIUSAccess-Accept报文和EAP-Success报文),NAS会打开受控端口,否则发送EAP-Failure报文,NAS不做操作;
- 客户端也可以发送EAPOL-Logoff报文给认证系统,主动要求下线,NAS会关闭受控端口,并回复EAP-Failure报文。
EAP终结方式
EAP终结方式将EAP报文在认证系统上终结,并转换成标准的Radius协议完成认证、授权和计费。
- 设备端与Radius服务器之间可以采用PAP(PasswordAuthentication Protocol,密码验证协议)或者CHAP(ChallengeHandshake AuthenticationProtocol,质询握手验证协议)认证方法
步骤:
- 1~3步,与EAP中继方式相同;
- NAS收到EAP-Response/Identity后,本地生成加密字并发送EAP-Request/MD5Challenge告知Client;
- Client生成EAP-Response/MD5Challenge发送给NAS;
- NAS使用CHAP协议对用户名、口令、加密字等认证信息重新封装成标准的Radius报文,送给服务器处理;
- 认证服务器检测通过后会发送RADIUSAccess-Accept报文给NAS;
- 之后同EAP中继方式;
4.2 三层认证简介
一般设置使用web服务器,用到了重定向,过程如下:
- Client需要先过二层认证,可层可以设置为None,也可以是用WPA来认证;
- Client正确的从DHCP获取IP地址,DNS地址及网关信息;
- Client开始正常的请求,http会被WAC重定向至指定的认证页面;
- Client在认证页面上完成相关认证后,跳转正常的页面;