在用户认证中注入风险评估的制作方法

文档序号:31701980发布日期:2022-10-01 08:45阅读:43来源:国知局
在用户认证中注入风险评估的制作方法

1.本发明通常涉及用于应用的用户认证的领域,并且更具体地涉及在应用之前注入代理以使得能够使用具有附加认证度量的嵌入式收集页面进行认证。


背景技术:

2.许多计算机应用(包括网络应用)包含机密的、敏感的和/或受限制的主题,该主题不意味着由公众访问。这些计算机应用可通过要求认证来限制对主题的访问,由此用户核实他们的身份。认证可涉及验证个人身份文档、用数字证书核实网站的真实性、或要求用户执行登录操作。在计算机安全中,登录是个体通过识别并认证其自身来获得对计算机系统的访问的过程。用户凭证可以包括某种形式的“用户名”和匹配的“密码”。一些应用可能需要诸如电子邮件或sms确认之类的第二因素以用于额外的安全性。


技术实现要素:

3.本发明的实施例的各方面公开了一种用于认证用户的方法、计算机程序产品和计算系统。处理器接收对应用的登录请求。处理器将登录请求定向到收集页面。收集页面可以包括认证脚本。处理器接收基于通过认证脚本认证的身份的风险评估。处理器基于风险评估授予对应用的访问的级别。
附图说明
4.图1描绘了根据本发明的一个实施例的用户认证环境的图;
5.图2描绘了根据本发明的实施例的在图1的用户认证系统内执行的风险评估代理程序的步骤的流程图;
6.图3描绘了根据本发明的一个实施例的由风险评估代理程序确定的登录过程的可视表示;
7.图4描绘了根据本发明的一个实施例的由风险评估代理程序确定的登录过程的可视表示;
8.图5描绘了根据本发明的一个说明性实施例的计算设备的组件的框图。
具体实施方式
9.所公开的实施例包括用于将认证代码片段添加到应用而不直接更新应用的登录页面的设备和方法。出于多种原因,可以限制更新应用的登录页面。例如,可以用禁止改变或增加改变应用的复杂性和/或代价的严格改变协议来管理应用。而且,应用可以包括现有的认证机制,该认证机制不包括可以用新的或附加的登录技术来修改的页面。例如,在单点登录(sso)架构中,用户基于被批准的设备访问应用。在这样的情况下,用户被授予直接对网络应用的访问而不访问任何登录页面。
10.所公开的实施例包括添加风险评估代理程序,该风险评估代理程序将对应用的登
录请求重定向到具有一个或多个认证脚本的收集页面。认证脚本用于收集登录请求的附加登录信息。附加信息可以包括设备信息和行为生物特征信息,或者应用内尚未存在的任何其他认证机制。收集页面可包括通知收集的完成的功能以及对提交风险评估请求的批准。因此,所公开的实施例使得系统能够嵌入认证脚本以认证用户并发送用于风险评估的后端请求,而无需直接改变代码或更新应用。
11.现在转向附图,图1示出了根据本发明的实施例的用户认证环境100的框图。用户认证环境100可以包括经由网络104通信地耦合在用户认证环境100内的客户端设备102。在一些实施例中,用户认证环境100可在云计算环境内实现,或使用一个或多个云计算服务。根据各个实施例,云计算环境可包括提供一个或多个云计算服务的基于网络的分布式/数据处理系统。进一步,云计算环境可包括被布置在一个或多个数据中心内并且被配置成通过网络104共享资源的数百或数千或更多的许多计算机。
12.网络104还通信地耦合到后端服务器110、访问管理器112和目标服务器114。在用户认证环境100的某些实施例中,可以存在比图1中所示更多或更少的组件。例如,用户认证环境100可包括通过网络104与用户认证环境100通信的许多附加客户端设备102。在各种实施例中,组件中的一些或每个(例如,后端服务器110、访问管理器112和/或目标服务器114)表示单独的计算设备。所公开的设备(例如,客户端设备102、目标服务器114、访问管理器112和/或后端服务器110)中的每个可以被配置为与图5中所示的计算设备500相同或类似。在一些实施例中,组件中的一些或每个表示单个计算设备(例如,程序模块、底架内的计算组件、刀片壳体内的刀片服务器、输入/输出抽屉、处理器芯片等)的特定计算实例。例如,访问管理器112可以与后端服务器110在单个服务器计算设备上组合。如本文所公开的,后端服务器110、访问管理器112和/或目标服务器114的组件中的一些或每个可通常指“服务器系统”。
13.用户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通信。
14.收集工具138可以收集行为生物特征信息、设备信息、或多因素认证信息并将其发送到访问管理器112。例如,收集工具138可以包括取得设备标识符的模块,或用于设备指纹的认证的代码片段。收集工具138还可包括收集客户端设备102的各种属性或用户122的属性的其他属性收集模块。访问管理器112可以与后端服务器110通信以认证由收集工具138收集的信息。具体地,后端服务器可包括存储的识别信息140以确定与由收集工具138收集的信息相关联的身份。识别信息140包括寻找访问受保护资源132的每个简档的个性化信
息。这可以包括历史用户访问数据(例如,用户在哪以及何时访问受保护资源132)或历史设备访问数据(例如,确定这是否是首次从该设备访问受保护资源132)。
15.对于应用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)地址、用户代理、浏览器信息等。
16.使用代理134以定向登录请求包括所添加的使收集页面136自动地适应多个各种应用的能力。具体地,代理134可以利用服务器侧技术以通过配置代理134从多个收集页面136中选择。即,代理134可以被编程为根据用户122、客户端设备102、应用130或其他因素将登录请求定向到若干可能的收集页面136。可以基于为其他应用实现的模板来针对特定应用130创建和/或定制附加收集页面136。此外,定制代理134的登录过程可以包括客户端侧方法,其中认证脚本被修改以操纵和适配收集页面130。代理134因此可以被添加到企业环境,并且用户122可以使用代理134来登录到大量应用130。该一页解决方案可以服务于所有应用,从而允许以相对容易的和流线型的实现来进行风险评估。
17.一旦认证脚本收集附加信息,收集页面136就可以向后端服务器110提交所收集的标识符,或者直接在后端服务器110上查找信息。例如,后端服务器110可以包括被授权访问应用130的每个用户122的不透明的、非个人可识别的简档。收集页面136使用来自后端服务器110的信息来确定与用户122相关联的风险评估。例如,风险评估可以包括允许用户访问应用、拒绝对应用的访问或请求多因素认证。
18.代理134然后从收集页面136接收风险评估(框206)并且作出关于用户122是否造成高风险的确定(框208)。如果确定用户122造成高风险(框208为“是”),则阻止用户122访问应用(框210)。如果用户122在后端服务器110上没有简档,简档不包含足够的信息,和/或信息或用户简档指示用户122不应该被授予对应用的访问,则可以确定高风险。如果用户122不造成高风险(框208为“否”),则代理134还可以确定用户122是否造成中等风险(框212)。如果用户122确实造成中等风险(框212为“是”),则代理134使用多因素认证过程(框214)。基于用于保护受保护资源132的所期望的安全属性,诸如中风险和高风险之类的风险级别是可配置的。例如,在某些实施例中,如果用户122尝试从从未被认定的客户端设备登录,则代理134可以确定中等风险。在其他实施例中,来自未被认定的客户端设备的登录可被确定为造成高风险。
19.在本发明的某些实施例中,代理134可被配置为基于风险等级采取各种动作。所示出的选项可以是具有一个级别的灵敏度/机密性的应用130的一种配置。敏感度/机密性的水平可是基于业务(例如,组织策略)或管理(例如,openbanking)要求的。例如,低风险应用130(如旅行预订站点)可以包括代理134,其被配置成允许中风险用户122直接登录而无需多因素认证来查看预订选项。当用户122尝试实际预订旅行时,然后用户122将触发较高标
准,且因为他们已被检测为中等风险,所以代理134将需要用户122在此时完成多因素认证过程。多因素认证过程可以要求来自客户端设备102或不同设备的附加信息、度量或确认,以确保减轻中等水平的风险。如果多因素认证未通过(框214为“否”),则代理134阻止对应用130的访问。如果多因素认证通过(框214为“是”),或者如果风险评估小于中等(框212为“否”),则代理134授予对应用130的访问(框216)。
20.图3描述了根据本发明的一个实施例的由风险评估代理程序确定的用户认证过程的可视表示。当用户使用客户端设备来发起针对应用330的用户认证过程时,由用户生成登录请求342。由已经被注入到应用330的用户认证过程中的代理334接收登录请求342。代理334可以基于登录请求342来确定主要风险水平。例如,代理可以确定可以从特定位置(例如现场工作位置)发起登录请求342。如果主要风险水平足够低,则代理334可以批准登录请求342并且授予对应用330的访问而无需进一步的对信息的请求。在主要风险水平未被批准用于立即访问的其他情况下,代理334将登录请求定向到收集页面336,收集页面336可以从发送登录请求342的客户端设备请求附加信息。收集页面336还可以从后端服务器310访问包含用于确定风险评估的信息的信息。代理334接收风险评估并授予对应用330的访问,或将登录请求342定向到多因素认证页面344,其可随后使代理334能够授予对应用330的访问。
21.图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。
22.第三登录过程454不使用sso/kerberos方案,并且因此可以包括取得用户名和密码的登录页面428。第三登录过程454可以仍然包括收集页面436以进行登录请求442是否应当被定向到多因素认证页面444的进一步风险评估。虽然在所公开的实施例的范围内可以包括附加的登录步骤,但是第一登录过程450、第二登录过程452和第三登录过程454说明了代理434的添加增加了用于登录到应用430的风险评估的适应性。
23.图5描绘了根据本发明的说明性实施例的计算设备500的组件的框图。如上所述,在设备被体现为单个计算设备500的组件的实施例中,计算设备500可表示上述任何设备(例如,客户端设备102、目标服务器114、访问管理器112和/或后端服务器110)或设备的组合。应当理解,图5仅提供一个实现方式的图示并且不暗示关于其中可以实现不同实施例的环境的任何限制。可以对所描绘的环境做出许多修改。
24.计算设备500包括通信结构502,其提供ram 514、高速缓存516、存储器506、永久性存储装置508、通信单元510和输入/输出(i/o)接口512之间的通信。可以用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现通信结构502。例如,可以用一个或多个总线或纵横开关来实现通信结构502。
25.存储器506和永久性存储装置508是计算机可读存储介质。在该实施例中,存储器506包括随机存取存储器(ram)。一般而言,存储器506可包括任何合适的易失性或非易失性
计算机可读存储介质。高速缓存516是快速存储器,其通过保存来自存储器506的最近访问的数据和接近访问的数据的数据来增强计算机处理器504的性能。
26.软件组件(例如,代理、应用、访问管理器、收集页面、认证工具、或多因素认证页面)可以存储在永久性存储装置508和存储器506中,用于由相应的计算机处理器504中的一个或多个经由高速缓存516执行和/或访问。在实施例中,永久性存储装置508包括磁性硬盘驱动器。可替代地,或除了磁性硬盘驱动器之外,永久性存储装置508可以包括固态硬盘驱动器、半导体存储设备、只读存储器(rom)、可擦除可编程只读存储器(eprom)、闪存存储器、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
27.由永久性存储装置508使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久性存储装置508。其他示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到也是永久存储器508的一部分的另一计算机可读存储介质上。
28.在这些示例中,通信单元510提供与其他数据处理系统或设备的通信。在这些示例中,通信单元510包括一个或多个网络接口卡。通信单元510可通过使用物理和无线通信链路中的任一者或两者提供通信。代理、应用、访问管理器、收集页面、认证工具或多因素认证页面可通过通信单元510被下载到永久性存储装置508。
29.i/o接口512允许与可连接到计算设备500的其他设备进行数据的输入和输出。例如,i/o接口512可以提供到外部设备518(诸如键盘、小键盘、触摸屏和/或一些其他合适的输入设备)的连接。外部设备518还可以包括便携式计算机可读存储介质(诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡)。用于实践本发明的实施例的软件和数据(例如,代理、应用、访问管理器、收集页面、认证工具或多因素认证页面)可被存储在这种便携式计算机可读存储介质上并且可经由i/o接口512加载到永久性存储装置508上。i/o接口512还连接到显示器520。
30.显示器520提供向用户显示数据的机制,并且可以是例如计算机监视器。
31.本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多种介质)。
32.计算机可读存储介质可为可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存存储器)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身(例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤线缆的光脉冲)或通过导线传输的电信号)。
33.本文中所描述的计算机可读程序指令可以经由网络(例如,因特网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火
墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。
34.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c++等)和过程程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
35.这里参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,可以由计算机可读程序指令实现。
36.这些计算机可读程序指令可被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的框或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令导引计算机、可编程数据处理装置、和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括包括实现流程图和/或框图的框或多个框中指定的功能/动作的各方面的指令的制造品。
37.也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机所实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的框或多个框中指定的功能/动作。
38.附图中的流程图和框图示出了根据本发明的各个实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示包括用于实现指定的逻辑功能的一个或多个可执行指令的模块、段或指令的部分。在一些替代实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行指定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1