全部产品
云市场
云游戏

RADIUS 和 WIfi 认证

更新时间:2020-07-17 16:21:58

RADIUS

什么是 RADIUS?

RADIUS(Remote Authentication Dial-In User Server,远程认证拨号用户服务)是一种分布式的、C/S架构的信息交互协议,能包含网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。

协议定义了基于UDP(User Datagram Protocol)的RADIUS报文格式及其传输机制,并规定UDP端口1812、1813分别作为认证、计费端口。

如果是思科设备:认证和授权端口为UDP1645,计费端口1646.

RADIUS最初仅是针对拨号用户的AAA协议,后来随着用户接入方式的多样化发展,RADIUS也适应多种用户接入方式,如以太网接入等。它通过认证授权来提供接入服务,通过计费来收集、记录用户对网络资源的使用。

Radius的架构

客户端/服务器模式。

RADIUS客户端:一般位于网络接入服务器NAS(Network Access Server)上,可以遍布整个网络,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)。

设备作为RADIUS协议的客户端,实现以下功能:

支持标准RADIUS协议及扩充属性,包括RFC(Request For Comments)2865、RFC2866。

支持华为扩展的私有属性。

对RADIUS服务器状态的主动探测功能。

计费结束报文的本地缓存重传功能。

RADIUS服务器的自动切换功能。

RADIUS服务器:一般运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。RADIUS服务器通常要维护三个数据库。

  • Users:用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置信息)。
  • Clients:用于存储RADIUS客户端的信息(如接入设备的共享密钥、IP地址等)。
  • Dictionary:用于存储RADIUS协议中的属性和属性值含义的信息。

RADIUS工作原理

RADIUS认证、授权和计费:

RADISU报文类型:

目前RADIUS定义了十六种报文类型。

RADIUS认证报文:

image.png

RADIUS计费报文:

image.png

RADIUS授权报文:

image.png

WIFI 认证

WIFI 认证三大流程

通常对于无线用户使用来说,在使用WIFI功能时,经常性的操作是打开手机上的WIFI设备,搜索到心目中的热点,输入密码,联网成功,各种低头上网。

这个看似简单的过程,背后却是隐藏着大量的无线通信技术。用几个专业术语来表示这个过程,分别是:

  • 扫描(Scanning)
  • 认证(Authentication)
  • 关联(Association)

下面用一张图来表示这个过程。

1)扫描

扫描又分为两种类型

主动扫描

即我们的手机(工作站STA)以主动的方式,在每个信道上发出Probe Request帧,请求某个特定无线网络予以回应。主动扫描是主动寻找网络,而不是静候无线网络声明本身的存在。使用主动扫描的工作站将会以如下的程序扫描信道表所列的频道:

(1)跳至某个信道,然后等候来帧指示(indicationof an incoming frame)或者等到ProbeDelay定时器超时。如果在这个信道收到帧,就证明该信道有用户在使用,因此可以加以探测。而ProbeDelay定时器可用来防止某个闲置信道让整个过程停止,因为工作站不会一直等待帧的到来。

(2)利用基本的DCF访问过程取得媒介使用权,然后送出一个Probe Request帧。

(3)至少等候一段最短的信道时间(即MinChannelTime)。

a.如果媒介并不忙碌,表示没有网络存在,因此可以跳至下个信道。

b.如果在MinChannelTime这段期间媒介非常忙碌,就继续等候一段时间,直到最长的信道时间(即MaxChannelTime)超时,然后处理任何的Probe Response帧。

被动扫描

现在大部分移动电子产品都是采用被动扫描(passive scanning)的方式,原因是扫描过程中不需要传送任何信号,可以省电。在被动扫描中,工作站会在信道列表(channel list)所列的各个信道之间不断切换,并静候Beacon帧的到来。所收到的任何帧都会被暂存起来,以便取出传送这些帧的BSS 的相关数据。

在被动扫描的过程中,工作站会在信道间不断切换,并且会记录来自所收到的任何Beacon的信息。Beacon在设计上是为了让工作站知道加入某个基本服务集(Basic Service Set,简称 BSS)所需要的参数以便进行通信。在下图中,通过监听来自前三个接入点的Beacon帧,移动式工作站以被动扫描找出该区所有BSS。如果该工作站并未收到来自第四个接入点的Beacon,就会汇报目前只发现的三个BSS。

2)认证

无线网络所使用的媒介是经过特殊编码与调制过的无线电波链路。它是众所周知的开放标准,只要对无线传输有所研究和了解的人,都可以在无线覆盖范围内发送和接收信号。因此对数据的拦劫和非法灌注是多么的简单!

由于无线网络的最大缺陷就是安全性,进行身份认证是必须的,同时认证的连接工作也必须予以加密,以防未经授权的使用者访问。

早期的IEEE802.11定义了两种认证方式:

(1)开放系统认证(OpenSystem authentication);

(2)共享密钥认证(SharedKey authentication)。

开放系统认证是IEEE802.11默认的认证方式,实质上并没有做认证。连接无线网络时,基站并没有验证工作站的真实身份。认证过程由以下两个步骤组成:第一,工作站发送身份声明和认证请求;第二,基站应答认证结果,如果返回的结果是“successful”,表示两者已相互认证成功。

共享密钥认证依赖于WEP(Wired Equivalent Privacy,有线等效加密)机制,而上文已经提到WEP渐渐被淘汰,我们就不讲解了,接下来侧重讲解与我们家庭无线网络息息相关的WPA-PSK/WPA2-PSK认证机制。当我们进入无线路由器设置界面,打开无线安全设置,就会看到以下信息,如图1。WPA(Wi-Fi Protected Access)是WIFI联盟制定的安全性标准,WPA2是第二个版本。PSK(PreShared Key)叫做预共享密钥。WPA-PSK/WPA2-PSK主要是针对个人或家庭网络等,对安全性要求不是很高的用户。而WPA /WPA2是针对企业的,对安全性要求很高的用户,在WPA/WPA2选项中,大家可以看到它比WPA-PSK/WPA2-PSK多了一个Radius服务器,这个就是认证服务器。而对我们家庭网络来说,适合选择WPA-PSK/WPA2-PSK选项,因为我们不需要认证服务器。现有我们来详细分析WPA-PSK/WPA2-PSK认证机制。

1、WPA-PSK

WPA-PSK(Wi-Fi ProtectedAccess,Wi-Fi保护访问)是WiFi联盟推出的标准,它是为兼容原有的WEP硬件产品,所以它采用的模式是:

WPA-PSK = PSK + TKIP + MIC

PSK:PreShared Key,预共享密钥。

TKIP:Temporal KeyIntegrity Protocol,临时密钥完整性协议。

MIC:Message IntegrityCode,消息完整性校验码。

TKIP的开发目的是为了提高原有的基于WEP硬件的安全性,因此它和WEP一样都是采RC4加密算法,同时保留了WEP的基本结构和操作方式。TKIP是一种过渡的加密协议,现已被证明安全性不高。因此,我们就不去详细的讲解了。

2、WPA2-PSK

WPA2是在802.11i颁布之后,WIFI联盟随即推出的最新无线安全标准,它遵循802.11i标准,以下是它采用的模式:

WPA2-PSK= PSK + AES + CCMP

PSK:PreShared Key,预共享密钥,它是一种802.11身份验证方式,以预先设定好的静态密钥进行身份验证,此密钥必须手动进行传递,即是我们的手机连接WIFI热点时需要输入的密码。

AES:Advanced EncryptionStandard,高级加密标准。AES是美国NIST制定的替代DES的分组加密算法。AES具有优秀的密钥扩展方案,灵活的密钥生成算法。算法对内存要求极低,即使在限制较大的环境中也能获得很好的性能。分组和密钥被设计成可以在三种长度中自由选择的形式,AES具有128、192、256位的密钥。802.11规定CCMP中的AES使用的是128位密钥,它的加密块大小也是128位。

CCMP:Counter modewith Cipher-block chaining Message authentication code Protocol,计数器模式及密码块链消息认证码协议。它是基于高级加密标准(AES)的CCM(CTR with CBC-MAC)模式。CCM是一种通用的模式,它可以使用在任何成块的加密算法中。CCM模式使用CTR(Counter Mode)提供数据保密,并采用密码块链信息认证码(Cipher-Block Chaining with Message Authentication Code,CBC-MAC)来提供数据认证和完整性服务。

3)关联

工作站与基站进行关联,以便获得网络的完全访问权。关联属于一种记录(record keeping)过程,它让分布式系统(Distribution System)得以记录每个移动式工作站的位置,以便将传送给移动式工作站的帧,转送给正确的基站。形成关联之后,基站必须为该移动式工作站在网络上注册,如此一来,发送给该移动式工作站的帧,才会转送至其所属基站。其中一种注册方式是送出一个ARP信号,让该工作站的MAC地址得以跟与基站连接的交换端口形成关联。

关联只限于基础型(Infrastructure)网络,在逻辑上等同于在有线网络中插入网线。一旦完成此过程,无线工作站就可以通过分布式系统连接互联网,而其他人也可以经由分布式系统予以回应。IEEE802.11在规格中公开禁止工作站同时与一个以上的基站形成连接。

和认证一样,关联过程是由移动式工作站发起的。在此并不需要用到顺序编号,因为关联程序只牵涉到三个步骤。其中所用到的两个帧,被归类为Association管理帧。和单点传播(Unicast)管理帧一样,关联程序的步骤是由一个连接帧及必要的链路层回应所组成:

1、一旦移动式工作站与基站完成认证,便可送出关联请求(Association Request)帧。尚未经过身份认证的工作站,会在基站的答复中收到一个解除关联(Deauthenticaton)帧。

2、基站随后会对关联请求进行处理。IEEE802.11标准并未规范如何判断是否请允许关联;这因基站的实现而异。较常见的方式是考虑帧暂存所需要的空间大小。以Association Request帧中的聆听间隔(Listen Interval)字段来推算,大致上可以粗略推算出。

a. 一旦关联请求获准,基站就会以代表成功的状态代码0及关联识别码(Association ID,简称 AID)来回应。AID本身是数值形式的识别码,在逻辑上则是用来辨识暂存帧所要传递的行动式工作站。

b. 关联请求如果失败,就只会返回状态码,并且中止整个过程。

3、基站开始为移动式工作站处理帧。在常见的产品中,所使用的分布式系统媒介通常是Ethernet。当基站所收到的帧目的地为与之关联的移动式工作站时,就会将该帧从 Ethernet桥接至无线媒介,如果该移动式工作站处于省电(Power-Saving)状态,则为之暂存帧。在共享式Ethernet中,该帧会被送至所有基站,不过只有正确的基站会进行桥接处理。在交换式Ethernet 里,该工作站的MAC地址得以跟某个特定的交换端口(Switch Port)形成关联。当然,该交换端口必须连接到当前为该工作站提供服务的基站。