基于USBKey的身份认证的方法、装置、密码卡及介质与流程

文档序号:14292496阅读:249来源:国知局

本发明涉及信息安全领域,特别涉及一种基于usbkey的身份认证的方法、装置、密码卡及计算机可读存储介质。



背景技术:

随着科技的发展以及信息化进程的不断加快,网络已成为一个国家的政治、经济、军事和教育的重要资源,各部门、团体甚至个人相继建立起了自己的网站和内部网络。同时,网络的安全性也成为了一个日益严重的问题,保障信息安全的重要性日益突出。

在需要访问某些设备或网站时,需要通过身份认证获取到对该设备或网站的操作权限才可以进行访问,从而提高信息的安全性。现有技术中,通过usbkey作为权限管理的介质对身份进行认证。具体的,usbkey是一种具有usb接口的硬件设备,内置单片机或智能卡芯片,可以存储用户的私钥或数字证书,利用usbkey内置的私钥算法实现对用户身份的认证。但是由于usbkey是硬件设备,在usbkey丢失的情况下窃取验证口令,也会造成用户的合法身份被伪造,从而对信息的安全性造成威胁。

因此,如何提高身份认证的安全性是本领域技术人员目前需要解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于usbkey的身份认证的方法,能够提高身份认证的安全性;本发明的另一目的是提供一种基于usbkey的身份认证的装置、密码卡及计算机可读存储介质,均具有上述有益效果。

为解决上述技术问题,本发明提供一种基于usbkey的身份认证的方法,包括:

在检测到usbkey的接入信号后,获取所述usbkey的验证信息;

判断所述验证信息是否满足预设的认证条件;

若满足,则进一步判断当前满足所述认证条件的usbkey的数量是否达到预设值;

若是,则开启操作权限;

若否,则返回所述在检测到usbkey的接入信号后,获取所述usbkey的验证信息的步骤。

优选地,所述预设值具体为预先存储的唯一身份信息的数量的一半;其中,所述唯一身份信息与所述usbkey一一对应。

优选地,所述验证信息具体包括验证口令和私钥,对应的所述判断所述验证信息是否满足预设的认证条件具体包括:

判断所述验证口令是否与预先设置的认证口令相同;

若是,则利用所述私钥解密预设信息;所述预设信息具体为预先利用所述usbkey的公钥对原始信息进行加密的信息;

判断解密出的信息是否与所述原始信息一致;

如果是,则满足所述认证条件;否则,不满足所述认证条件。

优选地,在判断当前满足所述认证条件的usbkey的数量未达到预设值之后进一步包括发出提示信息。

优选地,在判断所述验证信息满足预设的认证条件之后进一步包括:

获取所述usbkey的接入序号;

判断所述接入序号是否与预设的认证序号相同;

若是,则进入所述判断当前满足所述认证条件的usbkey的数量是否达到预设值的步骤;

否则,结束。

优选地,在判断所述验证信息满足预设的认证条件之后进一步包括:

获取相邻两个所述接入信号的时间差值;

判断所述时间差值是否小于或等于预设的时间间隔;

若是,则将所述满足所述认证条件的usbkey的数量加1,并进入所述判断当前满足所述认证条件的usbkey的数量是否达到预设值的步骤;

若否,则设置当前满足所述认证条件的usbkey的数量为1,并返回所述在检测到usbkey的接入信号后,获取所述usbkey的验证信息的步骤。

优选地,进一步包括:

对满足所述认证条件的usbkey进行标记。

为解决上述技术问题,本发明还提供一种基于usbkey的身份认证的装置,包括:

检测模块,用于在检测到usbkey的接入信号后,获取所述usbkey的验证信息;

验证模块,用于判断所述验证信息是否满足预设的认证条件;

判断模块,用于在满足所述认证条件的情况下,进一步判断当前满足所述认证条件的usbkey的数量是否达到预设值;

第一执行模块,用于在达到预设值的情况下,开启操作权限;

第二执行模块,用于在未达到预设值的情况下,触发所述检测模块。

为解决上述技术问题,本发明还提供一种密码卡,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一种基于usbkey的身份认证的方法的步骤。

为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种基于usbkey的身份认证的方法的步骤。

本发明提供的基于usbkey的身份认证的方法,包括在检测到usbkey的接入信号后,获取usbkey的验证信息;判断验证信息是否满足预设的认证条件;若满足,则进一步判断当前满足认证条件的usbkey的数量是否达到预设值;若是,则开启操作权限;若否,则返回在检测到usbkey的接入信号后,获取usbkey的验证信息的步骤。可见,本方法在判断usbkey的验证信息满足预设的认证条件之后,需要进一步判断当前满足认证条件的usbkey的数量是否达到预设值,只有在同时满足这两个条件的情况下才开启操作权限。很显然,增加判断当前满足认证条件的usbkey的数量是否达到预设值这一步骤,在现有技术身份认证方法的基础上增加了对满足认证条件的usbkey的数量做了进一步的要求,从而增加了usbkey身份认证的安全性。

为解决上述技术问题,本发明还提供了一种基于usbkey的身份认证的装置、密码卡及计算机可读存储介质,均具有上述有益效果。

附图说明

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

图1为本发明实施例提供的一种基于usbkey的身份认证的方法的流程图;

图2为本发明实施例提供的另一种基于usbkey的身份认证的方法的流程图;

图3为本发明实施例提供的另一种基于usbkey的身份认证的方法的流程图;

图4为本发明实施例提供的另一种基于usbkey的身份认证的方法的流程图。

图5为本发明实施例提供的一种基于usbkey的身份认证的装置的示意图;

图6为本发明实施例提供的一种密码卡的示意图。

具体实施方式

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

本发明实施例的核心是提供一种基于usbkey的身份认证的方法,能够提高身份认证的安全性;本发明的另一核心是提供一种基于usbkey的身份认证的装置、密码卡及计算机可读存储介质,均具有上述有益效果。

为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种基于usbkey的身份认证的方法的流程图。如图所示,基于usbkey的身份认证的方法包括:

s10:在检测到usbkey的接入信号后,获取usbkey的验证信息。

具体的,密码卡在检测到usbkey的接入信号后,进一步获取usbkey的验证信息。更具体的,检测接入信号这一动作可以是实时进行检测,也可以是在获取到另一触发信号后再进行检测,例如在进行信号更新之后检测是否存在接入信号。在检测到存在接入信号后,判断该接入信号对应的设备是否为usbkey。本实施例对检测usbkey的接入信号的方式不做限定。

在检测到usbkey的接入信号后,进一步获取usbkey的验证信息。具体的,该验证信息可以是将操作者输入的信息作为验证信息,也可以是usbkey提供的信息作为验证信息,本实施例对获取验证信息的方式不做限定。

s20:判断验证信息是否满足预设的认证条件。

可以理解的而是,验证信息指的是用于验证是否满足认证条件的信息,因此,判断验证信息是否满足预设的认证条件,也就是说利用预先设置的认证条件验证获取到的验证信息,并判断验证信息是否满足认证的条件。具体的,预设的认证条件可以是预先设置的密码学协议,例如查问-应答协议,密钥交换协议,kds鉴别协议等。本实施例对认证条件不做限定。

s30:若满足,则进一步判断当前满足认证条件的usbkey的数量是否达到预设值。

具体的,判断出验证信息满足预设的认证条件的情况下,即usbkey登录密码卡成功。此时,进一步判断当前满足认证条件的usbkey的数量是否达到预设值。也就是说,在当前这个usbkey验证通过登录到密码卡上时,先统计满足认证条件的验证信息的数量,也就是成功登录至密码卡上的usbkey的数量,并判断该数量是否达到预设的值,即将统计出的满足认证条件的验证信息的数量与预设值作比较,判断满足认证条件的验证信息的数量是否大于或等于预设值,若是,则表示当前满足认证条件的usbkey的数量已经达到预设值;否则,则表示当前满足认证条件的usbkey的数量还没有达到预设值。

s40:若达到预设值,则开启操作权限。

具体的,在步骤s20的基础上,若判断出当前满足认证条件的usbkey的数量已经达到预设值,则表示达到了开启操作权限的条件,因此,密码卡开启对usbkey的操作权限,使得usbkey可以对密码卡进行操作。

可以理解的是,若判断出当前满足认证条件的usbkey的数量还没有达到预设值,则表示当前满足认证条件的usbkey的数量还不够,因此需要继续增加满足认证条件的usbkey的数量,因此,返回“在检测到usbkey的接入信号时,获取usbkey的验证信息”的步骤,即步骤s10。

本实施例提供的基于usbkey的身份认证的方法,在判断usbkey的验证信息满足预设的认证条件之后,需要进一步判断当前满足认证条件的usbkey的数量是否达到预设值,只有在同时满足这两个条件的情况下才开启操作权限。很显然,增加判断当前满足认证条件的usbkey的数量是否达到预设值这一步骤,在现有技术身份认证方法的基础上增加了对满足认证条件的usbkey的数量做了进一步的要求,从而增加了usbkey身份认证的安全性。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,预设值具体为预先存储的唯一身份信息的数量的一半;其中,唯一身份信息与usbkey一一对应。

需要说明的是,预设值为预先存储的唯一身份信息的数量的一半,该唯一身份信息为usbkey各自对应的身份信息。设置预设值的方式可以为预先存储与密码卡对应的各usbkey的唯一身份信息,再统计唯一身份信息的数量,将唯一身份信息的数量的一半设置为预设值。

在具体实施中,当预先存储的唯一身份信息的数量为奇数,此时,唯一身份信息的数量的一半为小数,即预设值为小数而不是整数,而满足认证条件的usbkey的数量只会出现整数的情况,因此在判断当前满足认证条件的usbkey的数量是否达到预设值时,需要将该预设值向上取整。例如,当唯一身份信息的数量为5,唯一身份信息的数量的一半为2.5时,将该预设值向上取整设置为3。假设密码卡a存储了5个唯一身份信息,该5个唯一身份信息与5个usbkey一一对应,因此需要3个以上的满足认证条件的usbkey才能达到预设值。

作为优选的实施例,存储usbkey的唯一身份信息的过程具体为:在第一个usbkey首次连接密码卡时,通过密码卡的管理工具添加该usbkey的唯一身份信息及相应的认证条件,此时存储的唯一身份信息的数量为1。添加第二个usbkey的唯一身份信息时,需要保证当前密码卡中满足认证条件的usbkey的数量大于当前添加的usbkey的数量的一半,也就是说,在添加第二个usbkey的唯一身份信息时,需要输入第一个usbkey的验证信息,并使第一个usbkey满足认证条件。依次类推,在添加第五个usbkey时,需要保证当前密码卡中满足认证条件的usbkey的数量大于2.5,即需要保证当前密码卡中满足认证条件的usbkey的数量大于3,因此,需要使已存储的唯一身份信息中任意三个唯一身份信息对应的usbkey满足认证条件。采用上述方式能够在预先存储usbkey的唯一身份信息时提高身份验证的安全性。

具体的,该唯一身份信息可以是usbkey的序列号、公钥等信息,本实施例对唯一身份信息的具体内容不做限定。

需要说明的是,在判断当前满足认证条件的usbkey的数量未达到预设值之后进一步包括发出提示信息。

该提示信息可以是提示继续插入usbkey,以使得密码卡能够检测到usbkey的接入信号,以便进行身份认证的步骤;该提示信息也可以是提示当前满足认证条件的usbkey的数量还未达到预设值。本实施例对提示信息的具体内容不做限定。具体的,该提示信息可以是语音信息,也可以是文字信息,本实施例对提示信息的具体类型也不做限定。

具体的,在判断出当前满足认证条件的usbkey的数量未达到预设值之后,发出提示信息的时间可以是与“返回在检测到usbkey的接入信号时,获取usbkey的验证信息”的步骤同时进行,也可以是在“返回在检测到usbkey的接入信号时,获取usbkey的验证信息”的步骤之前进行,当然也可以在这一步骤之后进行,本实施例对此不做限定。

图2为本发明实施例提供的另一种基于usbkey的身份认证的方法的流程图。在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,验证信息具体包括验证口令和私钥,对应的判断验证信息是否满足预设的认证条件具体包括:

s21:判断验证口令是否与预先设置的认证口令相同。

具体的,验证口令为操作者输入的信息,用于与认证口令相比对,判断该验证口令是否与认证口令相同。验证口令一般为字符串,包括数字、英文字符、标点符号等,本实施例对验证口令的形式以及字符串的长度不做限定。

s22:若相同,则利用私钥解密预设信息。

具体的,在判断出验证口令与预先设置的认证口令相同之后,利用私钥解密预设信息。需要说明的是,预设信息具体为预先利用usbkey的公钥对原始信息进行加密的信息。本实施例对原始信息的类型不做限定。

s23:判断解密出的信息是否与原始信息一致;如果是,则满足认证条件;否则,不满足认证条件。

具体的,利用私钥解密预设信息。将解密出的信息与原始信息进行对比,并判断解密出的信息是否与原始信息一致。若解密出的信息与原始信息一致,则表示该私钥对应的usbkey满足身份认证的条件。相反的,若私钥不能解密该预设信息,或者私钥对预设信息进行解密之后,解密出的信息与原始信息不一致,则表示该私钥对应的usbkey不满足身份认证的条件。

需要说明的是,还可以将满足认证条件的usbkey进行标记,以便进行数量的统计等操作。具体的,标记的内容可以是文字信息例如“已登录”,或者对该usbkey设置特殊的字符记号,表示该usbkey满足认证的条件。本实施例对标记的内容及形式不做限定。

本实施例提供的基于usbkey的身份认证的方法,细化了判断验证信息是否满足预设的认证条件这一步骤,采取验证口令加上usbkey私钥的验证方式,进一步提高了身份认证的安全性。

图3为本发明实施例提供的另一种基于usbkey的身份认证的方法的流程图。在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,在判断验证信息满足预设的认证条件之后进一步包括:

s31:获取usbkey的接入序号。

需要说明的是,usbkey的接入序号具体为密码卡按照依次的顺序为接入的usbkey分配的序号。接入序号可以是以数字的形式表示,也可以是以中文汉字的形式表示,也可以是英文的形式表示,本实施例对接入序号的形式不做限定,只要能够表示接入的usbkey的序号即可。

s32:判断接入序号是否与预设的认证序号相同。

具体的,预设的认证序号为预先存储了唯一身份信息对应的usbkey的序号。可以理解的是,该序号可以为数字序号,也可以是其他形式的内容经过处理后得出的序号,本实施例对此不作限定。

若是,则进入判断当前满足认证条件的usbkey的数量是否达到预设值的步骤,否则,结束。

可以理解的是,当判断出接入序号与预设的认证序号相同时,则进入步骤s30的进程;当判断出接入序号与预设的认证序号不同时,则结束进程。例如,当前满足预设的认证条件的usbkey为第一个满足预设的认证条件的usbkey,只有当这个usbkey的认证序号也为1时,才表示满足可以进入判断当前满足认证条件的usbkey的数量是否达到预设值的步骤。否则,例如,当前满足预设的认证条件的usbkey为第二个满足预设的认证条件的usbkey,但是这个usbkey预设的序号为3,因此接入序号与预设的认证序号不同,因此,结束进程。

通过限定接入的usbkey的顺序,只有按照预设的顺序连接的usbkey才能计入用于判断当前满足认证条件的usbkey的数量中,进一步提高了身份认证的安全性。

需要说明的是,在判断当前满足认证条件的usbkey的数量达到预设值之后,还可以通过获取各当前满足认证条件的usbkey对应的权限值,并利用权限值计算当前满足认证条件的usbkey的总权限值,并获取总权限值对应的操作权限;相应的,开启总权限值对应的操作权限。

需要说明的是,在判断当前满足认证条件的usbkey的数量达到预设值之后,还可以通过获取当前满足认证条件的usbkey的判断顺序并获取判断顺序对应的操作权限;相应的,开启判断顺序对应的操作权限。

通过设置不同的权限范围,并通过满足认证条件的usbkey的数量或者满足认证条件的usbkey的接入顺序获取不同的权限范围,并根据权限范围开启相应的权限。进一步提高了身份认证的安全性。

图4为本发明实施例提供的另一种基于usbkey的身份认证的方法的流程图。在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,在判断验证信息满足预设的认证条件之后进一步包括:

s41:获取相邻两个接入信号的时间差值。

具体的,相邻两个接入信号的时间差值为检测到当前usbkey的接入信号时与检测到上一个满足认证条件的usbkey的接入信号时这段时间的长度。也就是说,在判断出上一个usbkey的验证信息满足预设的认证条件之后开始计时,在获取到当前usbkey的接入信号时计时停止,这段时间为两个接入信号的时间差值。可以理解的是,由于在检测到第一个usbkey的接入信号时,不存在第一个usbkey的上一个usbkey的接入信号。因此,一般从检测到第二个usbkey的接入信号时开始计算相邻两个接入信号的时间差值。

s42:判断时间差值是否小于或等于预设的时间间隔。

具体的,预设的时间间隔具体为预先设置的两个相邻的接入信号的时间间隔值。该时间间隔一般为实际操作的要求或者经过实验验证后的最佳结果。可以理解的是,时间间隔值越小,表示密码卡要求两个usbkey的君如的时间差值越短;身份认证的安全性越高。但是,也需要考虑输入验证信息的时间以及插入usbkey的时间。本实施例对时间间隔的设置方式不做限定。

s43:若是,则将满足认证条件的usbkey的数量加1,并进入s30;

s44:若否,则设置当前满足认证条件的usbkey的数量为1,并进入s10。

需要说明的是,判断时间差值小于或等于预设的时间间隔时,表示相邻两个接入信号的时间差值在预设的时间间隔之内,此时,将该usbkey计入满足认证条件的usbkey的数量中,即将满足认证条件的usbkey的数量加1,并进入步骤s30。在判断时间差值大于预设的时间间隔时,表示相邻两个接入信号的时间差值不在预设的时间间隔之内,此时,需要将当前满足认证条件的usbkey的数量重新计数,也就是说,将当前的usbkey设置计入重新开始计数的当前满足认证条件的usbkey的数量,也就是说,设置当前满足认证条件的usbkey的数量为1,并返回步骤s10。

通过获取相邻两个接入信号的时间差值,判断时间差值是否小于或等于预设的时间间隔后进入相应的步骤,可以避免两个usbkey接入的时间相隔过长而导致身份验证的安全性降低。

上文对于本发明提供的一种基于usbkey的身份认证的方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的基于usbkey的身份认证的装置、密码卡及计算机可读存储介质,由于装置、密码卡及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此装置、密码卡及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图5为本发明实施例提供的一种基于usbkey的身份认证的装置的示意图,包括:

检测模块51,用于在检测到usbkey的接入信号时,获取usbkey的验证信息;

验证模块52,用于判断验证信息是否满足预设的认证条件;

判断模块53,用于在满足认证条件的情况下,进一步判断当前满足认证条件的usbkey的数量是否达到预设值;

第一执行模块54,用于在达到预设值的情况下,开启操作权限;

第二执行模块55,用于在未达到预设值的情况下,触发检测模块51。

本发明提供的基于usbkey的身份认证的装置,具有上述基于usbkey的身份认证的方法的有益效果。

图6为本发明实施例提供的一种密码卡的示意图,包括:

存储器61,用于存储计算机程序;

处理器62,用于执行计算机程序时实现如下步骤:

在检测到usbkey的接入信号后,获取usbkey的验证信息;

判断验证信息是否满足预设的认证条件;

若满足,则进一步判断当前满足认证条件的usbkey的数量是否达到预设值;

若是,则开启操作权限;

若否,则返回在检测到usbkey的接入信号时,获取usbkey的验证信息的步骤。

本发明提供的密码卡,具有上述基于usbkey的身份认证的方法的有益效果。

为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现下步骤:

在检测到usbkey的接入信号后,获取usbkey的验证信息;

判断验证信息是否满足预设的认证条件;

若满足,则进一步判断当前满足认证条件的usbkey的数量是否达到预设值;

若是,则开启操作权限;

若否,则返回在检测到usbkey的接入信号时,获取usbkey的验证信息的步骤。

本实施例提供的基于usbkey的身份认证的计算机可读存储介质,具有上述基于usbkey的身份认证的方法的有益效果。

以上对本发明所提供的基于usbkey的身份认证的方法、装置、密码卡及计算机可读存储介质进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

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