一种基于近超声波的智能手机图案密码推测方法与流程

文档序号:16275730发布日期:2018-12-14 22:33阅读:372来源:国知局
一种基于近超声波的智能手机图案密码推测方法与流程

本发明属于声音侧信道攻击技术领域,具体涉及一种基于近超声波的智能手机图案密码推测方法。

背景技术

随着图案解锁逐渐成为身份验证的主要方法之一,人们只需要花短短的几秒钟在智能手机上画出密码图案就能解锁自己的智能手机。根据最新的一个调查,人脑特别适合记住图形信息,而且用户总是认为pin的有限位数是不安全的。因此,图案解锁不仅易于使用,并且提供了一个安全的移动认证机制。由于图案锁的广泛使用,图案锁的安全问题近来引起了广泛关注。许多安全策略已经被提出,以确保用户在绘制图形时不能被其他应用程序访问屏幕,但是移动智能手机仍然可以访问某些共享的硬件资源,这就给一些侧信道攻击提供了信息。一些侧信道攻击被证明可以很准确地追踪到pin码信息。然而,这些方法通常把整个解锁过程作为一个单独的样本进行特征提取,并依赖于有标记数据的大量训练和机器学习。同时这些工作大多基于pin码的推测而非图案锁的推测,因为在屏幕上平滑地移动指尖,不会给智能手机带来与数字按键一样多的干扰,不利于获取相应的信息。近年来,研究人员开始关注图案锁和一些侧信道攻击来重建图案锁,例如油污攻击,无线信号攻击,视频攻击等,但是这些都要求攻击者身体接近受害者或操纵无线热点,而且攻击准确性对于环境的依赖性很强。



技术实现要素:

本发明的目的就是针对现有技术的不足之处,提供了一种受环境噪音干扰小的基于近超声波的智能手机图案密码推测方法。

为了实现上述目的,本发明所设计的基于近超声波的智能手机图案密码推测方法,其特殊之处在于,包括以下步骤:

步骤1:解锁检测;

步骤2:音频信息捕获:利用手机扬声器播放近超声波音频,并用麦克风接收该音频;

步骤3:音频预处理:从音频信号中提取指尖滑动相关的信号段;

步骤4:信号分割:将信号进行分段,得到指尖转弯时对应的信号转折点;

步骤5:相对运动测量:确定起点和终点,并获取指尖的相对运动;

步骤6:线段推测:计算当前运动特征向量与该点可能的运动特征向量指尖的相似度;

步骤7:生成候选图案及相似度排序。

进一步地,所述步骤1中解锁检测采用方向传感器和加速度计分别检测拿起手机和点击屏幕操作过程。

进一步地,步骤2中所述播放的近超声波音频频率为20~22khz。

进一步地,所述步骤3中音频分割的具体过程包括:

提取与指尖滑动相关的音频信号段;

利用传统的相干检波器解调基带信号分离出指尖滑动音频信号,具体公式为如下:

i(t)=fds(flow(r(t)*asin2πft))

q(t)=fds(flow(r(t)*acos2πft))

其中r(t)表示记录的音频信号,flow表示低通滤波器,fds表示下采样,i(t)表示同向音频信号成分,q(t)表示正交音频信号成分。

进一步地,所述步骤4的具体过程如下:

使用有效点识别方法将信号分成很多段,每一段对应一条线段,线段指尖的转折点即为指尖转弯点;

并当前局部极值点和前一个有效极值点之间的时间间隔与阈值t比较,如果大于该阈值则认为是有效的极值点否则不认为其为极值点,以排除环境噪音干扰。

进一步地,所述步骤5的具体过程包括:

步骤5.1:多径干扰消除,用音频信号邻近的极大/小值的平均值作为噪音信号的估计值,然后利用线性插值算法估计指尖运动时噪声信号在其他点上的值。在减去噪音信号的估计值后,可以得到真正的对应每一条线段的i/q信号;

步骤5.2:重新鉴定起点和终点,计算i/q轨迹中各点的累计旋转角度,每一个声音片段的相位改变等于i/q轨迹中各点的累计旋转角度,以确定解锁过程的起点和终点;

步骤5.3:计算指尖的相对运动,用下面公式来通过指尖运动的相位改变,计算指尖的相对运动:

其中d(t)表示在时间t由移动指尖反射到麦克风的声波信号的路径长度,φd(t)表示在时间t指尖反射的声信号相位,λ表示对应音频信号的波长。

进一步地,所述步骤6的具体过程为:

步骤6.1:提取线性运动的特征,使用一个二维向量(d1,d2)来表示具体的路径变化,其中d1表示从起点到麦克风和扬声器连线与运动轨迹的交叉点的路径长度,d2表示从麦克风和扬声器连线与运动轨迹的交叉点到终点的路径长度;

步骤6.2:基于相似度的线推断,对于每一段线性运动基于每一对麦克和扬声器建立一个特征向量的数据库,给定一个起始点,它可以与3×3的网格里的另外8个点相连,即有8种不同的运动特征向量,把当前的运动特征向量与数据库里的8个特征向量进行相应的比较得出最后的相似度,计算公式如下:

其中(d1ij,d2ij)表示数据库里第j对麦克风和扬声器检测的第i条线运动的特征向量,(d1′j,d2′j)表示当前运动第j对麦克风和扬声器检测的第i条线运动的特征向量。然后利用下面这个公式来综合上面统计的这些特征向量的相似度得到最后的相似度:

其中n表示有多少对麦克风和扬声器,当计算出来的最后值si大于某个阈值,则认为该条线作为本次滑动的候选线段,对于当前的线性滑动可能有多条候选线段。

进一步地,所述步骤7具体实现过程是:

把3×3的网格标号为从1到9,根据相应的候选线来选择当前的图形线,用这种方法可以构造出相应的解锁图案生成树,对于该生成树,树的根节点为该图案锁的起始点,然后根据候选线的相似度数值来往生成树里面逐层加入;其中生成树的每一条线的权重为每一条候选线的相似度;根据图形生成树可以构造出最后相似度的滑动图像排序。

更进一步地,选择相似度最高的5个图像作为最后的结果,进行相应的输入测试。

本发明的优点在于:

1、我们不需要物理接触受害者,另外也不容易遭受环境干扰的影响,因此我们的图案锁推断方法鲁棒性更高,更加实用。

2、我们不依赖于有标记数据的大量训练和机器学习,因此更容易自动化地进行大规模用户图案锁推断。

3、我们使用用户自身扬声器发出人耳听不见的高频声音信号,然后使用用户自身麦克风记录声音进行图案锁推断,不需要额外设备,不易被用户察觉。

附图说明

图1为本发明的原理流程图。

图2为本发明的音频信号分割结果。

图3为本发明的i/q信号图。

图4为本发明的解锁图案生成树结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的详细描述:

图案锁是一种要求使用者在3×3的图案格里,画出相应图形用于身份认证的解锁方式。在android系统中,每个应用程序在工作之前都需要获取特定的权限例如麦克风、扬声器、加速度传感器等,因此对于一个需要此权限的网页或应用,我们只需要选择合适的攻击模式和有效载体,就能实现相应的基于近超声波的智能手机图案密码推测方法。那么在实际运用中的嵌入载体和攻击模式都需要进一步的考量和选择。

人耳对声音信息的感知与声音信号的频率有关,大多数扬声器和麦克风的响应频率是从50hz到22khz,大多数人听不到频率高于20khz的声音。因此,在20~22khz的近超声波信号可以通过麦克风接收和录制,但不会被用户听到。而且对于高于20khz的攻击声音信号,环境噪音都变得微不足道。因此为了使得用户听不见相应的音频信号,且避免实际环境中的噪音干扰,都要求对于用于侧信道攻击的音频频率进行相应的选择和考量。同时如何利用麦克风接收到的反射音频信号重建图案锁上的图形,也是需要加以考量的。

本发明提供的方法能够用计算机软件技术实现流程,参见图1。本发明提供的一种基于近超声波的智能手机图案密码推测方法,包括以下步骤:

步骤1,进行解锁检测,具体实现过程是:

对于系统屏幕解锁情况的检测,使用方位向感器来检测使用者的开始动作。在大多数情况下,用户在屏幕解锁前都会拿起智能手机。因此,我们使用方向传感器来检测智能手机的上升动作,并以此作为受害者将要打开屏幕的信号。对于应用程序解锁情况的检测,我们基于观察提出了一些简单而有效的方案。受害者经常左右滑动屏幕寻找应用程序,点击屏幕选择应用程序,同时在图案密码格弹出之前,应用程序会停顿一会儿。于是我们可以使用加速度计来检测这些动作特征。

步骤2,对音频信息捕获,具体实现过程是:

步骤2.1:扬声器播放近超声波音频。一旦检测到解锁动作,就开始使用受害者智能手机的扬声器播放近超声波信号asin2πft。其中a为振幅,f为频率,我们选择20~22khz的,因为大多数扬声器和麦克风的响应频率是从50hz到22khz,而大多数人听不到频率高于20khz的声音,且此频段的声音信号受环境的干扰较小,我们称此频段声音为近超声波。

步骤2.2:麦克风接收近超声波音频。一旦扬声器播放近超声波音频,麦克风就开始记录声音信号。记录的声信号可以用于捕捉指尖运动的信息,因为在智能手机屏幕上滑动的指尖反射了播放的声音信号。

步骤2.3:解锁过程信号截取。我们只对与解锁过程相对应的声信号感兴趣,因此使用加速度器来确定其解锁的起始点和终止点。当手指触碰到屏幕的时候会给屏幕一个向下的压力,当手离开屏幕的时候那个压力会消失。记录这两个点的时刻,可以作为解锁过程的起始点和终止点,然后截取对应的声音信号。

步骤3,提取与指尖滑动相关的信号段,扬声器播放的原始声音信号可以认为是载波信号,与指尖滑动相关的信号可以认为是基带信号,我们可以利用传统的相干检波器解调基带信号。具体公式如下:

i(t)=fds(flow(r(t)*asin2πft))

q(t)=fds(flow(r(t)*acos2πft))

其中r(t)表示记录的音频信号,flow表示低通滤波器,fds表示下采样,i(t)表示同向音频信号成分,q(t)表示正交音频信号成分。本实施例中的分割结果如说明书的图2所示。

步骤4,进行信号分割,将解锁的图形看成是独立且首位相连的线段。使用有效点识别方法可以将信号分成很多段,每一段对应一条线段,因此可以对每条线段进行进一步的分析。在解锁的过程中,当指尖转弯的时候一条新的线段就开始了,那么该点称之为转折点。当指尖在转折点会有一些停顿,信号波动会停止,那么我们可以通过信号两个相邻极值点之间的距离来确定转折点。由确定的转折点可以确定一条线段的起始和终止。为了排除环境噪音的干扰,在对应的波形图中,我们把当前局部极值点和前一个有效极值点之间的时间间隔与阈值t比较,如果大于该阈值则认为是有效的极值点否则不认为其为极值点。

步骤5,进行相对运动测量,具体实现过程:

步骤5.1:多径干扰消除。用音频信号邻近的极大/小值的平均值作为噪音信号的估计值。然后利用线性插值算法估计指尖运动时噪声信号在其他点上的值。在减去噪音信号的估计值后,可以得到真正的对应每一条线段的i/q信号。本实施例中,最后得到的i/q信号如图3所示。

步骤5.2:重新鉴定起点和终点,计算i/q轨迹中各点的累计旋转角度,每一个声音片段的相位改变等于i/q轨迹中各点的累计旋转角度。因为在指尖滑动过程中速度是相对稳定的,在i/q轨迹中各点的旋转度变化很小,对于偏离正常值范围的将被认定为无效的。本发明中选择超过平均值2倍则规定为偏离正常值。基于这个观察,我们将更加准确地确定解锁过程的起点和终点。

步骤5.3:计算指尖的相对运动,用下面公式来通过指尖运动的相位改变,计算指尖的相对运动。

其中d(t)表示在时间t由移动指尖反射到麦克风的声波信号的路径长度,φd(t)表示在时间t指尖反射的声信号相位,λ表示对应音频信号的波长。因此,基于相位的距离测量方法足以区分图形网格上不同的指尖运动。在实施例中音频波速为340m/s,频率为19khz,所以波长为1.79cm,代入公式得出d(t)-d(0)。

步骤6,线段推测,包括以下子步骤:

步骤6.1:提取线性运动的特征,根据每一条线的滑动过程中路径长度来进行判断。对于麦克风和扬声器在不同的两侧的时候,从其中一侧直线滑到另一侧的时候,路径长度是先减少再增加,其中最小的点为麦克风和扬声器连线与运动轨迹的交叉点。当麦克风和扬声器在同一侧的时候,则虚拟一个对称的麦克风,然后处理过程和在不同的两侧是一样的。使用一个二维向量(d1,d2)来表示具体的路径变化。其中d1表示从起点到麦克风和扬声器连线与运动轨迹的交叉点的路径长度,d2表示从麦克风和扬声器连线与运动轨迹的交叉点到终点的路径长度。对于一个智能手机有多对麦克风和扬声器的组合,且每对之间为了防止干扰使用不同的频率的声音信号,在特征提取阶段,将多对特征向量进行决策融合,可以达到更好的效果。

步骤6.2:基于相似度的线推断,对于每一段线性运动基于每一对麦克和扬声器建立一个特征向量的数据库。给定一个起始点,它可以与3×3的网格里的另外8个点相连,即有8种不同的运动特征向量。把当前的运动特征向量与数据库里的8个特征向量进行相应的比较得出最后的相似度,计算公式如下:

其中(d1ij,d2ij)表示数据库里第j对麦克风和扬声器检测的第i条线运动的特征向量,(d1′j,d2′j)表示当前运动第j对麦克风和扬声器检测的第i条线运动的特征向量。然后利用下面这个公式来综合上面统计的这些特征向量的相似度得到最后的相似度:

其中n表示有多少对麦克风和扬声器,当计算出来的最后值si大于某个阈值,则认为该条线作为本次滑动的候选线段,对于当前的线性滑动可能有多条候选线段。

步骤7,生成候选图案及相似度排序,把3×3的网格标号为从1到9,根据相应的候选线来选择当前的图形线,用这种方法可以构造出相应的解锁图案生成树。对于该生成树,树的根节点为该图案锁的起始点,然后根据候选线的相似度数值来往生成树里面逐层加入。其中生成树的每一条线的权重为每一条候选线的相似度。根据图形生成树可以构造出最后具有最高的相似度的滑动图像。选择相似度最高的5个图形作为最后的结果,进行相应的输入测试。本实施例中,最后的生成树的结果如图4所示,其中权重为相似度的大小。

上述实施例仅用以说明本发明的具体实施方式,并非是对本发明保护范围的限制,所属领域的技术人员应当明白,凡在本发明技术方案的基础上,不需付出创造性劳动即可进行的修改或各种等效替换,均应涵盖在本发明的保护范围之内。

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