PressPIN

其他 · 2023-04-16 · 230 人浏览
PressPIN

重新补课,发现以前不是很懂的地方现在能理解了~ 论文地址

摘要

论文提出了PressPIN,一种应用于移动设备的新型PIN认证器,通过感知用户手指的压力来作为额外的认证维度。由于大多数手机都没有压敏触摸屏,作者利用声音的结构传播来估计屏幕上的压力。当用户输入PIN码时,从每个数字中提取压力以形成n位压力代码,其中n对应于PIN序列的长度。压力码很难通过窥探或录像来推断,并且增加了密码的熵。通过这种方式,PressPIN提供了一种低成本、用户友好且更安全的解决方案,可以抵抗shoulder surfing attacks。对30名参与者和三种类型的智能手机进行的广泛实验表明,PressPIN可以高准确度地认证合法用户(例如,在两次试验中高达96.7%),并且对各种类型的攻击是鲁棒的(例如,即使对手可以清楚地观察到合法用户的PIN序列和手指按压,攻击成功率也只有2.5%)。另外,PressPIN不需要额外的硬件(例如,压力传感器)并且可以容易地集成到移动的设备的现有认证系统中。

shoulder surfing attacks:例如在使用者输入PIN码时,攻击者就在附近直接观察或使用摄像头进行记录

引言

PIN码作为一种原始的移动设备认证方式,其本身安全性并不高,因为使用者一般将PIN码设置为有意义的信息(如生日或电话号码),这有可能遭受爆破攻击,除此之外还有Shoulder Surfing Attacks这种窥探类的攻击。现有的工作增加了验证的复杂性,比如眼球追踪输入PIN码、随机化输入界面等方式。这些方式虽然提高了认证的安全性,但是也随之降低了用户的使用体验(比如眼球追踪输入PIN码准确率仅达到84%,且每个PIN码平均需要2s输入)。

基于压力进行认证对于现有PIN码输入模式没有大的改变,不会增加使用者的学习成本。但是移动端设备适配压敏传感器的占少数,故需要通过软件的方式来获取施加在屏幕上的压力。最近一些研究表明,利用内置扬声器和麦克风可以通过结构声传播来感测移动的上的压力,即声音信号通过手机表面的细微振动传播,如果用户没有触摸手机的屏幕,则声信号可以容易地通过手机的表面传输。然而,当手指对屏幕施加压力时,手机表面的振动与声学信号会受到限制,导致通过该固体传播路径传输的声信号受到影响。因此,可以通过分析接收信号和原始信号之间的变化来估计施加在屏幕上的压力水平

论文通过结构声估计压力来对用户进行认证,具体来说将压力分成三种状态:1)持续弱、2)逐渐强、3)持续强。当用户输入PIN码时,不仅需要满足数字序列正确,同时每个数字对应的压力状态也需要于预设的一致。PressPIN的主要技术挑战是如何准确地估计压力状态,因为用户不同、手机不同,结构声可能具备不同的特征

在身份验证过程中,PressPIN使用内置扬声器发出难以察觉的声音信号,并使用内置麦克风接收通过手机屏幕传输的声音信号。施加在屏幕上的压力会降低声波通过手机的传播。通过计算这种退化的程度,PressPIN可以估计每次按压的压力大小。为了实现这一点,我们提出了一种新的压力估计方法:同时考虑声波降解率和手指触摸位置,以准确地估计每次按下的压力状态。还考虑了声音信号在不同手机屏幕上传播衰减的差异,以及不同用户按屏习惯的差异,使PressPIN更具通用性和实用性。

相关工作

相关工作有两个主要研究领域:PIN码增强认证基于声音的感知

PIN码增强认证就如引言提到的眼球追踪输入PIN码、随机化输入界面等方式。这些方式虽然提高了认证的安全性,但是也随之降低了正确率和用户的使用体验(比如眼球追踪输入PIN码准确率仅达到84%,且每个PIN码平均需要2s输入)。基于压力传感器的PIN认证虽然被认为是最具安全性的防御手段,但是大多数手机并没有配备压力传感器。

基于声音的感知包括基于空气声感知和基于结构声感知两种方式。基于空气传播的声感知很容易遭受周围环境的影响,结构声则更加稳定一点。

准备工作

本章首先描述PressPIN用于预估手指压力的物理特性,然后介绍观察结果和攻击模型。

结构声传播

首先由扬声器发出的声音到麦克风接收会经过三种路径。首先是经过手机内部的结构声传播,其次是空气传播,再或者经过手指或周围环境的反射传播。最终麦克风接收到的声音是这三种声学信号的组合。不过这三种声音的传播速度不同,其中结构声的传播速度比空气中快100倍。根据这个传播的时间差,我们可以准确定位到结构声信号,从而区分不同用户的不同触摸压力。

声波振动特性

声波作为一种机械波,通过物理振动在介质中传播,振幅随着传播衰减。当声信号到达两种介质的边界时,会发生反射和衍射。如下图所示,当手指按压在正在发射声波的手机(移动设备)屏幕上时,手指在屏幕上施加不同的压力,屏幕会发生不同形变。变化程度受压力的大小和触摸位置两者的影响。声信号的振动衰减与屏幕的柔性之间存在高度相关性。因此,我们可以通过分析接收到的声信号来估计压力。

image-20230415215853307

数字对声信号的影响

经过实验发现,对于PIN码上不同的数字,当手指按下时会呈现不同的声学特征。其中数字1、4、7,当按下时,声信号会增强;其他数字按下时,声信号会减弱。下图以数字3与7为例。

image-20230416114248653

对于这个现象的解释:可能与数字和声波传播途径的距离有关。做实验的手机麦克风、扬声器位置如下,其中1、4、7距离传播途径较远,按下时可能增强了声波的反射,从而增强声信号;其他数字在传播途径附近,手指的按压吸收了一部分声信号,从而减弱了声波强度。

image-20230416114544260

攻击模型

针对结构声压力传感的PIN认证机制,论文提出了三种攻击模型。

  • Blind Attack:敌手不具备合法用户的压力代码和PIN序列的任何知识
  • PIN-aware Attack:敌手通过社工、密码分析等手段得到正确的PIN序列
  • Observer Attack:敌手通过窥探或录像得到合法用户的PIN序列,并且观察用户的按压推断压力代码

系统设计

下图描述了PressPIN的系统架构,其包括五个阶段:数据采集、PIN认证、数据处理、压力码认证、结果反馈。

image-20230416115010992

数据采集

PressPIN首先生成用于感测压力的难以察觉的音频,并在用户进行身份验证时使用电话的扬声器播放音频。同时,PressPIN记录PIN序列,并使用手机的麦克风捕获包含压力信息的音频。

具体来说,扬声器发出的声信号由前导码和若干线性调频信号。前导码的频率范围为18-22kHz,持续时间为100ms。音频的采样率设置为48kHz。

前导码的作用是将接收信号与原始信号进行同步。线性调频信号则作为载波信号,其频率范围为18000-23999Hz,以满足奈奎斯特采样定理。由于大多数人无法听到频率超过18 kHz的音频,因此该频率范围可以保证用户不会受到啁啾信号的干扰。

奈奎斯特采样定理:如果信号是带限的,并且采样频率高于信号最高频率的一倍,那么,原来的连续信号可以从采样样本中完全重建出来。因为采样频率是48KHz,所以这里载波信号的频率最大为24KHz

数据处理

数据采集除了收集麦克风收到的声信号,还收集了屏幕的触控信息,比如手指按压次数(对应PIN码长度)、手指按压时间、按压位置

首先对声信号进行处理,使用巴特沃思带通滤波器从记录的音频中过滤掉无效的声学信号,其低截止频率被设置为18kHz,高截止频率被设置为23999Hz,这一步可以过滤掉环境噪声。随后使用包络检测定位前导码位置,同步发送/接收信号。接着就可以截取重复的线性调频信号。

前处理过的声信号包含结构声和其他传播路径的声信号,因而需要先将结构声提取出来。首先需要分析发射的声学信号和接收的声学信号之间的相关性。将发送的线性调频信号的反转与接收的信号做卷积操作以计算它们的相关性。观察声相关性曲线,可以发现按压和无按压状态相差一个峰值——即手指反射路径产生的峰值。结构声在固体中传播,速度最快,所以可以通过第一个峰值确定结构声的位置。

image-20230416121902944

通过使用2400个样本的窗口来分析声音相关性的曲线,从而找到第一个峰值。我们找到每个窗口的第一个峰值,并取峰值周围20个音频数据样本的平均值(峰值前10个样本和峰值后10个样本),其中主要包含结构传播的信号。此时便得到具有20Hz的采样率的新序列$seq(k)$(20Hz = 48KHz / 2400).通过分析这个新序列,可以确认压力的变化。

实验中发现即使在手机屏幕上没有任何按压,提取的结构声信号序列也会逐渐增加。这是因为当通过模数转换器(ADC)将模拟信号采样为电信号时,由于不完美的时钟,采样频率将随时间而改变。因此,需要消除钟差来校正结构声数据的偏差。在校准阶段,在非按压状态下提取出结构声序列,表示为$d(k)$。然后通过线性拟合得到$d(k)$的函数,表示为$c(k)$。图8示出了真实的$d(k)$及其对应的拟合函数$c(k)$。我们可以看到函数$c(k)$很好地拟合真实的$d(k)$。因此,我们通过减去拟合函数$c(k)$来校准$seq(k)$。

image-20230416142509930

最后一步数据处理是将得到的采样率为20Hz的信号序列进行归一化。PressPIN利用$Seq(k)$的幅度变化来测量由稍后施加在屏幕上的压力引起的后续劣化。按压之前$Seq(k)$的平均振幅表示为$Seq_{ini}$。然后,劣化速率$DR(k)$为
$$
DR(k) = |(Seq(k)-Seq_{ini}/Seq_{ini}|
$$

压力建模

数据处理得到劣化率$DR(k)$后,可以将压力值建模为
$$
press(k) = \sqrt{DR(k)}+8*DR(k)
$$
不过上式并不适用于每部手机上的每个数字按压位置。因此本节提出了基于按键和位置的参数校准方法。

基于键的参数校准方法:

该方法校准每个键(数字)的参数,可以得到了每个键对应的参数。在计算压力时,根据输入的数字选择相应的参数,得到压力值。

因此,触摸压力可以建模为
$$
press(k) = A*\sqrt{DR(k)}+B*DR(k)
$$
其中参数A和B依赖于键位置。A/B通过按压每个键五次,收集到的50个数据样本进行拟合,其中真实的压力值由外力传感器得到

定位参数校准:

基于键的参数校准方法需要通过真正的压力值和每次按压的降解率来拟合每个按键的A/B,这是一种粗粒度的估算方法,都是需要花费很多努力调整每一个关键参数。

因此,文中提出了定位参数计算方法,通过麦克风/扬声器/按压位置的位置信息拟合A和B.

手机屏幕的坐标图10所示。原点是屏幕的左上角,$x$轴平行于短边,$y$轴平行于长边。事实上,即使用户按下相同的按钮,坐标也可能不是相同的(数字按钮本身有一定面积),例如按钮3中的A点和B点的坐标是不同的。

image-20230416144125785

当用户输入一串数字序列,PressPIN将记录按压的位置,表示为$(P_{x_i},P_{y_i})$。在这种方法中,A和B系数依赖于接触位置和麦克风和扬声器的位置。系数可以计算为
$$
A = a1*dis_m+b1*dis_s+c1*dis_l+d1\space
B = a2*dis_m+b2*dis_s+c2*dis_l+d2
$$
其中,$dis_m$是从按压位置到麦克风的距离,$dis_s$是从按压位置到扬声器的距离,$dis_l$是从按压位置到麦克风到扬声器之间的直线的距离,d1和d2则是常数。的单位其中,dis_m是从按压位置到麦克风的距离,dis_s是从按压位置到扬声器的距离,dis_l是从按压位置到麦克风到扬声器之间的直线的距离,并且d1和d2是常数。dis m、dis s和dis l的单位是米。

接下来,将第一种方法测得的特定设备的A/B拿来拟合上述两个多元回归方程。其中$dis m、dis s和dis_l$可以通过通过手机参数计算得到。

通过这种方式拟合得到的参数,更具有普适性,对于一部新手机的任意按压位置,都可以计算该位置的A/B参数,再结合结构声信号提取的$DR$序列便可以预估手指的按压力度。

压力码状态

通过比较$DR$序列或预估的压力序列,可以发现不同压力状态(在引言中提到的三种)表现出的特征具有较为明显的差异。当压力持续较弱时,压力值关于时间的积分远小于另外两种状态;当压力逐渐增大时,后半段的压力积分值明显高于前半段的压力积分值,且存在许多局部峰值。

image-20230416145827092

通过上述特征,可以使用算法1进行压力码的识别与抽取。其中$T_p,T_r$取决于使用者的按压习惯。

image-20230416150141288

压力反馈

考虑到用户可能不知道他们在按压时施加了多大的力,PressPIN在用户按下每个键时实时向手机用户提供压力代码提醒。为了使攻击者难以观察到这种提醒,提示以手机轻微振动的形式给出,称为触觉反馈。每个压力代码都有自己的反馈模式。当用户输入1(即压力连续弱),并且如果用户按压2则快速且短暂地振动一次(即压力逐渐变强),并且如果用户按压3则振动两次(即压力持续强)。这样用户就可以知道刚才输入的压力代码顺序。每个压力代码的振动之间的时间间隔远短于不同压力代码的提醒之间的间隔。以这种方式,用户可以清楚地接收压力反馈。

模型评估

本文使用C/S架构的模型,移动设备作为客户端,负责PIN码输入和发送声信号(以及屏幕触控信息)给服务器;服务器负责接收声信号并处理出压力码,返回压力码供客户端进行确认。之后在该模型上做了一系列实验,例如评估了用户的认证准确率和错误接受率、讨论了不同环境的影响、不同攻击敌手的攻击成功率等。

总结

本文提出并实现了一种新型移动设备上的增强型PIN认证系统,它使用PIN码对应的压力序列来验证用户身份。PressPIN使用用户设备的内置扬声器和麦克风来播放和接收难以察觉的声音信号。施加在屏幕上的压力阻碍了(或增强,取决于数字位置)结构声的传播,通过分析不同按压位置的结构声的变化,PressPIN可以估计每次按压的压力大小。广泛的实验结果表明,PressPIN可以以高准确度认证合法用户(例如,在两次试验中高达96.7%)并且很好地抵抗肩部冲浪攻击(即使对手可以清楚地观察到合法用户的PIN序列和手指按压,攻击成功率也只有2.5%)。PressPIN为PIN身份验证系统提供了一种低成本、用户友好、更安全的解决方案,以防止肩击攻击并增加密码的熵。具体而言,PressPIN可以容易地集成到现有的移动的设备的认证系统中,而无需额外的硬件修改,这具有良好的应用前景。

身份认证 移动安全
Theme Jasmine by Kent Liao