一种为无线设备进行指纹建模及识别的方法与流程

文档序号:11710056阅读:166来源:国知局
一种为无线设备进行指纹建模及识别的方法与流程
本发明涉及一种为无线设备进行指纹建模及识别的方法,属于网络安全
技术领域

背景技术
:wifi由于它的广泛性而吸引了各种各样的攻击。在这些攻击中,假冒的网络接入点(rougeaps)和蹭网(wififreeloading)最为常见并且也给安全和隐私带来了极大的危害。rougeaps意味着在一个公共场所,攻击者模仿合法的网络接入点(accesspoints)设置了一个网络设备。它通常使用了和原始的ap相同的bssid和ssid。一旦用户被骗连接上了它,那么攻击者就可以通过发起中间人攻击盗取用户所有的网络通讯。据估计大概有20%的公司面临着这样的问题。wififreeloading是指一个没有授权的用户绕过了aps的认证机制然后免费的进入了私人wlan。当然一个不速之客一旦进入了网络内部,他有可能盗取的不只是网络带宽了。防御这些攻击的一个重要方式是在clients和aps之间建立强大的相互认证机制。事实上,802.1lirsna(robustsecuritynetworkassociation)确实使用传统的密码学的方法提供了可供选择的相互认证机制(比如数字证书),如果使用得当,会使得攻击少发生。根据janaetal,使用802.1lirsna的无线网络由于一些实际问题仍然受害于一些缺陷。比如,因为目前应用场景中,信号强度作为唯一的clients选择ap的依据,用户可能被糊弄去连上了一个虚假的没有任何防御措施的ap,只因为它的信号强度强于其他的ap。由于数字证书管理和分布的累赘,很多网络仅仅是选择提供了用户认证(userauthentication)而没有接入点认证(apauthentication),结果就导致了,攻击者很容易部署虚假的接入点。对于freeloading攻击,对于绝大部分用户来说,认证都是基于自己选择的密码,而这些密码通常都是很脆弱的,尤其是用户可能使用了同一个密码,那密码很容易被盗用和公开。(比如wpa2-psk)。基于上述原因,近些年研究者基于设备指纹(devicefingerprinting)提供了一些不是基于密码学(non-cryptographic)的解决措施。这些措施不是想去替代密码学的方法,而是旨在提供一个额外的安全层,以应对采取传统密码学方法时所面临的困难。一个案例场景是:当一个用户与进入了一个他经常去的咖啡馆,没有指纹技术,他很容易就被糊弄去连接上了一个与真实的相同bssid和ssid的虚假的ap。但要是有了指纹技术,用户就可以得到警告,他有可能连上了一个假冒的ap。但现实生活中,还没有此类应用。这是出于一些重要的实际问题。第一,这个方法需要特殊的硬件,这就阻碍了应用。比如,briketal提出利用无线电频率特征来识别设备。但是他需要一些额外的设备来抓取,分析无线电信号。第二,硬件特征是可以被欺骗的,因此安全性没法得到保证。kohnoetal提出了一个流氓ap的探测机制,他是使用通过tcp/icmp时间戳测量的clockscrew来作为设备的指纹的,jana和kasera曾表明tcp/icmp时间戳很容易被欺骗。作为替代,他们测量信标/探测相应帧中的时间同步函数时间戳,这个被硬件标记了因此有些难以被欺骗。然而,有证据显示依然是有可能通过修改虚假ap的设备驱动来欺骗这样的时间戳信息的。相关知识:csi:通道状态信息描述了诸多从发射方到接收方的信号传播中比如散射,衰减,功率衰减造成的混合作用。ieee802.11标准定义了在一个发送-接收天线(tx-rxantennapair)对中测量csi的机制。csi持续地抓取每一个ofdm携带者的信号强度和相位信息。x-接收信号向量y-传播信号向量h-信道矩阵n-噪声矢量y=h*x+n其中,h是一个复杂向量,叫做信道频率响应(channelfrequencyresponse,cfr),影响了tx-rx对间的信号增益。这些信息可以用来实现搞数据速率的可靠通信。而csi就是指的是cfr在不同子载波采样。在带宽20mhz的2.4ghz的频带上,csi测量由30个复数组成,每一个都对应于一个选定的子载波。让ntx和nrx代表发送和接收天线的数目,那个对于一个接受的802.11帧就有30*nrx*ntx个csi流。对于在第i个发送天线和第j个接收天线之间的第k个子载波的csi流可以表示为其中|h|表示子载波k的振幅,而φk,i,j代表子载波k的相部分。cfo:cfo即载波频率偏移。对于ofdm系统,在理想中,载波频率f应该在tx-rx对中是相同的。但是由于硬件缺陷,通常在tx-rx振荡器中存在一个偏移,这就造成了cfo。因为一个巨大的cfo可能会在接收端造成一个巨大的噪音,cfo会由硬件补偿。但是由于硬件缺陷,在补偿之后,仍然会存在一个cfo的残余量δfc。这样的cfo会在接收信号导致一个相位偏移其中δfc代表着补偿之后的cfo。对于商业wifi设备,残余cfo是不可避免的。根据ieee802.11n标准,残余cfo可以达到100khz。为了方便,本文中的cfo通常指代残余cfo。技术实现要素:发明目的:本发明提出了一个新型的无线设备指纹方法来避免上述的问题,并且可以用来防备rougeaps和wififreeloading。通过估计一个设备的载波频率偏移(carrierfrequencyoffset,cfo)来给一个设备建立指纹。cfo的产生是因为振荡器漂移,长时间来都保持一致,但是在不同的设备间却会产生相当大的差异,更甚,这样的振荡器漂移是由于晶体缺陷造成的,不能被任何的软件所模仿。因此,它可以用作设备指纹。最主要的挑战是无论是在手机设备上还是在aps上,都没有软件能够从底层硬件中评估cfo。最先进的方法是利用额外的信号分析设备(比如向量信号分析和usrp)来分析原信号,这大大的阻碍了它被应用于现实生活中。不同的是,本发明提出间接的从通道状态信息中(channelstateinformation,csi)挖掘出cfo,而csi是很容易通过现成的无线设备上的软件获取的。本方法是为了应对日益猖狂的rougeap和wififreeloading攻击而产生的,rougeap能够实现是一方面是因为虚假的ap可以伪造和真实的ap相同的bssid,另一方面则是因为我们的移动设备不能够区分两者之间的区别,只能通过信号强度来选择ap。而wififreeloading攻击能够产生的原因则是因为,现有的认证方式不够完善,很多情况下,只要输入了正确的密码或是修改为合法设备的mac地址,那么ap便能够接受设备的连接,而密码或是mac地址是很容易通过各种各样的方式获得的。因此,基于上述的问题,本发明给每一个ap,每一台设备建立一个指纹,这样,ap可以根据指纹来决定是否同意设备连接,设备也可以通过指纹来选择正确的ap来连接。选择一个与cfo相关的项作为指纹,是因为cfo的产生是因为在wifi网卡中载波振荡器偏移产生的,而cfo不会因为时间和地点的改变发生改变,只会因为设备的不同而不同,并且,它是没法被构造的,因为它是一个纯硬件相关的特性。并且,理论上,选择cfo相关项比光是选择cfo更加的有效。技术方案:一种为无线设备进行指纹建模及识别的方法,包括如下步骤:1.分解csi的相位值;2.从csi分解出的相位值中估算出cfo的估计值:a)移除fdd和sfo造成的csi测量中的影响;b)移除tof造成的影响;3.从上一步骤中得到的cfo噪声图像中得到cfo的值;a)选定图像的高密度区域;b)将上一步得到的高密度区域转为一个二进制图像;c)获取图像的联通部分;d)利用最小二乘法对上述得到的联通部分的点的组成的集合进行处理,得到点的集合的斜率;4.利用cfo估计值作为设备的指纹特征,对互联的wifi热点和无线设备进行双向识别。a)对合法wifi热点进行指纹采集,建立白名单b)每当进行wifi热点接入时,利用前诉方法采集当前接入的wifi热点的cfo估计值,将此估计值同采集好的白名单中的wifi热点指纹特征进行对比,如果相似度低于某一阈值,即判定为非法wifi热点。c)在wifi热点上预先对需要接入的无线设备建立白名单,通过比较接入设备的指纹特征,可以使得wifi热点能对接入的无线设备进行反向识别。分解csi值的相位值假设指纹设备从目标设备收到了n帧,对于每个帧来说,它都从网卡驱动获得了csi的测量。让我们考虑时刻t时,一对tx-rx之间的帧的csi。对于第k个子载波,csi的测量包含了一个相位域φt,k,相位域φt,k计量了子载波上发送方和接收方之间的帧的相位偏移。φt,k=k(2παζd+2πβζs)+ψt,k+2πδfct(2)其中,2πδfct正是cfo所造成的相位偏移,δfc即为待估计的cfo项。从csi分解出的相位值中估算出cfo首先定义并计算了一个新的相位变量对于每一个在时间t的帧,其中φt,1和φt,-1分别代表着下标为1和-1的子载波的相位值,然后,对于每一对邻近的帧,计算他们的相位差和tdoa到达时间δt微秒。之后,画出来所有的点,这些点来自一系列周期性的条纹,估计这些条纹的坡度,并且最终将它作为cfo的值。移除fdd和sfo:fdd和sfo都会在csi测量中引起一个时间延迟,这些时间延迟会造成与子载波下标线性相关的相位偏移。根据(2)式,如果将满足k1+k2=0的和相加起来,可以移除由于fdd和sfo引起的相位偏移。对于时间点t,可以如下表述:移除tof:先要求接收方和发送方在收集帧的过程中保持静止,这样就固定了他们的相对距离,相位差从条纹图像中得到cfo的值包含两个步骤:条纹提取和斜率估计。数据特征的抽取为了估计斜率,首先得获得构成每个条纹的点的集合。提取条纹的步骤分为三步。(1)选取高密度区域使用滑动窗口算法来识别高密度区。在每个固定窗口中,计算所有的点的数目,然后移动到另一个窗口长度的地方。最终,选择最高数目的点的窗口作为高密度区。(2)将高密度区域转为二进制图像将上一步得到的高密度区处理为一个二进制图像,这样就利用了正常点和异常点之间的巨大差异来消除异常点。首先将此高密度区域栅格化,划分为一系列相同的小的矩形,每个矩形都在新生成的二进制图像中对应一个像素。然后,对于每一个矩形,计算其中的点的个数。如果点的总数目超过了预定义阈值,那么转化后的二进制图像所对应的像素就设置为1,否则置为0。这样做之后,很多离群值就会被移除了。对于那些仍然存在很大噪声点的图像,使用很多现有的机制比如基于pca的alm来做进一步处理。(3)获取联通部分在二进制图像中识别出k个最长的连通部分,然后从估计条纹的斜率转化为估计k个最长的连通部分的斜率。当然,实际上,可能得到一些不对应任何条纹的错误部分。这样就需要使用下面的机制来进行处理。条纹的估计在经过了条纹提取的步骤之后,得到了对于每一个长连通部分的点的集合。设连通点集为s。斜纹的斜率kc可以通过最小二乘法得到,其中,是斜率kc的估计值,x、y为每个点所对应的坐标位置,ρ为最小二乘法所要优化的系数,β是一个常量。因此,对于每一个连通分量,都可利用最小二乘法方法计算出其斜率k。但是,计算出的斜率可能会变化,因为连通分量可能并非是一个完整的条纹;为了解决这个问题,我们对条纹的斜率进行了聚类,用聚类结果中数目最多的一类的均值作为cfo的最终估计值。这样做的理由是基于一个简单的事实,那就是正确的cfo估计值通常会很接近,而错误的cfo估计值往往是不同的。wifi热点和无线设备的双向识别我们将通过前述的方法所得到的cfo估计值作为无线设备的指纹特征,将之用于wifi热点和无线设备的双向识别:a)我们可以通过事先采集的方法,对合法wifi热点进行指纹采集,或者让合法wifi热点的持有者公布合法热点的指纹特征值来建立设备指纹的白名单。b)每当进行wifi热点接入时,利用前诉方法采集当前接入的wifi热点的cfo估计值,将此估计值同采集好的白名单中的wifi热点指纹特征进行对比,如果相似度低于某一阈值,即判定为虚假wifi热点。c)同样的方法也可以用于令wifi热点识别接入的无线设备的功能,从而具有限制特定无线设备才能接入的功能。有益效果:与现有技术相比,本发明提出的为无线设备进行指纹建模及识别的方法具有如下优点:1.提出了第一个无需额外硬件设备的基于cfo的无线设备指纹建模机制,并且是容易应用在现有的设备上,比如笔记本电脑或是智能手机。实验会证明这样的指纹确实是不会因为时间和地点发生改变的。2.提出了一个新颖的方式来准确并且迅速地从csi预估出cfo,并且不需要额外的设备,并且很难被仿造。3.实现了一个原型来见证我们机制的表现。结果显示,本发明可以取得一个很高的正确率,并且是可以用在现实生活中作为rougeap探测的方法的。附图说明图1是相同设备在不同的时间地点下的关系图,其中条纹的斜率和cfo紧密相关,(a)地点l1、时间t1,(b)地点l1、时间t2,(a)地点l2、时间t1;图2是不同的设备在相同的环境下的关系图,(a)设备1,(b)设备2,(c)设备3;图3是使用本发明方法移除fdd和sfo之后的效果图,(a)从子载波-28中提取的条纹图像,(b)使用新定义的相位值的条纹图像;图4是基于相位处理之后选择相邻的相位对的效果图,(a)使用所有相邻的相位对的条纹图,(b)使用基于处理之后的相位对的条纹图;图5是在一天中的不同时刻两个ap(netgearr7000和tp-linkwdr4300)的cfo的值,其中每个插入的值对表示在15个测量值中最大值和最小值;图6是一个月中从小米note手机上收集的cfo的值;图7是实验室布置示意图,其中三角形代表着地点;图8是在一个实验室的不同地点不同的ap的测量值。具体实施方式下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。本发明专注于目前以下两个wlan中的主要威胁:rougeap(伪装热点):一个攻击者在公共场合比如机场或是咖啡馆建立一个没有授权的ap来化妆成授权的ap。假设攻击者足够强大能够修改每一帧的ssid和bssid域来使得与授权的ap一致。此外,攻击者使用了同种认证策略(比如pre-sharedkey或者是802.1xauthentication)来作为认证的ap,但总是允许用户通过认证。注意流氓ap和真实的ap是同时活跃着的。在这种情况下,信号强度就会作为唯一的选择标准。根据我们的实验,如果两个重叠的wlan使用了同一ssid,那么手机设备仅仅只会在它的wlan列表中显示信号强度强的一个。如果用户登陆到了假冒的ap,那么攻击者就可以实现中间人攻击来获取用户信息或是分析用户的流量数据而不被发现。wififreeloading(wifi蹭网):一个攻击者盗取了登入私人网络的凭证,然后就可以作为合法用户登入私人网络。这里的认证可能是一个简单的密码,如果wlan采取了wpa-enterprise模式,攻击者可以通过很多方法获得凭证,一旦攻击者进入了网络,那他可以做到的就不只是偷取带宽了。本发明的方法尝试估计一个设备的频率偏移(比如cfo)作为它的指纹信息来实现攻击的检测。cfo的产生是因为在wifi网卡中载波振荡器偏移,而cfo不会因为时间或是地点发生改变,只会因为设备的不同而不同。更甚,它很难被模仿欺骗,因为它是纯硬件特性并且很难被任何运行的软件影响。csi相位信息提供了在信号传输过程中积累的相位偏移。考虑可否通过csi的测量来估计cfo的大小。如果可行,可以通过不适用额外的设备来估测cfo,因为csi可以修改现有的无线设备网卡驱动,然后利用上层应用来获取。在从csi估计cfo之前,先分析csi每个相位值的组成。分解csi值的相位值假设指纹设备从目标设备收到了n帧,对于每个帧来说,它都从网卡驱动获得了csi的测量。让我们考虑时刻t时,一对tx-rx之间的帧的csi。对于第k个子载波,csi的测量包含了一个相位域φt,k,相位域φt,k计量了子载波上发送方和接收方之间的帧的相位偏移。φt,k由4个组成部分构成:其中,正是由cfo引起的相位偏移,其他三个是由如下原因造成的:ωt,k:由帧检测延迟(fdd,framedetectiondelay)造成的相位偏移,当一个帧到达了接收方的时候,接收方会花费一些时间来检测它,这会使得在csi测量的时候造成一个时间延迟τd。这样的延迟会导致一个相位偏移ωt,k,ωt,k是和频率成比例的,数学表达为ωt,k=2παkζd,其中α为一个常数系数,k是一个子载波的指标,ζd是一个与τd高度相关的值,既然ζd随着时间的变化而变化,那么ωt,k在帧与帧之间也是不相同的。θt,k:由采样频率偏移(sfo,samplefrequencyoffset)引起的相位偏移。sfo是由于发送方和接收方之间的采样时钟(sampleclock)不同步引起的。类似于帧检测延迟,不同步同样引入了一个时间延迟τs,进而引起了一个与子载波指标线性相关的相位偏移,因此θt,k=2πβkζs,其中β是一个常量,k是一个子载波指标,ζs是一个根据τs决定的变量。ψt,k:是由飞行时间(tof,timeofflight)引起的相位偏移,它代表着信号从发送方到接收方之间的飞行时间,这个就引起了相位的偏移。在不存在多径条件下,有ψt,k=2πfktp,其中tp是指从发送方到接收方之间的微传播时间,fk是指第k个子载波的频率。一旦考虑到多路径,那么就会有另一个项要考虑,这个项和环境紧密相关。因为这个偏移主要被飞行时间决定的,所以,它在室内定位领域很有用。事实上,有很多现有技术研究如何利用csi的相域来实现室内定位。然而,因为本发明的目的在于提取cfo的部分而不是tof部分,因此,无法直接使用现有算法。现在,基于上述的分析,(1)式可以被重新写为:φt,k=k(2παζd+2πβζs)+ψt,k+2πδfct(2)其中,2πδfct正是cfo所造成的相位偏移,δfc即为待估计的cfo项。从csi分解出的相位值中估算出cfo首先定义并计算了一个新的相位变量对于每一个在时间t的帧,其中φt,1和φt,-1分别代表着下标为1和-1的子载波的相位值,然后,对于每一对邻近的帧,计算他们的相位差(映射到[-π,π])和tdoa(timedifferenceofarrival)到达时间δt微秒。之后,画出来所有如图1(a)所示。这些点来自一系列周期性的条纹,如图1(a)中方框标识出来的。此外,条纹是斜的并且看上去有着同样的斜率。估计这些条纹的坡度,并且最终将它作为cfo的值。作为一个例子,在图1中展示了相同设备的随着测试时间和地点改变的条纹图像。同样在图2中比较了不同设备的条纹图像,并且发现条纹的坡度是不同的。总结如下,从这些图像中可以看出,条纹的斜率只会根据设备的不同而发生不同,不会因为环境的不同而发生改变,这正如cfo期望的特征一样,将条纹的斜率视为cfo的估计。帧检测延迟(fdd)和采样频率偏移(sfo)的去除:fdd和sfo都会在csi测量中引起一个时间延迟,这些时间延迟会造成与子载波下标线性相关的相位偏移。根据(2)式,如果将满足k1+k2=0的和相加起来,可以移除由于fdd和sfo引起的相位偏移。在802.11n标准中,当带宽为20mhz时,csi测量记录了下标为[-28,-26,...,-2,-1,1,3,...,27,28]的30个子载波的数据。其中只有[-1,1]和[-28,28]这两组满足要求。这就是本发明方法中定义了的理由。对于时间点t,可以如下表述:图3比较子载波-28的原始相位值的条纹图像和子载波-1和1的平均相位值的条纹图像,可以发现移除了fdd和sfo的相位偏移使得图像更加的清晰。移除tof:先要求接收方和发送方在收集帧的过程中保持静止,这样就固定了他们的相对距离,相位差从(4)式中,很显然看到δfc是和δt之间线性关系的斜率,理论上来讲就是,条纹图像中的点应当形成了周期线而不是周期条纹。而之所以理论和现实存在了差别,是因为各种测量错误和一个已知的固件问题,因为我们使用的intel5300网卡。这些测量错误使得条纹不是一条光滑的曲线而是有着很多噪声点。比如,如果设备的时钟频率是10mhz,那么在接收端接收到一个帧的准确时间最多为0.1微秒。因此,在这样的情况下,条纹图像中的任何点对之间的间隔应当至少是0.1微秒。固件问题,在图像中造成了额外的条纹,这样使得δt和不能满足函数关系。但这样额外的条纹并不会影响斜率的估计。并且为了探测攻击,使用一个cfo相关的量是好于只使用cfo本身作为指纹的。换句话说,我们的工作是从估算cfo转换到基于csi的测量,从噪声条纹图像中计算出条纹斜率。当一个移动设备(笔记本电脑或是智能手机)想要从一个ap获得指纹,首先让它像平常那样连上ap,然后。移动设备使用内置的工具ping向ap发送测试数据,然后收集所有回复帧的csi测量值。为了保证获得的指纹的高精准度,需要大概5000帧。因为在802.11b的情景下,传输速率可以达到11mbps,这个过程是小于10秒钟的。基于csi测量,我们派生出上文描述的条纹图,然后这些条纹的斜率作为设备的指纹。除了在两个设备之间配置一下wifip2p连接,为一个移动设备赋予指纹的过程是一样的。从条纹图像中得到cfo的值包含两个步骤:是条纹提取和斜率估计。数据特征的抽取为了估计斜率,首先得获得构成每个条纹的点的集合。提取条纹的步骤如图4所示分为三步。(1)选取高密度区域临近帧的tdoas的分布主要是由网络的传输速率决定的。作为结果,如图4所示的第一个子图中所展示的那样,δt轴上的一些间隔可能比那些在条纹图中形成高密度区拥有更多的点。很显然,条纹拥有更多的点,那么线性拟合会更准确。所以在δt轴上使用滑动窗口算法来识别这些高密度区。在每个固定窗口中,计算所有的点的数目,然后移动到另一个窗口长度的地方。最终,选择最高数目的点的窗口作为高密度区,接下来所有的过程都是在这个窗口中进行。窗口的大小由人在检查了30个设备之后,人为地按经验设置。假设δt轴上的条纹的平均跨度为s,那么,窗口的长度就在我们实验中就应该设置为6s,这样可以保证提取的密度区至少是包含3个清楚的条纹的。(2)将高密度区域转为二进制图像观察图4的第二个子图,可以发现大多数的点都是沿着条纹的中线集中的,然而仍然有一些离群值稀疏地在不同的条纹间分布着。显然,这些离群值会给斜率的估计带来一些负面影响,因此需要被移除掉。处于这个目的,将上一步得到的高密度区处理为一个二进制图像,这样就利用了正常点和异常点之间的巨大差异来消除异常点。首先将此高密度区域栅格化,划分为一系列相同的小的矩形,每个矩形都在新生成的二进制图像中对应一个像素。然后,对于每一个矩形,计算其中的点的个数。如果总数目超过了预定义阈值,那么转化后的二进制图像所对应的像素就设置为1,否则置为0。这样做之后,正如图4的第三个子图所示,很多离群值就会被移除了。对于那些仍然存在很大噪声点的图像,使用很多现有的机制比如基于pca的alm来做进一步处理。(3)获取联通部分使用haralick和shapiro提出的图像分割算法来在2d的二进制图像中获取k个最长的连通部分,于是问题从估计条纹的斜率转化为估计k个最长的连通部分的斜率。当然,实际上,可能得到一些不对应任何条纹的错误部分。这样就需要使用下面的机制来进行处理。条纹的估计在经过了条纹提取的步骤之后,得到了对于每一个长连通部分的点的集合。设连通点集为s。斜纹的斜率kc可以通过最小二乘法得到,其中,是斜率kc的估计值,x、y为每个点所对应的坐标位置,ρ为最小二乘法所要优化的系数,β是一个常量。因此,对于每一个连通分量,都可利用最小二乘法方法计算出其斜率k。但是,计算出的斜率可能会变化,因为连通分量可能并非是一个完整的条纹;为了解决这个问题,我们对条纹的斜率进行了聚类,用聚类结果中数目最多的一类的均值作为cfo的最终估计值。这样做的理由是基于一个简单的事实,那就是正确的cfo估计值通常会很接近,而错误的cfo估计值往往是不同的。wifi热点和无线设备的双向识别我们将通过前述的方法所得到的cfo估计值作为无线设备的指纹特征,将之用于wifi热点和无线设备的双向识别:a)我们可以通过事先采集的方法,对合法wifi热点进行指纹采集,或者让合法wifi热点的持有者公布合法热点的指纹特征值来建立设备指纹的白名单。b)每当进行wifi热点接入时,利用前诉方法采集当前接入的wifi热点的cfo估计值,将此估计值同采集好的白名单中的wifi热点指纹特征进行对比,如果相似度低于某一阈值,即判定为虚假wifi热点。c)同样的方法也可以用于令wifi热点识别接入的无线设备的功能,从而具有限制特定无线设备才能接入的功能。实验结果通过实验来测试本发明方法的实现效果。用thinkpadx200笔记本电脑作为一个数据采集者来收集测试设备(aps和智能手机)的cfo指纹数据。这个电脑装备了一个5300无线网卡,我们为其安装了一个修改后的第三方的驱动,这样就能够对于每一个收到的帧获取对应的csi测量值。为了对一个路由器进行指纹建模,让一台笔记本电脑连上这个路由器,然后使用linux系统下的ping工具向这台路由器发送报文。对于每一个回复的帧报文,笔记本得到并且存储对应的csi的测量值。在两个ping信息的发送间隔是默认的1秒,这对于采集设备指纹来说有点太长了,因此,使用-i参数将这个间隔降低到0.002秒,这样就可以每一秒钟发送出500帧的报文了。对于每一个设备,总共收集了5000个回复帧,这通常需要大概10秒钟时间。笔记本电脑可以通过前面所提出的方法计算出cfo作为设备的指纹。为了对采集智能手机的指纹信息,我们把一台笔记本电脑配置为wifi热点。然后手机连接到电脑并且向它发送信息,正如在采集路由器(ap)指纹中所做的一样。然后,我们可以基于接收到的帧的csi数值计算出手机的指纹信息。着重讨论本发明两方面的表现:一是,指纹在时间和地点方面的稳定性,二是方法的准确性和误报率。实验测试了超过23台智能手机和30个ap,包括相同的和不相同的机型。稳定性测试实验中的指纹指的是从csi测量中估计出来的cfo的值,可以从方便地从现有的无线设备中获取。时间上的稳定性:实验考虑了两个时间跨度,一天和一个月。图5显示了两个不同型号的ap(netgearr7000和tp-linkwdr4300)在一天中的不同时刻所采集到cfo的值,,。让这两个ap都整天运行,并且每6个小时记录一下csi的值。可以发现,这两个ap的cfo的估计值,都是在整天的任何时间段保持一致的。为了验证cfo是长期稳定的,我们从一台小米note手机上收集了一个月中每天的cfo的值,如图6所示,一个月中的cfo的估计值,基本上是相同的,并且最多相差0.1。空间上的稳定性:csi的相位域包含了一个tof偏移,这个是极度依赖于设备间的相对位置和周遭环境的。我们提出了几个方法来消除这个干扰因素。为了带进复杂的多路环境,选择了一个室内环境,如图7所示的7.7m×6.5m的实验室,来证明四个ap的cfo指纹的空间稳定性。对于每一个ap,把它放在四个不同的位置,一个由墙壁与电脑分开。在每个测试中,要求两个测试人员绕着室内行走,来模仿真实的随时在改变的环境。在每一个地点对于每一个ap都进行了15次的指纹测试。这些ap的在不同的地点的平均的cfo的值在图8中展现了出来。它表明由于不同环境影响的cfo之间的改变相较于不同的ap之间的差异是可以被忽略的,这表明我们的测量的cfo是空间稳定的。在4台不同的智能手机上也进行了如此的实验,然后得到了类似的结果由于空间的限制,我们只展示了ap的结果。准确率测试对每个ap/手机进行了k次指纹,并且将这些结果都存储在一个数据库中。假设总共有n台设备,总共就收集了k·n个指纹。在每一个测试中,对每一台设备d(表示设备下标),通过随机地从k个指纹中选取m个来进行采样,形成一个采样集合hd。然后,通过计算hd的平均值来建立一个白名单w。在实验中,m的大小被设置为三分之一的k,这样如果k=7,那么m=2。让s表示剩余的指纹的集合。然后,如果把s中的一个指纹和在w中的一个不同的设备的指纹进行对比,实际上我们就模拟了检测rogueap或是freeloading攻击。另一方面,如果通过把s中的一个指纹和在w中的一个相同的设备的指纹进行对比,我们实际上就是模拟了一个正常的通话。所以,可以定义了攻击的探测率pd和误报率pf,如下:其中id(i)表示的是指纹i对应的设备编号,如果指纹i和指纹j符合,则match(i,j)值为1,否则为0。匹配的过程计算了hid(i)(设备编号为id(i)的设备所对应的采样集合)的最大角度差作为th,如果th小于1°,那么我们将th设为1°,并且在两个条纹之间的绝对角度差作为da。然后通过比较da和我们实验中的th来决定两个指纹是否匹配:如果da小于th,认为是匹配,否则是不匹配。表iap实验的详细场景场景ap品牌全部指纹#ofapsk的值教学楼华为84127星巴克未知90615实验室网件,普联120815图书馆华为60415表ii不同场景下ap识别的正确率场景探测率pd错误警告率pf教学楼94.32%4.52%星巴克95.05%2.31%实验室97.24%1.47%大学图书馆94.37%5.11%首先考虑对于ap的评估。在四个场景中进行了实验,包括教学楼,实验室,图书馆和一些星巴克,并且总共收集了354个指纹。在这些环境中的ap的详情见表i中。在星巴克,没有看到他们的设备所以无法得知商标。除了星巴克,在每个场景中,所有的ap都是同样的厂商和型号。需要指出的是,这其实是模拟了我们能遇到的一个最坏的攻击场景,在这个场景中攻击者设置了一个和认证过的ap同样型号的假冒ap。从直觉上来讲,来自同一个供应商的ap更可能具有相似的指纹。根据在表ii中显示的结果,探测率在四个场景中接近94%,同时误报率在5.11%之下。除了ap,同样对于智能手机也进行了相似的实验。实验包括了23台不同厂商的智能手机,如表iii中所示,其中对于每个手机,k=15。其中准确率和误报率的定义同对ap的测试中一样。准确率达到了94%,而误报率则是在3%以下。表iii手机的详细信息智能手机数量魅族3三星5小米7其他8同样在如表iv中所描诉的相同模型的手机上进行了实验。因为数据库较小,把pd和pf表述为函数。我们会发现本发明方法仍然可以区分相同模型的不同设备。表iv同一个型号手机的正确率智能手机数量探测率错误警告率相同wifi网卡的小米手机6149/1601/70三星s4370/700/35当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1