一种身份认证方法及装置与流程

文档序号:20350000发布日期:2020-04-10 22:55阅读:96来源:国知局
一种身份认证方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种身份认证方法及装置。



背景技术:

身份认证主要是为了防止不法分子冒用合法用户身份,从而获得合法用户身份所拥有的某些资源访问与操作的权限。

身份认证主要分为三类,第一类是通过用户记忆进行认证,例如账号密码登录认证,具体就是在用户登录时输入注册时设定好的密码,只有密码正确才能成功登录。显然这种认证方式的可用性和安全性式互相排斥的,简单易记的密码很容易被破解和泄露,而复杂安全的密码不容易记忆和维护。第二类是通过用户拥有的东西进行认证,例如手机短信认证,在用户登录时,将收到的来自登录系统后台的随机验证码输入到验证码框中,以完成用户身份的认证。这类身份认证方式如今较为普遍,也比起第一类安全一些,但仍然可能因为丢失等原因造成安全隐患。这两类都属于传统的身份认证方式,第三类是生物认证它是利用人体固有的生理特征进行身份认证,具有可识别性、独一性和随时随地可用性,使得生物认证成为热点方向。生物认证利用人体固有的生理特征进行认证。

但是,现有的基于生理特征的身份认证有一定的实施难度,成本较高,且属于一次认证方式,即认证成功后,无法持续认证是否为合法用户在使用。因此,本发明提出一种便携、低成本的身份认证方案。



技术实现要素:

本发明实施例提供一种身份认证方法及装置,用以解决上述背景技术中提出的技术问题,或至少部分解决上述背景技术中提出的技术问题。

第一方面,本发明实施例提供一种身份认证方法,包括:

获取认证信息和用户终端使用过程中的多个击键信息,所述击键信息包括敲击多键的键值、敲击多键持续时间和敲击多键间隔时间;

根据每个所述敲击多键的键值和所述认证信息确定所述敲击多键的键值对应的击键样本信息,以根据所述敲击多键键值对应的击键样本信息和所述击键信息得到敲击多键的奖惩值信息,根据每个敲击多键的奖惩值信息得到用户终端使用过程中的奖惩总值;

若所述奖惩总值大于认证阈值,则进行用户登录验证。

更具体的,在所述获取认证信息和用户终端使用过程中的多个击键信息的步骤之前,所述方法还包括:

获取用户终端登录时的击键信息,所述击键信息包括敲击多键的键值、单键的敲击时长、敲击多键持续时间和敲击多键间隔时间;

将所述用户登录时的击键信息转换为击键特征图;

将所述击键特征图输入训练好的卷积神经网络进行二分类,得到第一识别结果;

若所述第一识别结果校验通过,则获取认证信息和用户终端使用过程中的多个击键信息;

其中,所述训练好的卷积神经网络由用户自由输入多键时的样本击键信息转换的样本击键特征图训练得到。

更具体的,在将所述击键特征图输入训练好的卷积神经网络进行二分类,得到第一识别结果的步骤之前,所述方法还包括:

获取用户自由输入时的样本击键信息,所述样本击键信息包括敲击多键的样本键值、单键的样本敲击时长、敲击多键样本持续时间和敲击多键样本间隔时间;

将所述样本击键信息转换为样本击键特征图,将每个样本击键特征图作为一个训练样本,获取多个训练样本;

利用多个训练样本对预设卷积神经网络进行训练。

更具体的,所述利用多个训练样本对预设卷积神经网络进行训练的步骤,具体包括:

对于任意一个训练样本,将所述训练样本输入预设卷积神经网络,输出识别结果;

当满足预设训练条件时,则所述预设卷积神经网络完成训练,得到训练好的卷积神经网络。

更具体的,所述根据所述敲击多键键值对应的击键样本信息和所述击键信息得到敲击多键的奖惩值信息的步骤,具体包括:

根据所述敲击多键键值对应的击键样本信息和所述击键信息确定所述击键信息和所述击键样本信息之间的相似度;

根据所述击键信息和所述击键样本信息之间的相似度确定敲击多键的奖惩值信息。

更具体的,用户登录验证具体包括:

对用户登录时输入的键值进行校验;

若校验通过,则获取用户登录时的击键信息,以对所述用户登录时的击键信息进行校验。

第二方面,本发明实施例提供一种身份认证装置,包括:

获取模块,用于获取认证信息和用户终端使用过程中的多个击键信息,所述击键信息包括敲击多键的键值、敲击多键持续时间和敲击多键间隔时间;

计算模块,用于根据每个所述敲击多键的键值和所述认证信息确定所述敲击多键的键值对应的击键样本信息,以根据所述敲击多键键值对应的击键样本信息和所述击键信息得到敲击多键的奖惩值信息,根据每个敲击多键的奖惩值信息得到用户终端使用过程中的奖惩总值;

验证模块,用于若所述奖惩总值大于认证阈值,则进行用户登录验证。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述身份认证方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述身份认证方法的步骤。

本发明实施例提供的一种身份认证方法及装置,通过采用击键特征进行用户身份认证,比起传统的账号密码认证有着更高的安全级别,比起较为主流的面部认证指纹认证等方法有着低成本、易推广等特点,并且本申请中的击键特征是用户使用过程中持续获取的多个击键信息,采用加权奖惩机制对用户进行持续身份认证,从而实现在用户使用电脑的过程中持续的对用户进行身份认证,从而更好的保证用户账号安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例中所描述的身份认证方法流程示意图;

图2为本发明一实施例中所描述的击键特征示例图;

图3为本发明一实施例所描述的身份认证装置结构示意图;

图4为本发明一实施例所描述的电子设备结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明一实施例中所描述的身份认证方法流程示意图,如图1所示,包括:

步骤s1,获取认证信息和用户终端使用过程中的多个击键信息,所述击键信息包括敲击多键的键值、敲击多键持续时间和敲击多键间隔时间;

步骤s2,根据每个所述敲击多键的键值和所述认证信息确定所述敲击多键的键值对应的击键样本信息,以根据所述敲击多键键值对应的击键样本信息和所述击键信息得到敲击多键的奖惩值信息,根据每个敲击多键的奖惩值信息得到用户终端使用过程中的奖惩总值;

步骤s3,若所述奖惩总值大于认证阈值,则进行用户登录验证。

具体的,本发明实施例中所描述的认证信息具体多个击键样本信息,每个击键样本信息包括样本多键的键值,样本多键的间隔时间以及样本多键的敲击时长,还包括每个样本多键的认证阈值。

本发明实施例中所描述的敲击多键具体是指键盘上被连续敲击的相邻多个按键的组合,样本单键是组成样本多键的单个按键,样本单键的信息包括样本单键的键值、样本单键被按下去的时间点以及样本单键被释放的时间点。

本发明实施例中所描述的敲击多键持续时间为连续多个单键被按压下去的时间间隔序列,即按照顺序排列的一组数据间隔集合。本发明实施例中所描述的单个间隔时间是指多个相邻两个单键被释放的时间点和被按下去的时间差。

本发明实施例中所描述的用户终端使用过程中的多个击键信息是指在用户自由使用过程中持续收集的。

通过击键信息的敲击多键的键值,在认证信息中查到与该键值对应的样本多键的认证阈值以及样本多键的击键样本信息;然后比较该敲击多键的敲击多键持续时间和敲击多键间隔时间与击键样本信息的敲击多键持续时间和敲击多键间隔时间的相似度,从而判断该击键信息是否通过校验,校验通过和校验不通过均对应不同的奖惩值。

持续获取用户终端使用过程中的多个击键信息,通过同样的样本,得到将多个奖惩制累计叠加,可以得到奖惩总值,如果奖惩总值大于认证阈值,则判断此时为非法用户,进行用户登录验证。

本发明实施例中所描述的用户登录验证包括用户密码校验和对用户输入密码过程中的击键信息进行校验。

本发明实施例通过采用击键特征进行用户身份认证,比起传统的账号密码认证有着更高的安全级别,比起较为主流的面部认证、指纹认证等方法有着低成本、易推广等特点,并且本申请中的击键特征是用户使用过程中持续获取的多个击键信息,采用加权奖惩机制对用户进行持续身份认证,从而实现在用户使用电脑的过程中持续的对用户进行身份认证,从而更好的保证用户账号安全性。

在上述实施例的基础上,在所述获取认证信息和用户终端使用过程中的多个击键信息的步骤之前,所述方法还包括:

获取用户终端登录时的击键信息,所述击键信息包括敲击多键的键值、单键的敲击时长、敲击多键持续时间和敲击多键间隔时间;

将所述用户登录时的击键信息转换为击键特征图;

将所述击键特征图输入训练好的卷积神经网络进行二分类,得到第一识别结果;

若所述第一识别结果校验通过,则获取认证信息和用户终端使用过程中的多个击键信息;

其中,所述训练好的卷积神经网络由用户自由输入多键时的样本击键信息转换的样本击键特征图训练得到。

具体的,本发明实施例中所描述的获取用户终端登录时的击键信息是指用户在登录输入密码过程中的按键信息。

本发明实施例中所描述的击键特征图具体是包含击键信息建立的x和y轴坐标系图,主对角线为单键的敲击时长,主对角线的上一斜线为敲击多键持续时间,主对角线的下一斜线为敲击多键间隔时间,从而将击键主句构建成图。

例如,图2为本发明一实施例中所描述的击键特征示例图,如图2所示,密码为“.tie5roaln”,然后转换后的图像如图1所示,将11位的静态密码的31个击键特征转化为11x11的图,其中坐标的x和y轴都是击键文本信息,主对角线为11位击键文本的hold.key信息,表示从某个键(key)按下(down)到弹起来(up)的时间间隔;主对角线的上一斜线为dd.key,key_next信息,表示从某个键(key)按下(down)到下一个键(key_next)按下(down)的时间间隔;主对角线的下一斜线为ud.key,key_next信息,表示从某个键(key)弹起来(up)到下一个键(key_next)按下(down)的时间间隔。

本发明实施例中所描述的输入训练好的卷积神经网络具体是指由用户自由输入多键时的样本击键信息转换的样本击键特征图训练得到。

将击键特征图输入训练好的卷积神经网络进行二分类具体是指,识别击键特征图是否认证通过。

本发明实施例通过在静态认证部分采用卷积神经网络进行二分类,比起统计学方法与其他机器学习方法有着较强的拟合功能,比起普通神经网络更着重于隐藏于空间中的信息。

在上述实施例的基础上,在将所述击键特征图输入训练好的卷积神经网络进行二分类,得到第一识别结果的步骤之前,所述方法还包括:

获取用户自由输入时的样本击键信息,所述样本击键信息包括敲击多键的样本键值、单键的样本敲击时长、敲击多键样本持续时间和敲击多键样本间隔时间;

将所述样本击键信息转换为样本击键特征图,将每个样本击键特征图作为一个训练样本,获取多个训练样本;

利用多个训练样本对预设卷积神经网络进行训练。

所述利用多个训练样本对预设卷积神经网络进行训练的步骤,具体包括:

对于任意一个训练样本,将所述训练样本输入预设卷积神经网络,输出识别结果;

当满足预设训练条件时,则所述预设卷积神经网络完成训练,得到训练好的卷积神经网络。

在上述实施例的基础上,所述根据所述敲击多键键值对应的击键样本信息和所述击键信息得到敲击多键的奖惩值信息的步骤,具体包括:

根据所述敲击多键键值对应的击键样本信息和所述击键信息确定所述击键信息和所述击键样本信息之间的相似度;

根据所述击键信息和所述击键样本信息之间的相似度确定敲击多键的奖惩值信息。

具体的,在认证信息中查到与该键值对应的样本多键的认证阈值以及样本多键的击键样本信息;然后比较该敲击多键的敲击多键持续时间和敲击多键间隔时间与击键样本信息的敲击多键持续时间和敲击多键间隔时间的相似度,从而判断该击键信息是否通过校验,校验通过和校验不通过均对应不同的奖惩值,对校验结果αγ∈{-1,1}进行加权可以得到奖惩得分βγ,其中,ωγ为权重,表示命中的多键γ出现的频率,fγ表示的是多键γ出现的次数。具体公式如下:

βγ=αγ×ωγ

其中,奖惩得分βγ,ωγ为权重。

本发明实施例中通过采用击键特征进行用户身份认证,比起传统的账号密码认证有着更高的安全级别,比起较为主流的面部认证指纹认证等方法有着低成本、易推广等特点,并且本申请中的击键特征是用户使用过程中持续获取的多个击键信息,采用加权奖惩机制对用户进行持续身份认证,从而实现在用户使用电脑的过程中持续的对用户进行身份认证,从而更好的保证用户账号安全性。

在上述实施例的基础上,用户登录验证具体包括:

对用户登录时输入的键值进行校验;

若校验通过,则获取用户登录时的击键信息,以对所述用户登录时的击键信息进行校验。

具体的,本发明实施例中所描述的对用户登录时输入的键值进行校校验具体是指对用户登录时输入的信息进行校验,信息包括但不限于密码、口令、智能卡、u盾。若信息校验通过,则对用户登录时的击键信息进行校验,若校验通过则对用户终端持续使用过程的多个击键信息进行校验。

本发明实施例通过将信息登录时的击键认证和持续击键认证进行结合从而提升身份认证的安全性。

图3为本发明一实施例所描述的身份认证装置结构示意图,如图3所示,包括:获取模块310、计算模块320和验证模块330;其中,获取模块310用于获取认证信息和用户终端使用过程中的多个击键信息,所述击键信息包括敲击多键的键值、敲击多键持续时间和敲击多键间隔时间;其中,计算模块320用于根据每个所述敲击多键的键值和所述认证信息确定所述敲击多键的键值对应的击键样本信息,以根据所述敲击多键键值对应的击键样本信息和所述击键信息得到敲击多键的奖惩值信息,根据每个敲击多键的奖惩值信息得到用户终端使用过程中的奖惩总值;其中,验证模块330用于若所述奖惩总值大于认证阈值,则进行用户登录验证。

本发明实施例提供的装置是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。

本发明实施例通过采用击键特征进行用户身份认证,比起传统的账号密码认证有着更高的安全级别,比起较为主流的面部认证指纹认证等方法有着低成本、易推广等特点,并且本申请中的击键特征是用户使用过程中持续获取的多个击键信息,采用加权奖惩机制对用户进行持续身份认证,从而实现在用户使用电脑的过程中持续的对用户进行身份认证,从而更好的保证用户账号安全性。

图4为本发明一实施例所描述的电子设备结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communicationsinterface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法:获取认证信息和用户终端使用过程中的多个击键信息,所述击键信息包括敲击多键的键值、敲击多键持续时间和敲击多键间隔时间;根据每个击键信息所述敲击多键的键值和所述认证信息确定所述敲击多键的键值对应的击键样本信息,以根据所述敲击多键键值对应的击键样本信息和所述击键信息得到敲击多键的奖惩值信息,根据每个敲击多键的奖惩值信息得到用户终端使用过程中的奖惩总值;若所述奖惩总值大于认证阈值,则进行用户登录验证。

此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取认证信息和用户终端使用过程中的多个击键信息,所述击键信息包括敲击多键的键值、敲击多键持续时间和敲击多键间隔时间;根据每个击键信息所述敲击多键的键值和所述认证信息确定所述敲击多键的键值对应的击键样本信息,以根据所述敲击多键键值对应的击键样本信息和所述击键信息得到敲击多键的奖惩值信息,根据每个敲击多键的奖惩值信息得到用户终端使用过程中的奖惩总值;若所述奖惩总值大于认证阈值,则进行用户登录验证。

本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储服务器指令,该计算机指令使计算机执行上述各实施例提供的方法,例如包括:获取认证信息和用户终端使用过程中的多个击键信息,所述击键信息包括敲击多键的键值、敲击多键持续时间和敲击多键间隔时间;根据每个击键信息所述敲击多键的键值和所述认证信息确定所述敲击多键的键值对应的击键样本信息,以根据所述敲击多键键值对应的击键样本信息和所述击键信息得到敲击多键的奖惩值信息,根据每个敲击多键的奖惩值信息得到用户终端使用过程中的奖惩总值;若所述奖惩总值大于认证阈值,则进行用户登录验证。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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