基于环境声音的双因素快速认证方法与流程

文档序号:12624352阅读:239来源:国知局
基于环境声音的双因素快速认证方法与流程

本发明属于信息技术领域,更进一步涉及信息技术技术领域中的一种基于环境声音的双因素快速认证方法。本发明可在不同网络环境下,应用于公共环境中登录认证过程。



背景技术:

为了在网络环境中提高用户个人信息的保密性和安全性,一般会采用双因素认证,即采用两种或者两种以上验证方式来保证用户身份。双因素认证能够极大提高登录的安全性,即使当我们的密码丢失,第二个认证方式也会让用户避免进一步的经济损失。

Kashyap Merchant,Jack Cai,Sanjiv Maurya在其共同申请的专利文件“System and method for authenticating a smart card using an authentication token transmitted to a smart card reader”(申请号US8522326B2,申请日期2008.9.24,公开日期2013.8.27)中提出了使用身份认证智能卡的系统和方法。该方法使用了一种用于认证的系统包括移动单元和智能卡阅读器。该移动单元包括一个防止访问存储在其上的功能和数据的安全应用程序,和包括一个安全存储认证令牌的身份验证应用程序。智能卡阅读器可以连接到一个智能卡进行通信,智能卡包含身份验证数据。身份验证应用程序将认证令牌发送给智能卡阅读器来验证智能卡。当验证成功时,身份验证应用程序与安全应用程序共享身份验证令牌,认证令牌指示安全应用程序以授予对功能和数据的访问权限。该方法的不足之处是:每次验证都要随身携带硬件设备,而这些硬件设备也给技术的广泛开展带来成本问题;要求用户进行繁琐的认证操作过程。

Chi Wah Lo在其申请的专利文件“System and method for secure pairing of bluetooth devices”(申请号US9344185B2,申请日期2014.3.24,公开日期2016.5.17)中公开了一种安全地配对的蓝牙设备的系统和方法,该系统包括主机设备和外围设备。其中每个设备包括音频接口和蓝牙收发器。在其实现方法中,主机装置和外围设备通过它们的相应的音频接口连接,通过建立一个带外的音频通信信道通过连接的音频接口。主机设备和外围设备交换蓝牙认证数据通过带音频通信信道,然后安全地互相配对和启动,再初始化相应的蓝牙收发器与相应的蓝牙认证数据,实现数据交换。该方法存在的不足之处是:蓝牙通信信道容易被控制和监控,难以保证认证过程中的安全性。



技术实现要素:

本发明的目的在于针对上述已有技术的不足,提出一种基于环境声音的双因素快速认证方法,以实现对常用设备的安全登录认证。

实现本发明目的的思路是,在双因素认证的基础上,同时兼顾便捷性、可开展性和安全性,提出了本发明,本发明称为基于环境声音的双因素快速认证方法。本发明采用的验证方式不需要携带硬件设备或者安装额外的手机软件、浏览器插件,而是直接通过使用手机和电脑上所具有的麦克风设备,录制环境声音,并分析两段声音信号的相关性,以此来确认两台设备的距离,距离越近则相关性越高,相关性高于一定的阈值即认为第二因素认证通过。在第一因素认证中,本发明创造性地提出新的思路,因为大多数手机应用程序有手机密码记忆功能,即使关闭了应用程序,它也会在手机后台继续运行,利用这一特点,可以省去传统的密码输入这个步骤。

实现本发明目的的具体步骤如下:

(1)用户注册:

用户在服务器上注册认证登录凭证中的账户、密码;

(2)手机端登录:

(2a)用户通过移动蜂窝网络或WiFi,在手机端登录服务器上注册认证登录凭证中的账户、密码;

(2b)用户将登录后的帐户、密码信息存储在手机端;

(3)电脑端登录认证:

(3a)用户在电脑端通过Internet,使用第一认证因素向服务器端发送登录请求;用户在服务器指定的登录界面上,输入服务器上注册认证登录凭证中的账户进行第一因素认证;

(3b)服务器接收到用户的登录请求后,通过经移动蜂窝网络或WiFi向手机端发送开启麦克风的请求;

(3c)用户在手机端接收到服务器开启麦克风的请求后,在手机端开启麦克风使用环境声音相似度计算方法,进行第二因素认证;

(3d)手机端和电脑端分别与服务器进行时间同步,手机端的麦克风和电脑端的麦克风同时录制环境声音4秒;

(3e)在手机端的麦克风和电脑端的麦克风各自录制的声音信号上,添加各自的时间戳,且用服务器的公钥进行加密,得到加密后的两段声音信号;

(3f)手机端将加密后的两段声音信号,经移动蜂窝网络或WiFi发送给服务器;

(4)服务器解密和分析声音信号:

(4a)服务器对加密后的两段声音信号用服务器的私钥进行解密,得到解密后的两段声音信号;

(4b)根据用户所要求的安全性和便捷性,在1%到100%的相似度值之间任意选取一个值,作为相似度的阈值Sm

(4c)服务器对解密后的两段声音信号,根据其各自的时间戳,使用环境声音相似度计算方法,进行声音相似度分析;

(5)判断解密后的两段声音信号的声音相似度值是否高于阈值Sm,若是,则执行步骤(6);否则,执行步骤(7);

(6)服务器授予电脑端用户登录权限;

(7)服务器拒绝授予电脑端用户登录权限。

与现有技术相比,本发明具有以下优点:

第一、本发明以手机为载体将用户的账户作为第一认证因素,克服了现有技术要求用户进行繁琐的认证操作问题,使得本发明的认证过程让用户省去密码输入的操作,使本发明具有便捷性。

第二、由于本发明在第二因素认证中使用了手机端和电脑端的麦克风,克服了现有技术每次验证都要随身携带硬件设备,并且这些硬件设备给技术的广泛开展带来额外成本问题,使得本发明的具有开展性和开展成本低的优点。

第三、本发明使用了环境声音相似度计算方法,对本发明中的第二认证因素进行认证,克服了现有技术的通信信道容易被控制和监控,难以保证认证过程中的安全性的问题,使得本发明的认证过程能抵抗重放攻击和远程攻击的安全性优点。

附图说明

图1是本发明的流程图。

图2是在T=4s时,不同的距离L和声源个数N采用本发明的方法,得到的平均环境声音相似度值S。

具体实施方式

下面结合附图对本发明做进一步描述。

参照图1,本发明的具体步骤包括如下。

步骤1,用户注册。

用户在服务器上注册认证登录凭证中的账户、密码。

步骤2,手机端登录。

用户通过移动蜂窝网络或WiFi,在手机端登录服务器上注册认证登录凭证中的账户、密码。

用户将登录后的帐户、密码信息存储在手机端。

步骤3,电脑端登录认证。

用户在电脑端通过Internet,使用第一认证因素向服务器端发送登录请求;用户在服务器指定的登录界面上,输入服务器上注册认证登录凭证中的账户进行第一因素认证。

所述的第一认证因素是指已经在服务器上注册认证登录凭证中的账户。

服务器接收到用户的登录请求后,通过经移动蜂窝网络或WiFi向手机端发送开启麦克风的请求。

用户在手机端接收到服务器开启麦克风的请求后,在手机端开启麦克风使用环境声音相似度计算方法,进行第二因素认证。

所述的环境声音相似度计算方法的具体步骤如下:

第一步,收集手机端麦克风和电脑端麦克风录制的任意两段声音信号;

第二步,将手机端麦克风和电脑端麦克风录制的任意两段声音信号的总能量标准化为1。

第三步,按照下式,计算手机端麦克风和电脑端麦克风录制的任意两段声音信号的时域互相关性值:

Sc(Xi,Xj)=Cross-Corr(Xi,Xj)

Dc(Xi,Xj)=1-Sc(Xi,Xj)

其中,Sc(Xi,Xj)表示手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的时域互相关性值;Cross-Corr(·)表示互相关函数;Xi和Xj分别表示手机端麦克风和电脑端麦克风录制的任意两段声音信号;Dc(Xi,Xj)表示手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的时域差异性值。

第四步,按照下式,利用傅立叶变换公式,计算手机端麦克风和电脑端麦克风录制的任意两段声音信号的频域系数:#

<mrow> <msub> <mi>F</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>&omega;</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mo>&Integral;</mo> <mrow> <mo>-</mo> <mi>&infin;</mi> </mrow> <mi>&infin;</mi> </msubsup> <msub> <mi>X</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>j</mi> <mi>&omega;</mi> <mi>t</mi> </mrow> </msup> <mi>d</mi> <mi>t</mi> </mrow>

<mrow> <msub> <mi>F</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>&omega;</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mo>&Integral;</mo> <mrow> <mo>-</mo> <mi>&infin;</mi> </mrow> <mi>&infin;</mi> </msubsup> <msub> <mi>X</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>j</mi> <mi>&omega;</mi> <mi>t</mi> </mrow> </msup> <mi>d</mi> <mi>t</mi> </mrow>

其中Fi(ω)和Fj(ω)分别表示手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的频域系数;表示积分操作;Xi(t)和Xj(t)分别表示手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj在时域上的函数。

第五步,按照下式,计算手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的频域系数的欧氏范数距离值:

Dd(Xi,Xj)=||Xi-Xj||

其中,Dd(Xi,Xj)表示手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的频域系数的欧氏范数距离值,||·||表示欧氏范数函数。

第六步,按照下式,计算二维空间上手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的时‐频相似度值:

<mrow> <mi>D</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>X</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msub> <mi>D</mi> <mi>c</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>X</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>D</mi> <mi>d</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>X</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow>

S(Xi,Xj)=1-D(Xi,Xj)

其中,D(Xi,Xj)表示手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的声音差异值;表示开根号操作;Dc(Xi,Xj)表示手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的时域差异值;Dd(Xi,Xj)表示手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的频域系数的欧氏范数距离值;S(Xi,Xj)表示二维空间上手机端麦克风和电脑端麦克风录制的任意两段声音信号Xi和Xj的时‐频相似度值。所述的第二认证因素是指,用户在电脑端登录时手机端到电脑端的距离。

手机端和电脑端各自与服务器进行时间同步后,手机端的麦克风和电脑端的麦克风同时录制环境声音4秒。

在手机端的麦克风和电脑端的麦克风各自录制的声音信号上,添加各自的时间戳且用服务器的公钥进行加密。

手机端将加密后的两段声音信号,经移动蜂窝网络或WiFi发送给服务器。

步骤4,服务器解密和分析声音信号。

服务器对加密后的两段声音信号用服务器的私钥进行解密,得到解密后的两段声音信号。

根据用户所要求的安全性和便捷性,在1%到100%的相似度值之间任意选取一个值,作为相似度的阈值Sm

服务器对解密后的两段声音信号,根据其各自的时间戳,使用环境声音相似度计算方法,进行声音相似度分析。

步骤5,判断解密后的两段声音信号的声音相似度值是否高于阈值Sm,若是,则执行步骤6;否则,执行步骤7。

步骤6,服务器授予电脑端用户登录权限。

步骤7,服务器拒绝授予电脑端用户登录权限。

下面结合仿真实验对本发明的效果做进一步的说明。

1.仿真实验条件:

条件1,在Intel(R)Celeron(R)G540处理器,Windows 7 Ultimate操作系统的台式计算机上测试仿真实验的结果。

条件2,在电脑上,用Mozilla Firefox浏览器(版本号47.0.1.6018)在应用编程接口上通过实现Navigator.getUserMedia()功能,启动麦克风获取音频文件,当用户需用麦克风进行第二因素认证时,这个功能将被激活。

2.仿真实验内容与结果分析:

本发明的仿真实验是在安静的室内环境和吵闹的室外环境分别做登录测试。

在室内的环境,本发明的仿真实验通过设置声源个数N=1,声源为音乐播放器,以此来模拟室内的环境。

在室外的环境下,本发明的仿真实验通过设置声源个数N(N>1),声源为音乐播放器,以此来模拟室外环境。

实验中,将手机端和电脑端麦克风的距离设置为Lm,将录音时间设置为Ts,将环境声音相似度阈值设置为Sm

室内环境下,将声源个数N设置为1,为得到不同的距离Lm和录音时间Ts与平均声音相似度值S之间的关系,本发明的仿真实验进行了427次登录操作。

利用收集到的环境声音数据,使用环境声音相似度计算方法,计算每一对声音数据的环境声音相似度值,对得到的环境声音相似度值求平均值,得到表1。表1中L表示手机端麦克风到电脑端麦克风的距离,单位:米(m);T表示录制环境声音的时间,单位:秒(s)。

表1:平均环境声音相似度一览表单位:%

从表1,可以发现以下规律:录音时间T越长,平均声音相似度值S越大。手机端麦克风到电脑端麦克风的距离L越远,平均环境声音相似度值S越小。录音时间越长,手机端麦克风到电脑端麦克风的距离L对平均声音相似度值S的影响越小。

为提高基于环境声音的双因素快速认证方法的认证过程的便捷性,本发明的仿真实验发现,当录音时间T=4s时,能够满足便捷性要求且具有理想的平均相似度值S,此时手机端麦克风到电脑端麦克风的距离L对平均相似度值S的影响也比较小,于是在下面的仿真实验中均将录音时间T设置为4s。

室外环境下,本发明的仿真实验将声源个数设置为N(N>1),将录音时间T设置为4s,本实验进行了3246次登录操作。

利用收集到的环境声音数据,使用环境声音相似度计算方法得到其各自的环境声音相似度值。

取声源个数N=1,3,6,9时的实验数据进行整理,得到图2。图2中横坐标表示手机端到电脑端的距离L,单位:米。图2中的纵坐标表示平均环境声音相似度值S。图2中以菱形标示的曲线表示声源个数N=1时得到平均环境声音相似度曲线;图2中以正方形标示的曲线表示声源个数N=3时得到平均环境声音相似度曲线;图2中以三角形标示的曲线表示声源个数N=6时得到平均环境声音相似度曲线;图2中以叉形标示的曲线表示声源个数N=9时得到平均环境声音相似度曲线。

从图2发现,各曲线的平均环境声音相似度值S在距离5m以内缓慢减少。声源个数N越多,平均环境声音相似度值S在距离5米以外减少越快。

为提高基于环境声音的双因素快速认证方法的认证过程的安全性,以抵抗远程攻击,将环境声音相似度阀值Sm设置为95%,既能够保证用户登录认证的成功率,也能够保证用户登录过程的安全性。

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