CN112149097B - 身份认证方法、装置、设备及存储介质 - Google Patents
身份认证方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112149097B CN112149097B CN202011003349.2A CN202011003349A CN112149097B CN 112149097 B CN112149097 B CN 112149097B CN 202011003349 A CN202011003349 A CN 202011003349A CN 112149097 B CN112149097 B CN 112149097B
- Authority
- CN
- China
- Prior art keywords
- equipment
- identifier
- browser
- target
- hardware password
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供一种身份认证方法、装置、设备及存储介质。该方法应用于终端设备,所述终端设备安装有浏览器,所述方法包括:所述浏览器获取指定存储位置上存储的至少一个设备标识,其中,所述设备标识为硬件密码设备的设备标识,所述设备标识用于供所述浏览器调用所述硬件密码设备;所述浏览器从所述至少一个设备标识中确定目标设备标识,其中,所述目标设备标识为满足预设条件的设备标识,以根据所述目标设备标识实现身份认证。本申请通过浏览器从指定存储位置获取设备标识,并确定目标设备标识,能够使浏览器通过调用目标设备标识所对应的硬件密码设备进行身份认证,进而提高身份认证的安全性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种身份认证方法、装置、设备及存储介质。
背景技术
浏览器在访问一些系统时需要经过身份认证才能访问。身份认证可以通过浏览器内集成的软件加密模块实现。软件加密模块内包括签名和加密证书,浏览器通过软件加密模块进行身份认证以及数据的加解密传输,以实现数据的安全性。
然而,由于软件加密模块容易受到恶意攻击,容易被破解。浏览器通过软件加密模块进行身份认证的安全性差。
发明内容
本申请实施例提供一种身份认证方法、装置、设备及存储介质,以解决浏览器通过软件加密模块进行身份认证安全性差的问题。
第一方面,本申请实施例提供一种身份认证方法,应用于终端设备,所述终端设备安装有浏览器,所述方法包括:
所述浏览器获取指定存储位置上存储的至少一个设备标识,其中,所述设备标识为硬件密码设备的设备标识,所述设备标识用于供所述浏览器调用所述硬件密码设备;
所述浏览器从所述至少一个设备标识中确定目标设备标识,其中,所述目标设备标识为满足预设条件的设备标识,以根据所述目标设备标识实现身份认证。
第二方面,本申请实施例提供一种身份认证装置,应用于终端设备,所述装置包括:
获取模块,用于获取指定存储位置上存储的至少一个设备标识,其中,所述设备标识为硬件密码设备的设备标识,所述设备标识用于供所述浏览器调用所述硬件密码设备;
处理模块,用于从所述至少一个设备标识中确定目标设备标识,其中,所述目标设备标识为满足预设条件的设备标识,以根据所述目标设备标识实现身份认证。
第三方面,本申请实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的实施方式所述的身份认证方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的实施方式所述的身份认证方法。
本申请实施例提供的身份认证方法、装置、设备及存储介质,浏览器获取指定存储位置上存储的至少一个设备标识,其中,设备标识为硬件密码设备的设备标识,设备标识用于供浏览器调用硬件密码设备,从至少一个设备标识中确定满足预设条件的目标设备标识,以根据目标设备标识实现身份认证,通过浏览器从指定存储位置获取设备标识,并确定目标设备标识,能够使浏览器通过调用目标设备标识所对应的硬件密码设备进行身份认证,进而提高身份认证的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的身份认证系统的架构示意图;
图2为本申请一实施例提供的身份认证方法的流程示意图;
图3为本申请又一实施例提供的身份认证方法的流程示意图;
图4为标识获取函数的实现过程的流程示意图;
图5为本申请一实施例提供的身份认证装置的结构示意图;
图6为本申请一实施例提供的终端设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,浏览器集成有安全服务模块,该安全服务模块支持一种或多种安全协议标准,如SSL(Secure Socket Layer)/TLS(Transport Layer Security)协议标准、PKCS11接口标准等。浏览器中的安全服务模块获取软件加密模块的模块标识,利用密码令牌接口标准和该模块标识模式调用软件加密模块,以实现客户端与服务器端的握手协议,如身份认证、数据完整性验证以及数据可靠性验证等。
具体地,浏览器内加载一个或多个软件加密模块。每个软件加密模块拥有一个模块标识。浏览器保存有标识列表,该标识列表中记录软件加密模块的模块标识。浏览器在需要进行身份认证时,获取该标识列表,在该标识列表存储的模块标识中查询所需的模块标识,然后通过该模块标识以及接口标准调用该模块标识所对应的软件加密模块进行身份认证。
以Firefox浏览器为例,Firefox浏览器中集成了NSS(Network SecurityServices,网络安全服务)模块。软件加密模块的模块标识可以称为槽slot,每个软件加密模块拥有一个slot。Firefox浏览器的NSS模块支持SSL/TLS协议标准,在握手协议的过程中,NSS模块通过槽slot来调用PKCS11相关的接口标准函数,以实现对软件加密模块的调用。例如:密钥生成函数C_GenerateKey()用于产生预主密钥;第一加密函数C_WrapKey()用于加密预主密钥;签名函数C_Sign()用于对消息签名;第二加密函数C_Encrypt()用于加密消息等。
Firefox浏览器中的slot链表用于保存软件加密模块的slot。Firefox浏览器通过获取指令slot=PK11_GetBestSlotMultiple(mechanism_array,mech_count,pwArg)在lot链表中查找所需的slot。其中,第一参数mechanism_array表示获取slot的类型,第二参数mech_count表示验证slot是否有效的条件数量,第三参数pwArg表示与slot相关的上下文信息。
然而,由于软件加密模块容易受到恶意攻击,容易被破解。浏览器通过软件加密模块进行身份认证的安全性差。本申请实施例提供了一种身份认证方法,以解决身份认证安全性差的问题。
图1为本申请一实施例提供的身份认证系统的架构示意图。如图1所示,本实施例提供的身份认证系统包括终端设备11、硬件密码设备12和服务器13。其中,终端设备11可以包括台式计算机、笔记本电脑、平板电脑、手机、车载终端等设备,不作限定。终端设备11上安装有浏览器。硬件密码设备12可以包括个人身份识别(Personal identificationnumber,PIN)码安全验证设备、指纹安全验证设备等,不作限定。
服务器13为一个需要身份认证的网络系统提供服务支持。在访问该网络系统时,用户可以将硬件密码设备12连接到终端设备11上。硬件密码设备12与终端设备11可以通过有线形式或无线形式连接,不作限定,例如,硬件密码设备12为USB Key,则用户可以将USBKey插入到终端设备11的USB接口上。当浏览器的中间件检测到该连接关系后,可以生成硬件密码设备12的设备标识,将该设备标识存储到指定存储位置。用户可以操作终端设备11,打开浏览器登录网络系统的页面。浏览器通过查找指定存储位置中满足预设条件的设备标识,获得硬件密码设备12的设备标识,通过该设备标识以及相应的接口标准函数调用硬件密码设备12,以进行身份认证。在身份认证通过后,浏览器可以通过该硬件密码设备12对浏览器与该网络系统之间传输的数据进行数据完整性验证以及数据可靠性验证等,从而保证数据的安全性。
本申请实施例针对硬件密码设备,设置一个指定存储位置,在指定存储位置存储设备标识,以便浏览器能够从该指定存储位置获取设备标识,确定出满足预设条件的目标设备标识,然后通过目标设备标识调用相应的硬件密码设备进行身份认证,能够实现以硬件密码设备替代浏览器中的软件密码模块进行身份认证,从而提高身份认证的安全性。
图2为本申请一实施例提供的身份认证方法的流程示意图。该方法应用于终端设备。终端设备安装有浏览器。如图2所示,该方法包括:
S201、浏览器获取指定存储位置上存储的至少一个设备标识,其中,设备标识为硬件密码设备的设备标识,设备标识用于供浏览器调用硬件密码设备。
本实施例中,每个硬件密码设备对应于一个设备标识。对于一个硬件密码设备,浏览器可以根据该硬件密码设备的设备标识和相应的接口标准函数调用硬件密码设备,以进行身份认证、数据加解密等。浏览器可以包括但不限于下述至少一项Firefox浏览器、Chrome浏览器、IE浏览器等,不作限定。
指定存储位置用于存储硬件密码设备的设备标识。指定存储位置可以包括但不限于下述至少一项:物理存储空间、共享存储空间、文件夹、数据表、数组、变量等,不作限定。在硬件密码设备连接终端设备时,可以生成相应的设备标识并存储到指定存储位置。可选地,在某个硬件密码设备与终端设备断开连接后,如USB Key从终端设备上移除后,可以将指定存储位置存储的该硬件密码设备的设备标识保留,以便该硬件密码设备下次与该终端设备连接时,不需再重新生成以及存储设备标识;或者,在某个硬件密码设备与终端设备断开连接后,也可以将指定存储位置存储的该硬件密码设备的设备标识删除,从而及时删除未处于连接状态的硬件密码设备的设备标识,以减少指定存储位置所存储的设备标识数量,提高浏览器查询设备标识的速度。
S202、浏览器从至少一个设备标识中确定目标设备标识,其中,目标设备标识为满足预设条件的设备标识,以根据目标设备标识实现身份认证。
本实施例中,预设条件用于从指定存储位置所存储的设备标识中,筛选出可用的硬件密码设备的设备标识。预设条件可以根据实际需求进行设定,在此不作限定。例如,预设条件包括下述但不限于至少一项:设备标识所对应的设备为硬件密码设备;设备标识所对应的硬件密码设备处于连接状态;和或设备标识所对应的硬件密码设备没有处于禁用状态。对于一个设备标识,浏览器可以通过查询该设备标识所对应的硬件密码设备的设备信息和/或状态信息,根据设备信息和/或状态信息判断该设备标识是否满足预设条件,从而确定目标设备标识。浏览器确定目标设备标识后,可以根据目标设备标识调用相应的硬件密码设备。
浏览器可以每次从指定存储位置获取一个设备标识,确定该设备标识是否满足预设条件,若是,则将该设备标识确定为目标设备标识;若否,则获取下一个设备标识,直到确定出目标设备标识或者遍历完所有的设备标识,则结束流程,显示获取失败的提示信息。浏览器也可以从指定存储位置获取全部的设备标识,按照一定次序或者并行地判断这些设备标识是否满足预设条件。
本申请实施例中,浏览器获取指定存储位置上存储的至少一个设备标识,其中,设备标识为硬件密码设备的设备标识,设备标识用于供浏览器调用硬件密码设备,从至少一个设备标识中确定满足预设条件的目标设备标识,以根据目标设备标识实现身份认证,通过浏览器从指定存储位置获取设备标识,并确定目标设备标识,能够使浏览器通过调用目标设备标识所对应的硬件密码设备进行身份认证,进而提高身份认证的安全性。
作为本申请的一个实施例,在图2实施例的基础上,至少一个设备标识由下述至少一项存储至指定存储位置:浏览器、终端设备、硬件密码设备和/或中间件。下面进行具体说明。
在第一种实现方式中,浏览器运行时,若检测到存在一个或多个硬件密码设备连接到终端设备上,则浏览器生成该硬件密码设备的设备标识,并将该设备标识存储至指定存储位置。
在第二种实现方式中,终端设备,如终端设备的操作系统,或者终端设备上除浏览器之外的其他应用程序等,若检测到存在一个或多个硬件密码设备连接该终端设备,则终端设备生成该硬件密码设备的设备标识,并将该设备标识存储至指定存储位置。可选地,此时若浏览器运行,可以优先由浏览器进行设备标识的生成及存储处理。在浏览器未运行时,可以由终端设备的操作系统,或者终端设备上除浏览器之外的其他应用程序进行设备标识的生成及存储处理。
在第三种实现方式中,在硬件密码设备连接至终端设备时,硬件密码设备可以将预先存储或生成的设备标识发送给终端设备,以指示终端设备将该设备标识存储于指定存储位置。在该硬件密码设备拥有在终端设备上的存储权限时,该硬件密码设备也可以直接将该设备标识存储于指定存储位置。
在第四种实现方式中,浏览器安装有中间件;在中间件检测到硬件密码设备连接终端设备时,中间件生成硬件密码设备的设备标识,并将设备标识存储至指定存储位置。
该实现方式中,提供一种中间件用于对连接至终端设备的硬件密码设备进行设备标识生成及存储。浏览器运行时可以加载该中间件。中间件在检测到硬件密码设备连接终端设备时,生成硬件密码设备的设备标识,并将设备标识存储至指定存储位置。通过中间件可以在对原有终端设备,以及浏览器的程序代码进行较少改动或不改动的情况下,实现设备标识的生成及存储,进而使得浏览器实现对硬件密码设备的调用,可以提高本实施例的可实施性。
作为本申请的一个实施例,在上述第四种实现方式的基础上,在浏览器不支持硬件密码设备所使用的接口标准时,中间件还可以用于对接口标准进行转换。本实施例中,硬件密码设备使用第一接口标准,浏览器支持第二接口标准。第一接口标准、第二接口标准为不同的接口标准,在此不对接口标准进行限定。例如,接口标准可以为SKF接口标准、PKCS11接口标准、CSP(Cryptographic Service Provider)接口标准等。该方法还可以包括:
中间件将浏览器发送的基于第二接口标准的信息转换为基于第一接口标准的信息,并发送给目标硬件密码设备;以及将目标硬件密码设备发送的基于第一接口标准的信息转换为基于第二接口标准的信息,并发送给浏览器,其中,目标硬件密码设备为目标设备标识所对应的硬件密码设备。
本实施例中,浏览器确定目标设备标识后,可以根据目标设备标识生成基于第二接口标准的信息发送给中间件。中间件将该信息转换为基于第一接口标准的信息并发送给目标硬件密码设备。例如,中间件可以将该信息中基于第二接口标准的函数及参数转换为相应的基于第一接口标准的函数及参数。中间件接收到目标硬件密码设备发送的基于第一接口标准的信息后,将该消息转换为基于第二接口标准的信息并发送浏览器。这样通过中间件的信息转换,可以使得浏览器对本身不支持的接口标准的硬件密码设备进行调用,提高本实施例的适用性,并且不需要对原有浏览器的程序代码进行改进,便于实施。
可选地,第一接口标准包括SKF接口标准,第二接口标准包括PKCS11接口标准。本实施例中,硬件密码设备可以使用SKF接口标准。SKF接口是国密标准中智能密码钥匙的C语言应用开发接口标准。浏览器支持PKCS11接口标准。以Firefox浏览器为例,Firefox浏览器支持PKCS11接口标准。对于使用SKF接口标准的硬件密码设备,可以通过中间件将基于SKF接口标准的接口封装成基于PKCS11接口标准的接口,以将基于SKF接口标准的硬件密码设备“模拟”成基于PKCS11接口标准的硬件密码设备。
作为本申请的一个实施例,在上述任一实施例的基础上,指定存储位置包括至少一个设备数组,设备数组与硬件密码设备的类型一一对应,设备数组中包括对应类型的硬件密码设备的设备标识。
本实施例中,硬件密码设备的类型可以包括但不限于PIN码安全验证设备、指纹安全验证设备等。对于一个类型,该类型对应于一个设备数组,该设备数组用于存储属于该类型的硬件密码设备的设备标识。可选地,设备数组中的每个元素可以包括一个设备标识,也可以包括一个设备标识以及该设备标识所对应的硬件密码设备的设备信息,如设备参数,设备状态,设备所使用的接口标准等,不作限定。
在查询目标设备标识时,浏览器可以根据所需的目标硬件密码设备的类型,获取该类型对应的设备数组中的各设备标识,从各设备标识中确定目标设备标识。这样,浏览器只需要针对特定设备数组中的设备标识进行查找和条件判断,提高了浏览器查询目标设备标识的的查询速度。
另外,浏览器也可以按照预设的数组次序对次序靠前的设备数组中的设备标识先进行判断,若存在目标设备标识,则获取该目标设备标识,若不存在,则对次序相对靠后的一个设备数组进行处理,直到获取目标设备标识,或遍历完所有设备数组。其中,预设的数组次序可以由用户设定,或者按照各设备数组中设备标识使用的频繁程度确定,在此不作限定。例如,针对每个设备数组,根据历史数据中该设备数组中各设备标识的使用次数和使用时刻,确定该设备对应的频繁程度,按照频繁程度由高到低将所有设备数组进行排序,以得到次序。由于次序在先的设备数组中的设备标识历史经常被浏览器使用,其中的设备标识可能是用户所常用的硬件密码设备的设备标识,从频繁程度高的设备数组优先进行查询,可以提高浏览器查询目标设备标识的查询速度。
图3为本申请又一实施例提供的身份认证方法的流程示意图。在图2实施例的基础上,本实施例中,指定存储位置包括至少一个设备数组,设备数组与硬件密码设备的类型一一对应,设备数组中包括对应类型的硬件密码设备的设备标识。如图3所示,该方法包括:
S301、在中间件检测到硬件密码设备连接终端设备时,中间件生成硬件密码设备的设备标识,并将设备标识添加到硬件密码设备的类型所对应的设备数组中。
本实施例中,中间件可以检测到硬件密码设备的类型,可以根据该类型确定对应的设备数组,在生成硬件密码设备的设备标识后,可以将设备标识添加到硬件密码设备的类型所对应的设备数组中,以便于浏览器对设备标识进行查询。另外,中间件生成硬件密码设备的设备标识,可以是根据设备信息生成的设备标识,也可以从硬件密码设备获取其设备标识,在此不作限定。设备标识的形式在此不作限定,例如,设备标识可以根据设备的硬件识别码、设备所使用的接口标准、设备名称等一项或多项生成的。
S302、浏览器获取设备数组中存储的至少一个设备标识,其中,设备标识为硬件密码设备的设备标识,设备标识用于供浏览器调用硬件密码设备。
S303、浏览器从至少一个设备标识中确定目标设备标识,其中,目标设备标识为满足预设条件的设备标识,以根据目标设备标识实现身份认证。
本申请实施例中,浏览器获取指定存储位置上存储的至少一个设备标识,其中,设备标识为硬件密码设备的设备标识,设备标识用于供浏览器调用硬件密码设备,从至少一个设备标识中确定满足预设条件的目标设备标识,以根据目标设备标识实现身份认证,通过浏览器从指定存储位置获取设备标识,并确定目标设备标识,能够使浏览器通过调用目标设备标识所对应的硬件密码设备进行身份认证,进而提高身份认证的安全性。并且,由中间件生成硬件密码设备的设备标识,并将设备标识添加到硬件密码设备的类型所对应的设备数组中,使得浏览器可以针对性的查询特定设备数组中的设备标识是否为目标设备标识,从而提高浏览器的查询速度。
下面通过一个示例对本申请实施例提供的身份认证方法进行说明。该示例中,浏览器为Firefox浏览器,支持PKCS11接口标准。硬件密码设备基于SKF接口标准。Firefox浏览器集成了NSS模块。Firefox浏览器中的软件加密模块的模块标识称为槽slot,每个软件加密模块拥有一个slot。NSS模块需要通过slot链表中查找目标的槽slot,来调用PKCS11相关的接口标准函数,以实现对软件加密模块的调用。但是,由于硬件密码设备与软件加密模块不同,硬件密码设备并没有相应的slot链表,因而,Firefox浏览器的NSS模块无法获取到硬件密码设备的设备标识,也就无法进行设备调用。
为解决上述问题,首先进行以下定义:
定义标识获取函数PK11_GetSKFHWSlot(),该函数用于实现获取外部的硬件密码设备的设备标识。
定义设备数组char*moduleName[]={"Builtin A Module","Builtin BModule","Builtin C Module"},这里以三个设备数组为例,其中,Builtin A Module为类型A的设备数组,用于存储类型A的硬件密码设备的设备标识。Builtin B Module为类型B的设备数组,用于存储类型B的硬件密码设备的设备标识。Builtin C Module为类型C的设备数组,用于存储类型C的硬件密码设备的设备标识。
定义设备数组获取函数SECMOD_FindModule(moduleName),该函数用于根据设备数组的名称查找相应的设备数组,其中参数moduleName表示设备数组的名称。
处理过程如下:Firefox浏览器启动后,调用初始函数InitializeNSS初始化NSS模块的时候,通过加载函数LoadableRoots加载内部的软件密码模块的动态库libnssckbi.so,以及加载中间件,中间件即为外部的硬件密码设备的动态库,例如该动态库可以取名为libSKF_firefox.so。该动态库即为用于通过将SKF接口标准封装出PKCS11接口标准的动态库。
Firefox浏览器通过调用标识获取函数PK11_GetSKFHWSlot()获取目标设备标识。其中,该函数的实现过程如图4所示。首先获取所有设备数组的名称。然后通过设备数组获取函数SECMOD_FindModule(moduleName),遍历各设备数组,若在遍历过程中找到目标设备标识,则结束遍历。针对每个设备数组,依次获取该设备数组中的各设备标识,判断该设备标识是否满足预设条件,若满足,则在该设备标识非空的情况下,将该设备标识作为目标设备标识返回给Firefox浏览器,并结束流程,若不满足,则获取下一个设备标识。代码示例如下:
其中,pslot表示当前处理的设备标识。PK11_IsPresent(pslot)表示设备标识所对应的硬件密码设备在场,即处于连接状态。pslot->isInternal表示设备标识所对应的设备不是浏览器内部的软件密码模块。pslot->disabled表示设备标识所对应的硬件密码设备没有处于禁用状态。pslot->isHW表示设备标识所对应的设备为外部的硬件密码设备。slot!=NULL表示设备标识非空。只有当上述条件同时满足且取到的slot非空的情况下,才向Firefox浏览器返回该slot,则Firefox浏览器成功找到目标硬件密码设备的目标设备标识。
需要说明的是,设备数组中的设备标识可以是该次Firefox浏览器运行时,由中间件添加到设备数组中的;也可以是该次之前的某次Firefox浏览器运行时,由中间件添加到设备数组中的,在此不作限定。Firefox浏览器获取到目标设备标识后,可以根据目标设备标识和中间件调用目标硬件密码设备,实现身份认证和数据加解密。
该示例中,针对Firefox浏览器无法获取硬件密码设备的设备标识,无法通过PKCS11接口标准调用SKF接口标准的硬件密码设备的问题,提出专门用于处于设备标识的设备数组,并且由中间件在检测到硬件密码设备时,将其设备标识存储到设备数组,以便浏览器查询目标设备标识。并且,通过中间件的接口转换,使得Firefox浏览器可以根据目标设备标识以及中间件成功调用SKF接口标准的硬件密码设备,在对Firefox浏览器的程序代码进行较少改动的情况下,实现Firefox浏览器基于SKF接口标准的硬件密码设备的身份认证,提高了数据安全性,且便于实施。
图5为本申请一实施例提供的身份认证装置的结构示意图。该身份认证装置50应用于终端设备,包括:获取模块501和处理模块502。
获取模块501,用于获取指定存储位置上存储的至少一个设备标识,其中,设备标识为硬件密码设备的设备标识,设备标识用于供浏览器调用硬件密码设备。
处理模块502,用于从至少一个设备标识中确定目标设备标识,其中,目标设备标识为满足预设条件的设备标识,以根据目标设备标识实现身份认证。
可选地,至少一个设备标识由下述至少一项存储至指定存储位置:
浏览器、终端设备、硬件密码设备、中间件模块。
可选地,该装置还包括:
中间件模块,用于在中间件检测到硬件密码设备连接终端设备时,中间件生成硬件密码设备的设备标识,并将设备标识存储至指定存储位置。
可选地,硬件密码设备使用第一接口标准,浏览器支持第二接口标准;
中间件模块,还用于:
中间件将浏览器发送的基于第二接口标准的信息转换为基于第一接口标准的信息,并发送给目标硬件密码设备;以及将目标硬件密码设备发送的基于第一接口标准的信息转换为基于第二接口标准的信息,并发送给浏览器,其中,目标硬件密码设备为目标设备标识所对应的硬件密码设备。
可选地,第一接口标准包括SKF接口标准,第二接口标准包括PKCS11接口标准。
可选地,指定存储位置包括至少一个设备数组,设备数组与硬件密码设备的类型一一对应,设备数组中包括对应类型的硬件密码设备的设备标识。
可选地,中间件模块,还用于:
在中间件检测到硬件密码设备连接终端设备时,中间件生成硬件密码设备的设备标识,并将设备标识添加到硬件密码设备的类型所对应的设备数组中。
可选地,预设条件包括下述至少一项:
设备标识所对应的设备为硬件密码设备;
设备标识所对应的硬件密码设备处于连接状态;
设备标识所对应的硬件密码设备没有处于禁用状态。
可选地,浏览器包括Firefox浏览器。
本申请实施例提供的身份认证装置,可用于执行上述的方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
图6为本申请一实施例提供的终端设备的硬件结构示意图。如图6所示,本实施例提供的终端设备60包括:至少一个处理器601和存储器602。该终端设备60还包括通信部件603。其中,处理器601、存储器602以及通信部件603通过总线604连接。
在具体实现过程中,至少一个处理器601执行所述存储器602存储的计算机执行指令,使得至少一个处理器601执行如上的身份认证方法。
处理器601的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的身份认证方法。
上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (8)
1.一种身份认证方法,其特征在于,应用于终端设备,所述终端设备安装有浏览器,所述方法包括:
所述浏览器获取指定存储位置上存储的至少一个设备标识,其中,所述设备标识为硬件密码设备的设备标识,所述设备标识用于供所述浏览器调用所述硬件密码设备;所述浏览器从所述至少一个设备标识中确定目标设备标识,其中,所述目标设备标识为满足预设条件的设备标识,以根据所述目标设备标识实现身份认证;所述预设条件包括:所述设备标识所对应的硬件密码设备处于连接状态,且所述设备标识所对应的硬件密码设备没有处于禁用状态;
所述浏览器安装有中间件;所述指定存储位置包括至少一个设备数组,所述设备数组与硬件密码设备的类型一一对应,所述设备数组中包括对应类型的硬件密码设备的设备标识;在所述浏览器获取指定存储位置上存储的至少一个设备标识之前,所述方法还包括:
在所述中间件检测到所述硬件密码设备连接所述终端设备时,所述中间件生成所述硬件密码设备的设备标识,并将所述设备标识存储至所述指定存储位置;
所述浏览器从所述至少一个设备标识中确定目标设备标识,包括:
所述浏览器根据所需的目标硬件密码设备的类型,获取该类型对应的设备数组中的各设备标识,从各设备标识中确定目标设备标识;
或者,所述浏览器按照预设的数组次序,判断前N个设备数组中的设备标识中是否存在所述目标设备标识;所述预设的数组次序是按照各设备数组中设备标识使用的频繁程度确定的;所述预设的数组次序与所述频繁程度正相关;N为正整数;
若存在,则获取所述目标设备标识;
若不存在,则依次遍历所述至少一个设备数组,以获取所述目标设备标识。
2.根据权利要求1所述的方法,其特征在于,所述硬件密码设备使用第一接口标准,所述浏览器支持第二接口标准;
所述方法还包括:
所述中间件将所述浏览器发送的基于所述第二接口标准的信息转换为基于所述第一接口标准的信息,并发送给目标硬件密码设备;以及将所述目标硬件密码设备发送的基于所述第一接口标准的信息转换为基于所述第二接口标准的信息,并发送给所述浏览器,其中,所述目标硬件密码设备为所述目标设备标识所对应的硬件密码设备。
3.根据权利要求2所述的方法,其特征在于,所述第一接口标准包括SKF接口标准,所述第二接口标准包括PKCS11接口标准。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述中间件检测到所述硬件密码设备连接所述终端设备时,所述中间件生成所述硬件密码设备的设备标识,并将所述设备标识添加到所述硬件密码设备的类型所对应的设备数组中。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述浏览器包括Firefox浏览器。
6.一种身份认证装置,其特征在于,应用于终端设备,所述装置包括:
获取模块,用于获取指定存储位置上存储的至少一个设备标识,其中,所述设备标识为硬件密码设备的设备标识,所述设备标识用于供浏览器调用所述硬件密码设备;所述指定存储位置包括至少一个设备数组,所述设备数组与硬件密码设备的类型一一对应,所述设备数组中包括对应类型的硬件密码设备的设备标识;
处理模块,用于从所述至少一个设备标识中确定目标设备标识,其中,所述目标设备标识为满足预设条件的设备标识,以根据所述目标设备标识实现身份认证;所述预设条件包括:所述设备标识所对应的硬件密码设备处于连接状态,且所述设备标识所对应的硬件密码设备没有处于禁用状态;
中间件模块,用于在中间件检测到硬件密码设备连接终端设备时,中间件生成硬件密码设备的设备标识,并将设备标识存储至指定存储位置;
在从所述至少一个设备标识中确定目标设备标识时,所述处理模块具体用于所述浏览器根据所需的目标硬件密码设备的类型,获取该类型对应的设备数组中的各设备标识,从各设备标识中确定目标设备标识;
或者,所述浏览器按照预设的数组次序,判断前N个设备数组中的设备标识中是否存在所述目标设备标识;所述预设的数组次序是按照各设备数组中设备标识使用的频繁程度确定的;所述预设的数组次序与所述频繁程度正相关;N为正整数;若存在,则获取所述目标设备标识;若不存在,则依次遍历所述至少一个设备数组,以获取所述目标设备标识。
7.一种终端设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-5任一项所述的身份认证方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-5任一项所述的身份认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011003349.2A CN112149097B (zh) | 2020-09-22 | 2020-09-22 | 身份认证方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011003349.2A CN112149097B (zh) | 2020-09-22 | 2020-09-22 | 身份认证方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112149097A CN112149097A (zh) | 2020-12-29 |
CN112149097B true CN112149097B (zh) | 2023-02-28 |
Family
ID=73896432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011003349.2A Active CN112149097B (zh) | 2020-09-22 | 2020-09-22 | 身份认证方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112149097B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915432A (zh) * | 2021-02-09 | 2022-08-16 | 龙芯中科(合肥)技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118381A (zh) * | 2010-09-20 | 2011-07-06 | 中科方德软件有限公司 | 基于usbkey的安全邮件系统及邮件加密、解密方法 |
CN104573554A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 加载安全密钥存储硬件的方法和浏览器客户端装置 |
CN104618108A (zh) * | 2014-12-30 | 2015-05-13 | 北京奇虎科技有限公司 | 安全通信系统 |
CN104639534A (zh) * | 2014-12-30 | 2015-05-20 | 北京奇虎科技有限公司 | 网站安全信息的加载方法和浏览器装置 |
WO2015180635A1 (zh) * | 2014-05-30 | 2015-12-03 | 北京奇虎科技有限公司 | 网银类网站的访问方法及浏览器 |
CN105847007A (zh) * | 2016-03-17 | 2016-08-10 | 北京众云在线科技有限公司 | 用于终端设备的身份验证方法和计算机设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102946314B (zh) * | 2012-11-08 | 2016-04-20 | 成都卫士通信息产业股份有限公司 | 一种基于浏览器插件的客户端用户身份认证方法 |
CN105741415B (zh) * | 2016-01-21 | 2019-04-16 | 广东华大互联网股份有限公司 | 智能卡自动服务终端系统及其应用方法 |
CN110324361A (zh) * | 2019-08-05 | 2019-10-11 | 中国工商银行股份有限公司 | 信息认证的方法、装置、计算设备和介质 |
-
2020
- 2020-09-22 CN CN202011003349.2A patent/CN112149097B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118381A (zh) * | 2010-09-20 | 2011-07-06 | 中科方德软件有限公司 | 基于usbkey的安全邮件系统及邮件加密、解密方法 |
WO2015180635A1 (zh) * | 2014-05-30 | 2015-12-03 | 北京奇虎科技有限公司 | 网银类网站的访问方法及浏览器 |
CN104573554A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 加载安全密钥存储硬件的方法和浏览器客户端装置 |
CN104618108A (zh) * | 2014-12-30 | 2015-05-13 | 北京奇虎科技有限公司 | 安全通信系统 |
CN104639534A (zh) * | 2014-12-30 | 2015-05-20 | 北京奇虎科技有限公司 | 网站安全信息的加载方法和浏览器装置 |
CN105847007A (zh) * | 2016-03-17 | 2016-08-10 | 北京众云在线科技有限公司 | 用于终端设备的身份验证方法和计算机设备 |
Non-Patent Citations (1)
Title |
---|
ActiveX在基于硬件识别的身份认证中的应用;马永强等;《计算机工程与科学》;20080615(第06期);第4-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112149097A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323260B2 (en) | Method and device for identity verification | |
CN110888838B (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
CN111294345A (zh) | 一种漏洞检测方法、装置及设备 | |
CN112491776B (zh) | 安全认证方法及相关设备 | |
CN106656455B (zh) | 一种网站访问方法及装置 | |
CN110958119A (zh) | 身份验证方法和装置 | |
CN113360868A (zh) | 应用程序登录方法、装置、计算机设备和存储介质 | |
CN112738021A (zh) | 单点登录方法、终端、应用服务器、认证服务器及介质 | |
CN112149097B (zh) | 身份认证方法、装置、设备及存储介质 | |
CN111565179A (zh) | 身份校验方法、装置、电子设备及存储介质 | |
CN111259368A (zh) | 一种登录系统的方法及设备 | |
CN110943827B (zh) | 一种基于网络协议的数据获取方法及装置 | |
CN111800390A (zh) | 异常访问检测方法、装置、网关设备及存储介质 | |
CN111541649A (zh) | 一种密码重置方法、装置、服务器及存储介质 | |
CN111371811A (zh) | 一种资源调用方法、资源调用装置、客户端及业务服务器 | |
CN107172082B (zh) | 一种文件共享方法及系统 | |
CN112565251B (zh) | 车载应用的访问认证方法、装置及系统 | |
CN110166452B (zh) | 一种基于JavaCard共享接口的访问控制方法及系统 | |
CN114338036A (zh) | 一种区块链客户端的数据通信方法及装置 | |
CN114338060A (zh) | 一种权限校验方法、装置、系统、设备及存储介质 | |
CN113065161A (zh) | 针对Redis数据库的安全控制方法及装置 | |
CN113065120A (zh) | 接口调用鉴权方法、装置、电子设备及可读存储介质 | |
CN110597557A (zh) | 一种系统信息获取方法、终端及介质 | |
CN112632573B (zh) | 智能合约执行方法、装置、系统、存储介质及电子设备 | |
CN117834312B (zh) | 网络接入方法、网络接入设备以及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |