薛 林
(上海物骐微电子有限公司,上海 201203)
Wi-Fi 网络作为开放共享无线网络,成为无线互联的主流网络。但目前Wi-Fi 网络[1]的安全性是基于IEEE 802.11x 协议定义的身份认证和加密算法,该方法属于数据链路层的认证方法,存在安全漏洞,容易被攻击,非法用户通过侦听和大量重复的尝试获得Wi-Fi 密钥并不困难。此外,通常情况下,Wi-Fi 网络接入密码为多人所知,容易被有意或无意泄露;还有黑客盗取合法用户设备媒体接入控制(Media Access Control,MAC)地址,采用假冒的MAC 地址进入网络的白名单。上述问题对于安全级别较高的场所,如国家机关和企事业单位,将构成严重的安全隐患。目前只能通过频繁更换Wi-Fi 密码来应对,但是这样又会带来用户使用不方便的问题。
已有的解决方案是采用射频指纹识别技术对用户设备认证,其工作原理是:在Wi-Fi 网络中安装侦听设备,接收网络中所有客户端设备发送的无线帧,并进行解调获得星座图;由于不同设备的发射机特性不同,解调得到的星座图会有差别,将该星座图和已知合法用户设备的星座图进行比对,确认该设备是否有合法身份。Wi-Fi 6 物理层采用正交频分多址(Orthogonal Frequency Division Multiple Access,OFDMA)[2-4],各设备数据传输在时间上是重叠的,上述方法无法从时间上区分不同设备发送的无线帧,从而不能获得某个设备的射频指纹。而且星座图和调制方式有关,同一个设备不同调制速率下的星座图也各不相同,因此该识别方法局限性很大。
针对上述问题,本文提出了一种适用于Wi-Fi 6 协议的射频指纹技术,用于对用户进行身份验证。将该方法应用在Wi-Fi AP 接收机上,对上行各用户在OFDMA 的资源单元(Resource Unit,RU)[5-7]进行提取,然后使用信道估计获得各上行用户设备的发射机射频特征,再计算该射频特征与已有合法接入设备射频特征的相似度,确定用户设备是否合法。使用该方法可有效弥补原有认证方法的不足,实现更高等级的网络安全。
如图1 所示,整个用户身份认证系统包括Wi-Fi 接入点(Access Point,AP)和认证服务器(Authority Server,AS)。其中Wi-Fi AP 完成对接入用户设备(Station,STA)的射频指纹提取,认证服务器AS 负责用户身份认证工作,两者可以是物理上分离的两台设备,它们通过网络连接(包括有线或无线连接),也可以在AP 中集成AS 功能,使其成为单一物理实体。
图1 Wi-Fi 网络认证结构
接下来的章节分别介绍射频指纹技术[8-9]、合法设备的射频指纹录入过程、对接入设备的射频指纹认证过程[10]。
Wi-Fi 6 中上行物理层多用户数据采用OFDMA方式复用,也就是将不同用户数据分配到OFDMA波形的不同RU。例如,使用HT20 模式即20 Mbit/s传输带宽内一共有256 个子载波,除去特殊用途占用的子载波外,其余子载波分配给不同用户使用。如图2 所示,4 个用户的数据同时在频域和时域上复用,在同一个时隙内不同用户占用频域内的不同频带,一个用户在不同时隙可能占用的频带不同。协议规定20 Mbit/s 传输带宽内子载波可以灵活配置分给9 个、4 个、2 个或1 个用户,1 个用户占用1 个RU,也就是说,1 个RU 在不同配置下可以有26 个、52 个、106 个或242 个子载波。
图2 Wi-Fi 6 OFDMA 多用户数据RU 分配
接入点AP 接收多用户设备发送的OFDMA 方式复用的上行无线信号。AP 通过频域信号处理,解调出全部子载波,然后根据RU 分配规则分离出不同用户的RU。针对某个用户的RU 进行信道估计,得到理想信号和实际信号的转换关系式:
式中:din为实际接收到的解调符号矢量,dout为理想接收符号,为信道估计矩阵。由可以得到该用户射频发射机的以下特征:
(1)频偏(Frequency Offset,FO),将ppm 转化为dB 表示。
(2)载波泄露(Carrier Leakage,CL),单位为dB。
(3)相位噪声(Phase Noise,PN),单位为dB。
(4)IQ 幅度失配(Amplitude Mismatch,AM),单位为dB。
根据这些特征参数,生成该用户设备在其占用RU 上的射频指纹矢量:
任意两个射频指纹的差异用射频指纹间距(RF finger Distance,RFD)表示。假设两个用户STAi和STAj在第k个RU,即RUk上的射频指纹分别表示为Fpi(k)和Fpj(k),则它们在RUk上的射频指纹间距计算公式为:
式中:FODij(k)=|FOi(k)-FOj(k)|,表示STAi和STAj在RUk的频偏距离;CLDij(k)=|CLi(k)-CLj(k)|,表示STAi和STAj在RUk的载波泄露距离;PNDij(k)=|PNi(k)-PNj(k)|,表 示STAi和STAj在RUk的 相 噪 距 离;AMDij(k)=|AMi(k)-AMj(k)|,表 示STAi和STAj在RUk的IQ 幅度失配距离。则STAi和STAj在全部共M个RU 上的射频指纹距离集合表示为{RFDij(0),RFDij(1),…,RFDij(M-1)}。
定义STAi和STAj的射频指纹总偏差为:
确认用户身份的方法是:AP 获得某个用户STAX在所有RU 上的射频指纹后,计算该指纹和合法用户STAi的射频指纹总偏差sum(RFDxi),若小于阈值RFDth(根据实际AP 型号确定),则该用户设备可能是用户STAi,否则不可能是用户STAi。
基于上述射频指纹识别方法,接下来分别说明合法设备的射频指纹录入过程和对接入设备的射频指纹识别过程。
要使用Wi-Fi 网络的设备,STA 首先需要取得合法身份,该合法身份是通过人工确认获得的。STA 被确认为合法设备后,才能进行射频指纹录入。合法设备射频指纹录入的流程如图3 所示,具体说明如下文所述。
图3 合法设备射频指纹录入流程
(1)由认证服务器AS 发送“请求录入指纹消息”给AP,要求录入设备STA 的指纹,消息中包含该设备的MAC 地址信息。AP 返回“确认消息”(ACK)给AS,然后等待STA 接入。
(2)设备STA 发起“关联请求”(Association Request),AP 检查设备MAC 地址为STA 的MAC地址,然后同意接入,并返回“关联响应”(Association Response)给STA。
(3)AP 发送“在指定RU 进行数据上报”消息,要求STA 在上行指定的某RU 上进行数据传输,这里假设为RU0。STA 在RU0上发送无线数据帧后,AP 提取RU0上的射频指纹矢量,表示为Fp(0)。然后,AP 继续发送“在指定RU 进行数据上报”消息,要求STA 在其他RU 上发送上行数据,这里假设为RU1。STA 在RU1上发送无线数据帧后,AP 提取RU1上的射频指纹矢量,表示为Fp(1)。接下来,AP 继续发送多条“在指定RU 进行数据上报”消息,要求STA 在其他RU 上发送上行数据,经过多次交互后完成全部RU 上的射频指纹矢量提取。
(4)AP 发送“存储设备射频指纹”消息,假设总共有M个RU,则将射频指纹集合FPG={Fp(0),Fp(1),…,Fp(M-1)}上报给AS,AS 将该射频指纹集合和STA 的MAC 地址绑定,保存到数据库中。
某个设备STAX请求接入Wi-Fi 网络时,网络采用射频指纹和数据链路双重认证的方式。射频指纹认证和数据链路认证可以采用不同的先后顺序,实施例中会加以说明。这里只说明射频指纹认证过程,如图4 所示。
图4 接入设备射频指纹认证流程
(1)AP 发送“在指定RU 进行数据上报”消息给STAX,要求STAX在上行指定的某RU 上进行数据传输,这里假设为RU0。STAX在RU0 上发送无线数据帧后,AP 提取RU0上的射频指纹矢量,表示为FpX(0)。然后,AP 继续发送“在指定RU 进行数据上报”消息,要求STAX在其他RU 上发送上行数据,这里假设为RU1。STAX在RU1上发送无线数据帧后,AP 提取RU1上的射频指纹矢量,表示为FpX(1)。接下来,AP 继续发送多条“在指定RU进行数据上报”消息,要求STAX在其他RU 上发送上行数据,经过多次交互后完成全部RU 上的射频指纹矢量提取,得到被认证设备STAX在全部RU上的指纹信息集合,表示为FPGX={FpX(0),FpX(1),…,FpX(M-1)}。
(2)AP 发送“认证设备射频指纹”消息给AS,消息包含设备STAX的MAC 地址和指纹信息集合FPGX。AS 首先通过设备MAC 地址检索已有用户数据库,确认该MAC 地址属于已知用户设备:若MAC 地址不是已知合法用户的,则向AP 返回认证失败消息;若MAC 地址正确,从数据库中提取该MAC 地址对应的射频指纹集合,假设为数据库中第i个用户,则指纹集合表示为FPGi。计算其和STAX射频指纹集合FPGX的射频指纹总偏差sum(RFDxi),若小于阈值RFDth,则该用户设备可能是用户STAi,返回认证成功消息;否则不可能是用户STAi,返回认证失败消息。
对接入设备的身份认证采用射频指纹和数据链路的双重认证方法,二者可以采取不同的先后顺序,下面分别讨论。
如图5 所示,使用先射频指纹认证,再数据链路认证的方法时,先执行AP 采集STAX射频指纹,AS 完成射频指纹检索比对,确认射频指纹是否为合法用户的射频指纹:若不是,则直接拒绝该设备接入网络;若是,再继续数据链路认证。也就是执行802.11x 协议规定的过程,包括:用户设备提供Wi-Fi 网络密码,AP 进行确认;双方进行加密方式和密钥的协商过程,最终获准用户使用Wi-Fi 网络。
图5 接入设备射频指纹认证方法1
该方法的优点是,在射频指纹识别阶段就可以拦截非法用户的入侵,不让其利用网络进行数据传输。缺点是,认证时间较长,因为对其进行射频指纹识别需要经过持续数十秒的数据统计处理,造成用户等待接入时间较长,体验感差。
如图6 所示,使用先数据链路认证,再射频指纹认证时,先执行传统802.11x 协议规定的数据链路层认证过程,完成Wi-Fi 网络密码检查,加密方式和密钥协商,允许用户接入网络。然后在后续用户设备数据传输阶段,AP 对其射频指纹进行提取,AS 完成射频指纹检索比对,确认射频指纹是否为合法用户的射频指纹:若不是,则发送“终止网络连接”消息给该用户,停止其继续接入网络;若是,继续允许该用户设备使用网络传输数据。
图6 接入设备射频指纹认证方法2
该方法的优点是,不会额外增加用户等待接入网络时间,体验感较好。缺点是,需要容忍非法用户持续数十秒的网络入侵,有一定的安全隐患。
本文介绍了一种适用于Wi-Fi 6 协议的射频指纹技术,使用该技术实现对Wi-Fi 用户的身份验证。通过先对OFDMA 的各资源单元提取,再经过信道估计获得接入设备的发射机的射频特征,然后计算出该射频特征与已有合法接入设备射频特征的相似度,最终判断设备是否为合法接入设备。该方法还可以结合现有协议中数据链路层的身份认证,实现双重认证。本方法可以应用在对网络安全要求较高的场所,实现更高等级的网络安全。