PCR-Auth

深度学习·其他 · 2023-04-17 · 262 人浏览
PCR-Auth

摘要 & 引言

PCR-Auth: Solving Authentication Puzzle Challenge with Encoded Palm Contact Response | IEEE Conference Publication | IEEE Xplore

生物识别技术已被广泛应用为用于用户认证的个人可识别数据。然而,现有的生物特征认证易受生物特征欺骗的影响。一个原因是它们很容易被观察到,并且容易受到物理伪造的影响。例如,人体的表面图案,如指纹和面部。一个更重要的问题是,现有的认证方法完全建立在生物特征的基础上,这些特征几乎永远不会改变,并且可以被诸如人类声音之类的对手获得或学习。

为了解决生物特征认证固有的安全问题,本文提出了一种新型基于声学提取的手握生物特征,这种特征每个用户的手的几何形状,体脂率,和握力有关。并且这种特征无需特意表现出来,只需要抓住手持设备就可以使用。

基于这种特征文章开发了一个challenge-response的生物认证系统,它由一对生物编码器和解码器构成。首先根据挑战序列对超声信号进行编码(抵御重放攻击),并提取生物特征码作为本次认证的输入响应。然后通过基于卷积神经网络的算法对生物特征码进行解码并验证用户,该算法不仅检查编码的正确性(通过信噪比判断),而且还验证每个生物特征数字所呈现的生物特征。在移动的设备上的大量实验表明,系统达到97%的准确率来区分用户和拒绝100%的重放和合成攻击。(数字码为6位时)

image-20230416203041398

背景与系统模型

手掌接触响应

手持设备的普通声学声音可以在手持设备抓握设备时区分使用者的手掌。具体来说,手持设备的扬声器产生激励信号$s(t)$后,一部分信号以直接路径传播到达麦克风(结构传播或近表面空气传播),而其他部分信号则经过更复杂的反射路径,如上图所示。用户的抓握手在它们的传播路径中影响这些信号。此外,扬声器的声音引起设备表面以相同的频率振动,这用作第二声源并产生相同频率及其谐波的声音。当与手接触时,装置表面振动被阻碍,从而导致声音的改变。所有这些受手影响的声音在被麦克风接收时都携带了一定的生物特征信息。

文章将抓握手对扬声器声音的影响建模为系统响应$H(f)$,那么麦克风接收到的信号$\hat S(f)=H(f)S(f)$。其中$S(f)$是扬声器发出的频率为$f$的原始声音。$H(f)$可以分割成三个分量:直接路径传播、反射传播、表面振动传播三种信号。
$$
\hat S(f)=H_d(f)S(f)+H_r(f)S(f)+H_v(f)S(f)
$$
由于反射传播和表面振动传播更慢,引入相位与振幅后公式转变为
$$
\hat S(f)=|H_d(f)|S(f)+|H_r(f)|S(f)e^{j2\pi ft}+|H_v(f)|S(f)e^{2\pi f\tau}
$$
其中t和$\tau$是与直接路径信号相比,反射信号和表面振动声音的附加传播时间。值得注意的是,所有的振幅衰减因子和相位变化也与信号的频率f有关。这种频率选择性的性质促使我们使用具有更丰富的频谱点的信号来捕获用户的手抓握生物特征的更高分辨率。同时使用不同的组合的频率来提取动态生物特征的CR认证,可以抵御重放攻击。即使敌手窃听一次认证过程,也很难通过重用先前的数据来欺骗新的认证。

综上,可以将手掌接触反应(PCR)定义为
$$
pcr = <H_d,H_r,H_v,F>
$$
其中F为信号频率,另外三个与F有关的信号分量来描述抓握手的生物特征

经过实验发现,不同用户的PCR时频图确实存在差异,利用时间和频率的信息,以实现有效的用户认证。如下图所示,直接路径传播的信号出现在麦克风数据前25 ms(深色区域),在扬声器声音停止播放之后,扬声器声音反射和其诱发的表面振动声音变得显著。它们在75 ms后降低超过20dB。因此,文章建议利用0 − 75 ms的声音进行抓握手掌检测。值得注意的是,25 - 75 ms范围内的声音是扬声器声音的残余,相比于直接路径信号更难伪造。(换句话说这段时间内的手掌特征更加丰富)

image-20230416211835053

系统模型

系统模型如图4所示,它是CR协议和PCR编码/解码模块的集成。认证过程在用户和PCR-Auth之间进行。为每个用户创建PCR解码器$D_{user}\{\}$,其在注册阶段使用用户的所有手部抓握生物特征进行预训练

每次挑战(登录)都需要一个唯一的PCR代码进行验证。当用户发送认证请求时,PCR-Auth生成OTC代码(即随机数)。手持设备使用其自己的扬声器播放OTC编码的刺激信号,与此同时,麦克风记录信号编码后的刺激信号$E_{OTC}\{pcr\}$。接下来,PCR-Auth应用PCR解码器Duser{}来验证PCR码并进行生物认证,其通过$D_{user}\{E_{OTC}\{pcr\}\}$来检查生物特征和编码序列

image-20230416212208310

生物编码与PCR码

PCR编码器的基本思想是利用PCR的频率选择性,通过使用不同频率的短刺激信号脉冲,我们获得n个非重叠PCR区间,并将它们映射到十进制和十六进制值(n = 10或16)作为编码单元(也可以表示更复杂的字符串)。PCR编码器$E_{OTC}\{\}$根据OTC代码选择序列中的信号脉冲。接下来,PCR码由编码信号提取为m位OTC的生物特征表示,如
$$
E_{OTC}\{PCR\}={pcr_1,pcr_2,...,pcr_m}
$$
其中i = 1,2,…m是指第i个PCR数字。

image-20230416214535424

PCR解码器$D_{user}\{\}$在注册阶段利用用户的所有n种PCR数字(其实就是n种频段的线性调频信号)进行训练。在认证期间,PCR解码器首先检查PCR数字是否全部处于由OTC码索引的正确频率(利用OTC码进行滤波后判断SNR,如果频段不同则信噪比会很低),然后分别验证每个PCR数字呈现的生物特征(利用卷积神经网络)。成功验证的PCR数字重建一个OTC数字。通过将具有n个编码单元的用户手持生物特征编码成m位PCR码,我们的生物特征编码技术基于与现有生物特征CR方法相同的训练策略将生物特征响应域从n指数地扩展到$n^m$ 。因此,用户不需要周期性地用新的生物特征重新填充响应池

image-20230416214827659

关于PCR解码器的具体实现,文章提到的是使用短时傅里叶变换
$$
{\cal D}T S T F(t,f)=\sum_{\tau=t}^{t+T-1}s(\tau)w(\tau-t)e^{-j2\pi f\tau}
$$
其中t和f是时间和频率索引,$w(t)$是长度为T的窗函数。然后,在坐标$(t,f)$处的2D图像(频谱图)的每个像素被计算为:
$$
s p e c t r o g r a m(t,f)=|D T S T F T(t,f)|^{2}
$$

认证流程

每次发起认证请求时,应用首先获取麦克风访问权限。PCR编码器首先通过对照声压级(SPL)阈值检查超声波频带来检测设备是否处于有意的超声波干扰下,如果没有检测到专用超声,则PCR编码器生成OTC,并且基于OTC的刺激信号,调制器相应地选择超声脉冲将用户手持生物特征编码成PCR代码。

麦克风数据是PCR解码器的输入,PCR解码器首先执行数据预处理以降噪、同步和分段音频数据。预处理的数据通过通道滤波从音频中提取PCR数字。具体来说,我们推导出谱图来在时域和频域中描述PCR码。OTC控制的信道滤波器根据OTC所索引的信道设置截止频率以提取每个PCR数字未正确编码的PCR数字在这里会被滤除(其SNR也会降低)。最后把获得的PCR数字被发送到基于CNN的PCR解码器以进行验证,该模型的训练数据包括用用户本身的PCR响应,还有同一组测试人员的PCR。

这里模型的训练过程存在问题,本来应该是类似异常检测的单分类问题,作者将其转化为了二分类问题(User or NoUser)。这是不符合逻辑的,毕竟真正使用认证系统时只有用户本身的数据。当然作者在后面解释了训练时会使用“负类样本库”,但是个人感觉只是一种退而求其次的做法。

基于CNN的PCR解码器利用一个具有五个卷积层的CNN模型来从其频谱图中解码每个PCR数字,得到CNN得分(其实也就是返回每个数字是否是用户的概率)。文章进一步开发了一种基于聚类的方法,通过整合CNN得分和所有PCR数字的SNR来验证PCR代码。在此基础上计算PCR码的欧氏距离,并使用一个阈值区分用户的集群和验证用户,既检查用户的生物特征和编码序列。只有当PCR代码成功恢复OTC代码时,才授予访问权限。

简单来说,就是将m个PCR数字对应的概率组合起来作为特征向量(例如4个数字,每个数字对应2个概率,拼接得到的CNN分数长度为8),用聚类的方式来划分用户/非用户,从而提高认证的准确性。其中不同类之间的距离简单采用PCR码概率的欧氏距离。可以推断使用的聚类方法是KMeans,因为这里用户区域和非用户区域有明显的团簇特征;其次可视化聚类效果应该使用了PCA主成分分析类似的降维方式。(复现时采用了TSNE)

image-20230302164438250

网络复现

复现了CNN-Based PCR Verification部分的CNN网络以及基于无监督聚类的身份认证。相比于原始网络,加入了残差连接(虽然最后不可避免地出现了过拟合现象);聚类则采用KMeans++进行用户的区分;聚类可视化使用TSNE降维CNN-Score;通过dataloader的shuffle实现了OTC的随机化...代码暂不开源

下图为论文提到的CNN网络结构

image-20230424102004724

以下两图是复现中对于聚类认证的可视化,第一幅每个样本颜色代表真实便签、第二幅是聚类产生的标签,可以发现两者基本一致。

image-20230424105949929

image-20230424110113287

攻击手段

  • 假冒攻击:敌手使用自己的手来欺骗PCR-Auth。这种情况编码序列的频段被确保是正确的,并且敌手期望进一步模仿受害者的生物特征。有知识的模仿攻击者具有受害者如何抓握设备的先验知识,使得他/她可以在拥有设备时模仿合法用户抓握手的姿势;进一步考虑一个知识渊博的假手攻击者,他使用硅胶假手来模仿受害者的手,具有更大的自由度

  • 重放攻击:敌手窃听了受害者的认证数据,并试图使用相同的数据来欺骗新的一轮认证。为了进行攻击,对手需要使目标设备静音,并使用第二个扬声器来重放先前的声音。这种类型的攻击仅旨在呈现用户的生物特征。但是难处是预测开始录音的精确时间,这个时间段很短

  • 监听合成攻击:假设敌手可以通过监听声道捕获OTC,并立即将之前的PCR数字拼接成正确的序列。还假设对手可以获得受害者的所有PCR数字,实现攻击完全自由,这可能是通过窃听注册过程或存储的生物特征数据的泄露。然而,实施这一攻击仍然具有挑战性。如果在等待窃听所有OTC数字之后播放合成的声音,将被认证系统拒绝,因为麦克风在扬声器声音停止之后立即关闭,伪造响应无法及时生成。

  • Dos攻击:拒绝服务(DoS)攻击旨在通过专用超声波覆盖PCR-Auth的工作频率来导致身份验证错误和拒绝

实验部分

基本分析

  • 线性调频信号持续时间是系统设置的一个重要因素,较短的持续时间允许PCR-Auth在固定的时间内编码更多数字,即增加OTC数字的长度;但是持续时间越短将导致用户的PCR分辨率会降低,从而削弱生物特征。实验首先将调频信号带宽固定为100Hz,再测试从5ms到500ms的持续时间。实验发现,持续时间等于或大于10ms时PCR才能被准确区分。并且当信号持续时间从5ms改变到10ms时,准确度性能从80%快速增加到92.5%。在10ms之后,准确率增长趋势较慢。使用20ms和500ms信号时,分别达到93%和95%的准确度。这证实了使用短持续时间信号提取PCR的可行性。
  • 调频信号的带宽同样是一个重要参数。实验固定线性调频脉冲的持续时间为10ms,并测试将带宽从100Hz加到4kHz。我们观察到,当带宽大于100Hz时,用户的PCR被准确地区分。在此基础增加带宽,性能增长缓慢。例如,在100Hz、200Hz、350Hz和500Hz下的准确度性能为92.5%、95.2%、98%、98.7%。当带宽低于100Hz时,性能急剧下降。结果证实了使用窄带信号区分PCR的可行性。

image-20230424145249795

  • 设备如果配备双麦克风,那么两个麦克风同时接收信号并解码、PCR认证系统准确率更高。在选定的10个频段内,麦克风1可以达到78.9%的准确率,麦克风2可以达到85.0%的准确率。两个麦克风同时使用时可以达到91.3%的准确率。

image-20230424145932309

PCR聚类认证表现

这部分实验作者比较了传统认证器和基于聚类认证方法之间的性能。当编码数字长度为1时,两种方式性能一致;随着编码长度增加,传统认证器准确率逐渐下降,而聚类认证甚至性能有所提高。

image-20230424150212859

因为传统认证器是累计认证的方法,例如4位数字的PCR代码,每个数字的准确率为0.9,那么传统认证器的准确率为$0.9^4=0.6561$;而聚类认证之所以性能有所提高,原因可以总结为三点:

  • 编码长度增加,系统得到的用户生物特征更加丰富;
  • 不同信道处的PCR编码捕获不同方面的生物特征(提高了特征多样性);
  • 基于聚类的方法利用了PCR数字之间的连接和约束。(引入无监督学习)

不同设备的性能表现

作者测试了系统在六种不同的智能手机型号,共涉及15名参与者时的性能。首先系统在六个设备上都实现了低FAR(错误接受率)、FRR(错误拒绝率)。结果表明,PCR-Auth在大多数手持设备上具有良好的认证表现。

image-20230424151245455

攻击抵御性能

对于重放攻击:随着编码数字的增加,FAR逐渐降低。编码一位数字时FAR为10%,编码长度大于等于4时,FAR可以忽略不计。

编码一位数字时FAR为10%,相当于在10个频段里碰撞某个特定频段。

image-20230424152134105

对于监听-合成攻击:当麦克风延迟在25%时,FAR达到最高的4.8%.不过当编码长度增加时,FAR会明显下降。

image-20230424153015538

对于超声/Dos攻击,由于认证系统在认证之前会使用50dB SPL作为阈值检测DoS攻击(相当于30cm的超声波传输距离)。当使用正常移动设备登录时,如果超声波SPL大于阈值,则PCR-Auth将通知用户潜在的DoS攻击,并建议用户改变位置以重新启动PCR-Auth。

总结

本篇工作开发了一个基于结构声的生物认证系统。系统工作基本流程为:

  • 根据随机挑战序列(抵御重放攻击)对高频信号进行编码并通过扬声器播放;
  • 利用麦克风接收携带生物特征(PCR)的响应结构声,将结构声预处理后作为本次认证的输入响应;
  • 通过基于卷积神经网络的算法对生物特征码进行解码,验证每个PCR数字所呈现的生物特征得到CNN Score;
  • 验证用户时,首先检查编码的正确性(在物理层面通过SNR进行判断),再对上一步得到的CNN Scores进行聚类操作,实现用户/非用户的认证;

文章的亮点首先是引入手掌接触响应(PCR)的概念,并通过神经网络对这种复杂的反应进行解码;其次是通过聚类这种无监督学习方式增强了认证的TAR,本人复现时发现单聚类操作甚至可以提高接近10%的准确率;最后是信道编码时,根据PCR的频率敏感性选出了特定的10个频段,并且OTC数字进行随机化,有效地抵御了重放攻击。

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