基于声音空间梯度的高稳健性击键识别方法
2020-06-06刘影韩康康钱志鸿
刘影,韩康康,钱志鸿
(1.辽宁工程技术大学电子与信息工程学院,辽宁 葫芦岛 125105;2.北京邮电大学电子工程学院,北京 100876;3.吉林大学通信工程学院,吉林 长春 130022)
1 引言
电子设备和机械设备信号泄露一直是安全领域广泛关注与重点研究的问题[1]。早在1910 年,德国科学家就在法国的电话线上进行了实验[2]。1943 年,贝尔电话公司的一名工程师在使用131-B2型贝尔电话时,用示波器发现了电磁信号,这是美国陆军和海军用来传输战时通信对抗德国和日本密码分析的绝密加密电传终端[3]。研究人员通过提取和破译设备产生的电磁干扰来窃听视频显示单元,该种方法在很远的距离或者有障碍物遮挡下都能实现。这种探测之所以能成功,主要是因为使用了精密仪器,这也增加了部署难度[4]。
智能手机终端除了具备通话功能外,也具备了PDA 的大部分功能,还为软件运行和内容服务提供了平台,此外,各种传感器的显著增长使这些设备能够与周围的事物积极互动,并以非预期的方式使用。事实上,恶意软件可能会进入智能手机的摄像头并拍摄照片或视频,或者激活麦克风录制环境声音。近年来,键盘成为计算机系统中人机交互的常用工具,通过键盘输入的内容可以从智能手机麦克风获取的声音和加速度传感器的振动中恢复。当目标用户敲击键盘(以下简称击键)时,就可以记录下这些信号信息,根据收集的数据来恢复击键。如果这些信息被攻击者获取,将会给用户带来极大的危害。因此,针对键盘击键内容的研究对反监听有着重要意义。
迄今为止,研究人员提出了一系列的方案来识别用户击键内容,根据用户击键产生不同的音频信号,进而根据获取的音频信号可识别用户输入的文本信息[5]。文献[6]使用声音信号来识别用户击键内容,以快速傅里叶变换(FFT,fast Fourier transform)来提取击键信号频谱图上的峰值作为声音信号的特征,通过训练神经网络对击键信号进行识别,准确率为80%。文献[7]通过分析人们在VoIP 通话过程中经常从事的辅助活动(包括打字),再通过传送的音频信息来重建输入——在远程键盘上键入的信息,准确率达到91.7%。由于在实际环境中噪声的影响很大,导致信噪比很小,因此准确率不是很高。文献[8]提出使用基于语义和音频信号感知用户键盘输入的内容,准确率达到95%。文献[4]提出使用同一手机的不同麦克风接收同一击键声音信号的到达时间,通过到达时间差(TDA,time difference of arrival)信息来精确找出按键的位置。利用麦克风阵列,基于到达时间差的传统声源定位算法在最好的情况下能实现厘米级的定位[9],但该类方法需要测量设备具有多个麦克风。
综上所述,基于声音的击键内容识别方法大多是直接提取单个按键的原始音频特征,但该音频特征往往存在时间不稳定性以及空间模糊性,导致提取到的音频信号存在较大误差。因此本文提出一种基于声音空间梯度的击键识别系统(ASGK,acoustic-signal spatial gradient keystroke tracking system),通过多信号空间特征代替已有的单信号空间特征。这种声音信号特征在空间上具有区分性,在时间上更加稳定,即来自邻域的声音信号特征的空间关系比来自单个键的声音信号特征更具有稳健性。例如,如果有语音信号干扰,那么键盘上其他键感知到的声音信号都将会受到影响,从而使相对声音信号变化小于绝对声音信号值。因此,本文提出的声音空间梯度刻画比普通的声音信号特征更加稳定和可识别,因为它可以很好地容忍环境变化和设备多样性引起的声音信号特征变化。
2 声音信号特征提取
语音特征参数提取是影响语音识别系统的关键技术之一。目前,语音特征参数提取大多是基于傅里叶变换或小波变换后提取语音信息,但是傅里叶变换仅包含语音的频率特性,而小波变换包含时域和频域信息[10]。耳蜗倒谱系数(CFCC,cochlear filter cepstral coefficient)特征参数依据人耳听觉特性,具有时域和频域分析的优势,与梅尔频率倒谱系数(MFCC,Mel frequency cepstral coefficient)特征参数和感知线性预测(PLP,perceptual linear prediction)特征参数相比,在抗噪方面和识别效果方面具有良好的性能。因此,本文采用CFCC 特征参数作为音频信号特征。
假设将ω个需要提取声音信号的键描述为k∈(1,ω),每个键的击键声音用P个采样组成,这些击键声音反映了不同键的不同发音和语音韵律等特征。根据CFCC 特征参数提取方法[11],将录入的击键声音信号代入CFCC 听觉变换式,具体定义为
其中,f(t)为时域语音信号为耳蜗滤波函数,具体计算式为
其中,α>0 和β>0 决定的频域形状和宽度,一般取α=3、β=0.2 时降噪效果良好;u(t)为单位阶跃函数;θ为初始相位,控制冲激响应的角度,它的取值一般满足;a为尺度变量,b为随时间可变的实数,一般a可由滤波器组的中心频率fc和最低中心频率fL确定,即。
接下来,对T(a,b)进行变换,得到基于人耳耳蜗的语音为
其中,α=1,F,2F,…,∀i,j,F是帧移,实验中一般取,d=max {3.5τi,20ms}是可变窗长度,是第i个滤波器中心频带中心频率的时间长度,j是窗的个数。
最后将非线性响度变换输出y(i,j)通过离散余弦变换(DCT,discrete cosine transform)式进行变换,去除通道之间的相关性,最终得到CFCC 特征参数为
其中,M为耳蜗滤波器的个数,n为特征变换后每帧特征的维数,0 本文使用手机中的单麦克风感知用户键盘输入的内容,识别工作和娱乐中的计算机活动,ASGK方案架构如图1 所示。具体步骤如下。 步骤1采集多组击键时每个字母的声音信号,并给每组声音信号加上类别标签,形成样本集。 步骤2采用CFCC 的方法提取每个样本的特征参数,与样本的类别标签形成新的样本集,并将其按一定比例划分为训练集和测试集。 步骤3通过BP 神经网络对训练集进行训练,得到训练好的BP 神经网络模型。 步骤4将测试集输入训练好的BP 神经网络模型中进行测试,得到测试集中每个样本的类别。 图1 ASGK 方案架构 步骤5设定一个测试准确率阈值μ(μ取经验值0.95),计算同一类别样本的测试准确率并与阈值μ进行比较,若大于阈值μ则输出类别结果,否则执行步骤6。 步骤6通过计算测试准确率低于阈值μ的γ键与其他键之间的曼哈顿距离及CFCC 差值,构建γ键的CFCC 空间梯度(CSG,CFCC spatial grandent)矩阵,详见3.1 节。 步骤7基于γ键的CSG 矩阵,构建新的训练集和测试集,详见3.2 节。 步骤8根据步骤7 得到新的训练集进行神经网络训练,将步骤7 得到的测试样本集输入新训练好的神经网络中,从结果中选择分类概率最高的类别作为γ键的输出类别,详见3.3 节。 考虑与现有方法的兼容,该方法的输入是基于CFCC 的声音识别系统,其核心贡献是引入了CSG训练集和CSG 测试集。 为了解决CFCC 时间不稳定性以及空间模糊性,ASGK 基于传统的CFCC 音频特征充分挖掘音频特征值相似度中的空间关系限制,并提出了CSG这种新的结构。通常提取到某个键的CFCC 特征值会发生变化,但是它与相邻位置键的CFCC 特征值之差会保持相对稳定。具体来说,G 键与H 键相邻,在t1时刻提取到2 个键的CFCC 特征值值分别为,在t2时刻提取到2 个键的CFCC特征值分别为,尽管在不同时刻收集到同一键的音频特征之间会发生不小的变化,但是相邻键在不同时刻收集到的 CFCC 之差会保持相对稳定,即,这是因为即使CFCC 音频特征会发生改变,但这个改变带来的影响在2 个位置上会比较小,这样就可以找到在变化过程中的一个稳定量。 CSG 是利用键盘上多个键之间的空间特征,而不是单一使用CFCC 特征值来表示的。如图2 所示,对于一个特定的键,CSG 矩阵刻画了该键的CFCC与其相邻几个键CFCC 的相似趋势。 图2 CSG 刻画 对于任意γ键的CSG 矩阵定义为 其中,CFCCγ表示γ键提取的声音信号特征,有P个采样,即;同理CFCCμ表示μ键提取的声音信号特征,有P个采样,即表示γ键和μ键之间的CFCC 差值,即表示γ键和μ键的曼哈顿距离,从γ键周围空间中选择i个键,应该出现在γ键的周围子空间。在特定γ键上的相似度为0,然后增大,对应到γ键的有序物理距离通过实验测试得到。 3.1.1 CSG 的优势 通常,对于2 个相邻键采集到的声音信号较相似,而距离较远的击键信号特征差异较大,CSG的构建关键在于采用较远键的空间特征。当面对信号变化时,各个信号的CFCC 特征值可能发生变化,而2 个键之间存在的某种空间特征(差值)能保持相对稳定。对于一个易受到环境等影响的特定键,CFCC 特征值可能存在着一定的不确定性,当通过CSG 进行刻画后,CFCC 信号相似性的空间趋势预计比单个键的CFCC 本身更加稳定,如图3 所示。G 键和H 键的CFCC 图谱极其相似,当G 键和H 键选择较近键作差时,得到的信号图谱也比较相似。如果G 键选Q 键、H 键选P键作为邻域,相比于G 键选V 键、H 键选N 键作为邻域得到的信号图谱更具有区分性。因此,利用这种CFCC 空间梯度作为更有利的特征,用于声音信号的映射。 图3 几种类别的CFCC 差值 3.1.2 CSG 的实现 每个键的CSG 矩阵都构建在原始CFCC 上,通常每个键的周围都有多个相邻的CFCC。对于任意G 键,首先形成一个包含当前键位置的、距离不超过i个键的所有相邻位置的邻域集合,然后计算G 键与相邻集合中所有键的CFCC 差值。CSG 构建方法为最大化全局梯度的构建方式,即选择曼哈顿距离较远的键作为邻域。根据键盘的形状建立如图4左下侧的坐标系,将每个字母用坐标系上的点表示,以此计算曼哈顿距离。如字母Z 和字母F 的坐标依次表示为(1,1)和(4,2)。曼哈顿距离计算式为。 图4 最大化全局梯度选取 当distance=2 时,以G 键为例,取曼哈顿距离为2 最小的键依次为字母R、字母D、字母V、字母N、字母J 和字母Y,曼哈顿距离为3 最小的键依次为字母E、字母S、字母C、字母U、字母K和字母M。曼哈顿距离由小到大,在字母G 键周围选取一个距离G 键最远的键作为差值样本。 训练集的CSG 构建,建立于第一次所有测试样本预测完成基础之上。例如,对于原始测试集N个样本中的一个样本,神经网络输出小于0.95,测试样本命名为X*。假设取神经网络输出M(M取经验值3)个较大值的类别作为“相似类别”,分别命名为类别D、类别B 和类别F。其后根据图4 中的差值选取规则,选取类别D、类别B 和类别F 的邻域样本,每类有100 个原始样本。将类别D、类别B 和类别F 训练集中原始样本的CFCC值与得到的M个相似类别的邻域集合的训练集样本CFCC 值分别作差,得到新的训练样本集。M=3时测试集和训练集构建如图5 所示。 图5 M=3 时测试集和训练集构建 将X*测试集中原始样本CFCC 值与得到的M个相似类别的邻域集合的测试集原始样本CFCC 值分别作差,得到新的测试集。 基于声音信号的击键内容识别,实质是对击键声音信号进行预测分类,运用分类方法完成从击键音频信号的CFCC 特征数据到击键类别的映射。神经网络方法具有很强的非线性拟合能力,实现具有非线性关系的输入向量到输出向量之间的映射[12]。因此本文分类算法采用神经网络算法。 基于BP神经网络的击键声音特征信号分类算法建模包括BP 神经网络构建、BP 神经网络训练和BP 神经网络分类。1) BP 神经网络的构建根据击键声音信号输入输出数据特点来确定BP 神经网络的结构。在神经网络的设计中,采用三层神经网络的结构,分别是输入层、隐含层和输出层。输入层神经元的个数与输入CFCC特征值个数相同,为400 个;输出层个数与字母类别相同,为26 个;对于隐含层的个数,采用试凑法确定。2) 对于BP 神经网络的训练,用训练数据训练BP 神经网络。共26×110 组击键声音信号,每类100 个样本作为训练数据训练网络,每类剩余的10 组数据作为测试数据训练网络分类能力。输入向量为400×1 的列向量,输出向量为26×1 的列向量,取输出向量最大值的行数作为样本输出类别。3) 测试集的实际分类与预测分类。测试样本共26 类,每类10 个样本,共260 个样本。 1) 实验平台搭建及数据采集 本文实验中使用一部OPPO R7s 单麦克风智能手机和一副星宇-black Window 键盘,手机可放置在点画线上的任意位置,如图6 所示。实验中使用智能手机的用户对单个键盘字母的击键声音进行采集,采样频率为手机系统默认的48 000 Hz。采集样本为26 个字母,每个字母采集110 个样本,其中26×100 个样本作为训练集,26×10 个样本作为测试集。 2) 系统结构介绍 基于声音信号的击键识别系统主要包括信号采集、信号数据处理、分类算法3 个部分。第一部分为信号采集,为手机录下用户敲击电脑键盘上字母的音频。第二部分为数据处理,包括通过巴特沃斯和小波变换对击键音频信号进行降噪处理,其后提取CFCC 特征参数CSG。第三部分为分类算法,主要包括神经网络算法。 3)评价指标 对于击键识别的性能分析,采用准确率和相关系数作为2 个评价指标,计算式分别为 图6 实验平台 1)M参数选择 M取值与判定样本数量之间的关系如图7 所示。当M为1~7 时,曲线增速较快,此时构建CSG 训练样本增加速度较快,可以满足训练样本数量。只要M大小适中,训练样本集的样本数量介于100 左右,对于网络训练迭代次数影响不大。当M为8~26 时,曲线逐渐趋于平缓,即重新判定样本的数量增加较少,但是给构建CSG 样本增加了计算量,使神经网络增加了误判的概率。由此可知,M的取值范围应在1~7,考虑到CSG 的构建与曼哈顿距离有关,因此将2 个参数同时考虑,接下来通过仿真给出最佳的M值和曼哈顿距离。 图7 M 取值与判定样本数量之间的关系 2) 邻域数的影响 对于CSG 的实现关键在于曼哈顿距离的选取,在不同的M取值下,随着曼哈顿距离的增加,准确率的变化趋势如图8 所示。 图8 准确率的变化趋势 由图8 可知,在同一个曼哈顿距离下,准确率不随M取值的增大而增大。因为在同一曼哈顿距离范围内,差值选取过多,空间特征具有更多相似性。在同一M取值下,曼哈顿距离的增大并未导致准确率的上升。所以在进行系统性能准确率提升方面,M取值与曼哈顿距离均需要考虑。当M=3、曼哈顿距离=4 时,准确率最高。 为了验证本文方法的性能,采用CFCC+SVM、CFCC+BP 和CSG+BP 这3 种方法进行对比。本文方法的主要目标是展示CSG 相对于CFCC 特征的优势,由表1 可以看出,CSG+BP 方法的识别准确率达到96.15%,在3 种方法中表现最优。 表1 不同方法对比 本文方法仅基于CFCC 特征就可以获得显著的性能提升,而不需要额外的信息。如果通过附加信息(如多麦克风),则可以轻松地在CSG+BP 方法中实现进一步的性能改进,并且CSG+BP 方法与文献[5-8,13]相比具有较好的性能。 击键声音信号采集环境中的噪声会对击键信号的识别造成巨大干扰,因此在不同实验环境下对击键识别系统性能评估必不可少。图9 为嘈杂环境下信噪比较低的声音样本频谱图,图10 为安静环境下信噪比较高的声音样本频谱图。在这2 种环境下,分别对传统的BP 神经网络以及基于CFCC 差值的CSP 网络进行评估,评估结果如表2 所示。由表2 可知,CSG+BP 比CFCC+BP 具有一定的环境干扰抵抗能力。 图9 嘈杂环境下信噪比较低的声音样本频谱图 图10 安静环境下信噪比较高的声音样本频谱图 表2 不同环境下的准确率 本文提出了一种基于CFCC 空间梯度的击键内容识别方法的设计与实现,该系统在不影响普遍性的前提下,缓解了CFCC 的空间模糊性和时间不稳定性,获得了稳定可靠的性能。其主要思想是利用CFCC 值的空间感知能力,将CSG 表示为增强的声音信号特征,并设计了用于表示、构造所提出的CSG 矩阵的技术,结合BP 神经网络集成为一个完全实用的系统。在不同环境下进行算法验证,实验中分析了M值和曼哈顿距离的选取,并与多种系统进行对比分析。实验结果表明,本文方法准确率达到96.15%,相关系数为0.919 6,均优于CFCC+BP和SVM+CFCC 等当前主流的击键识别算法。3 ASGK 系统的设计与实现
3.1 CSG 的定义
3.2 基于CSG 构建训练集和测试集
3.3 基于BP 神经网络CSG 击键声音特征识别
4 仿真结果分析
4.1 仿真环境介绍
4.2 参数影响
4.3 方法对比
4.4 不同实验环境下系统性能分析
5 结束语