一种基于WiFi信号的生物打字识别方法与流程

文档序号:17725781发布日期:2019-05-22 02:30阅读:648来源:国知局
一种基于WiFi信号的生物打字识别方法与流程

本发明涉及生物识别技术,具体而言,涉及一种基于wifi信号的生物打字识别方法。



背景技术:

基于打字行为的生物识别技术在传统的密码方案和基于pin的身份验证方案之上提供了额外的安全级,这些方案通常容易受到肩膀冲浪(一种通过记录肩膀动作来探测用户行为的攻击方法),按键记录恶意软件和基于视频的攻击。所有这些方案都基于这样的假设,即每个用户都有独特且一致连续的打字行为,并且攻击者很难准确地复现该行为。现有的基于打字的生物识别方案已经使用用户打字时按键之间的时间延迟或用户键入的手的视频之类的模态,以捕获键入行为的独特性。

在过去几年里,几种基于wifi信号的人体感知系统被提出来,通过利用人的动作引起的wificsi的变化来识别不同的活动和/或姿势。最近,一种击键识别方案被提出来,其使用csi值的变化在打字速度较慢的情况下,检测不同用户的键入行为。但是,他们的方案旨在识别用户按下哪个键,而不是为用户身份验证/识别应用获取生物识别信息。此外,上述技术的一个关键限制是它们需要针对键盘的每个不同位置和方向重新训练机器学习模型,这使得获得稳定的基于csi的生物打字识别信息变得不实际。尽管理论上可以要求用户在所有可能的环境下提供他们的打字行为的训练样本,然后在所有可能的环境中为他的打字行为建立机器学习模型,但实际上这是不可能的,因为要收集的训练样本的数量实在是太大了。



技术实现要素:

针对现有技术中存在的问题,本发明提出了一种基于打字的生物识别技术的新方法,通过利用用户的手和手指在打字期间的动作引起的wifi信道状态信息(csi)的变化来捕获用户键入行为的独特性。

本发明的目标是设计一种方案,以使用wifi信号获得稳定的生物打字识别信息。为此,提出了一种基于wificsi的生物打字识别方法,该方法对于用户笔记本的位置和方向的变化表现稳定。方案仅需要两个支持wifi的设备,一个用于持续发送信号,比如路由器,一个用于持续接收信号,比如笔记本。当用户在笔记本上打字时,由于无线信号的多路效应,手指的动作将引起周围wifi信号的尽管很小但是可测的变化。甚至不同的用户在输入相同的短语时也具有不同的输入行为,从而引起wifi信号的不同的可测量的变化。基于某个用户打字引起的wifi信号变化的独特性,即可以识别或验证该用户。与其他生物识别方案(如指纹,面部或语音)不同,它是非隐私侵入性的,不需要任何额外的硬件,可以轻松部署在现成的商用(cots)wifi设备中。

有益效果:本发明基于csi的生物识别方案适合用作多因素用户认证系统中的附加认证方案,主要针对相对稳定的环境设计的方案,例如家庭或办公室环境。假设当用户输入密码时,身体的其他部位不会剧烈运动,因为它们会干扰打字活动引发的信号变化。然而,用户以自然的打字速度和自然的身体动作进行输入。本法明的基于wifi信号的生物打字识别方案,它利用不同用户打字行为对应的csi信号变化的独特性。首先,在理论上证明从csi信号的一阶差分(即微分)的振幅中提取的打字波形可以被归一化,以获取对笔记本的位置和方向变化具有鲁棒性的打字行为特征,并且对环境的静态变化表现稳定。第二,提出了一种鲁棒的打字波形提取算法,该算法实时检测和提取与用户打字行为相对应的csi波形。第三,提出了一种新颖的的基于深度学习的分类架构,它自动地从csi打字行为波形中学习适当的特征,这能最好地描述用户的打字行为。第四,对于用户识别和用户认证应用,均使用商用wifi路由器和笔记本实现和评估了我们的生物识别方案。

附图说明

图1为本发明实施例的不同d0,i值对应的ai和di(t)的变化图。

图2为本发明实施例的过滤和csi波形提取过程图。

图3为本发明实施例的不同配置下的打字行为样本图。

图4为本发明实施例的csi打字模式探测的快照图。

图5为本发明实施例的cnn架构以及测试环境布置图。

图6为本发明实施例的不同单词的识别性能(tprs)图。

图7为本发明实施例的不同行为簇数目(nb)下的用户认证性能(eers)图。

图8为本发明实施例的对于10个用户平均的不同行为簇数目(nb)下的用户认证性能(eers)图。

图9为本发明实施例的对于10个用户平均(nb=1)的用户认证性能(fars&frrs)图。

图10为本发明实施例的改变训练样本占比对不同单词的影响(eers)图。

图11为本发明实施例的改变训练样本对不同用户的影响(eers)图。

图12为本发明实施例的对于所有8个单词在给定行为簇数目(nb=3)时用户认证性能(eers)图。

具体实施方式

以下结合附图和具体实施例对本发明作进一步详细说明。

本发明具有四个技术创新点。第一个技术创新是提取基于csi的打字行为特征,使其对用户笔记本的位置和方向的变化具有鲁棒性,同时也适用于环境的静态变化(例如房间家具布置的变化)。为了解决这一挑战,我们理论上证明,从csi信号的一阶差分(即微分)的振幅提取的打字波形可以被归一化,从而实现上述鲁棒性,只要用户距离wifi接收器设备较近,这是一个对于笔记本电脑成立的假设。该证明构成了我们的生物识别方案的关键基础,因为它避免了要求用户为其笔记的所有位置和方向提供训练样本的不方便性。此外,该证明允许我们使用在少量配置下获得的用户训练样本来构建稳定的用户特定的打字行为模型。

第二个技术创新是需要实时地分离打字引起的csi变化和具有噪声的csi。为了应对这一挑战,我们结合使用中值,指数移动平均值(ema)和butter-worth低通滤波器来消除csi流中的高频突发噪声,然后利用不同发送-接收(tx-rx)天线流的多个子载波之间的相关性,使用主成分分析(pca)来去除无关的csi变化。

第三个技术创新是需要实时地从降噪和压缩过的csi时间序列中提取打字行为对应的csi特征。为了解决这一挑战,我们使用一个实时的超椭球聚类异常事件检测技术来确定csi变化的起点和终点。这些起点和终点之后被用来提取与打字行为相关的csi波形。由于csi值以高频率被采样,用于捕获最大量的输入行为的信息,因此需要压缩csi时间序列,从而使得我们方案中的分类模块更快地实时处理。为了从压缩过的csi波形中获取打字行为信息,我们对提取的csi波形使用离散小波变换(dwt)方法,该技术在时域和频域中都保留了细粒度生物识别的必要信息。

第四个技术创新是设计一种强大的分类技术,可以同时实现用户认证应用的低错误拒绝率(frr)和错误接受率(frr),以及用户识别应用的高正确率(tpr)。为了实现这一点,我们使用基于层次聚类的方法划分输入行为的csi样本,因为一个用户可以具有多个不同的键入行为,即使在输入相同的短语时也是如此。我们在层次聚类期间使用动态时间扭曲(dtw)作为度量标准进行比较。然后,我们训练对应于每个簇的分类器,其中每个分类器都要解决一个n-分类问题。对于识别应用,n等于数据库中的用户数。对于身份验证应用,n等于2,其中一个类对应于合法用户,另一个类对应于非法用户。我们结合使用多层感知机(mlp)和卷积神经网络(cnn)进行分类。对于身份验证应用,每个cnn分类器在训练期间使用非法样本数据库,该数据库通过收集超过13000个样本构建而成,这些样本对应于70个用户11个位置的几个不同的活动(例如,走路,在桌面上工作,在笔记本上随机打字等)。此外,为了提高分类的鲁棒性,我们为每个簇集训练一个分类器集合,通过多数表决来组合集合中所有分类器的决策。我们的分类方案的主要优点之一是它自动学习适当的特征(通过神经网络的多层学习),这可以最好地描述真实用户的打字行为。而且,我们的方案对于同一用户不同打字行为样本中的轻微延迟和失真具有鲁棒性。

实验结果总结:我们收集了来自10名志愿者的8个不同单词的6000多个样本,以针对用户识别和认证应用测试我们的方案。对于用户识别,我们的方案可实现高达96%的准确率。对于用户认证,一个相对困难的问题,我们的方案实现了小于15%的等错误率(eer)。

多重认证:几种多重认证技术被提出,这些技术要求用户提供除了用户名和密码之外的其他信息以便为计算机系统实现额外的安全级别。这里,我们简要提一下基于用户输入行为的技术,这些技术与我们的工作最相关。与我们的想法类似,基于用户输入行为的身份验证方案也利用了这样一个事实:恶意用户通常很难准确再现用户的打字行为。然而,我们是第一个利用基于wificsi生物识别技术为多重用户认证设计实用解决方案的。此外,与其他生物识别认证系统(如指纹,面部或语音)不同,我们的方案是非侵入性的,不需要任何额外的硬件,可以轻松部署在cotswifi设备中。

无需设备的活动识别:基于射频(rf)信号的无设备活动识别方案使用rf信号来识别环境中的人类活动。在这里,我们主要关注与我们工作相关的使用cots硬件的基于csi的技术。从cotswifi网络接口卡(nic)(例如intel5300和atheros9390)获得的csi值最近已用于活动识别。nandakumar等人,利用现成wifi设备的csi和rss信息对四种手势进行分类:推,拉,撬动和出拳动作。wang等人,提出使用csi值的wihear系统,在用户说话时识别嘴的形状以检测一个人是否正在说出预定义的九个音节中的一个。kamran等,提出了一种击键识别方案,该方案在用户打字速度较慢的情况下,使用csi值的变化来检测不同用户的击键行为。然而,他们的技术侧重于用户按下哪个键而不是当前用户的身份,并且该方案需要对键盘的每个不同位置和方向重新训练机器学习模型。据作者所知,我们是第一个提出基于wifi信号的生物识别方案的人,该方案对用户笔记本的位置和方向的变化具有鲁棒性,并且环境的静态变化不影响该方案的效果。

基于csi的生物打字识别技术的工作原理:

wifi设备通过测量信道状态信息(csi),来提供关于周围无线信道特征的详细信息。ieee802.11a/n/ac中使用的正交频分复用(ofdm)通信方案将无线信道划分为多个调制的子载波。为了最大限度地利用无线信道容量,wifi设备会持续监测这些子载波的csi值的变化,然后用于实时调整传输功率和速率。csi值包含每个发送-接收(tx-rx)天线对之间的每个子载波的频率信道的信道频率响应(cfr)的细粒度信息。当用户敲击键盘时,手和手指的动作改变了笔记本接收的wifi信号的相干模式。csi值对这些击键动作足够灵敏,因为csi的测量是以高采样率从每个tx-rx流的多个不同ofdm子载波获得的。例如,用于实现我们的方案的intel5300wifinic的驱动程序,在每次测量csi时报告每个tx-rx天线对的30个ofdm子载波的csi值。从而每个csi样本会得到30个矩阵,矩阵大小为mt×mr,其中mt和mr分别表示发射和接收天线的数量。即便打字只引起了csi的微小变化,这种细粒度的信息也能够使我们获取该打字行为的详细信息。

鲁棒性证明:接下来,我们从理论上证明,从csi信号的一阶差分(即微分)中提取的输入波形可以被归一化,以提取稳定且一致的输入行为特征,只要用户输入时接近wifi接收器,该假设适用于笔记本环境。对于具有频率f(或波长λ)的子载波,对应于tx-rx天线对的无线信道的时变cfr可以量化为:

在上面的等式中,n是接收端信号的多路反射的数目,di表示由第i路反射经过的距离,k是依赖于环境的比例常数。hs(f)是对应于所有非用户多路反射的cfr静态分量,而右侧的第二项对应于用户在笔记本输入时的cfr动态分量,表示为hd(f,t)。

现在,让我们假设用户的笔记本放置在距离路由器的距离d0,i处,而di(t)是在打字期间的第i个反射路径经过的距离的变化。为了使我们的方案能够抵抗环境的静态变化,我们首先将上述方程对t进行微分来消除hs(f),并将di(t)=d0,i+di(t)替换为:

由于打字过程中由手和手指的运动引起的di(t)大约在几厘米的数量级,而d0,i通常在几米的数量级,我们可以通过二项式展开来扩展负的指数项在二项式展开后,丢弃中的n>=4的项,经过一些代数运算,我们得到h'(f,t)的以下表达式:

将求和里的项转换为极坐标,并丢弃中n=4或更高的项,我们得到h'(f,t)的以下简化表达式:

图1是不同d0,i值对应的ai和di(t)的变化图。

其中,图1显示了ai关于di(t)的变化,当di(t)在1cm到20cm之间变化(这是对于笔记本输入的典型的范围)时,对于不同的路由器-笔记本距离d0,i范围(3m到10m,即常规家庭/图书馆/办公室用例的典型情况),我们观察到di(t)的变化对ai的值的影响并不显著。此外,随着笔记本与其连接的路由器之间的距离增加,di(t)对ai的影响会进一步降低。因此,我们可以放心地估计并将h′(f,t)写为:

当用户的笔记本被放置在某个平面上并且保持不动时,上面等式右边的第一项保持不变,例如桌子。然后,cfr的幅度即|h'(f,t)|可以写成:

若用户的输入行为是一致的,那么对应于他的输入行为,波形将保持不变。因此,从|h'(f,t)|中提取的不同打字行为样本中的比例常数c0,i可以通过归一化轻松消除。图3显示了同一个用户针对两种不同笔记本放置方式提取的打字行为样本。

csi信号处理:

为了实时获取打字的生物识别信息,我们使用一个基于客户端-服务器的机制,以将从wifinic提取的csi值传送到基于matlab的csi处理服务器。根据计算到达的csi数据的一阶差分,然后取其振幅,即|h'(f,t)|来做进一步处理。因此,从现在开始,只要我们使用首字母缩略词'csi',它都指的是|h'(f,t)|。我们使用两个分离的缓冲区(b1,b2)来批量处理实时的csi数据。当新的csi数据到达matlab服务器时,缓冲器b1中的csi数据被持续过滤掉噪声。然后,我们的打字波形检测算法找到b1中持续更新和过滤的csi数据中任何与打字相关的变化的起点和终点。缓冲区b2包含b1包含数据的原始数据。一旦检测到打字波形的起点和终点,就从b2中提取对应于该打字波形的原始数据。然后对提取的波形使用与b1中数据过滤过程类似的方法单独过滤掉噪声,以最终获得打字行为样本。图2展示了该方案的噪声过滤和输入波形提取过程的流程图。接下来,我们简要讨论其中的噪音去除过程。

移除噪声:

由于硬件限制(例如低分辨率模数转换器(adc))以及由于传输功率和速率的变化,商用wi-fi网卡会报告包含噪声的csi值。为了消除高频和突发噪声,我们对csi时间序列使用了一组低通滤波器。基于打字影响多个子载波的csi时间序列的观察,我们使用基于主成分分析(pca)的过滤器,从而只有由于手和手指移动而导致的变化被捕获。

从wi-finic收集的csi流包含突发噪声和尖峰。我们使用中值滤波器和指数移动平均滤波器的组合来消除csi时间序列中的这种突发噪声和尖峰。在这个基本过滤步骤后,我们使用butterworth低通滤波器来进一步消除csi信号中的任何高频变化。在打字过程中由于手和手指的移动引起的低频变化,通常在1hz到5hz的范围内。我们使用butterworth低通滤波器将这些变化与csi值中的高频噪声分离。由于butterworth滤波器的最大平坦幅度响应(maximallyflatamplitude),其在csi时间序列上的应用不会改变打字引起的csi变化的形状。我们的方案以频率fs≈1000对csi值进行采样。因此,我们使用截止频率ωc=2π*ffs≈0.62rad/s进行butterworth过滤。我们对所有子载波的csi时间序列使用相同的滤波器,确保每个csi流经历相同的相位失真(phasedistortion)和过滤过程引入的群组延迟(groupdelay)。

根据我们的实验结果,我们观察到过滤过的csi波形仍然保留了一些与打字无关的噪声变化。我们避免对csi流使用更多的低通滤波,因为它可能导致丢失打字行为引起的变化中的一些细节。为了消除这种噪声,我们遵循中提出的技术,并利用每个tx-rx天线对中的多个子载波的csi流的csi变化相关的事实。我们对tx-rx流中的所有子载波获得的csi流应用pca,并且仅保留表示所有子载波中最常见的变化的波形,即打字引起的波形变化。基于pca的降噪使我们的方案能够获得打字行为的代表性信号。此外,pca还通过丢弃与打字行为无关的主成分来对数据降维。由于pca组件按其方差的降序排列,而噪声具有很高的方差,因此第一个pca投影通常是包含噪声最多的。因此,我们丢弃数据的第一个pca投影。我们通过实验观察到,如果在处理特定批次的数据时由于打字引起的变化大于噪声本身,则前两个pca组件通常在pca过程中交换排列位置。

图4为csi打字模式探测的快照图。

为了解决这个问题并丢弃数据的前2个pca投影中的包含噪声的投影,我们将这些投影数据向量在时间上划分成多个小区间。噪声投影的区间方差高于噪声较少的相应投影区间的方差。那么,我们通过比较两个投影的各个区间的方差,然后舍弃包含最多的较高方差的区间的投影。

在丢弃包含噪声的plc组件之后,缓冲器b1中的csi数据仅被投影到剩余的前3个pca组件上,然后该3维的数据流被发送到打字波形检测模块。之后,如果检测到打字波形,则从b2缓冲区提取的相对应的数据,在通过同一组低通滤波器进行过滤后,被投影到剩余的前5个plc组件上,然后所有的投影数据流被加到一起来获得打字样本。

csi波形的提取:

打字波形的提取:为了开发鲁棒的打字波形提取算法,我们采用一个实时的异常检测方法,使用在线的超椭球聚类技术来检测csi时间序列中的打字事件。令rk={r1,r2,...,rk}为包含降噪时选取的pca投影的前k个csi向量的样本集合。每个样本ri是rd中的d×1向量,其中d是在降噪时选择的pca投影的数量。超椭球异常值检测聚集正常的数据点,并且位于该簇外部的点作为异常值。簇的边界(在这种情况下是超椭球)与距离度量相关,该距离度量是输入的csi数据rk的平均值mr,k和协方差sk的函数。超椭球聚类中的距离度量被称为马氏(mahalanobis)距离,di,其中的簇可以表示为:

其中ek是正常数据点集合,其马氏距离满足,di<t,t是超椭球的有效半径。t的选择取决于正常数据点的分布。如果正常数据遵循卡方分布,则已经表明,如果选择有效半径t使得t2=(χd)0.98-1,则超椭球的边界可以包括高达98%的正常输入数据。基于环境没有改变时的csi变化的类型和分布,我们经验选择t的值。因此,di>t的数据样本ri被识别为异常值。由于存储数据流的所有样本通常是不实际的,因此我们需要增量算法来更新ek。设rk+1是最新的csi样本。mr,k+1=(kmr,k+rk+1)/(k+1)和可以通过之前的平均值增量更新。通过将协方差矩阵带入等式(4),我们可以全部使用平均值来表示ek。最终的等式用于更新聚类边界,并将传入的数据样本分类为正常读数或异常值。我们的方案使用上述方程来初步估计均值和协方差。然后,使用指数移动平均方法增量计算平均值mr,k,其中平均值mr,k+1更新为mr,k+1=αmr,k+(1-α)rk+1,在我们的实现中α=0.9995。此外,在协方差的初始估计之后,通过使用以下等式,我们增量式更新协方差的逆这避免了协方差矩阵s的逆所需的额外计算。

然后,为了确定打字波形的开始和结束位置,我们使用检测到的异常值的基数和时间接近度。如果连续异常值的数目超过阈值e1,我们就声明一个微事件。多个微事件构成了打字事件。构成微事件的数据点以及连续微事件之间的点被记录为打字波形(合并)的一部分。我们只合并彼此间的e2数据点内的微事件。我们对缓冲器b1中的csi流执行上述操作。一旦检测到打字波形的起点和终点,就从缓冲器b2中提取相应的数据并通过低通滤波进行处理。然后,在丢弃有噪声的plc组件之后,将经过滤的多维打字波形投影到剩余的前5个pca组件上,并且将所有投影的流加在一起以获得最终的打字行为样本。已经作为一个完整打字行为波形的一部分提取的b1和b2中的csi数据在这些缓冲区中被标记以避免冗余。

波形压缩至csi图片:在提取输入波形之后,我们的方案使用dwt进一步压缩提取的输入波形以获得压缩的csi波形,以构建用户特定的输入行为档案。该压缩步骤确保了分类过程的较低计算复杂性,同时实现了合理的frr和far。我们选择daubechiesd4(每个滤波器四个系数)小波和缩放滤波器,以使用dwt实现所需的压缩。我们只保留dwt提供的低频分量或近似系数,并丢弃高频分量或细节系数。因此,基于dwt的压缩还有助于去除任何剩余的高频噪声。最后,我们对所有csi波形用0填充(如果需要),使其长度恰好为600个样本。除了使用这些csi波形作为形状特征之外,我们还获得了对应于这些波形的1024个点的快速傅里叶变换(fft)的前150个样本来构建我们的cnn模型。

处理多种行为:csi值对用户的打字行为比较敏感。由于每个用户在输入任何短语时都可以有多种打字行为,我们使用带有动态时间扭曲(dtw)的层次聚类作为特征之间的比较度量,来将训练数据中的合法用户划分为ch个不同的簇,以使这些簇中的样本与其他簇之间一致。在训练阶段,为每个簇训练单独的分类器。图5为cnn架构以及测试环境布置图。在测试阶段,测试样本发送到对应于每个不同簇的分类器,并且如果这些分类器中的任何一个接受测试样本是合法的,则接受其登录。在实践中,用户可以向系统提供可能的打字行为(nb)的数目。

分类器训练:我们为两个特定的应用程序训练我们的分类器,即用户验证和用户识别应用。我们的基本分类技术在两种情况下类似。然而,认证应用的训练过程和分类器架构与识别应用的略有不同。

我们将我们的方案的分类过程视为一个n-分类问题。对于识别目的,n等于数据库中的用户数目。对于身份验证,n等于2,其中一个类对应于合法用户,另一个类对应于非法用户。我们使用多层感知器(mlp)和卷积神经网络(cnn)的组合进行分类。选择基于神经网络的分类架构的一个主要原因是它们可以自动学习适当的特征,从而能最好地区分用户(即识别)或合法/非法样本(即认证)。这些特征是通过神经网络的不同层的核的权值矩阵所学习到的。此外,cnn具有平移不变的性质,这使得我们的方案对同一用户的不同样本中的轻微延迟和失真具有鲁棒性。

图5(a)显示了基于神经网络的分类器的详细架构。它由2个处理链组成。首先,我们输入打字行为样本的快速傅里叶变换(fft)。对于第二链,我们输入打字行为样本本身(即波形的形状)。第一个处理链由4个全连接(fc)隐藏层(不包括合并和输出层)组成。第二处理链由5个隐藏层组成,即3个卷积层(其中每个卷积层后面跟着2×2max-pooling层)和2个fc层。最后,我们使用两个fc层来合并两条处理链。除了最后一个fc层之外,我们都是用relu作为激活函数。对于最后一个fc层,我们使用softmax激活函数。最后,我们使用交叉熵损失函数和l2正则来计算cnn的分类误差。如前所述,我们为每个ch不同的簇构建一个单独的分类器,使用层次聚类将特定用户的打字数据划分到该分类器中。对于每个簇,我们构建一个分类器集合。每个分类器集合由d个分类器组成,并且基于所有的这d个分类器的多数表决进行最终决定。这个过程分别对每个行为的簇分别进行的。我们在实现中选择了d=10。

对于用户识别,我们简单地使用数据库中所有用户的训练样本训练我们的分类方案。在测试阶段,我们的方案确定测试样本属于哪个用户。但是,对于用户身份验证场景(例如登录笔记本电脑),通常无法从假冒者那里获取训练样本。其他生物认证系统,例如基于面部或指纹的技术,使用非合法用户的样本组成的巨量数据库来训练分类器。为了解决这个问题,我们使用从11个不同位置的70个不同用户收集的超过13000个样本来构建一个非法样本的大型数据库,这些样本对应于不同类型的活动(例如,走路,在桌子上工作,在笔记本电脑上随机打字等)。图6为不同单词的识别性能(tprs)图。此外,我们也将合法用户数据的扭曲版本作为非法样本。为了实现这一点,我们通过粗略地拟合合法用户训练数据的csi波形,使得拟合曲线的形状是实际样本的显著变形版本,来合成非法样本。由于非法样本与合法样本相比数量巨大,因此分类时可能存在类别不平衡问题。为了解决这个问题,我们在训练过程中将类的权值加入到交叉熵损失函数中。

我们用现成的硬件设备实现了我们的方案。具体来说,我们使用lenovox200笔记本,该笔记本配备intellink5300wifinic作为接收器,连接到x200笔记本的三个天线。我们使用netgear6300v2wifi路由器作为发射器,工作频率为5ghz。发射器有2根天线,接收器有3根天线,即mt=2和mr=3。房间的布局如图5(b)所示。平均而言,csi值以~1000个样本/s的高速率被采样。这导致从csi时间序列中能更好地去除噪声,并且还有助于获取更高分辨率的输入行为波形以实现更好的分类准确度。

为了评估,我们收集了来自10个用户的训练和测试数据集。这10名用户是自愿参加实验的普通大学生,在获得我们大学的机构审查委员会(irb)的批准后被招募。我们要求每个用户输入以下常用英语单词:w1=“about”,w2=“every”,w3=“some”,w4=“from”,w5=“education”,w6=“looking”,w7=“number”,w8=“between”。对于每个用户,我们收集了超过3天的数据(因为用户输入行为可能随时间变化),以及多种不同的配置下的数据。在数据收集过程中,我们允许周围环境的变化,例如桌面上物品的重新摆放等。此外,在上述的每个数据收集实验中,我们要求用户自然打字,但打字时尽量不要剧烈移动他们的头部或其他身体部位。每天每个用户需要输入每个短语20-30次。我们还从11个不同位置的70个用户收集了超过13000个样本,对应于几个不同的活动,以建立非法样本数据库。图7为不同行为簇数目(nb)下的用户认证性能(eers)图。图8为对于10个用户平均的不同行为簇数目(nb)下的用户认证性能(eers)图。

对于身份验证,我们使用错误接受率(far),错误拒绝率(frr)和等错误率(eer)来量化方案的性能。我们将eer表示为实验中far和frr值的最大值。对于识别,我们使用混淆矩阵来量化该生物识别方案的真实正例率(tpr)性能。由于用户识别是相对简单的分类问题,因此我们在评估中更多地关注用户身份验证的性能。

用户识别的性能评估:

图6展示了我们方案的对于不同单词的用户识别性能(tpr)。在这些实验中,我们从每个用户的打字行为样本数据库中获取80%的数据用于训练。此外,我们选择行为簇的数目nb=2。对于识别,每个用户的15个不可见样本用于测试。图7展示了对应于单词“every”和“education”的用户识别性能的混淆矩阵。一般而言,我们观察到较简单的单词具有较低的tpr性能,反之亦然。在输入“education”之类的单词时提升的识别准确率可以归因于以下事实:这些单词相对”every”这种输入简单的单词而言,打字较困难且较长,这使得每个用户的打字行为更容易与其他用户区分开来。

用户验证的性能评估:

在本小节中,我们将评估用户身份验证的性能。我们首先展示可能的行为簇数nb等于1时的结果。在这种情况下,我们的方案假设每个用户有一个一致的键入行为并且设置最大允许的行为簇ch为1。之后,我们展示了多个场景的结果允许不同的打字行为,特别是当nb分别设置为2和3时。对于每个实验,我们重复5次,每次重复都随机选择一组训练样本。此外,在这些实验中,我们将80%的合法用户样本用于训练。在测试合法用户键入特定单词的性能时,所有其余用户或者说“攻击者”键入的单词对应的打字行为样本用于计算far,以及合法用户的剩余20%样本用于计算frr。图9为对于10个用户平均(nb=1)的用户认证性能(fars&frrs)图。

不使用行为聚类:图8展示了10个用户上平均的对于所有8个单词(即w1到w8)的eer性能,nb=1,2,3。我们观察到,对于8个单词中的7个,当nb=1时(即没有行为簇),eer最高。图9给出了在超过10个用户上平均的nb=1时不同单词的far和frr的性能。可以观察到,对于每个不同的单词,far始终高于frr。这是因为每个用户在键入相同的单词时表现出多种不同的行为。这种行为导致更多的类内变化(训练样本不一致),这使得分类器难以在训练阶段区分合法样本和非法样本。对于nb=1,观察到所有单词和用户的平均frr和far分别为5.91%和14.63%。接下来,我们展示增加行为簇的数量如何提高身份验证性能。

使用行为聚类:图7显示了当nb从1变为2时,所有10个用户的不同单词的eer身份验证性能。为了展示每个用户对不同nb值的性能,我们给出了单词w1=about,w5=some,w5=education和w7=number的结果。从图8和图7中,我们观察到,对于大多数单词,eer随着我们将行为簇的数量从1增加到3而降低。这是因为层次聚类模块将训练数据划分为多个不同的簇,每个簇现在包含对应于一个用户的不同行为的更一致的训练样本。然而,我们也观察到(例如图8中的单词4,7和8以及图7中用户9键入的单词3和5),当nb=3时,eer最终高于nb=2或nb=1。这是因为将训练样本划分为多个簇减少了每个簇的单个分类器有效训练所需的训练样本数目,这有时会导致更高的frr(例如,对于nb=3,用户5在键入单词4(“education”)时的frr,高达66%,如图12所示。

单个单词和用户的准确率:我们在所有10个用户和所有测试单词中实现了小于20%的平均eer。从图8中,我们可以观察到,对于nb=1,2和3,每个单词的eer(在所有10个用户中的平均值)保持低于20%,16%和15%。此外,我们观察到用户认证的eer性能依赖于词和用户。图12展示了在nb=3时所有用户所有单词的eer性能。例如,从图8中,我们可以看到对于7号单词,7号用户的表现非常好(eer<5%),但用户2相对较差(eer~20)类似地,对于单词4,用户4表现得非常好(eer<5%),但用户5表现不佳(eer>35%)。

图10.改变训练样本占比对不同单词的影响(eers)。图11.改变训练样本对不同用户的影响(eers)。图12.对于所有8个单词在给定行为簇数目(nb=3)时的用户认证性能(eers)。

我们还注意到一些用户的表现始终优于其他用户。例如,用户7的平均eer保持低于8%。然而,与用户8相比,用户5的平均eer高于23%。这些现象(即用户和词依赖性)可归因于用户键入他/她的单词时的一致性水平,以及特定用户在键入某个单词时产生的csi波形的可微性。与其他用户相比,一些用户键入所有单词时的一致性较低。类似地,与其他用户相比,一些用户可以更一致地键入某些特定单词。键入行为的不一致导致更高的frr。一些单词更简单,并且多个用户在键入这些单词时倾向于生成类似的csi波形,这会导致更高的far。在实践中,用户可以选择他们能够一致性地键入的单词,其足够复杂以在分类阶段实现可分性,因此实现低frr和far。

对于nb=2,观察到所有单词和用户的平均frr和far分别为3.29%和10.69%。类似地,对于nb=3,观察到所有单词和用户的平均frr和far分别为4.25%和11.32%(由于前述现象,略高于nb=2的情况)。接下来,我们将展示当我们改变用于训练的样本百分比时,身份验证性能如何变化。

训练样本的影响:随着训练样本数量的增加,我们实现了更低的认证eer。为了展示训练样本数量变化的影响,我们将选择的用于训练的打字行为样本(ρ)的百分比从每个用户的15%增加到80%(在ρ=15,33,50,65和80时测量性能)。图10展示了在对所有用户平均的情况下,增加训练样本百分比对不同单词的影响。类似的,图11显示了在对所有单词平均的情况下,增加训练样本百分比对不同用户的影响。我们观察到,当我们从点ρ=15%移动到点ρ=33%时,eer急剧下降,而当我们从点ρ=33%向前移动时,eers变化相当缓慢,因为在点ρ=33%处,输入分类模块的训练样本不仅足以涵盖特定用户的所有打字行为,而且足以使分类器更好地区分合法和非法样本。我们实现了对于每个用户,每个单词,约60个训练样本,平均eer便小于15%。此外,我们实现了对于每个用户,每个单词,约24个训练样本,平均eer小于25%。在实践中,用户可以在他们的笔记本的日常使用期间提供更多的训练样本,并且实现甚至更低的eer。

对真实世界攻击场景的评估:我们在两种真实的攻击场景中评估我们的身份验证应用,即肩膀冲浪和基于视频的攻击。在肩膀冲浪期间,假冒者只能近距离观察受害者如何输入他们的单词,但不允许制作受害者打字时的视频。在两种攻击情形中都测试了两个单词,其中每个受害者(u1和u2)被要求键入单词p1=“some”和p2=“every”。每个攻击者都有15次机会进入系统,就像真实的身份验证系统一样会限制一个人在尝试登录系统时可以尝试的次数。每个假冒者都允许欺骗认证系统,我们跟踪了其15次尝试中的成功尝试。在这两种攻击情形中,我们使用从受害用户收集的80%的数据样本来训练分类器。此外,我们选择行为簇的数目nb=2,以便为每个用户的每个行为簇提供足够的训练样本。

在实施例的基于wifi信号的生物打字识别方案,它利用不同用户打字行为对应的csi信号变化的独特性。首先,我们在理论上证明从csi信号的一阶差分(即微分)的振幅中提取的打字波形可以被归一化,以获取对笔记本的位置和方向变化具有鲁棒性的打字行为特征,并且对环境的静态变化表现稳定。第二,我们提出了一种鲁棒的打字波形提取算法,该算法实时检测和提取与用户打字行为相对应的csi波形。第三,我们提出了一种新颖的的基于深度学习的分类架构,它自动地从csi打字行为波形中学习适当的特征,这能最好地描述用户的打字行为。第四,对于用户识别和用户认证应用,我们均使用商用wifi路由器和笔记本实现和评估了我们的生物识别方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1