魏思佳 李 涛,2 姜 禹,2
1(东南大学网络空间安全学院 南京 211189)2(网络通信与安全紫金山实验室 南京 211111)
(wsjcheer@163.com)
随着物联网(Internet of things, IoT)技术的发展,移动通信技术应用到了人们生活的方方面面,无线网络的体系不断增大,终端数目不断增加,推动了万物互联的发展.与此同时,海量终端设备的入网也为网络带来了安全性的挑战.由于无线网络通信中传输媒介的开放性,任何设备都可以对网络发起接入请求,恶意用户可以通过伪装身份冒充合法用户接入网络,对网络展开窃听或破坏,造成损失.因此,面对海量终端,保证终端的接入安全显得尤为重要[1].
LoRa技术作为低功耗广域无线网(LPWAN)技术之一,主要运行在非授权频段,是一种革命性的物联网接入技术,具有低功耗、远距离、抗干扰、低成本等优点[2],应用前景广泛.LoRa设备采用广播的数据发送方式,基于ALOHA协议完成加入过程.LoRaWAN协议中规定了LoRa节点的入网方式,有手动激活(activation by personalization, ABP)和空中激活(over-the-air activation, OTAA)2种接入网络的方式[1].在手动激活方式中,终端节点中固定存储设备地址和密钥信息,并在整个通信过程中保持不变,终端节点与网络侧通过鉴定设备地址和密钥的一致性来实现身份的鉴权.手动激活是一种安全性很差的接入方式.在空中激活方式中,LoRa设备在生产环节将根密钥提前置入设备硬件,在入网过程中,网络侧利用根密钥对入网请求帧进行完整性校验,从而完成对终端的认证[3],并且在双向认证过程中,由根密钥动态产生会话密钥,整个过程使用AES-128加密算法进行完整性保护[4-5].
尽管现有的LoRaWAN协议中设计了双向认证机制来保证网络安全,但是仍然存在很多安全漏洞.攻击者有可能窃取合法终端地址,通过向网络发送大量无用数据包发起DDoS攻击,造成网络瘫痪.由于根密钥是在生产过程中预置在设备硬件中,攻击者有可能采用侧信道攻击的方式窃取根密钥[3],根密钥一旦泄露,整个数据传输过程将会被全部破解.此外,由于终端计算存储能力的限制,使得终端无法实现安全级别高的认证机制和安全算法,有被暴力破解的风险.随着物联网体量的不断增大和融合的不断加深,如何准确地识别LoRa设备并实现物联网的安全接入是一个很有必要研究的问题.
无线信号发送设备在制造时,由于材料、工艺、温度、湿度等因素的影响导致电子元器件具有不同程度的容差,硬件的差异性使得不同发射机的信号特征同样具有差异性,在特征值上主要表现为不同设备之间信号的幅值、相位、频偏的差别[6-8].通过对信号的这些差异性特征进行提取,可以获得反映发射机硬件特征的设备指纹,使得发射机发送的无线信号具备了像“指纹”一样的可用于身份识别的特征信息.早在1995年,Kinsner等人[9]提取过VHF FM发射机的无线信号的硬件特征,完成了对于发射机的识别.
现阶段,基于设备指纹的身份认证技术的研究主要分为2个部分:特征提取与身份识别.在特征提取阶段,根据截取目标信号的不同,可以分为瞬态特征提取和稳态特征提取.瞬态信号是指发射机从开始工作到达到稳定状态前的信号;稳态信号是指发射机在稳定工作状态下发射的信号.瞬态信号不携带信息,只反映信号的硬件特征,由于瞬态信号存在时间较短,所以很难对瞬态目标信号段进行精确的截取.稳态信号是经过调制后的数据信号,在调制过程中稳态信号携带了发射机的硬件特征.2008年,文献[10]对通用移动通信系统的前导信号特征进行分析,基于前导信号的稳态部分提取了频谱作为设备指纹,首次实现了基于稳态信号的设备身份识别.文献[11]提取了I/Q相位偏移作为设备指纹.在文献[8]中,基于稳态信号提取了调制偏移、频偏、I/Q偏移等特征,组成多维度设备指纹,提高了设备身份识别的准确率.文献[12]对基带信号进行滤波和解调等处理后,提取了基带信号的相位信息作为设备指纹.
在身份识别阶段,设备指纹作为特征向量,根据是否预先建立合法设备指纹库,可以将现阶段的设备指纹识别研究分为有监督和无监督2类,如图1所示:
图1 有监督和无监督的射频指纹识别/认证方法
在无监督的设备身份识别方法中,由于同一设备的信号具有相似的特征,通过聚类等无监督算法可以将具有相似特征的指纹归为一类,无监督算法的输入是未标记的特征向量,不需要提前进行注册,但是由于缺少合法设备的身份信息,无监督的方法只能完成设备特征与物理设备的匹配,而无法对设备的合法性进行判断.
有监督的方法主要分为注册阶段和认证阶段.在注册阶段,需要对已知的合法设备特征进行注册登记,生成白名单;在认证阶段,提取待测设备的设备指纹,通过与设备指纹库中的特征进行比对来识别待测设备的身份信息.根据认证阶段方法的不同,现有的有监督的方法可以分为基于相似度度量的方法和基于机器学习的方法.基于相似度度量的方法通过比较待测设备的设备特征与指纹库中特征的相似性程度完成对设备的识别,常用的相似度度量方法有欧氏距离、马氏距离等.
基于机器学习的方法把射频指纹的身份识别问题转化为多分类问题,在训练阶段,通过机器学习的方法对指纹库中的合法设备进行学习,生成可用于设备特征识别的分类器;在认证阶段,将待测设备的特征作为输入,分类器为其匹配最为相似的一类,完成待测设备的身份识别,可以获得较高的准确率.但是有监督的设备身份识别方法只能准确识别已经进行注册登记的合法设备或非法设备,身份识别过程是设备身份与设备指纹一一匹配的过程,根据相似程度为待测设备匹配最为相近的一类,这样的识别机制有将未在指纹库中登记的设备误识别为合法设备的风险.
因此本文提出了一种基于设备指纹的LoRa设备身份识别方法,采用OneClassSVM算法实现对于未知非法设备的准确识别,并设计了一种误报率消除算法,实现了误报率的有效降低,同时选择随机森林、支持向量机、KNN这3种机器学习方法作为分类器,验证了设备身份识别算法的性能.
在时域中,接收端接收到的信号y(t)可表示为发送信号x(t)与冲激响应h(t)的卷积,如式(1)所示:
y(t)=x(t)*h(t).
(1)
频域模型可表示为
Y=HX+N,
(2)
其中N表示高斯白噪声,H表示信道矩阵.
对式(1)作傅里叶变换,可以得到信道状态信息在频域的表达式:
Y(f)=X(f)×H(f).
(3)
信道频率响应可以由式(4)表示:
H(fk)=|H(fk)|ej sin φ,
(4)
其中|H(fk)|描述了子载波k的幅值信息,φ描述了子载波k的相位信息,H(fk)描述了在第k个子载波中的信道状态信息(CSI).
CSI中包含了频域空间对应的每个子载波的振幅和相位,可以用来估计一条通信链路的信道特性,因此可以通过CSI提取反映设备物理层特性的特征值作为设备指纹[13].
由于信号的幅度特征基本不会随着时间而变化,相对具有稳定性.计算不同模块的每一帧信号前导码部分的平均幅值可以发现,不同模块的幅值间具有差异性,因此平均幅值具备作为设备指纹的条件.
在无线通信中,受限于信号调制电路中振荡器的精度、多普勒平移等因素,使得接收机与发射机之间的载波频率不能完全匹配,匹配程度可以用接收信号中每个载频分量与相干载波的频率之差来表示,这种差值称为载波频偏.
由于调制电路的细微变化均会对调制结果产生较大影响,受限于硬件制造工艺,不同设备的信号调制电路并不完全相同,使得不同设备具有不同的频偏特征,因此频偏可以作为设备指纹.
频偏估计采用基于训练序列前导码[14]方法.首先通过能量估计与自相关对LoRa信号进行同步,对相邻的前导码符号进行自相关运算;再进行共轭相乘;最后计算辐角,可得到频偏的估计值:
(5)
其中Rf(τ)和Rf(τ+T)表示相邻前导码的自相关运算结果.
2.2.1 单分类算法概述
常见的无监督学习的分类算法可以解决很多二分类和多分类问题,比如常见的性别分类的二分类问题,对包含男性和女性特征的数据进行训练,可以实现“是男性”或“不是男性”的识别.典型的多分类识别如手写字母识别,每个图片对应一个字母的类,通过识别可以将待测对象分配到对应的类.与二分类和多分类不同,单分类(one class cassification)只有一个类,返回结果有2种,即“属于该类”和“不属于该类”.单分类也可以称作一元分类或类建模,主要通过对只包含一类对象的训练集学习,寻找可以判断样本是否属于该类的规则.
OneClassSVM是一种经典的单分类算法,它属于无监督机器学习方法.主要思想是在训练阶段寻找一个可以完全涵盖正样本但排除负样本的超平面,在预测阶段通过这个超平面判断对象是否属于正样本.
对于线性可分问题,可以通过线性函数对正负样本进行划分.对于高维度样本空间,无法通过单一的线性函数对样本空间进行划分,通常通过核函数将非线性分割问题转化为线性可分问题,将数据从原始空间映射到高维的特征空间,在特征空间中寻找一个超平面对正样本和负样本进行划分.表1展示了常用的核函数类型:
表1 常用核函数
对于已知的单类样本X=(x1,x2,…,xN),X∈d,d表示特征向量的维度,特征空间中生成的超平面可以表示为
f(x)=ωTφ(x)-ρ=0,
(6)
φ(x)表示映射函数,ω和ρ分别表示超平面的法向量和偏移量.
为了保证特征空间生成的超平面最优,使得超球体积最小化,超平面与中心具有最大间隔,对于样本xi需要进行以下优化:
(7)
采用拉格朗日对偶求解,首先得到优化问题的对偶形式:
(8)
根据拉格朗日函数的对偶性可以得到超平面的边界:
f(x)=sgn(ωTφ(x)-ρ)=
(9)
对于未知样本x,若f(x)的值大于0,则该样本点位于超球体内,为正常样本;若f(x)的值小于0,则样本点位于超球体外,为异常样本.
2.2.2 误报率消除算法
基于无监督学习的单分类算法的基本思想是通过对数据的学习生成一种规则,使得满足规则的划分为一类,不满足规则的划分为另一类.基于单分类支持向量机的单分类算法(OneClassSVM)的基本思想是生成一个超平面,通过判断数据是否在超平面内完成数据的划分,由于超平面生成的规则较为严格,因此可能导致算法的误报率较高,为了降低误报率,本文设计了一种基于OneClassSVM的误报率消除算法.
误报消除的目的是从被识别为非法设备的数据中,将真实的非法设备和被误判为非法设备的合法设备区分开,其本质是一种分类问题,由于在训练阶段无法获得非法设备的数据信息,因此可以对误报的合法设备进行人工标注和划分,构建用于训练的数据集和用于评价的测试集.采用单分类算法对构建的误报数据集进行处理,将真正的非法设备识别和误报进行分离,减少合法设备误判的比例,从而消除误报,提高真实的非法设备识别率.
误报消除过程主要包含以下3个部分:
1) 构建误报数据集.在合法设备数据中标注误报数据,从而构建可用于测试和评价的误报数据集.
2) 误报消除.采用OneClassSVM算法对构建的误报数据集进行处理,生成决策边界,目的在于判别设备是否属于合法设备的误报,从而减小合法设备被误判的比例.
3) 结果评价.采用误报消除率对误报消除结果进行评价,验证所采用的算法在误报消除方面的性能.
2.2.3 设备识别模型
在无线网络终端接入认证的真实工作环境中,通常只能获得已注册过的合法设备的特征信息,对于未知的非法设备特征信息无法获得.现阶段,基于射频指纹的身份识别技术研究大都将身份识别视为一种分类问题.在验证阶段,为待测设备匹配最为相似的一类作为预测结果,由于训练阶段并未采集非法设备的特征,因此有将非法设备误判为合法设备的风险.
由于单分类学习方法只需要一类样本便可学习得到分类边界,可以很好地解决数据集中缺乏负样本的情况.针对现有的射频指纹接入认证方案存在的风险,为实现在接入认证环节对于未知设备的识别,本文提出了一种基于OneClassSVM与机器学习算法的设备识别模型,实现了未知设备合法性检测、误报率降低和合法设备身份识别,设备身份识别流程如图2所示.
图2 设备身份识别流程
在训练阶段,将合法设备的频偏和幅度特征组成无标签数据集,作为合法设备数据集,将频偏和幅度作为特征,设备号作为标签注册设备指纹库.设备合法性检测模块对合法设备数据集中的正样本进行匹配,生成最小化超平面,用于检测阶段的决策;在误报率降低模块,将合法设备中产生误报的数据组成误报设备数据集,使用单分类算法生成超平面,用于决策在设备合法性检测模块中被判决为非法设备的判决结果是否属于误报;在合法设备识别模块,对合法设备数据集进行注册得到设备指纹库,设备指纹与设备号一一对应,采用随机森林、SVM、KNN这3种机器学习算法作为分类器分别进行训练并保存训练模型.
在检测阶段,提取待测设备的特征作为设备指纹.首先进行合法性检测:若设备指纹在合法设备超平面内,则判定为合法设备,将该指纹输入到分类器,输出得到设备编号;若设备合法性检测模块检测到待测设备特征在超平面外,则判定该设备为非法设备,将设备特征输入到误报率降低检测模块,判断是否误判,若不是误判,则判定该设备为非法设备,若判断是误判,则将设备特征输入到分类器,进行身份标识的识别.
为了验证第2节中所提出的基于设备指纹的LoRa设备身份识别算法的有效性,本文在室内、室外、空旷走廊3种真实环境下,通过实验进行了验证,实验对4块终端设备的LoRa调制信号进行采样,其中3块为合法终端,1块为非法终端.
在信号发射端,采用SX1278无线发射模块发射LoRa信号,对4个LoRa模块分别进行信号采样.LoRa调制信号的参数如表2所示:
表2 LoRa调制信号发射模块参数
在信号接收端,使用USRP B205mini设备对LoRa调制信号进行信号采样.USRP B205mini是1款1x1USB软件定义的无线电设备,支持GNU Radio开源软件无线电平台,通过USRP硬件驱动程序(UHD)可以方便地访问硬件.
实验的软硬件环境参数如表3所示:
表3 实验软硬件环境参数
在室内、室外、走廊3种环境下,待发射模块工作一段时间达到稳定状态之后,对放置于固定位置的LoRa发射模块进行多次采样.室内、室外、走廊3种实验环境分别如图3~5所示:
图3 室内实验环境
图4 室外实验环境
具体的测试流程如下:
1) 连接测试.
测试软件无线电平台与电脑的联通性,电脑和软件无线电平台之间有数据传输,则连接成功.
2) 数据采集测试.
测试软件无线电平台能否采集到LoRa设备的数据.通过软件无线电平台采集LoRa设备发送的数据,以当前系统时间为名保存到电脑上,若电脑中存在LoRa sx1278设备以系统时间命名的文件,则数据采集成功.
3) 特征提取测试.
测试特征提取模块能否从数据帧中提取出设备的物理指纹特征.特征提取模块读取软件无线电平台采集的数据帧,并通过特征变换得到待识别设备的物理指纹特征.若特征提取模块可以输出2维数组格式的设备物理指纹特征,则特征提取成功.
4) 生成模型测试.
测试LoRa设备的设备模型是否生成.对提取到的物理指纹特征进行学习,生成以对应设备编号命名的机器学习模型并保存.
5) 场景测试.
在室内、室外、走廊3种环境下采集位置设备的LoRa信号,对待测设备的合法性进行识别.
对4个LoRa模块分别采集150帧有效数据,其中3块为合法设备,1块为非法设备,对信号进行有效信号提取、能量归一化等预处理操作,选择合法设备中2/3的数据作为训练数据,1/3的数据作为测试数据.在训练阶段不使用非法设备的数据,在测试阶段,将非法设备的数据作为未知设备进行测试.OneClassSVM选用RBF核函数,训练误差设为0.5,随机森林分类器树的个数设为100,KNN的K值设为5,SVM的核函数选用RBF核函数.
对合法设备测试集和非法设备测试集分别进行实验,验证设备合法性检测模块、误报率降低模块和合法设备身份识别模块的性能.将非法设备测试集和合法设备测试集作为输入,得到非法设备识别率和合法设备误警率如表4中设备合法性检测模块的结果所示:
表4 非法设备识别 %
由表4中的设备合法性检测模块实验结果可以发现,由于OneClassSVM算法的规则较为严格,对于未注册的非法设备获得了较高的识别率,但是合法设备的误警率相对较高,通过误报率消除算法对误报率进行降低,误报消除率与误报销除后的终误警率如表4中误报消除模块的结果所示. 实验表明,误报消除算法对合法设备误报率降低具有良好的可行性.
对通过合法性验证的设备进行身份识别,分别使用SVM、随机森林、KNN这3种分类器,得到的合法设备身份识别准确率如表5所示:
表5 合法设备身份识别准确率 %
实验表明,基于随机森林的分类算法在合法身份识别任务中获得了较高的识别准确率.
针对LoRa设备的身份认证与识别问题,本文提出了一种基于机器学习的LoRa设备识别模型,通过对接收的LoRa信号的信道状态信息进行分析,提取了幅度与频偏2个特征作为设备指纹,运用OneClassSVM单分类算法实现了对非法设备的准确识别,并设计了误报率消除算法,验证了其有效性,选用了随机森林、KNN、支持向量机3种分类器进行了设备的分类识别工作.经实验验证,该模型在非法设备识别和合法设备分类识别的有效性.
基于LoRa设备的身份认证识别技术仍有不足,未来可以开展许多工作.
1) 基于信道状态信息的设备指纹特征提取只能捕捉到信道状态的部分信息,下一阶段可以采用多模态的方法,提取多维度的设备指纹,提高设备识别的准确率.基于深度学习的特征提取方法可以从数据中自动提取特征,减少人工参与,提高泛化能力,这也是一个可以研究的方向.
2) 基于有监督的设备分类方法需要提前对所有合法设备进行身份注册,随着物联网体量不断增大,面对海量终端,提前注册具有一定难度,可以尝试采用无监督学习方法解决分类问题.
3) 鉴于物联网终端位置稳定的特征,提取信道状态信息中的位置特征,进行基于位置和基于设备特征的联合身份认证,进一步提高识别准确率.