1.本发明属于信息安全技术领域,涉及面向移动设备终端的行为认证技术,具体为一种基于上下文因子的自适应认证方法,可用于移动设备用户身份的自适应持续认证。
背景技术:2.随着移动互联网的快速发展,装载社交、购物、支付、出行、娱乐等各类应用的移动终端设备渗透到了人们社交和生活的方方面面。移动终端在给我们带来便利的同时也存储了大量个人信息,存在隐私泄露和信息被盗用等安全问题。移动设备如今采用的认证方式,包括口令认证、指纹和面部识别。虽然部署简单且使用方便,但是存在不容忽视的安全隐患。例如,在基于口令的认证方式中,用户通常设置诸如“123456”或者生日简单或容易猜测的口令,容易遭受猜测攻击;已有研究表明,表示攻击会影响指纹和面部识别的可靠性。此外,上述提到的认证方式都是一次性身份认证,仅仅解决了用户登录系统时的身份认证,没有考虑用户在持续使用过程中的身份认证问题,导致设备可能在使用过程中遭受敌手攻击。
3.为了弥补上述认证方式的不足,如今越来越多的研究人员致力于探索移动设备端的持续认证方法,该认证方式利用用户固有的生理或行为生物特征持续对用户身份进行认证,以确保设备在使用期间的安全性。但是移动设备的持续认证重要的一个特点是不可干扰性,而生理生物特征比如说面部,虹膜,指纹等认证方式需要用户与生理特征传感器(如摄像头、指纹采集器等)进行交互,不能无缝提取,并不适用于持续认证。
4.目前对于持续认证更为合理可行的方式是基于诸如步态、触屏操作之类的行为生物特征,它们可以在不中断用户使用的情况下收集数据,达到透明持续地认证的效果。然而,行为生物认证本身易受环境和情绪等不可控因素的影响导致认证效果不稳定,且易受到敌手攻击;对此,采用多种行为模态进行融合认证显得更为安全可靠,多模态行为融合可以缓解单模态行为认证的上述缺点,能够在增强认证系统鲁棒性的同时增加系统的安全性。但多行为模态融合需要同时利用多种行为进行认证,会增加系统的复杂性,同时对多个来源的数据进行监控采集和传输处理,会给移动设备造成大量的cpu资源和电量消耗,影响到用户的正常使用。
5.考虑到移动设备的私有性,在大多数情况下设备的使用用户都是设备的拥有者,每个用户都有自己可以预测的居住地点和应用使用习惯,同时用户也可能频繁使用不敏感的应用程序,比如天气或者休闲游戏等,这时用户并不需要高强度的持续认证手段,相反,如果在从未访问过的位置使用敏感程度高的应用或者从来没有使用过的应用,就需要认证能力强的多模态融合的方式。现有的基于用户生物行为特征的持续认证方法中,通常只考虑了使用同一种认证模型进行认证,不能达到保证安全性的同时降低系统复杂性和节省开销的目的;因此,用于移动设备的身份认证机制要如何在安全性与系统复杂性之间进行权衡,是目前亟待解决的技术问题。
技术实现要素:6.本发明针对上述现有技术存在的不足,提供了一种基于上下文的自适应持续认证方法,用于解决单模行为认证的身份认证准确率低、多模融合行为认证系统复杂度高且能量消耗大的问题。本发明提出的认证方法可在不同上下文环境中,自适应地选择不同强度的持续认证机制,能够在设备安全性、用户友好性以及系统复杂程度和能量消耗之间进行权衡,有效地提高认证结果可靠性,同时降低系统复杂度及能耗。
7.为了实现上述目的,本发明的技术方案包括如下步骤:
8.(1)每个用户根据自身对不用应用的保护需求划分应用程序重要程度,将所使用的所有应用程序划分为三类:重要应用、普通应用和不重要应用,对应的应用程序重要系数分别记为v1、v2和v3,其中v1>v2>v3;
9.(2)在用户使用应用程序时,通过移动设备内置传感器和系统api实时获取当前上下文环境,即上下文特征及应用程序重要程度;
10.(3)根据上下文环境计算当前使用用户为合法用户的可信度,具体按如下步骤实现:
11.(3.1)判断当前设备是否存在上下文历史信息配置文件,若是,则执行步骤(3.3),反之,继续步骤(3.2);
12.(3.2)利用上下文环境创建合法用户的上下文历史信息配置文件;
13.(3.3)根据上下文历史信息配置文件,对用户之前接触过的上下文特征与没有接触过的上下文特征,分别计算合法用户在相应上下文特征下使用移动设备的概率p(x
k
|u=l),其中u表示使用用户,l表示合法用户,u=l表示当前使用用户为合法用户:
14.对于用户之前接触过的上下文特征:根据上下文历史信息配置文件,按照下式计算:
[0015][0016]
对于用户之前没有接触过的上下文特征:利用数据平滑技术进行估计,按照下式得到:
[0017][0018]
其中c(x
k
)表示在上下文环境中特征x
k
发生的次数,n=∑c(x
k
)表示上下文环境中所有特征发生的总次数;
[0019]
(3.4)利用统计学框架计算在当前上下文环境下,使用用户为合法用户的可信度g
u
(x):
[0020][0021]
其中,p(x=x|u=l)表示合法用户在当前上下文环境的所有特征下使用移动设备的概率,x表示上下文环境,x=(x1,x2,...,x
k
,...,x
d
)表示当前的一组d维的上下文特征;
[0022]
(3.5)对可信度g
u
(x)进行归一化处理,使之映射在[0,1]之间,得到归一化后的可信度g
u
'(x);
[0023]
(4)根据归一化后的可信度g
u
'(x)以及当前使用的应用程序重要程度计算系统环境安全水平综合得分;
[0024]
(5)将系统环境安全水平综合得分与预先设定的阈值进行比较,若得分大于阈值,则判定系统环境安全等级为高等级,反之,判定为低等级;
[0025]
(6)根据系统安全等级选择对应的认证策略,具体如下:
[0026]
安全等级为高等级时,选择单模态认证策略;
[0027]
安全等级为低等级时,选择多模态认证策略;
[0028]
(7)根据所选择的认证策略,收集对应的行为数据并对当前使用用户持续进行认证,得到移动设备上当前使用用户身份合法性的认证结果。
[0029]
与现有技术相比,本发明具有如下优点:
[0030]
第一、本发明在进行身份认证之前首先判断上下文环境的安全性,根据不同的安全等级,选择不同的身份认证方式,使得身份认证方式可以根据上下文自适应调整,能够在设备安全性和能量消耗之间进行有效权衡,从而解决单模行为认证身份认证准确率低、多模融合的行为认证系统复杂度高且能量消耗大等问题;
[0031]
第二、由于本发明在身份认证之前采用了认证机制选择,故可将该自适应选择的方式与各种行为认证特征进行组合,从而具有通用性和普适性,利于推广。
附图说明
[0032]
图1是本发明方法的实现流程图;
[0033]
图2是本发明适用的身份认证系统结构示意图。
具体实施方式
[0034]
以下结合附图和具体的实施例,对本发明作进一步的描述,此处所描述的具体实例仅仅用于解释本发明,但并不用于限定本发明。
[0035]
实施例一:
[0036]
参照图1,本发明基于上下文的自适应持续认证方法,整体上可概括为如下四步:
[0037]
s1)用户打开一个应用程序时,使用移动设备内置传感器和系统api实时获取当前上下文特征;
[0038]
s2)根据上下文特征利用统计学框架计算在该环境下使用用户是合法用户的可信度,基于此可信度评估当前上下文环境的安全水平;
[0039]
s3)根据上下文环境的安全水平以及当前使用的应用程序重要程度计算系统环境安全水平综合得分,通过阈值判断,划分系统环境的安全等级;
[0040]
s4)根据系统安全等级选择相应的认证策略,收集对应的行为数据并对当前使用用户持续进行认证,判断移动设备当前用户身份的合法性。
[0041]
实施例二:
[0042]
参照附图1和2,本发明提出的一种基于上下文的自适应持续认证方法,具体包括如下步骤:
[0043]
步骤1,每个用户根据自身对不用应用的保护需求划分应用程序重要程度,将所使用的所有应用程序划分为三类:重要应用、普通应用和不重要应用,对应的应用程序重要系数分别记为v1、v2和v3,其中v1>v2>v3;
[0044]
步骤2,在用户使用应用程序时,通过移动设备内置传感器和系统api实时获取当
前上下文环境,即上下文特征及应用程序重要程度。这里的上下文特征是指移动设备的地理位置或当前使用的应用程序名称;移动设备的地理位置是根据gps传感器获得,且该地理位置为经纬度数据,创建合法用户的上下文历史信息配置文件时是将纬度和经度空间划分为离散的0.002
×
0.002纬度/经度网格,每个网格大约为200
×
200米,同一网格范围内的所有坐标对均标记为相同位置。
[0045]
步骤3,根据上下文环境计算当前使用用户为合法用户的可信度,具体按如下步骤实现:
[0046]
(3.1)判断当前设备是否存在上下文历史信息配置文件,若是,则执行步骤(3.3),反之,继续步骤(3.2);所述上下文历史信息配置文件中包含用户在相应上下文特征下使用移动设备的次数和在上下文环境的所有特征下使用移动设备的总次数。
[0047]
(3.2)利用上下文环境创建合法用户的上下文历史信息配置文件;
[0048]
(3.3)根据上下文历史信息配置文件,对用户之前接触过的上下文特征与没有接触过的上下文特征,分别计算合法用户在相应上下文特征下使用移动设备的概率p(x
k
|u=l),其中u表示使用用户,l表示合法用户,u=l表示当前使用用户为合法用户:
[0049]
对于用户之前接触过的上下文特征:根据上下文历史信息配置文件,按照下式计算:
[0050][0051]
对于用户之前没有接触过的上下文特征:利用数据平滑技术进行估计,按照下式得到:
[0052][0053]
其中c(x
k
)表示在上下文环境中特征x
k
发生的次数,n=∑c(x
k
)表示上下文环境中所有特征发生的总次数;
[0054]
(3.4)利用统计学框架计算在当前上下文环境下,使用用户为合法用户的可信度g
u
(x):
[0055][0056]
其中,p(x=x|u=l)表示合法用户在当前上下文环境的所有特征下使用移动设备的概率,x表示上下文环境,x=(x1,x2,...,x
k
,...,x
d
)表示当前的一组d维的上下文特征;
[0057]
(3.5)对可信度g
u
(x)进行归一化处理,使之映射在[0,1]之间,得到归一化后的可信度g
u
'(x);
[0058]
步骤4,根据归一化后的可信度g
u
'(x)以及当前使用的应用程序重要程度计算系统环境安全水平综合得分;按照如下公式计算:
[0059][0060]
其中,v表示当前上下文特征中记录的当前使用的应用程序名称的重要程度系数,且v=v1、v2或v3。
[0061]
步骤5,将系统环境安全水平综合得分与预先设定的阈值进行比较,若得分大于阈值,则判定系统环境安全等级为高等级,反之,判定为低等级;这里的阈值是用户通过自行
权衡对系统预先设定的一个值,用于使系统能够对于重要应用程序使用高强度持续认证方式、对于普通应用程序在用户从未出现过的地方保持高强度认证。
[0062]
步骤6,根据系统安全等级选择对应的认证策略,具体如下:
[0063]
安全等级为高等级时,选择单模态认证策略;
[0064]
安全等级为低等级时,选择多模态认证策略;
[0065]
步骤7,根据所选择的认证策略,收集对应的行为数据并对当前使用用户持续进行认证,得到移动设备上当前使用用户身份合法性的认证结果。
[0066]
实施例三:
[0067]
参照图2,本发明适用的身份认证系统结构示意图,详细介绍使用本发明方法进行认证的细节。
[0068]
根据本发明方法实现的认证系统,包括如下:
[0069]
(一)用户注册模块:
[0070]
在进行身份认证之前,先构建认证需要的配置文件和认证模型,具体包含以下步骤:
[0071]
1.1)数据收集。
[0072]
启动一个应用程序时,采集当前时刻的上下文特征数据和使用应用程序过程中的触屏时触控传感器行为和运动传感器行为数据。上下文特征数据包括地理位置信息以及应用程序信息,地理位置信息由gps获得,收集当前位置的经纬度,应用程序信息包括当前使用的应用程序名称;触屏时触控传感器行为由移动设备触摸屏收集,包括触屏过程中的时间戳,触屏行为状态,手指按压坐标,压力,面积;运动传感器行为由移动设备的内置加速度传感器,陀螺仪传感器,磁力传感器收集,包括三个传感器的x,y,z轴上的值,采样频率为100hz。
[0073]
1.2)文件配置和模型训练。
[0074]
根据步骤1)中收集的上下文特征信息数据,创建合法用户的上下文信息配置文件,该配置信息统计用户在不同上下文特征中使用移动设备的次数和在该上下文特征下使用的总次数。由于使用gps传感器获得到的地理位置信息是经纬度数据,如若将所有的经纬度数据作为地理位置的一个特征的话,会造成上下文配置文件过于庞大,为了处理这种情况,将纬度和经度空间划分为离散的0.002
×
0.002纬度/经度网格,每个网格大约为200
×
200米,同一网格范围内的所有坐标对均标记为相同位置。根据步骤1)中收集的两种行为数据,分别进行特征提取后,利用支持向量机(svm)机器学习算法分别训练合法用户身份认证模型;除此之外,需要用户显示设置口令,用于身份认证失败后的显示认证。
[0075]
1.3)上下文信息配置文件和训练的行为模型存储。
[0076]
(二)用户认证模块:
[0077]
在用户使用移动设备上的应用程序时,对使用用户的身份进行认证,具体包含以下步骤:
[0078]
2.1)用户启动一个应用程序时,采集当前上下文特征信息,包括地理位置信息以及应用程序信息,根据当前上下文特征信息以及存储的上下文信息配置文件划分系统安全等级,具体步骤如下:
[0079]
根据上下文信息配置文件计算当前上下文特征的概率分布;
[0080]
利用统计学框架计算当前上下文特征下的使用用户是合法用户的可信度,该框架涉及的公式如下:
[0081][0082]
其中p(x=x|u=l)中u表示使用用户,l表示合法用户,x和u分别表示x和u的随机变量x=(x1,...,x
d
)表示当前的一组d维的上下文特征,其中d=2,包括当前地理位置和的应用程序信息。p(x
k
|u=l)为根据上下文信息配置文件获得的当前上下文特征的概率分布,综上,p(x=x|u=l)为合法用户在当前上下文环境中使用移动设备的概率,用来表征在当前上下文环境下使用用户是合法用户的可信度,也即当前上下文环境的安全水平。由于g
u
(x)乘积之后的数据较小,不利于之后的计算,因此首先对g
u
(x)进行了最大最小归一化处理,使安全水平映射在[0,1]之间。
[0083]
在计算上述上下文环境安全水平过程中,对于没有接触过的上下文,如用户从来没有去过的地点或者从未使用过的应用程序,对应的上下文安全水平永远等于0,这与实际情况不符,因为用户可能在家时想要尝试一个新的应用程序,这时的安全水平不仅与应用程序有关,还与地理位置有关,通过利用数据平滑技术可以解决该问题,最后的概率估计结果为:
[0084][0085]
其中,c(x)是在某个上下文使用历史中看到的特征x发生的次数,n=∑
x
c(x)是该上下文发生的总次数,其它看不见的特征的概率总和为
[0086]
根据当前上下文环境的安全水平以及当前使用的应用程序重要程度计算系统环境安全水平综合得分,计算的方式如下:
[0087][0088]
其中v表示记录的当前使用的应用程序的重要程度系数,应用程序越重要,对应的重要程度系数越大,每个用户可以根据自身对不用应用的保护程度,将所使用的所有应用程序划分为三类:重要应用,普通应用,不重要应用,对应的应用程序重要系数为v1,v2,v3,其中v1>v2>v3,此实施例中,v1=3,v2=2,v3=1;
[0089]
系统环境安全水平综合得分与阈值进行比较,划分系统环境安全等级。此系统环境安全等级与不同强度的行为认证策略一一对应,系统环境越不安全,对应的认证策略强度越高,反之,则选择低耗能的认证策略。
[0090]
具体划分规则如表1所示:
[0091]
表1
[0092][0093]
2.2)将步骤1)中划分的系统环境安全等级与不同强度的行为认证策略一一对应,系统环境安全等级越低,选择使用的认证策略强度越高,本实施例中选择的认证策略包括:触屏时触控传感器行为的持续认证以及基于触屏时触控传感器行为和运动传感器行为的分数级融合的持续认证,认证策略强度依次增加。
[0094]
具体的对应关系如表2所示:
[0095]
表2
[0096][0097]
2.3)根据步骤2)中选择的认证策略,相应的采集不同的行为数据,根据该行为数据进行用户的身份认证。
[0098]
如果当前系统环境安全等级高,选择了触屏时触控传感器行为作为认证策略,则收集的触屏时手指在触摸屏上滑动的一系列触摸点,计算表征触屏行为的特征向量,将特征向量作为存储的触控传感器行为的训练模型的输入,得到当前用户是合法用户的预测得分,如果预测得分大于0.5则为合法用户,否则为非法用户。
[0099]
如果当前系统安全等级低,触屏时触控传感器行为和运动传感器行为的融合作为认证策略,则记录触屏时手指在触摸屏上滑动一系列触摸点和滑动引起的运动传感器的读数,分别计算表征触屏行为和触屏操作造成的移动设备的运动行为的特征向量,分别作为存储的触控传感器行为和运动传感器行为训练模型的输入,得到两个当前用户是合法用户的预测得分,利用下面的基于权重的得分级融合公式得到最终的预测得分:
[0100][0101]
其中表示两种认证方式对应的权重,s1,s2表示两种认证方式的预测得分,s表示最终的预测得分,权重的计算方式如下:
[0102][0103]
μ
g
,μ
i
模型预测合法用户和非法用户得分的平均值,δ
g
,δ
i
模型预测合法用户和非法用户得分的方差;利用此公式得到的d
i
表示单个行为的合法用户和非法用户的得分的分离程度,权重与d
i
成正比,分离程度越大,说明该行为认证能力更好,因此权重更大。
[0104]
本实施例中分别为0.5232和0.4768。如果最终的预测得分大于0.5则为合法用户,否则为非法用户。
[0105]
2.4)根据步骤2.3),如果判断当前用户为合法用户,则更新上下文信息配置文件和认证模型,上下文信息配置文件需要每次更新,只需更新当前上下文环境特征的次数和上下文环境的总次数即可,而认证模型只需要在发生行为漂移时重新训练模型即可;如果判断当前用户为非法用户,则拒绝访问移动设备。
[0106]
本发明未详细说明部分属于本领域技术人员公知常识。
[0107]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。