KeystrokeRecognitionUsingWiFiSignals利用Wifi信号的按键识别方法熊正强2015.11.171目录研究背景核心思想和系统基本架构技术挑战相关工作系统评测总结和体会2研究背景随着互联网的快速发展和信息化程度的不断提高,互联网深刻影响着政治、经济、文化等各个方面,保障信息安全的重要性日益凸显,加强对互联网上各类信息的管理应引起高度重视。按键(Keystroke)隐私在确保计算机系统安全和用户人隐私方面的作用尤为关键。因为用户用键盘正在输入的可能是一串密码或者其他极为隐私的敏感信息内容。在此基础上,文章首次提出了借助Wifi信号来识别按键的方法。并提出了一种基于Wifi信号的按键识别系统,文章中称之为Wikey系统。这种Wikey系统可以借助两个目前市场上可买到的Wifi装置来实现:一个信号发射器(比如Wifi路由器),一个信号接收器(比如一台笔记本电脑)就可以组成一个简单的Wikey系统。3核心思想和系统基本架构核心思想:每个键的按键都会给Wifi信号引入对应的多径失真,这种独特性可以被用来识别按键。当某个人按下某一个特定的按键时,该用户的双手以及手指会按照某种特定的形式和方向移动,并因此会形成一种特殊的模式。这种模式可以用一组记载信道状态信息值(ChannelStateInformation(CSI))的时间序列表示,文章中将此定义为该特定按键下的CSI-波形。4核心思想和系统基本架构系统基本架构:文章首次提出了一种基于Wifi信号的按键识别系统--Wikey系统。Wikey系统有两个市场上可买到的Wifi设备组成:一个发射器(比如无线路由器),一个接收器(比如一台笔记本电脑)。发射器连续的发射Wifi信号,接收器连续的接收。当一个人在键盘上按键时,在Wikey系统接收端会根据信道状态信息值(CSI)的改变来识别按键。ThesenderThereceiver5技术挑战第一个技术难题是:分离出信道状态信息值(CSI)的时间序列,并分辨出每次按键动作的开始时间点和终止时间点。第二个技术难题是:如何提取37个按键(10个数字,26个字母和一个空格键)的不同特征,并建立对应的分类模型。第三个技术难题是:如何在相邻按键所产生的CSI值接近的情况下,比较出任意两个不用按键的区别,也是能否正确识别按键的关键。6相关工作新理念:Device-FreeActivityRecognition(不借助特定设备的人类活动识别)。TheWiKeysystemusingCOTSdevices:i.e.aTP-LinkTL-WR1043NDWiFirouterandaLenovoX200laptopwithIntel5300WiFiNIC.利用从这些设备的网卡上(suchas:Intel5300andAtheros9390)获取的CSI值,可以识别人的活动甚至进行定位。不需要借助任何特定的硬件或者软件无线电(SDR)。7相关工作:CHANNELSTATEINFORMATION(CSI)现代的Wifi设备都支持IEEE802.11n/ac标准,通常都有多对发射和接收天线,因此都支持MIMO通信,而每一个MIMO信道都包含了很多不同的载波。这些无线设备会不断地监视无线信道的状态来高效的对每个单独的MIMO数据流进行功率分配和速率调整。这样一来Wifi信道的容量就能被最大化的利用。这些设备会将信道的状态以CSI值的形式量化-----而这些CSI值基本代表了每组载波在发射端和接收端之间的信道频率响应(CFR)的特点。8相关工作:CHANNELSTATEINFORMATION(CSI)9MT代表发射天线的数量MR代表接收天线的数量SC代表OFDM载波数量Xi代表发射信号矢量Yi代表接收信号矢量Ni代表噪声矢量在上面的等式中,阶信道矩阵Hi代表的就是载波i对应的信道状态信息(CSI)。任何两个通信中的Wifi设备都会通过定期的彼此发送一段已知的OFDM符号前缀来估计每组载波的信道状态矩阵Hi。本文选取的Intel5300WiFiNIC使用30组OFDM载波,并且工作在20MHz无线信道中。TRMM相关工作:噪声去除因为频繁的切换内部CSI参考等级,发射功率等级和传输速率,商用的Wifi网卡所提供的CSI数据不可避免的会有噪声。要用CSI值来识别按键,就必须先要从CSI时间序列中移除噪声。为此,Wikey系统会首先将CSI时间序列送入低通滤波器中来移除高频噪声。但是简单的低通滤波器无法有效地滤除噪声,而严格的低通滤波器会在移除噪声的同时造成信号中有用信息的损失。因此,Wikey系统对滤波后的序列又运用了主成分分析(PrincipalComponentAnalysis(PCA)),从信号中提取了只包含由手部的运动所引起的变化信息。10相关工作:低通滤波Wikey系统对所有载波的CSI时间序列都进行了巴特沃兹滤波:11(a)是一次按键所产生的原始CSI时间序列幅度波形图,(b)是滤波后的CSI时间序列波形图。可以看出通过巴特沃兹滤波成功的滤除了大部分突变噪声。相关工作:主成分分析(PCA)作者通过多次实验发现当用户的手部和手指运动时,会导致每对发射-接收天线对之间的所有载波上的CSI时间序列相关性的变化:12Wikey系统会权衡这些变化的相关性,计算出整个整个CSI时间序列的主要成分,并且从这些主要成分中筛选出那些最能代表整个CSI时间序列普遍变化的主要成分。相关工作:解决问题1:分辨出每次按键动作的开始时间点和终止时间点13现有的方法都是使用简单的阈值算法来判断一项动作的开始时间点和结束时间点,这些方法对于一些宏观运动很有效果,但是对于例如手指按键盘这种时间间隔很小的连续操作往往不奏效。与传统方法使用简单阈值不同,本文提出了一种严格基于实验观测出的按键波形形状的新算法,具有更高的识别率。通过实验观测发现,每一个按键产生的CSI序列都表现出某种类似于下图的特定变化率的上升或下降的趋势。本文的算法在此基础上,使用滑动窗来检测CSI时间序列的上升/下降趋势,从而判断出按键动作的开始/结束时间点。相关工作:14首先,计算序列的每个值在宽度为W的窗内的平均绝对值误差(MAD)将第一步中求得的所有MAD值求和,算出长度为p的序列的综合变化尺度将第二部求出的和经验阈值Thresh进行比较比较当前的δj和上一个状态的δj-1重复上述4个过程,直到变化率iu和du超过设定阈值拿开始到结束这段时间段内时间序列的总能量和总能量阈值做比较相关工作:解决问题2:特征提取为了区分不同的按键,我们必须提取出能够独立的代表某个按键的特征:1516表一中可以看出,相邻的按键的很多特征值其实是几乎一样的,完全达不到区分不同按键的目的。虽然一些像Energy,ZeroCrossings的特征量看起来是有一定差异性的,但是从表二可以看出这些量因为使用者的不同具有很大随机性。鉴于此。以上统计特征不能拿来作为建立分类器的标准。而单纯的频域分析也不可行,因为不同按键在频域的组成成分十分接近。并且,单纯的频域分析会丢失波形的时域信息。相关工作:解决问题2:特征提取17通过实验观测发现,不同按键的波形形状有很大的不同,如上图(a),图(b)所示。按键产生的波形的形状,既保留了信号的时域信息,又包含了信号的频率信息,因此更加适合被用作建立分类器的特征。相关工作:解决问题2:特征提取18直接用提取的按键波形形状作为按键的特征来建立分类器的过程中会付出很大的计算代价,因为每一次按键对应的波形都有几百个数据点。因此,文章选用离散小波变换(DiscreteWaveletTransform-DWT)在保留了时域特征和频域特征的同时,压缩了提取出的按键波形数据量。任一离散信号y[n]的离散小波变换可以写成小波基函数的形式:相关工作:解决问题2:特征提取19直接用提取的按键波形形状作为按键的特征来建立分类器的过程中会付出很大的计算代价,因为每一次按键对应的波形都有几百个数据点。因此,文章选用离散小波变换(DiscreteWaveletTransform-DWT)在保留了时域特征和频域特征的同时,压缩了提取出的按键波形数据量。任一离散信号y[n]的离散小波变换可以写成小波基函数的形式:j/2j,(t)(t)2(2tk)jk对于已经构造出的母小波,产生的小波函数相关工作:解决问题2:特征提取20为了有效地完成数据压缩,必须合理的选择小波基地。文章比较了两种不同的小波滤波器DaubechiesandSymlets。最终选择了Daubechies小波滤波器,因为使用这种滤波器时分类器具有更高的识别率.相关工作:解决问题3:分类21在获取了基于DTW的按键波形形状特征之后,Wikey系统会针对不同的按键特征进行训练,并生成分类模型。这里,文章中选取了著名的dynamictimewarping(DTW)算法。DTW算法是一种可以获取任意两个矢量(或者波形)之间最短校准距离的动态调整算法。选取参数:localpathconstraintsof27,45,and63degreeswhiledeterminingminimumcostwarpingpathbetweentwowaveforms。相关工作:解决问题3:分类22对上述提取的按键波形特征进行DTW分析,发现a中不同的用户键入“i”的DTW距离是18.79,b中,不同用户键入“o”的DTW距离是19.44。但是,a和b之间的平均DTW距离是44.2。系统评测23按键动作监测实验:越黑代表丢失率高。10位参与测试者的平均按键识别率为97.5%。系统评测24按键识别率实验:选择了10位参与者进行实验,将按键与Wikey系统里已经训练好的训练样本库(每个按键的训练样本点数为30)进行匹配,并对识别率进行统计。10位参与者的A-Z的26个字母的平均按键识别率为83.46%,所有37个按键的平均识别率为82.87%。系统评测25按键识别率实验:Wikey系统训练样本库里每个按键的训练样本点数从30提高到80后,识别率有显著提升。A-Z的平均识别率从83.46%提高到96.4%,全部37个按键的平均识别率也从82.87%提高到89.7%。系统评测26按键识别率实验:对简单的句子按键输入进行实验,10位参与者的平均识别率为77.43%。系统评测27按键识别率实验:将Wikey系统样本库中每个按键的样本点数量从30个提高到80个之后,10位参与者的平均识别率也有显著提升:从77.43%提升到93.47%。由此认为:增加训练样本的数量,可以提高Wikey系统的识别率。系统评测Wikey系统的不足之处:28实验环境是无干扰环境(InterferenceFreeSurroundings),但在实际应用场景中往往难以保证信道中不存在任何干扰。实际场景中能否保证按键识别的准确率还有待验证。设备的位置对能否完成按键识别也起着关键作用,实验过程中,作者严格控制发射端和接收端的设备位置、天线角度、信号传输距离等条件保持不变。并且所有横向比较的实验都是在同一天完成的,但实际上这些因素都会决定按键识别的准确率。参与实验的用户都是经过严格训练的,保证了按键的识别率。实际上因为个人习惯的不同,每个人在完成一次按键动作时对信道的激励是不一样的,这样就不能保证稳定的识别率。总结和体会这篇文章知识面覆盖很广:涵盖了特征提取,模式识别,短时语音信号分析,信道分析,人类行为学研究,信息安全等多方面的知识。文章中Wikey系统使用的设备路由器和笔记本是我们生活中随手可见的电子设备。文章中大部分的原理和系统工作流程都阐述的非常详尽,实验验证也比较全面、具体。面对读者可能会提出的质疑,作者没有选择回避,而是正面的列出了系统当前存在的不足,并通过实验进行了验证。29总结和体会文章中多次强调了系统的组成设备十分容易获得,是否会带来安全隐患?文章中只给出了识别率的统计结果,没有给出具体的统计方法?3031