[go: up one dir, main page]

CN115134110B - Injection of risk assessment in user authentication - Google Patents

Injection of risk assessment in user authentication Download PDF

Info

Publication number
CN115134110B
CN115134110B CN202210305505.3A CN202210305505A CN115134110B CN 115134110 B CN115134110 B CN 115134110B CN 202210305505 A CN202210305505 A CN 202210305505A CN 115134110 B CN115134110 B CN 115134110B
Authority
CN
China
Prior art keywords
application
user
access
computer
authentication
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
Application number
CN202210305505.3A
Other languages
Chinese (zh)
Other versions
CN115134110A (en
Inventor
M·卡甘
S·M·安德鲁斯
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN115134110A publication Critical patent/CN115134110A/en
Application granted granted Critical
Publication of CN115134110B publication Critical patent/CN115134110B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

The present disclosure relates to injecting risk assessment in user authentication. In a method for authenticating a user, a processor receives a login request for an application. The processor directs the login request to the collection page. The collection page may include an authentication script. The processor receives a risk assessment based on an identity authenticated by the authentication script. The processor grants a level of access to the application based on the risk assessment.

Description

在用户认证中注入风险评估Injecting risk assessment into user authentication

技术领域Technical Field

本发明通常涉及用于应用的用户认证的领域,并且更具体地涉及在应用之前注入代理以使得能够使用具有附加认证度量的嵌入式收集页面进行认证。The present invention relates generally to the field of user authentication for applications, and more particularly to injecting a proxy in front of an application to enable authentication using an embedded collection page with additional authentication metrics.

背景技术Background Art

许多计算机应用(包括网络应用)包含机密的、敏感的和/或受限制的主题,该主题不意味着由公众访问。这些计算机应用可通过要求认证来限制对主题的访问,由此用户核实他们的身份。认证可涉及验证个人身份文档、用数字证书核实网站的真实性、或要求用户执行登录操作。在计算机安全中,登录是个体通过识别并认证其自身来获得对计算机系统的访问的过程。用户凭证可以包括某种形式的“用户名”和匹配的“密码”。一些应用可能需要诸如电子邮件或SMS确认之类的第二因素以用于额外的安全性。Many computer applications (including network applications) contain confidential, sensitive and/or restricted topics that are not meant to be accessed by the public. These computer applications can limit access to the topics by requiring authentication, so that users verify their identities. Authentication can involve verifying personal identity documents, verifying the authenticity of the website with a digital certificate, or requiring the user to perform a login operation. In computer security, logging in is the process in which an individual obtains access to a computer system by identifying and authenticating himself. User credentials can include a certain form of "user name" and a matching "password." Some applications may require a second factor such as an email or SMS confirmation for additional security.

发明内容Summary of the invention

本发明的实施例的各方面公开了一种用于认证用户的方法、计算机程序产品和计算系统。处理器接收对应用的登录请求。处理器将登录请求定向到收集页面。收集页面可以包括认证脚本。处理器接收基于通过认证脚本认证的身份的风险评估。处理器基于风险评估授予对应用的访问的级别。Aspects of embodiments of the present invention disclose a method, computer program product, and computing system for authenticating a user. A processor receives a login request for an application. The processor directs the login request to a collection page. The collection page may include an authentication script. The processor receives a risk assessment based on an identity authenticated by the authentication script. The processor grants a level of access to the application based on the risk assessment.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1描绘了根据本发明的一个实施例的用户认证环境的图;FIG1 depicts a diagram of a user authentication environment according to one embodiment of the present invention;

图2描绘了根据本发明的实施例的在图1的用户认证系统内执行的风险评估代理程序的步骤的流程图;2 depicts a flow chart of the steps of a risk assessment agent process performed within the user authentication system of FIG. 1 according to an embodiment of the present invention;

图3描绘了根据本发明的一个实施例的由风险评估代理程序确定的登录过程的可视表示;FIG3 depicts a visual representation of a login process determined by a risk assessment agent according to one embodiment of the present invention;

图4描绘了根据本发明的一个实施例的由风险评估代理程序确定的登录过程的可视表示;FIG4 depicts a visual representation of a login process determined by a risk assessment agent according to one embodiment of the present invention;

图5描绘了根据本发明的一个说明性实施例的计算设备的组件的框图。5 depicts a block diagram of components of a computing device, according to an illustrative embodiment of the invention.

具体实施方式DETAILED DESCRIPTION

所公开的实施例包括用于将认证代码片段添加到应用而不直接更新应用的登录页面的设备和方法。出于多种原因,可以限制更新应用的登录页面。例如,可以用禁止改变或增加改变应用的复杂性和/或代价的严格改变协议来管理应用。而且,应用可以包括现有的认证机制,该认证机制不包括可以用新的或附加的登录技术来修改的页面。例如,在单点登录(SSO)架构中,用户基于被批准的设备访问应用。在这样的情况下,用户被授予直接对网络应用的访问而不访问任何登录页面。The disclosed embodiments include devices and methods for adding authentication code snippets to applications without directly updating the login page of the application. Updating the login page of an application may be restricted for a variety of reasons. For example, an application may be managed with a strict change protocol that prohibits changing or increases the complexity and/or cost of changing the application. Moreover, an application may include an existing authentication mechanism that does not include pages that can be modified with new or additional login technologies. For example, in a single sign-on (SSO) architecture, users access applications based on approved devices. In such a case, users are granted direct access to the network application without accessing any login page.

所公开的实施例包括添加风险评估代理程序,该风险评估代理程序将对应用的登录请求重定向到具有一个或多个认证脚本的收集页面。认证脚本用于收集登录请求的附加登录信息。附加信息可以包括设备信息和行为生物特征信息,或者应用内尚未存在的任何其他认证机制。收集页面可包括通知收集的完成的功能以及对提交风险评估请求的批准。因此,所公开的实施例使得系统能够嵌入认证脚本以认证用户并发送用于风险评估的后端请求,而无需直接改变代码或更新应用。The disclosed embodiments include adding a risk assessment agent that redirects login requests to an application to a collection page with one or more authentication scripts. The authentication script is used to collect additional login information for the login request. The additional information may include device information and behavioral biometric information, or any other authentication mechanism that does not already exist within the application. The collection page may include functionality to notify the completion of the collection and approval of the submission of the risk assessment request. Thus, the disclosed embodiments enable the system to embed authentication scripts to authenticate users and send backend requests for risk assessment without directly changing code or updating applications.

现在转向附图,图1示出了根据本发明的实施例的用户认证环境100的框图。用户认证环境100可以包括经由网络104通信地耦合在用户认证环境100内的客户端设备102。在一些实施例中,用户认证环境100可在云计算环境内实现,或使用一个或多个云计算服务。根据各个实施例,云计算环境可包括提供一个或多个云计算服务的基于网络的分布式/数据处理系统。进一步,云计算环境可包括被布置在一个或多个数据中心内并且被配置成通过网络104共享资源的数百或数千或更多的许多计算机。Turning now to the drawings, FIG1 illustrates a block diagram of a user authentication environment 100 according to an embodiment of the present invention. The user authentication environment 100 may include a client device 102 communicatively coupled within the user authentication environment 100 via a network 104. In some embodiments, the user authentication environment 100 may be implemented within a cloud computing environment, or use one or more cloud computing services. According to various embodiments, the cloud computing environment may include a network-based distributed/data processing system that provides one or more cloud computing services. Further, the cloud computing environment may include hundreds or thousands or more computers that are arranged within one or more data centers and configured to share resources via the network 104.

网络104还通信地耦合到后端服务器110、访问管理器112和目标服务器114。在用户认证环境100的某些实施例中,可以存在比图1中所示更多或更少的组件。例如,用户认证环境100可包括通过网络104与用户认证环境100通信的许多附加客户端设备102。在各种实施例中,组件中的一些或每个(例如,后端服务器110、访问管理器112和/或目标服务器114)表示单独的计算设备。所公开的设备(例如,客户端设备102、目标服务器114、访问管理器112和/或后端服务器110)中的每个可以被配置为与图5中所示的计算设备500相同或类似。在一些实施例中,组件中的一些或每个表示单个计算设备(例如,程序模块、底架内的计算组件、刀片壳体内的刀片服务器、输入/输出抽屉、处理器芯片等)的特定计算实例。例如,访问管理器112可以与后端服务器110在单个服务器计算设备上组合。如本文所公开的,后端服务器110、访问管理器112和/或目标服务器114的组件中的一些或每个可通常指“服务器系统”。The network 104 is also communicatively coupled to the backend server 110, the access manager 112, and the target server 114. In certain embodiments of the user authentication environment 100, there may be more or fewer components than shown in FIG. 1. For example, the user authentication environment 100 may include many additional client devices 102 that communicate with the user authentication environment 100 via the network 104. In various embodiments, some or each of the components (e.g., the backend server 110, the access manager 112, and/or the target server 114) represent separate computing devices. Each of the disclosed devices (e.g., the client device 102, the target server 114, the access manager 112, and/or the backend server 110) may be configured to be the same or similar to the computing device 500 shown in FIG. 5. In some embodiments, some or each of the components represent a specific computing instance of a single computing device (e.g., a program module, a computing component within a chassis, a blade server within a blade housing, an input/output drawer, a processor chip, etc.). For example, the access manager 112 may be combined with the backend server 110 on a single server computing device. As disclosed herein, some or each of the components of backend server 110 , access manager 112 , and/or target server 114 may be generally referred to as a “server system.”

用户122使用客户端设备102通过网络104来访问信息。具体地,用户122加载访问存储在目标服务器114上的受保护资源132的应用130。由访问管理器112监控或管理对受保护资源132的访问。应用130可以包括要求用户名和密码以授予对受保护资源132的访问的登录功能。在某些实施例中,应用130还可以包括允许基于客户端设备102的识别(例如,通过SSO页面或启用Kerberos的操作系统)访问受保护资源132的功能。在这些实施例的一些中,应用130可以包括不能被更新的特性(例如当应用130包括不允许更新的策略时,或者当SSO架构不包括可以被修改的登录页面时)。在这样的实施例中,应用130可以将风险评估代理程序(代理134)插入到登录过程中,该登录过程将对应用130的登录请求重定向到收集页面136。代理可以在逻辑上和/或物理上被存储在用户认证环境100内的任何地方,但是被示为通过应用130起作用和被访问。收集页面136可包括认证脚本,该认证脚本使得访问管理器112能够与客户端设备102上的收集工具138通信。The user 122 uses the client device 102 to access information through the network 104. Specifically, the user 122 loads an application 130 that accesses a protected resource 132 stored on the target server 114. Access to the protected resource 132 is monitored or managed by the access manager 112. The application 130 may include a login function that requires a username and password to grant access to the protected resource 132. In some embodiments, the application 130 may also include functionality that allows access to the protected resource 132 based on the identification of the client device 102 (e.g., through an SSO page or a Kerberos-enabled operating system). In some of these embodiments, the application 130 may include a feature that cannot be updated (e.g., when the application 130 includes a policy that does not allow updates, or when the SSO architecture does not include a login page that can be modified). In such an embodiment, the application 130 may insert a risk assessment agent (agent 134) into the login process, which redirects the login request to the application 130 to the collection page 136. The agent may be logically and/or physically stored anywhere within the user authentication environment 100, but is shown as being activated and accessed by the application 130. The collection page 136 may include an authentication script that enables the access manager 112 to communicate with the collection tool 138 on the client device 102.

收集工具138可以收集行为生物特征信息、设备信息、或多因素认证信息并将其发送到访问管理器112。例如,收集工具138可以包括取得设备标识符的模块,或用于设备指纹的认证的代码片段。收集工具138还可包括收集客户端设备102的各种属性或用户122的属性的其他属性收集模块。访问管理器112可以与后端服务器110通信以认证由收集工具138收集的信息。具体地,后端服务器可包括存储的识别信息140以确定与由收集工具138收集的信息相关联的身份。识别信息140包括寻找访问受保护资源132的每个简档的个性化信息。这可以包括历史用户访问数据(例如,用户在哪以及何时访问受保护资源132)或历史设备访问数据(例如,确定这是否是首次从该设备访问受保护资源132)。The collection tool 138 may collect behavioral biometric information, device information, or multi-factor authentication information and send it to the access manager 112. For example, the collection tool 138 may include a module to obtain a device identifier, or a code snippet for authentication of a device fingerprint. The collection tool 138 may also include other attribute collection modules that collect various attributes of the client device 102 or attributes of the user 122. The access manager 112 may communicate with the backend server 110 to authenticate the information collected by the collection tool 138. Specifically, the backend server may include stored identification information 140 to determine the identity associated with the information collected by the collection tool 138. The identification information 140 includes personalized information for each profile that is sought to access the protected resource 132. This may include historical user access data (e.g., where and when the user accessed the protected resource 132) or historical device access data (e.g., determining whether this is the first time the protected resource 132 has been accessed from the device).

对于应用130不能被修改以更新登录方法的实施例,如上所述,添加了代理134。代理134操作图2中描绘的方法。代理134接收对应用130的登录请求(框202)。可基于用户122选择应用130或导航到来自托管应用的网页的链接来从客户端设备102接收登录请求。登录请求还可以包括用户名和密码、SSO认证方案或启用Kerberos的认证方案。代理134将该登录请求定向到收集页面136(框204)。收集页面136包括从客户端设备102、用户122和/或认证工具138收集附加用户变量的一个或多个认证脚本(例如,代码、Java和所有基于Java的商标和标志是Oracle和/或其子公司的商标或注册商标)。例如,认证脚本可以收集应用130未收集的以及应用130不能被编程以收集的经散列的用户名、用户因特网协议(IP)地址、用户代理、浏览器信息等。For embodiments where the application 130 cannot be modified to update the login method, as described above, an agent 134 is added. The agent 134 operates the method depicted in Figure 2. The agent 134 receives a login request for the application 130 (box 202). The login request can be received from the client device 102 based on the user 122 selecting the application 130 or navigating to a link from a web page hosting the application. The login request can also include a username and password, an SSO authentication scheme, or a Kerberos-enabled authentication scheme. The agent 134 directs the login request to the collection page 136 (box 204). The collection page 136 includes one or more authentication scripts (e.g., Authentication Scripts) that collect additional user variables from the client device 102, the user 122, and/or the authentication tool 138. code, Java, and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates). For example, the authentication script may collect hashed usernames, user Internet Protocol (IP) addresses, user agents, browser information, etc. that application 130 does not collect and that application 130 cannot be programmed to collect.

使用代理134以定向登录请求包括所添加的使收集页面136自动地适应多个各种应用的能力。具体地,代理134可以利用服务器侧技术以通过配置代理134从多个收集页面136中选择。即,代理134可以被编程为根据用户122、客户端设备102、应用130或其他因素将登录请求定向到若干可能的收集页面136。可以基于为其他应用实现的模板来针对特定应用130创建和/或定制附加收集页面136。此外,定制代理134的登录过程可以包括客户端侧方法,其中认证脚本被修改以操纵和适配收集页面130。代理134因此可以被添加到企业环境,并且用户122可以使用代理134来登录到大量应用130。该一页解决方案可以服务于所有应用,从而允许以相对容易的和流线型的实现来进行风险评估。Using the agent 134 to direct login requests includes the added ability to automatically adapt the collection page 136 to a plurality of various applications. Specifically, the agent 134 can utilize server-side technology to select from a plurality of collection pages 136 by configuring the agent 134. That is, the agent 134 can be programmed to direct login requests to several possible collection pages 136 based on the user 122, the client device 102, the application 130, or other factors. Additional collection pages 136 can be created and/or customized for specific applications 130 based on templates implemented for other applications. In addition, the login process of the customized agent 134 can include a client-side approach in which the authentication script is modified to manipulate and adapt the collection page 130. The agent 134 can therefore be added to an enterprise environment, and the user 122 can use the agent 134 to log in to a large number of applications 130. This one-page solution can serve all applications, allowing risk assessment to be performed with a relatively easy and streamlined implementation.

一旦认证脚本收集附加信息,收集页面136就可以向后端服务器110提交所收集的标识符,或者直接在后端服务器110上查找信息。例如,后端服务器110可以包括被授权访问应用130的每个用户122的不透明的、非个人可识别的简档。收集页面136使用来自后端服务器110的信息来确定与用户122相关联的风险评估。例如,风险评估可以包括允许用户访问应用、拒绝对应用的访问或请求多因素认证。Once the authentication script collects the additional information, the collection page 136 may submit the collected identifiers to the backend server 110, or look up the information directly on the backend server 110. For example, the backend server 110 may include an opaque, non-personally identifiable profile of each user 122 that is authorized to access the application 130. The collection page 136 uses the information from the backend server 110 to determine a risk assessment associated with the user 122. For example, the risk assessment may include allowing the user to access the application, denying access to the application, or requesting multi-factor authentication.

代理134然后从收集页面136接收风险评估(框206)并且作出关于用户122是否造成高风险的确定(框208)。如果确定用户122造成高风险(框208为“是”),则阻止用户122访问应用(框210)。如果用户122在后端服务器110上没有简档,简档不包含足够的信息,和/或信息或用户简档指示用户122不应该被授予对应用的访问,则可以确定高风险。如果用户122不造成高风险(框208为“否”),则代理134还可以确定用户122是否造成中等风险(框212)。如果用户122确实造成中等风险(框212为“是”),则代理134使用多因素认证过程(框214)。基于用于保护受保护资源132的所期望的安全属性,诸如中风险和高风险之类的风险级别是可配置的。例如,在某些实施例中,如果用户122尝试从从未被认定的客户端设备登录,则代理134可以确定中等风险。在其他实施例中,来自未被认定的客户端设备的登录可被确定为造成高风险。The agent 134 then receives the risk assessment from the collection page 136 (box 206) and makes a determination as to whether the user 122 poses a high risk (box 208). If it is determined that the user 122 poses a high risk ("yes" for box 208), the user 122 is blocked from accessing the application (box 210). A high risk may be determined if the user 122 does not have a profile on the backend server 110, the profile does not contain sufficient information, and/or the information or user profile indicates that the user 122 should not be granted access to the application. If the user 122 does not pose a high risk ("no" for box 208), the agent 134 may also determine whether the user 122 poses a medium risk (box 212). If the user 122 does pose a medium risk ("yes" for box 212), the agent 134 uses a multi-factor authentication process (box 214). Risk levels such as medium risk and high risk are configurable based on the desired security attributes for protecting the protected resources 132. For example, in some embodiments, if user 122 attempts to log in from a client device that has never been certified, agent 134 may determine a medium risk. In other embodiments, a login from an uncertified client device may be determined to pose a high risk.

在本发明的某些实施例中,代理134可被配置为基于风险等级采取各种动作。所示出的选项可以是具有一个级别的灵敏度/机密性的应用130的一种配置。敏感度/机密性的水平可是基于业务(例如,组织策略)或管理(例如,OpenBanking)要求的。例如,低风险应用130(如旅行预订站点)可以包括代理134,其被配置成允许中风险用户122直接登录而无需多因素认证来查看预订选项。当用户122尝试实际预订旅行时,然后用户122将触发较高标准,且因为他们已被检测为中等风险,所以代理134将需要用户122在此时完成多因素认证过程。多因素认证过程可以要求来自客户端设备102或不同设备的附加信息、度量或确认,以确保减轻中等水平的风险。如果多因素认证未通过(框214为“否”),则代理134阻止对应用130的访问。如果多因素认证通过(框214为“是”),或者如果风险评估小于中等(框212为“否”),则代理134授予对应用130的访问(框216)。In certain embodiments of the present invention, the agent 134 may be configured to take various actions based on the risk level. The options shown may be a configuration of an application 130 with a level of sensitivity/confidentiality. The level of sensitivity/confidentiality may be based on business (e.g., organizational policy) or management (e.g., OpenBanking) requirements. For example, a low-risk application 130 (such as a travel booking site) may include an agent 134 that is configured to allow a medium-risk user 122 to log in directly without multi-factor authentication to view booking options. When the user 122 attempts to actually book a trip, then the user 122 will trigger a higher standard, and because they have been detected as a medium risk, the agent 134 will require the user 122 to complete the multi-factor authentication process at this time. The multi-factor authentication process may require additional information, metrics, or confirmation from the client device 102 or a different device to ensure that the medium level of risk is mitigated. If the multi-factor authentication is not passed (box 214 is "No"), the agent 134 blocks access to the application 130. If the multi-factor authentication passes ("yes" of block 214), or if the risk assessment is less than medium ("no" of block 212), the agent 134 grants access to the application 130 (block 216).

图3描述了根据本发明的一个实施例的由风险评估代理程序确定的用户认证过程的可视表示。当用户使用客户端设备来发起针对应用330的用户认证过程时,由用户生成登录请求342。由已经被注入到应用330的用户认证过程中的代理334接收登录请求342。代理334可以基于登录请求342来确定主要风险水平。例如,代理可以确定可以从特定位置(例如现场工作位置)发起登录请求342。如果主要风险水平足够低,则代理334可以批准登录请求342并且授予对应用330的访问而无需进一步的对信息的请求。在主要风险水平未被批准用于立即访问的其他情况下,代理334将登录请求定向到收集页面336,收集页面336可以从发送登录请求342的客户端设备请求附加信息。收集页面336还可以从后端服务器310访问包含用于确定风险评估的信息的信息。代理334接收风险评估并授予对应用330的访问,或将登录请求342定向到多因素认证页面344,其可随后使代理334能够授予对应用330的访问。FIG. 3 depicts a visual representation of a user authentication process determined by a risk assessment agent according to one embodiment of the present invention. When a user uses a client device to initiate a user authentication process for an application 330, a login request 342 is generated by the user. The login request 342 is received by an agent 334 that has been injected into the user authentication process of the application 330. The agent 334 can determine a primary risk level based on the login request 342. For example, the agent can determine that the login request 342 can be initiated from a specific location (e.g., a field work location). If the primary risk level is low enough, the agent 334 can approve the login request 342 and grant access to the application 330 without further requests for information. In other cases where the primary risk level is not approved for immediate access, the agent 334 directs the login request to a collection page 336, which can request additional information from the client device that sent the login request 342. The collection page 336 can also access information from the backend server 310 containing information used to determine the risk assessment. Agent 334 receives the risk assessment and either grants access to application 330 , or directs login request 342 to a multi-factor authentication page 344 , which may then enable agent 334 to grant access to application 330 .

图4描述了本发明的若干实施例的登录过程。第一登录过程450包括没有代理434的SSO/Kerberos方案。第一登录过程450从登录请求442前进到访问应用430,而没有执行风险评估的任何可能性。第二登录过程452包括SSO/Kerberos方案,其中代理434被插入到登录过程中。代理434将登录请求442定向到收集页面436,其使用来自登录请求442的信息来进行风险评估。取决于在收集页面436处确定的风险的水平,第二登录过程452将前进到应用430或前进到多因素认证页面444。如果多因素认证页面444批准登录请求442,则第二登录过程452还可以从多因素认证页面444前进到应用430。FIG. 4 depicts the login process of several embodiments of the present invention. A first login process 450 includes an SSO/Kerberos scheme without an agent 434. The first login process 450 proceeds from a login request 442 to access an application 430 without any possibility of performing a risk assessment. A second login process 452 includes an SSO/Kerberos scheme in which an agent 434 is inserted into the login process. The agent 434 directs the login request 442 to a collection page 436, which uses information from the login request 442 to perform a risk assessment. Depending on the level of risk determined at the collection page 436, the second login process 452 will proceed to the application 430 or to the multi-factor authentication page 444. If the multi-factor authentication page 444 approves the login request 442, the second login process 452 may also proceed from the multi-factor authentication page 444 to the application 430.

第三登录过程454不使用SSO/Kerberos方案,并且因此可以包括取得用户名和密码的登录页面428。第三登录过程454可以仍然包括收集页面436以进行登录请求442是否应当被定向到多因素认证页面444的进一步风险评估。虽然在所公开的实施例的范围内可以包括附加的登录步骤,但是第一登录过程450、第二登录过程452和第三登录过程454说明了代理434的添加增加了用于登录到应用430的风险评估的适应性。The third login process 454 does not use the SSO/Kerberos scheme and therefore may include a login page 428 that takes a username and password. The third login process 454 may still include a collection page 436 for further risk assessment of whether the login request 442 should be directed to the multi-factor authentication page 444. Although additional login steps may be included within the scope of the disclosed embodiments, the first login process 450, the second login process 452, and the third login process 454 illustrate that the addition of the agent 434 increases the adaptability of the risk assessment for logging into the application 430.

图5描绘了根据本发明的说明性实施例的计算设备500的组件的框图。如上所述,在设备被体现为单个计算设备500的组件的实施例中,计算设备500可表示上述任何设备(例如,客户端设备102、目标服务器114、访问管理器112和/或后端服务器110)或设备的组合。应当理解,图5仅提供一个实现方式的图示并且不暗示关于其中可以实现不同实施例的环境的任何限制。可以对所描绘的环境做出许多修改。FIG5 depicts a block diagram of components of a computing device 500 according to an illustrative embodiment of the invention. As described above, in embodiments where the devices are embodied as components of a single computing device 500, the computing device 500 may represent any of the above devices (e.g., client device 102, target server 114, access manager 112, and/or backend server 110) or a combination of devices. It should be understood that FIG5 provides only an illustration of one implementation and does not imply any limitations regarding the environments in which different embodiments may be implemented. Many modifications may be made to the depicted environment.

计算设备500包括通信结构502,其提供RAM 514、高速缓存516、存储器506、永久性存储装置508、通信单元510和输入/输出(I/O)接口512之间的通信。可以用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现通信结构502。例如,可以用一个或多个总线或纵横开关来实现通信结构502。Computing device 500 includes communications fabric 502 that provides communications between RAM 514, cache 516, memory 506, permanent storage 508, communications unit 510, and input/output (I/O) interface 512. Communications fabric 502 may be implemented with any architecture designed to pass data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within the system. For example, communications fabric 502 may be implemented with one or more buses or crossbar switches.

存储器506和永久性存储装置508是计算机可读存储介质。在该实施例中,存储器506包括随机存取存储器(RAM)。一般而言,存储器506可包括任何合适的易失性或非易失性计算机可读存储介质。高速缓存516是快速存储器,其通过保存来自存储器506的最近访问的数据和接近访问的数据的数据来增强计算机处理器504的性能。Memory 506 and permanent storage 508 are computer-readable storage media. In this embodiment, memory 506 includes random access memory (RAM). In general, memory 506 may include any suitable volatile or non-volatile computer-readable storage media. Cache 516 is a fast memory that enhances the performance of computer processor 504 by saving recently accessed data and data that is close to being accessed from memory 506.

软件组件(例如,代理、应用、访问管理器、收集页面、认证工具、或多因素认证页面)可以存储在永久性存储装置508和存储器506中,用于由相应的计算机处理器504中的一个或多个经由高速缓存516执行和/或访问。在实施例中,永久性存储装置508包括磁性硬盘驱动器。可替代地,或除了磁性硬盘驱动器之外,永久性存储装置508可以包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存存储器、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。Software components (e.g., agents, applications, access managers, collection pages, authentication tools, or multi-factor authentication pages) may be stored in persistent storage 508 and memory 506 for execution and/or access by one or more of the corresponding computer processors 504 via cache 516. In an embodiment, persistent storage 508 includes a magnetic hard drive. Alternatively, or in addition to a magnetic hard drive, persistent storage 508 may include a solid-state hard drive, a semiconductor memory device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

由永久性存储装置508使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久性存储装置508。其他示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到也是永久存储器508的一部分的另一计算机可读存储介质上。The media used by persistent storage 508 also may be removable. For example, a removable hard drive may be used for persistent storage 508. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 508.

在这些示例中,通信单元510提供与其他数据处理系统或设备的通信。在这些示例中,通信单元510包括一个或多个网络接口卡。通信单元510可通过使用物理和无线通信链路中的任一者或两者提供通信。代理、应用、访问管理器、收集页面、认证工具或多因素认证页面可通过通信单元510被下载到永久性存储装置508。In these examples, communication unit 510 provides communications with other data processing systems or devices. In these examples, communication unit 510 includes one or more network interface cards. Communication unit 510 can provide communications using either or both physical and wireless communication links. Agents, applications, access managers, collection pages, authentication tools, or multi-factor authentication pages can be downloaded to permanent storage device 508 via communication unit 510.

I/O接口512允许与可连接到计算设备500的其他设备进行数据的输入和输出。例如,I/O接口512可以提供到外部设备518(诸如键盘、小键盘、触摸屏和/或一些其他合适的输入设备)的连接。外部设备518还可以包括便携式计算机可读存储介质(诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡)。用于实践本发明的实施例的软件和数据(例如,代理、应用、访问管理器、收集页面、认证工具或多因素认证页面)可被存储在这种便携式计算机可读存储介质上并且可经由I/O接口512加载到永久性存储装置508上。I/O接口512还连接到显示器520。The I/O interface 512 allows for input and output of data with other devices that may be connected to the computing device 500. For example, the I/O interface 512 may provide a connection to an external device 518 such as a keyboard, a keypad, a touch screen, and/or some other suitable input device. The external device 518 may also include a portable computer-readable storage medium such as, for example, a thumb drive, a portable optical or magnetic disk, and a memory card. Software and data (e.g., agents, applications, access managers, collection pages, authentication tools, or multi-factor authentication pages) for practicing embodiments of the present invention may be stored on such a portable computer-readable storage medium and may be loaded onto the permanent storage device 508 via the I/O interface 512. The I/O interface 512 is also connected to the display 520.

显示器520提供向用户显示数据的机制,并且可以是例如计算机监视器。Display 520 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.

本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多种介质)。The present invention may be a system, method and/or computer program product at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or multiple media) having computer-readable program instructions thereon for causing a processor to execute various aspects of the present invention.

计算机可读存储介质可为可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存存储器)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身(例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤线缆的光脉冲)或通过导线传输的电信号)。Computer readable storage medium can be a tangible device that can retain and store instructions for use by instruction execution devices. Computer readable storage medium can be, for example but not limited to, electronic storage device, magnetic storage device, optical storage device, electromagnetic storage device, semiconductor storage device or any suitable combination of the above. A non-exhaustive list of more specific examples of computer readable storage medium includes the following: portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device such as punch card or a protruding structure in a groove with instructions recorded thereon, and any suitable combination of the above. Computer readable storage medium as used herein should not be interpreted as a temporary signal itself (such as radio waves or other free propagating electromagnetic waves, electromagnetic waves propagated by waveguides or other transmission media (for example, light pulses passing through optical fiber cables) or electrical signals transmitted by wires).

本文中所描述的计算机可读程序指令可以经由网络(例如,因特网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing/processing device via a network (e.g., the Internet, a local area network, a wide area network, and/or a wireless network), or downloaded to an external computer or external storage device. The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and/or edge servers. The network adapter card or network interface in each computing/processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium in the corresponding computing/processing device.

用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。The computer-readable program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, configuration data of integrated circuits, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages (such as Smalltalk, C++, etc.) and process programming languages (such as "C" programming languages or similar programming languages). The computer-readable program instructions can be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer, partially on the remote computer, or completely on the remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network (including local area network (LAN) or wide area network (WAN)), or can be connected to an external computer (for example, using an Internet service provider through the Internet). In some embodiments, the electronic circuit including, for example, a programmable logic circuit, a field programmable gate array (FPGA) or a programmable logic array (PLA) can be executed by using the state information of the computer-readable program instructions to personalize the electronic circuit to perform computer-readable program instructions, so as to perform various aspects of the present invention.

这里参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,可以由计算机可读程序指令实现。Here, various aspects of the present invention are described with reference to the flowcharts and/or block diagrams of the methods, devices (systems) and computer program products according to embodiments of the present invention. It should be understood that each box of the flowchart and/or block diagram and the combination of each box in the flowchart and/or block diagram can be implemented by computer-readable program instructions.

这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的框或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令导引计算机、可编程数据处理装置、和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括包括实现流程图和/或框图的框或多个框中指定的功能/动作的各方面的指令的制造品。These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the functions/actions specified in the box or multiple boxes of the flowchart and/or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium, which directs the computer, programmable data processing device, and/or other equipment to work in a specific manner, so that the computer-readable storage medium in which the instructions are stored includes a manufactured product including instructions for implementing various aspects of the functions/actions specified in the box or multiple boxes of the flowchart and/or block diagram.

也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机所实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的框或多个框中指定的功能/动作。Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operating steps are performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions/actions specified in a box or multiple boxes of the flowchart and/or block diagram.

附图中的流程图和框图示出了根据本发明的各个实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示包括用于实现指定的逻辑功能的一个或多个可执行指令的模块、段或指令的部分。在一些替代实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行指定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。The flow charts and block diagrams in the accompanying drawings show the architecture, functions and operations of the possible implementations of the systems, methods and computer program products according to various embodiments of the present invention. To this end, each box in the flow chart or block diagram may represent a module, segment or part of an instruction including one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the box may not occur in the order marked in the figure. For example, depending on the functions involved, the two boxes shown in succession can actually be completed as a step, and are executed simultaneously, substantially simultaneously, in a partially or completely overlapping manner in time, or the boxes can sometimes be executed in the opposite order. It should also be noted that each box in the block diagram and/or flow chart, and the combination of the boxes in the block diagram and/or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or action or performs a combination of dedicated hardware and computer instructions.

Claims (26)

1.一种用于认证用户的计算机实现的方法,包括:1. A computer-implemented method for authenticating a user, comprising: 接收对应用的登录请求,其中,所述应用控制用户对受保护资源的访问;receiving a login request to an application, wherein the application controls user access to protected resources; 将所述登录请求定向到收集页面,其中所述收集页面包括认证脚本,所述认证脚本收集所述登录请求的附加登录信息,其中所述收集页面是基于所述应用从多个收集页面中选择的;directing the login request to a collection page, wherein the collection page includes an authentication script that collects additional login information for the login request, wherein the collection page is selected from a plurality of collection pages based on the application; 接收基于通过所述认证脚本认证的身份的风险评估;以及receiving a risk assessment based on an identity authenticated by the authentication script; and 基于所述风险评估授予对所述应用的访问级别。A level of access to the application is granted based on the risk assessment. 2.根据权利要求1所述的方法,其中,所述登录请求包括从由以下各项组成的组中的选择:(i)用户名和密码,(ii)单点登录SSO认证方案,以及(iii)启用Kerberos的认证方案。2. The method of claim 1, wherein the login request comprises a selection from the group consisting of: (i) a username and password, (ii) a single sign-on (SSO) authentication scheme, and (iii) a Kerberos-enabled authentication scheme. 3.根据权利要求1所述的方法,其中,所述登录请求包括识别所述应用的信息。The method of claim 1 , wherein the login request includes information identifying the application. 4.根据权利要求1所述的方法,其中,所述收集页面的选择还基于从由以下各项组成的组中的选择:用户身份、客户端设备。4. The method of claim 1, wherein the selection of the collection page is further based on a selection from the group consisting of: user identity, client device. 5.根据权利要求1所述的方法,其中,所述认证脚本收集包括从由以下各项组成的组中选择的用户变量:经散列的用户名、用户IP地址、用户代理以及浏览器。5. The method of claim 1, wherein the authentication script collects user variables selected from the group consisting of: a hashed username, a user IP address, a user agent, and a browser. 6.根据权利要求1所述的方法,其中,从后端服务器接收所述风险评估,所述后端服务器包括与所述身份相关联的不透明的、非个人可识别的简档。6. The method of claim 1, wherein the risk assessment is received from a backend server that includes an opaque, non-personally identifiable profile associated with the identity. 7.根据权利要求1所述的方法,其中,所述访问级别包括从由以下各项组成的组中的选择:允许所述用户访问所述应用、拒绝访问所述应用、以及请求多因素认证。7. The method of claim 1, wherein the access level comprises a selection from the group consisting of: allowing the user to access the application, denying access to the application, and requesting multi-factor authentication. 8.根据权利要求1所述的方法,包括:基于所述登录请求确定主要风险水平。The method of claim 1 , comprising determining a primary risk level based on the login request. 9.一种用于认证用户的计算机程序产品,所述计算机程序产品包括:9. A computer program product for authenticating a user, the computer program product comprising: 一个或多个计算机可读存储介质和存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:One or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising: 用于接收针对应用的登录请求的程序指令,其中,所述应用控制用户对受保护资源的访问;program instructions for receiving a login request for an application, wherein the application controls user access to protected resources; 用于将所述登录请求定向到收集页面的程序指令,其中所述收集页面包括认证脚本,所述认证脚本收集所述登录请求的附加登录信息,其中所述收集页面是基于所述应用从多个收集页面中选择的;program instructions for directing the login request to a collection page, wherein the collection page includes an authentication script that collects additional login information for the login request, wherein the collection page is selected from a plurality of collection pages based on the application; 用于接收基于通过所述认证脚本认证的身份的风险评估的程序指令;以及program instructions for receiving a risk assessment based on an identity authenticated by the authentication script; and 用于基于所述风险评估授予对所述应用的访问级别的程序指令。Program instructions for granting a level of access to the application based on the risk assessment. 10.根据权利要求9所述的计算机程序产品,其中,所述登录请求包括从由以下各项组成的组中的选择:(i)用户名和密码,(ii)单点登录SSO认证方案,以及(iii)启用Kerberos的认证方案。10. The computer program product of claim 9, wherein the login request comprises a selection from the group consisting of: (i) a username and password, (ii) a single sign-on (SSO) authentication scheme, and (iii) a Kerberos-enabled authentication scheme. 11.根据权利要求9所述的计算机程序产品,其中,所述登录请求包括识别所述应用的信息。11. The computer program product of claim 9, wherein the login request includes information identifying the application. 12.根据权利要求9所述的计算机程序产品,其中,所述认证脚本包括用于认证设备指纹的代码片段。12. The computer program product of claim 9, wherein the authentication script comprises a code snippet for authenticating a device fingerprint. 13.根据权利要求9所述的计算机程序产品,其中,所述认证脚本收集包括从由以下各项组成的组中选择的用户变量:经散列的用户名、用户IP地址、用户代理以及浏览器。13. The computer program product of claim 9, wherein the authentication script collects user variables including those selected from the group consisting of: a hashed username, a user IP address, a user agent, and a browser. 14.根据权利要求9所述的计算机程序产品,其中,从后端服务器接收所述风险评估,所述后端服务器包括与所述身份相关联的不透明的、非个人可识别的用户简档。14. The computer program product of claim 9, wherein the risk assessment is received from a backend server that includes an opaque, non-personally identifiable user profile associated with the identity. 15.根据权利要求9所述的计算机程序产品,其中,所述访问级别包括从由以下各项组成的组中的选择:允许所述用户访问所述应用、拒绝访问所述应用、以及请求多因素认证。15. The computer program product of claim 9, wherein the access level comprises a selection from the group consisting of: allowing the user to access the application, denying access to the application, and requesting multi-factor authentication. 16.一种用于认证用户的计算机系统,所述计算机系统包括:16. A computer system for authenticating a user, the computer system comprising: 一个或多个计算机处理器、一个或多个计算机可读存储介质、以及存储在所述计算机可读存储介质上的用于由所述一个或多个处理器中的至少一个执行的程序指令,所述程序指令包括用于以下各项的程序指令:One or more computer processors, one or more computer-readable storage media, and program instructions stored on the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising program instructions for: 用于接收对应用的登录请求的程序指令,其中,所述应用控制用户对受保护资源的访问;program instructions for receiving a login request for an application, wherein the application controls user access to protected resources; 用于将所述登录请求定向到收集页面的程序指令,其中所述收集页面包括认证脚本,所述认证脚本收集所述登录请求的附加登录信息,其中所述收集页面是基于所述应用从多个收集页面中选择的;program instructions for directing the login request to a collection page, wherein the collection page includes an authentication script that collects additional login information for the login request, wherein the collection page is selected from a plurality of collection pages based on the application; 用于接收基于通过所述认证脚本认证的身份的风险评估的程序指令;以及program instructions for receiving a risk assessment based on an identity authenticated by the authentication script; and 用于基于所述风险评估授予对所述应用的访问级别的程序指令。Program instructions for granting a level of access to the application based on the risk assessment. 17.根据权利要求16所述的计算机系统,其中,所述登录请求包括从由以下各项组成的组中的选择:(i)用户名和密码,(ii)单点登录SSO认证方案,以及(iii)启用Kerberos的认证方案。17. The computer system of claim 16, wherein the login request comprises a selection from the group consisting of: (i) a username and password, (ii) a single sign-on (SSO) authentication scheme, and (iii) a Kerberos-enabled authentication scheme. 18.根据权利要求16所述的计算机系统,其中,所述登录请求包括识别所述应用的信息。18. The computer system of claim 16, wherein the login request includes information identifying the application. 19.根据权利要求16所述的计算机系统,其中,所述认证脚本包括用于认证设备指纹的代码片段。19. The computer system of claim 16, wherein the authentication script includes a code snippet for authenticating a device fingerprint. 20.根据权利要求16所述的计算机系统,其中,从后端服务器接收所述风险评估,所述后端服务器包括与所述身份相关联的不透明的、非个人可识别的用户简档。20. The computer system of claim 16, wherein the risk assessment is received from a backend server that includes an opaque, non-personally identifiable user profile associated with the identity. 21.根据权利要求16所述的系统,其中,所述访问级别包括从由以下各项组成的组中的选择:允许所述用户访问所述应用、拒绝访问所述应用、以及请求多因素认证。21. The system of claim 16, wherein the access level comprises a selection from the group consisting of: allowing the user to access the application, denying access to the application, and requesting multi-factor authentication. 22.一种用于认证用户的计算机实现的方法,包括:22. A computer-implemented method for authenticating a user, comprising: 将代理插入应用的登录过程,其中,所述应用控制用户对受保护资源的访问,其中所述代理访问包括认证脚本的收集页面,所述认证脚本收集登录请求的附加登录信息,其中所述收集页面是基于所述应用从多个收集页面中选择的;inserting an agent into a login process of an application, wherein the application controls user access to protected resources, wherein the agent accesses a collection page including an authentication script that collects additional login information for a login request, wherein the collection page is selected from a plurality of collection pages based on the application; 基于在运行所述应用的客户端设备上收集的身份信息进行风险评估;performing a risk assessment based on identity information collected on a client device running the application; 基于所述风险评估授予对所述应用的访问级别。A level of access to the application is granted based on the risk assessment. 23.根据权利要求22所述的方法,其中,所述访问级别包括从由以下各项组成的组中的选择:允许所述用户访问所述应用、拒绝访问所述应用、以及请求多因素认证。23. The method of claim 22, wherein the access level comprises a selection from the group consisting of: allowing the user to access the application, denying access to the application, and requesting multi-factor authentication. 24.根据权利要求22所述的方法,其中,所述收集页面的选择还基于从由以下各项组成的组中的选择:用户身份、客户端设备。24. The method of claim 22, wherein the selection of the collection page is further based on a selection from the group consisting of: user identity, client device. 25.一种计算机系统,包括:25. A computer system comprising: 处理器;processor; 耦合至所述处理器的计算机可读存储介质,所述计算机可读存储介质包括当由所述处理器执行时执行如权利要求22-24中任一项所述的方法的指令。A computer readable storage medium coupled to the processor, the computer readable storage medium comprising instructions that when executed by the processor perform the method of any one of claims 22-24. 26.一种计算机程序产品,包括当由处理器执行时执行如权利要求22至24中任一项所述的方法的步骤的程序代码。26. A computer program product comprising program code for performing the steps of the method as claimed in any one of claims 22 to 24 when executed by a processor.
CN202210305505.3A 2021-03-25 2022-03-25 Injection of risk assessment in user authentication Active CN115134110B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/211,981 US12143396B2 (en) 2021-03-25 2021-03-25 Injecting risk assessment in user authentication
US17/211,981 2021-03-25

Publications (2)

Publication Number Publication Date
CN115134110A CN115134110A (en) 2022-09-30
CN115134110B true CN115134110B (en) 2024-10-18

Family

ID=83365229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210305505.3A Active CN115134110B (en) 2021-03-25 2022-03-25 Injection of risk assessment in user authentication

Country Status (3)

Country Link
US (1) US12143396B2 (en)
JP (1) JP2022151806A (en)
CN (1) CN115134110B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626725B2 (en) * 2010-12-23 2017-04-18 Facebook, Inc. Using social graph for account recovery
US12229301B2 (en) * 2021-05-05 2025-02-18 EMC IP Holding Company LLC Access control of protected data using storage system-based multi-factor authentication
CN115987569A (en) * 2022-12-02 2023-04-18 北京天融信网络安全技术有限公司 Method, device, electronic equipment and medium for risk assessment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227315A (en) * 2015-08-31 2016-01-06 青岛海尔智能家电科技有限公司 A kind of Web application authentication method, server and system thereof
CN110493184A (en) * 2019-07-09 2019-11-22 深圳壹账通智能科技有限公司 The processing method of login page, device, electronic device in the client
CN111935165A (en) * 2020-08-14 2020-11-13 中国工商银行股份有限公司 Access control method, device, electronic device and medium

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225408B2 (en) * 2001-04-27 2007-05-29 Siemens Medical Solutions Health Services Corporation System and user interface for communicating and processing patient record information
JP4467256B2 (en) * 2003-06-19 2010-05-26 富士通株式会社 Proxy authentication program, proxy authentication method, and proxy authentication device
US20050154886A1 (en) 2004-01-12 2005-07-14 International Business Machines Corporation Declarative trust model between reverse proxy server and websphere application server
US7975000B2 (en) * 2005-01-27 2011-07-05 Fmr Llc A/B testing of a webpage
JP4867482B2 (en) * 2006-06-06 2012-02-01 富士ゼロックス株式会社 Control program and communication system
US7904953B2 (en) 2006-09-22 2011-03-08 Bea Systems, Inc. Pagelets
US20100281389A1 (en) * 2007-10-29 2010-11-04 Hutchinson Kevin P System for measuring web traffic
US20090171905A1 (en) * 2008-01-02 2009-07-02 Edouard Garcia Producing information disclosure statements
US8635701B2 (en) * 2008-03-02 2014-01-21 Yahoo! Inc. Secure browser-based applications
JP2010097467A (en) * 2008-10-17 2010-04-30 Nomura Research Institute Ltd Risk-based authentication system and risk-based authentication method
CA2665832C (en) * 2009-05-11 2015-12-29 Diversinet Corp. Method and system for authenticating a user of a mobile device
US8224804B2 (en) * 2009-07-22 2012-07-17 Microsoft Corporation Indexing of partitioned external data sources
US8996988B2 (en) * 2009-10-19 2015-03-31 Browsera, LLC Automated application compatibility testing
CN103685175B (en) * 2012-09-11 2017-12-01 腾讯科技(深圳)有限公司 Application platform logs in method, proxy server and the system of state with Application share
CN103888255B (en) 2012-12-21 2017-12-22 中国移动通信集团公司 A kind of identity identifying method, apparatus and system
US9954860B2 (en) * 2013-03-15 2018-04-24 Entrust, Inc. Online secure transaction verification system proxy server and method
US20150066575A1 (en) * 2013-08-28 2015-03-05 Bank Of America Corporation Enterprise risk assessment
CN105493439A (en) 2013-09-25 2016-04-13 迈克菲股份有限公司 Proxy authentication for single sign-on
US9705871B2 (en) * 2013-12-13 2017-07-11 T-Mobile U.S.A., Inc Identity and access management
US9686302B2 (en) * 2013-12-30 2017-06-20 Anchorfree, Inc. System and method for security and quality assessment of wireless access points
AU2015219267A1 (en) * 2014-02-18 2016-09-22 Secureauth Corporation Fingerprint based authentication for single sign on
JP6113678B2 (en) * 2014-03-13 2017-04-12 株式会社日立製作所 Authentication apparatus, authentication system, and authentication method
US10250605B2 (en) * 2015-09-30 2019-04-02 Quest Software Inc. Combining a set of risk factors to produce a total risk score within a risk engine
US10348799B2 (en) * 2016-08-04 2019-07-09 Ca, Inc. Unique device authentication via a browser
JP6647258B2 (en) * 2017-09-11 2020-02-14 Capy株式会社 User authentication method, evaluation device, program, and user authentication system
US20190132323A1 (en) * 2017-10-27 2019-05-02 Mastercard International Incorporated Systems and methods for dynamically adjusting a password attempt threshold
US10684847B2 (en) * 2017-11-27 2020-06-16 Salesforce.Com, Inc. Content deployment system having a proxy for continuously providing selected content items to a content publishing engine for integration into a specific release and methods for implementing the same
JP2019160045A (en) * 2018-03-15 2019-09-19 富士ゼロックス株式会社 Information processing device, program, and information processing system
CA3098343A1 (en) * 2018-04-27 2019-10-31 Laterpay Ag Method for mobile network operator-based payment system
CN112912875A (en) * 2018-10-02 2021-06-04 Capy株式会社 Authentication system, authentication method, application providing device, authentication device, authentication program
US12063513B2 (en) * 2018-11-13 2024-08-13 Apple Inc. Secure trusted service manager provider
CN112243517A (en) * 2019-05-17 2021-01-19 谷歌有限责任公司 Conditional interpretation of a single style definition identifier on a resource
US11574274B2 (en) * 2019-11-07 2023-02-07 Noibu Technologies Inc. System and method for evaluating application errors in e-commerce applications
US11818159B2 (en) * 2019-12-11 2023-11-14 Target Brands, Inc. Website guest risk assessment and mitigation
US11570203B2 (en) * 2019-12-31 2023-01-31 Akamai Technologies, Inc. Edge network-based account protection service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227315A (en) * 2015-08-31 2016-01-06 青岛海尔智能家电科技有限公司 A kind of Web application authentication method, server and system thereof
CN110493184A (en) * 2019-07-09 2019-11-22 深圳壹账通智能科技有限公司 The processing method of login page, device, electronic device in the client
CN111935165A (en) * 2020-08-14 2020-11-13 中国工商银行股份有限公司 Access control method, device, electronic device and medium

Also Published As

Publication number Publication date
US12143396B2 (en) 2024-11-12
CN115134110A (en) 2022-09-30
JP2022151806A (en) 2022-10-07
US20220311776A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
US12135779B2 (en) Systems and methods for offline usage of SaaS applications
CN115134110B (en) Injection of risk assessment in user authentication
US7571473B1 (en) Identity management system and method
US11489933B2 (en) Systems and methods for gamification of SaaS applications
US8918856B2 (en) Trusted intermediary for network layer claims-enabled access control
US20170257363A1 (en) Secure mobile device two-factor authentication
US8590029B2 (en) Management of access authorization to web forums open to anonymous users within an organization
US11531929B2 (en) Systems and methods for machine generated training and imitation learning
US20090293108A1 (en) Method and System for User Management of Authentication Tokens
US11089005B2 (en) Systems and methods for simulated single sign-on
US11323432B2 (en) Automatic login tool for simulated single sign-on
CN105659520A (en) Security proxy for protecting private data
US11115401B2 (en) Administration portal for simulated single sign-on
CN116601916A (en) Attribute-based encryption key as keying material for key hash message authentication code user authentication and authorization
JP2023064094A (en) Computer-implemented method, computer system and computer program for automatically generating and implementing access policies (automatic resource access policy generation and implementation)
JP7513584B2 (en) Method, computer program product, and system for managing shared authentication credentials - Patents.com
JP7401288B2 (en) System and method for changing account record passwords under threat of unauthorized access to user data
US20220279018A1 (en) Managing third party url distribution
KR101545897B1 (en) A server access control system by periodic authentification of the smart card
CN114640490A (en) Method and architecture for terminal use safety, monitoring and management of equipment account
US20150007293A1 (en) User authentication utilizing patterns
US20250279991A1 (en) Audited, clientless, just in time access to protected resources to enhance security
Al-Sinani Integrating OAuth with information card systems
Al-Sinani Browser extension-based interoperation between OAuth and information card-based systems
CN119030740A (en) Method, system and computer device for obtaining trusted IP list

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