CN111935716A - 一种认证方法、认证系统及计算设备 - Google Patents

一种认证方法、认证系统及计算设备 Download PDF

Info

Publication number
CN111935716A
CN111935716A CN202011046979.8A CN202011046979A CN111935716A CN 111935716 A CN111935716 A CN 111935716A CN 202011046979 A CN202011046979 A CN 202011046979A CN 111935716 A CN111935716 A CN 111935716A
Authority
CN
China
Prior art keywords
authentication
class
module
user
result
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.)
Granted
Application number
CN202011046979.8A
Other languages
English (en)
Other versions
CN111935716B (zh
Inventor
宋文泰
闫博文
张继德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202011046979.8A priority Critical patent/CN111935716B/zh
Publication of CN111935716A publication Critical patent/CN111935716A/zh
Application granted granted Critical
Publication of CN111935716B publication Critical patent/CN111935716B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4523Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using lightweight directory access protocol [LDAP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开了一种认证方法,在计算设备中执行,所述计算设备与一个或多个应用连接,且所述计算设备与多个认证模块连接,所述方法包括步骤:接收应用发送的对用户的身份认证请求;确定与所述身份认证请求相对应的一个或多个认证类,并确定每个认证类中的一种或多种认证方式;确定与每个认证类中的每种认证方式相对应的认证模块,并同步请求相应的多个认证模块对用户进行身份认证;以及获取每个认证类中的至少一种认证方式的认证结果,以确定每个认证类的认证结果和对用户的最终认证结果。本发明一并公开了相应的认证系统和计算设备。根据本发明的技术方案,认证结果更加可靠,且认证效率较高。

Description

一种认证方法、认证系统及计算设备
技术领域
本发明涉及网络通信技术领域,尤其涉及一种认证方法、认证系统及计算设备。
背景技术
PAM(Pluggable Authentication Modules,可嵌入认证模块)是一个系统库,用于处理Linux系统中应用程序的身份验证任务。PAM提供了稳定的接口,特权授予程序将根据该接口执行标准的身份验证任务。
在Linux桌面环境下,各种特权授予程序和登录验证程序(例如Sudo、Lightdm、Polkit等),通常使用PAM库作为标准的认证方式。随着Linux桌面环境的发展,很多情况下需要同时对应用程序进行密码认证、指纹认证等多种认证方式,甚至需要同时进行人脸识别认证。
为了支持多种不同的认证方式,如果基于PAM库进行认证,则需要在PAM配置文件中一行一行的写出要调用的PAM模块,但,这些PAM模块只能按照先后顺序依次被调用,并不能实现同时对应用程序进行多种认证方式。
现有技术中还有一种方案,实现一个PAM模块,修改PAM的系统配置文件,将这个PAM模块作为配置文件中的第一种认证方式,并在配置文件中增加需要调用的其他认证方式。实现一个系统权限服务,基于系统总线提供系统权限服务。需要进行认证的应用程序首先多次调用系统权限服务的开始认证方法,以开始不同类型的认证事务。不同认证事务可以同时发起,当其中一个认证事务认证成功时,应用程序便会收到系统权限服务发送的认证凭据,认证凭据例如是一个随机的字符串。进而,应用程序再调用PAM的认证函数,在 PAM模块开始认证后,应用程序将认证凭据作为普通的密码发送给PAM模块,PAM模块再调用系统权限服务的验证认证凭据的方法,来验证认证凭据的有效性,如果确定认证凭据有效,则通过认证,否则不通过认证,并继续执行PAM配置文件中的下一种认证方式。在这种方案中,对于每个需要认证功能的应用程序而言,均需要先调用系统权限服务,并且,在后续增加认证方式时,需要对所有应用程序增加支持,不便于普及应用。
为此,需要一种认证方法和认证系统,来解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种认证方法、认证系统及计算设备,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种认证方法,在计算设备中执行,所述计算设备与一个或多个应用连接,且所述计算设备与多个认证模块连接,所述方法包括步骤:接收应用发送的对用户的身份认证请求;确定与所述身份认证请求相对应的一个或多个认证类,并确定每个认证类中的一种或多种认证方式;确定与每个认证类中的每种认证方式相对应的认证模块,并同步请求相应的多个认证模块对用户进行身份认证;以及获取每个认证类中的至少一种认证方式的认证结果,以确定每个认证类的认证结果和对用户的最终认证结果。
可选地,在根据本发明的认证方法中,确定每个认证类的认证结果的步骤包括:如果所述认证类中的一种认证方式的认证结果为认证成功,则确定所述认证类的认证结果为认证成功;如果所述认证类中的每种认证方式的认证结果均为认证失败,则确定所述认证类的认证结果为认证失败。
可选地,在根据本发明的认证方法中,确定最终认证结果的步骤包括:基于每个认证类的认证结果确定最终认证结果;将最终认证结果返回至应用。
可选地,在根据本发明的认证方法中,基于每个认证类的认证结果确定最终认证结果包括:如果每个认证类的认证结果均为认证成功,则确定最终认证结果为认证成功;如果至少一个认证类的认证结果为认证失败,则确定最终认证结果为认证失败。
可选地,在根据本发明的认证方法中,获取所述认证类中的至少一种认证方式的认证结果的步骤包括:如果所述认证类中的一种认证方式的认证结果为认证成功,则取消所述认证类中的其他认证方式对用户的身份认证。
可选地,在根据本发明的认证方法中,取消所述认证类中的其他认证方式对用户的身份认证的步骤包括:将所述认证成功的结果发送至所述认证类中的其他认证方式对应的认证模块,以便所述认证模块取消对用户的身份认证。
可选地,在根据本发明的认证方法中,所述认证模块驻留在计算设备中或者驻留在与计算设备连接的认证服务器中。
可选地,在根据本发明的认证方法中,同步请求相应的多个认证模块对用户进行身份认证的步骤包括:获取每个认证模块的访问权限;基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求。
可选地,在根据本发明的认证方法中,获取每个认证类中的至少一种认证方式的认证结果的步骤包括:对每个认证模块的认证状态进行监听,以便从所述认证模块获取相应的认证结果。
可选地,在根据本发明的认证方法中,同步请求相应的多个认证模块对用户进行身份认证包括:基于多个执行单元同步请求相应的多个认证模块对用户进行身份认证。
可选地,在根据本发明的认证方法中,所述认证类包括密码认证类、生物认证类,所述密码认证类包括Unix密码认证方式、LDAP密码认证方式,所述生物认证类包括指纹认证方式、人脸识别认证方式。
可选地,在根据本发明的认证方法中,所述计算设备包括:PAM模块,与所述应用连接,适于接收应用对用户的身份认证请求,确定与所述身份认证请求相对应的一个或多个认证类、每个认证类中的一种或者多种认证方式,并确定与每个认证类中的每种认证方式相对应的认证模块;以及系统权限模块,分别与所述PAM模块、多个认证模块连接,适于获取所述多个认证模块的访问权限,并基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求。
根据本发明的一个方面,提供一种认证系统,包括:包括:认证控制设备,适于执行如上所述的方法来对用户进行身份认证;一个或多个应用,与所述认证控制设备连接,适于向认证控制设备发送对用户的身份认证请求;以及多个认证模块,所述认证模块与认证控制设备连接,适于接收认证控制设备发送的对用户进行身份认证的请求,并适于基于相应的认证方式对用户进行身份认证。
可选地,在根据本发明的认证系统中,所述认证控制设备包括:PAM模块,与所述应用连接,适于接收应用对用户的身份认证请求,确定与所述身份认证请求相对应的一个或多个认证类、每个认证类中的一种或者多种认证方式,并确定与每个认证类中的每种认证方式相对应的认证模块;以及系统权限模块,分别与所述PAM模块、多个认证模块连接,适于获取所述多个认证模块的访问权限,并基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求。
可选地,在根据本发明的认证系统中,所述系统权限模块进一步适于:基于多个执行单元同步请求相应的多个认证模块对用户进行身份认证。
可选地,在根据本发明的认证系统中,所述认证模块包括:Unix密码认证模块、LDAP密码认证模块、指纹认证模块、人脸识别认证模块、U盾认证模块中的一种或多种;所述Unix密码认证模块、指纹认证模块、人脸识别认证模块、U盾认证模块驻留在所述认证控制设备中,所述LDAP密码认证模块驻留在与所述认证控制设备连接的认证服务器中。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的认证方法的指令。
根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的认证方法。
根据本发明的技术方案,用户执行需要认证的应用之前,应用可以向认证控制设备请求对用户进行身份认证,认证控制设备可以根据应用对用户的身份认证请求来确定与应用对应的多个认证类、以及每个认证类中的一种或多种认证方式,进而,请求与不同类型的多种认证方式相对应的多个认证模块同步对用户进行身份认证。可见,根据本发明的认证方法,能实现同时对应用进行不同类型的多种认证方式的认证。基于不同类型的多种认证方式,能保证对用户进行身份认证的可靠性,提高应用执行时的安全性。而且,同步对用户进行多种认证方式,有利于提高认证效率,用户体验感更好。
进一步而言,根据本发明的技术方案,当认证类中有一种认证方式认证成功时,确定该认证类认证成功。只有认证类中的每种认证方式均认证失败时,才确定该认证类认证失败。并且,当应用对应的每个认证类均认证成功时,用户才会通过应用的认证,可以执行应用。这样,一方面,能实现基于不同类型的认证方式对用户进行更全面的认证,使认证结果更加可靠;另一方面,对于同一类型的认证方式而言,只要其中一种认证方式认证成功即可,从而,在保证认证结果可靠的前提下提高整体认证效率,对于用户而言体验感更好。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的认证系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;以及
图3示出了根据本发明一个实施例的认证方法300的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的认证系统100的示意图。
如图1所示,认证系统100包括客户端110、认证控制设备120、以及一个或多个第三方认证服务器130。其中,认证控制设备120分别与客户端110、认证服务器130通信连接,例如通过有线或无线的方式网络连接,认证控制设备120可以调用认证服务器130提供的认证服务。
客户端110即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此,客户端110也可以是驻留在计算设备上的应用程序。
认证控制设备120用于向客户端110提供服务,其可以实现为现有技术中的任何一种能够实现为客户端110提供认证控制服务的设备,本发明对服务器的具体种类不作限制。例如,认证控制设备120可以实现为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等计算设备,但不限于此,也可以是驻留在计算设备上的应用程序。
在一个实施例中,客户端110、认证控制设备120均驻留在计算设备中,客户端110和认证控制设备120可以实现为单个计算设备。
在一个实施例中,客户端110包括一个或多个需要认证的应用115,这些应用115在执行之前需要对启动应用的用户进行身份认证,在认证通过之后,才允许用户执行应用。
一个或多个应用115与认证控制设备120通信连接,以便与认证控制设备120通信。在用户启动应用115时,应用115可以请求认证控制设备120对用户进行身份认证。其中,一个或多个应用115可以是sudo、su等命令行程序,可以是ligthdm等显示管理程序,还可以是polkit等通用的认证框架。
认证控制设备120可以接收一个或多个应用115发送的对用户的身份认证请求,并基于身份认证请求对客户端用户(执行应用的用户)进行身份认证,在认证成功之后才允许用户启动并执行应用115,从而实现通过认证控制设备120对用户执行应用进行控制。
在一个实施例中,认证控制设备120中可以驻留多个认证模块,每个认证模块分别对应一种认证方式,每个认证模块适于基于相应的认证方式对用户进行身份认证。这样,认证控制设备120在接收到应用对用户的身份认证请求时,可以利用本地的认证模块、以相应的认证方式对用户进行身份认证。
在一个实施例中,第三方认证服务器130中驻留有相应的第三方认证模块,第三方认证模块也对应一种认证方式,适于基于相应的认证方式对用户进行身份认证。认证控制设备120与第三方认证模块通信连接,认证控制设备120在接收到应用对用户的身份认证请求时,也可以调用第三方认证模块的认证方式来对用户进行身份认证。换言之,认证控制设备120可以向第三方认证服务器130发送请求,请求第三方认证模块基于相应的认证方式对用户进行身份认证。
也就是说,认证控制设备120与多个认证模块连接,多个认证模块可以是驻留在认证控制设备120中的本地认证模块,也可以是驻留在第三方认证服务器130中的认证模块。认证控制设备120可以基于应用对用户的身份认证请求,请求多个认证模块基于相应的认证方式对客户端用户进行身份认证。
需要说明的是,每个应用对用户进行身份认证的认证方式可以包括多种。多种认证方式的认证类型可能相同,也可能不同。具体而言,每个应用115可以请求认证控制设备120基于一个或多个认证类中的多种认证方式对用户进行身份认证。
在一个实施例中,认证控制设备120在接收到应用115发送的对用户的身份认证请求时,可以确定与身份认证请求相对应的一个或多个认证类,并确定每个认证类中的一种或多种认证方式。这里,每个认证类中的每一种认证方式分别对应一个认证模块。进而,确定与每个认证类中的每种认证方式相对应的认证模块,获取每个认证模块的访问权限,基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求,以便通过多个认证模块同步对用户进行身份认证。
在一个实施例中,认证控制设备120中包括PAM模块、系统权限模块。其中,PAM模块与客户端的一个或多个应用连接,通过PAM模块可以接收应用对用户的身份认证请求,确定与身份认证请求相对应的一个或多个认证类、每个认证类中的一种或者多种认证方式,并且可以确定与每个认证类中的每种认证方式相对应的认证模块。
系统权限模块分别与PAM模块、多个认证模块连接。PAM模块在确定与每个认证类中的每种认证方式相对应的认证模块后,可以通过系统权限模块获取多个认证模块的访问权限,并由系统权限模块基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求。
在一个实施例中,认证类例如包括密码认证类、生物认证类。密码认证类中的认证方式例如包括Unix密码认证方式、LDAP密码认证方式。其中,Unix密码认证方式由相应的Unix密码认证模块执行,Unix密码认证模块驻留在认证控制设备120的PAM模块中。LDAP密码认证方式由相应的LDAP密码认证模块执行,LDAP密码认证模块驻留在第三方认证服务器130中。
生物认证类中的认证方式例如包括指纹认证方式、人脸识别认证方式。指纹认证方式由相应的指纹认证模块执行,人脸识别认证方式由相应的人脸识别认证模块执行。指纹认证模块、人脸识别认证模块是驻留在认证控制设备120的PAM模块中的本地认证模块。
在一种实施方式中,认证控制设备120的系统权限模块可以利用多个执行单元同步请求相应的多个认证模块对用户进行身份认证,执行单元例如是Goroutine。这里,每个执行单元分别对应一个认证模块,利用多个执行单元(Goroutine)可以分别启动每个认证模块的认证事物,从而能实现并行启动多种认证方式同步对用户进行身份认证。
可见,根据本发明的认证系统,能实现同时对应用进行不同类型的多种认证方式的认证。基于不同类型的多种认证方式,能保证对用户进行身份认证的可靠性,提高应用执行时的安全性。而且,同步对用户进行多种认证方式,有利于提高认证效率,用户体验感更好。
在一个实施例中,认证控制设备120的PAM模块通过获取每个认证类中的至少一种认证方式的认证结果,根据至少一种认证方式的认证结果来确定每个认证类的认证结果,并将认证结果返回至应用。这样,应用可以根据认证结果来确定是否允许用户执行应用。在认证成功时,允许用户执行应用;在认证失败时,不允许用户执行应用。
在根据本发明的实施例中,如果认证类中的一种认证方式的认证结果为认证成功,则确定该认证类的认证结果为认证成功。如果认证类中的每种认证方式的认证结果均为认证失败,则确定该认证类的认证结果为认证失败。
如果每个认证类的认证结果均为认证成功,则确定最终认证结果为认证成功。如果至少一个认证类的认证结果为认证失败,则确定最终认证结果为认证失败。这样,认证控制设备120通过确定每个认证类的认证结果,可以确定对用户的最终认证结果,并将最终认证结果返回至应用。应用根据最终认证结果来确定是否允许用户执行应用。
在一个实施例中,当获取到认证类中的一种认证方式的认证结果为认证成功时,则取消该认证类中的其他认证方式(即是还未获取到认证结果的认证方式)对用户的身份认证。具体地,通过确定认证类中的其它认证方式对应的认证模块,并将一种认证方式认证成功的结果发送至相应的认证模块,以便相应的认证模块取消对用户的身份认证。
可见,根据本发明的认证系统,一方面,能实现基于不同类型的认证方式对用户进行更全面的认证,使认证结果更加可靠;另一方面,对于同一类型的认证方式而言,只要其中一种认证方式认证成功即可,从而,在保证认证结果可靠的前提下提高整体认证效率,对于用户而言体验感更好。
在本发明的实施例中,认证控制设备120适于执行认证方法。本发明的认证方法将在下文中详述。
在一个实施例中,本发明的认证控制设备120可以实现为一种计算设备,使得本发明的认证方法可以在计算设备中执行。
图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还包括储存设备232,储存设备232包括可移除储存器236和不可移除储存器238,可移除储存器236和不可移除储存器238均与储存接口总线234连接。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括执行认证方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的认证方法300,以便计算设备200通过执行本发明的认证方法300来实现对用户进行身份认证,以控制用户执行应用。
图3示出了根据本发明一个实施例的认证方法300的流程图。方法300适于在计算设备(例如前述计算设备200)中执行。计算设备与客户端的一个或多个应用通信连接,并与多个认证模块连接。
需要说明的是,认证模块可以是驻留在计算设备200中的本地认证模块,也可以是驻留在与计算设备200连接的第三方认证服务器130中的认证模块。计算设备200可以基于应用对用户的身份认证请求,请求多个认证模块基于相应的认证方式对客户端用户进行身份认证。
如图3所示,方法300始于步骤S310。
在步骤S310中,接收一个或多个应用发送的对用户的身份认证请求。这里,应用是客户端110安装的需要认证的应用程序,用户在访问这些应用之前,这些应用会向计算设备200发送请求,请求计算设备200对用户进行身份认证,并在认证成功之后,许可用户启动并执行应用。
需要说明的是,计算设备200在接收到应用对用户的身份认证请求后,可以根据身份认证请求来确定与该应用相对应的不同类型的多种认证方式,并可以基于不同类型的多种认证方式同步对用户进行身份认证。具体而言,每个应用可以请求计算设备200基于一个或多个认证类中的多种认证方式对用户进行身份认证。换言之,应用发送的身份认证请求可以对应一个或多个认证类,并且,每个认证类中可以包括相应的一种或者多种认证方式。应当理解,同一个认证类所包括的多种认证方式的认证类型相同。
随后,在步骤S320中,计算设备200确定与身份认证请求相对应的一个或多个认证类,并确定每个认证类中包括的一种或多种认证方式。这里,每个认证类中的每一种认证方式分别对应一个认证模块,以便通过认证模块基于相应的认证方式对用户进行身份认证。
根据一个实施例,认证类例如包括密码认证类、生物认证类。密码认证类中的认证方式例如包括Unix密码认证方式、LDAP密码认证方式。其中,Unix密码认证方式由相应的Unix密码认证模块执行,Unix密码认证模块驻留在计算设备中。LDAP密码认证方式由相应的LDAP密码认证模块执行,LDAP密码认证模块驻留在第三方认证服务器130中。
生物认证类中的认证方式例如包括指纹认证方式、人脸识别认证方式。指纹认证方式由相应的指纹认证模块执行,人脸识别认证方式由相应的人脸识别认证模块执行。指纹认证模块、人脸识别认证模块是驻留在计算设备中的本地认证模块。
随后,在步骤S330中,确定与所确定的每个认证类中的每种认证方式相对应的认证模块,并同步请求相应的多个认证模块对用户进行身份认证。
根据一个实施例,在同步请求相应的多个认证模块对用户进行身份认证时,首先获取每个认证模块的访问权限,进而,基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求。
根据一个实施例,计算设备200中包括PAM模块、系统权限模块。其中,PAM模块与客户端的一个或多个应用连接,通过PAM模块可以接收应用对用户的身份认证请求,确定与身份认证请求相对应的一个或多个认证类、每个认证类中的一种或者多种认证方式,并且可以确定与每个认证类中的每种认证方式相对应的认证模块。
系统权限模块分别与PAM模块、多个认证模块连接。PAM模块在确定与每个认证类中的每种认证方式相对应的认证模块后,可以通过系统权限模块获取多个认证模块的访问权限,并由系统权限模块基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求。
在一种实施方式中,计算设备200的系统权限模块可以利用多个执行单元同步请求相应的多个认证模块对用户进行身份认证,执行单元例如是Goroutine。这里,每个执行单元分别对应一个认证模块,利用多个执行单元(Goroutine)可以分别启动每个认证模块的认证事物,从而能实现并行启动多种认证方式同步对用户进行身份认证。
最后,在步骤S340中,获取每个认证类中的至少一种认证方式的认证结果,以便根据至少一种认证方式的认证结果来确定每个认证类的认证结果和对用户的最终认证结果,并将最终认证结果返回至应用。这样,应用可以根据最终认证结果来确定是否允许用户执行应用。在认证成功时,允许用户执行应用;在认证失败时,不允许用户执行应用。
根据一个实施例,在根据认证类中的认证方式的认证结果确定认证类的认证结果时,如果认证类中的一种认证方式的认证结果为认证成功,则确定该认证类的认证结果为认证成功。如果认证类中的每种认证方式的认证结果均为认证失败,则确定该认证类的认证结果为认证失败。
根据一个实施例,计算设备200在确定了每个认证类的认证结果后,可以基于每个认证类的认证结果来确定对用户的最终认证结果,并将最终认证结果返回至应用,以便应用根据最终认证结果来确定是否允许用户执行应用。
具体地,如果每个认证类的认证结果均为认证成功,则确定对用户的最终认证结果为认证成功。如果至少一个认证类的认证结果为认证失败,则确定对用户的最终认证结果为认证失败。也就是说,在与应用对用户的身份认证请求相对应的所有认证类的认证结果均为认证成功时,用户才会通过该应用的身份认证。如果存在一个或多个认证失败的认证类,则用户不能通过该应用的身份认证。
可见,根据本发明的认证方法,能实现同时对应用进行不同类型的多种认证方式的认证。基于不同类型的多种认证方式,能保证对用户进行身份认证的可靠性,提高应用执行时的安全性。而且,同步对用户进行多种认证方式,有利于提高认证效率,用户体验感更好。
根据一个实施例,在获取每个认证类中的认证方式的认证结果之前,可以对每个认证模块的认证状态进行监听,这样,在认证模块有认证结果时,会向计算设备的PAM模块发送相应的认证状态信号,以使计算设备的PAM模块从认证模块获取相应认证方式的认证结果。
根据一个实施例,在获取认证类中的认证方式的认证结果时,如果获取到一种认证方式的认证结果为认证成功,则取消该认证类中的其他认证方式(即是还未获取到认证结果的认证方式)对用户的身份认证。具体地,通过确定认证类中的其它认证方式对应的认证模块,并将一种认证方式认证成功的结果发送至相应的认证模块,以便相应的认证模块取消对用户的身份认证。
根据本发明的技术方案,当认证类中有一种认证方式认证成功时,确定该认证类认证成功。只有认证类中的每种认证方式均认证失败时,才确定该认证类认证失败。并且,当应用对应的每个认证类均认证成功时,用户才会通过应用的认证,可以执行应用。这样,一方面,能实现基于不同类型的认证方式对用户进行更全面的认证,使认证结果更加可靠;另一方面,对于同一类型的认证方式而言,只要其中一种认证方式认证成功即可,从而,在保证认证结果可靠的前提下提高整体认证效率,对于用户而言体验感更好。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的认证方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (18)

1.一种认证方法,在计算设备中执行,所述计算设备与一个或多个应用连接,且所述计算设备与多个认证模块连接,所述方法包括步骤:
接收应用发送的对用户的身份认证请求;
确定与所述身份认证请求相对应的一个或多个认证类,并确定每个认证类中的一种或多种认证方式;
确定与每个认证类中的每种认证方式相对应的认证模块,并同步请求相应的多个认证模块对用户进行身份认证;以及
获取每个认证类中的至少一种认证方式的认证结果,以确定每个认证类的认证结果和对用户的最终认证结果。
2.如权利要求1所述的认证方法,其中,确定每个认证类的认证结果的步骤包括:
如果所述认证类中的一种认证方式的认证结果为认证成功,则确定所述认证类的认证结果为认证成功;
如果所述认证类中的每种认证方式的认证结果均为认证失败,则确定所述认证类的认证结果为认证失败。
3.如权利要求1所述的认证方法,其中,确定最终认证结果的步骤包括:
基于每个认证类的认证结果确定最终认证结果;
将最终认证结果返回至应用。
4.如权利要求3所述的认证方法,其中,基于每个认证类的认证结果确定最终认证结果包括:
如果每个认证类的认证结果均为认证成功,则确定最终认证结果为认证成功;
如果至少一个认证类的认证结果为认证失败,则确定最终认证结果为认证失败。
5.如权利要求1-4任一项所述的认证方法,其中,获取所述认证类中的至少一种认证方式的认证结果的步骤包括:
如果所述认证类中的一种认证方式的认证结果为认证成功,则取消所述认证类中的其他认证方式对用户的身份认证。
6.如权利要求5所述的认证方法,其中,取消所述认证类中的其他认证方式对用户的身份认证的步骤包括:
将所述认证成功的结果发送至所述认证类中的其他认证方式对应的认证模块,以便所述认证模块取消对用户的身份认证。
7.如权利要求1-4任一项所述的认证方法,其中,所述认证模块驻留在计算设备中或者驻留在与计算设备连接的认证服务器中。
8.如权利要求1-4任一项所述的认证方法,其中,同步请求相应的多个认证模块对用户进行身份认证的步骤包括:
获取每个认证模块的访问权限;
基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求。
9.如权利要求1-4任一项所述的认证方法,其中,获取每个认证类中的至少一种认证方式的认证结果的步骤包括:
对每个认证模块的认证状态进行监听,以便从所述认证模块获取相应的认证结果。
10.如权利要求1-4任一项所述的认证方法,其中,同步请求相应的多个认证模块对用户进行身份认证包括:
基于多个执行单元同步请求相应的多个认证模块对用户进行身份认证。
11.如权利要求1-4任一项所述的认证方法,其中,
所述认证类包括密码认证类、生物认证类,
所述密码认证类包括Unix密码认证方式、LDAP密码认证方式,
所述生物认证类包括指纹认证方式、人脸识别认证方式。
12.如权利要求1-4任一项所述的认证方法,其中,所述计算设备包括:
PAM模块,与所述应用连接,适于接收应用对用户的身份认证请求,确定与所述身份认证请求相对应的一个或多个认证类、每个认证类中的一种或者多种认证方式,并确定与每个认证类中的每种认证方式相对应的认证模块;以及
系统权限模块,分别与所述PAM模块、多个认证模块连接,适于获取所述多个认证模块的访问权限,并基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求。
13.一种认证系统,包括:
认证控制设备,适于执行如权利要求1-12任一项所述的方法来对用户进行身份认证;
一个或多个应用,与所述认证控制设备连接,适于向认证控制设备发送对用户的身份认证请求;以及
多个认证模块,所述认证模块与认证控制设备连接,适于接收认证控制设备发送的对用户进行身份认证的请求,并适于基于相应的认证方式对用户进行身份认证。
14.如权利要求13所述的认证系统,其中,所述认证控制设备包括:
PAM模块,与所述应用连接,适于接收应用对用户的身份认证请求,确定与所述身份认证请求相对应的一个或多个认证类、每个认证类中的一种或者多种认证方式,并确定与每个认证类中的每种认证方式相对应的认证模块;以及
系统权限模块,分别与所述PAM模块、多个认证模块连接,适于获取所述多个认证模块的访问权限,并基于相应的访问权限同步向多个认证模块发送对用户的身份认证请求。
15.如权利要求14所述的认证系统,其中,
所述系统权限模块进一步适于:基于多个执行单元同步请求相应的多个认证模块对用户进行身份认证。
16.如权利要求13-15任一项所述的认证系统,其中,所述认证模块包括:
Unix密码认证模块、LDAP密码认证模块、指纹认证模块、人脸识别认证模块、U盾认证模块中的一种或多种;
所述Unix密码认证模块、指纹认证模块、人脸识别认证模块、U盾认证模块驻留在所述认证控制设备中,所述LDAP密码认证模块驻留在与所述认证控制设备连接的认证服务器中。
17.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-12中任一项所述的方法的指令。
18.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-12中任一项所述方法。
CN202011046979.8A 2020-09-29 2020-09-29 一种认证方法、认证系统及计算设备 Active CN111935716B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011046979.8A CN111935716B (zh) 2020-09-29 2020-09-29 一种认证方法、认证系统及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011046979.8A CN111935716B (zh) 2020-09-29 2020-09-29 一种认证方法、认证系统及计算设备

Publications (2)

Publication Number Publication Date
CN111935716A true CN111935716A (zh) 2020-11-13
CN111935716B CN111935716B (zh) 2021-02-19

Family

ID=73333716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011046979.8A Active CN111935716B (zh) 2020-09-29 2020-09-29 一种认证方法、认证系统及计算设备

Country Status (1)

Country Link
CN (1) CN111935716B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111319A (zh) * 2021-04-07 2021-07-13 珠海市鸿瑞信息技术股份有限公司 基于工业控制系统的身份认证系统及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657112A (zh) * 2016-12-30 2017-05-10 曙光信息产业(北京)有限公司 一种认证方法和装置
CN107885593A (zh) * 2016-09-30 2018-04-06 中国电信股份有限公司 用户认证方法和装置
CN109784022A (zh) * 2018-11-27 2019-05-21 天津麒麟信息技术有限公司 一种Linux下基于生物识别的系统认证方法和装置
US10387980B1 (en) * 2015-06-05 2019-08-20 Acceptto Corporation Method and system for consumer based access control for identity information
CN110661800A (zh) * 2019-09-25 2020-01-07 北京计算机技术及应用研究所 一种支持保证级别的多因子身份认证方法
CN111131202A (zh) * 2019-12-12 2020-05-08 厦门市美亚柏科信息股份有限公司 基于多重信息认证的身份认证方法及系统
CN111131142A (zh) * 2019-10-22 2020-05-08 北京握奇智能科技有限公司 一种多应用系统的指纹认证加密系统及方法
US10764752B1 (en) * 2018-08-21 2020-09-01 HYPR Corp. Secure mobile initiated authentication
CN111711610A (zh) * 2020-05-21 2020-09-25 深圳竹云科技有限公司 基于微服务架构的认证方法、系统及计算设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387980B1 (en) * 2015-06-05 2019-08-20 Acceptto Corporation Method and system for consumer based access control for identity information
CN107885593A (zh) * 2016-09-30 2018-04-06 中国电信股份有限公司 用户认证方法和装置
CN106657112A (zh) * 2016-12-30 2017-05-10 曙光信息产业(北京)有限公司 一种认证方法和装置
US10764752B1 (en) * 2018-08-21 2020-09-01 HYPR Corp. Secure mobile initiated authentication
CN109784022A (zh) * 2018-11-27 2019-05-21 天津麒麟信息技术有限公司 一种Linux下基于生物识别的系统认证方法和装置
CN110661800A (zh) * 2019-09-25 2020-01-07 北京计算机技术及应用研究所 一种支持保证级别的多因子身份认证方法
CN111131142A (zh) * 2019-10-22 2020-05-08 北京握奇智能科技有限公司 一种多应用系统的指纹认证加密系统及方法
CN111131202A (zh) * 2019-12-12 2020-05-08 厦门市美亚柏科信息股份有限公司 基于多重信息认证的身份认证方法及系统
CN111711610A (zh) * 2020-05-21 2020-09-25 深圳竹云科技有限公司 基于微服务架构的认证方法、系统及计算设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111319A (zh) * 2021-04-07 2021-07-13 珠海市鸿瑞信息技术股份有限公司 基于工业控制系统的身份认证系统及方法
CN113111319B (zh) * 2021-04-07 2021-10-08 珠海市鸿瑞信息技术股份有限公司 基于工业控制系统的身份认证系统及方法

Also Published As

Publication number Publication date
CN111935716B (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
US11704393B2 (en) Self-owned authentication and identity framework
US10171241B2 (en) Step-up authentication for single sign-on
JP6401784B2 (ja) 決済認証システム、方法及び装置
US9871821B2 (en) Securely operating a process using user-specific and device-specific security constraints
CN112995131B (zh) 一种页面登录方法、系统及计算设备
US9569602B2 (en) Mechanism for enforcing user-specific and device-specific security constraints in an isolated execution environment on a device
US9485255B1 (en) Authentication using remote device locking
KR20190014124A (ko) 이중 인증
CN109150547B (zh) 一种基于区块链的数字资产实名登记的系统和方法
JP6034995B2 (ja) サービスを認証するための方法およびシステム
US10037418B2 (en) Pre-boot authentication credential sharing system
WO2020181809A1 (zh) 基于接口校验的数据处理的方法、系统和计算机设备
US20190098009A1 (en) Systems and methods for authentication using authentication management server and device application
JP2020077353A (ja) 認証及び承認方法並びに認証サーバー
CN111176794A (zh) 一种容器管理方法、装置及可读存储介质
CN111935716B (zh) 一种认证方法、认证系统及计算设备
JP6629257B2 (ja) 眼球認識によって保安が強化された認証方法およびシステム
US20150295918A1 (en) User authentication system in web mash-up circumstance and authenticating method thereof
US11347859B2 (en) Systems and methods for leveraging authentication for cross operating system single sign on (SSO) capabilities
CN115935318B (zh) 一种信息处理方法、装置、服务器、客户端及存储介质
CN111447178A (zh) 一种访问控制方法、系统及计算设备
US20210297403A1 (en) Systems and methods for authentication using authentication management server and device application
CN114880648A (zh) 操作系统的批量离线激活方法、在线激活方法及激活系统
US11044247B2 (en) Systems and methods for authentication using authentication management server and device application
US11882116B2 (en) Method and system for near field communication authorization sharing

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