CN105493439A - 用于单登录的代理认证 - Google Patents
用于单登录的代理认证 Download PDFInfo
- Publication number
- CN105493439A CN105493439A CN201480047156.3A CN201480047156A CN105493439A CN 105493439 A CN105493439 A CN 105493439A CN 201480047156 A CN201480047156 A CN 201480047156A CN 105493439 A CN105493439 A CN 105493439A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- cube computation
- client device
- data cube
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
在一个示例中,描述了web网关,包括代理认证引擎(PAE)。PAE通过,例如,用户名和口令、生物测定数据,或两因素认证,来认证用户设备。然后,web网关提供对于一个或多个web服务的无缝并透明的单登录(SSO)。当用户从web服务请求网页时,PAE***检测登录动作的自定义代码。当用户登录时,可以提供一次性的令牌以自动填充用户名和口令字段。当用户提交表单时,PAE向web服务提供实际凭证。PAE也可以通过认证头部来提供认证。
Description
对相关申请的交叉引用
本申请要求2013年9月25日提交的标题为“SystemandMethodforProvidingaProxy(用于提供代理的***和方法)”的美国临时申请案61/882,460的优先权,这里全文引用了该申请的内容作为参考。
发明领域
本申请涉及计算机安全领域,更具体而言,涉及基于代理的单登录架构。
背景技术
认证是第一方验证第二方是它自称为是什么人或东西的过程。例如,在计算机安全上下文中,认证可包括计算机验证试图访问计算资源的用户是他自称的人,在此情况下,被授权访问那些资源的人。当用户希望使用该计算机来访问诸如web服务之类的服务器上的资源时,他可能需要再次向web服务认证他自己。随着许多web服务扩散,用户可能需要跟踪用于访问每一服务的安全凭证的日益增长的列表。此问题会出现在用户由于个人原因访问web服务的个人计算上下文中,以及用户可能需要访问多个企业资源(每一企业资源都要求凭证)的企业中。
可以提供“单登录”(singlesign-on:SSO)解决方案以帮助用户管理安全凭证。这些可以呈现,例如,用户存储通过主口令保护的多个口令的本地口令储存库的形式。在企业上下文中,SSO可包括配置客户端设备以连接到其中用户的凭证可以提供对多个资源和服务的访问的网络。
附图简述
通过下面的结合附图对本发明进行的详细说明,将更好地理解本发明。值得强调的是,根据行业的标准作法,各种特点不是按比例绘制的,只用于说明。事实上,为讨论清楚起见,可以任意地扩大或缩小各种特点的尺寸。
图1是根据本说明书的一个或多个示例的启用安全的网络的框图。
图2是根据本说明书的一个或多个示例的计算设备的框图。
图3是根据本说明书的一个或多个示例的服务器的框图。
图4是根据本说明书的一个或多个示例的代理认证引擎的功能框图。
图5是根据本说明书的一个或多个示例的代理认证引擎的功能框图。
图6是根据本说明书的一个或多个示例的代理认证引擎的功能框图。
具体实施方式
概览
在一个示例中,描述了web网关,包括代理认证引擎(PAE)。PAE通过,例如,用户名和口令、生物测定数据,或两因素(two-factor)认证,来认证用户设备。然后,web网关提供对于一个或多个web服务的无缝并透明的单登录(SSO)。当用户从web服务请求网页时,PAE***检测登录动作的自定义代码。当用户登录时,可以提供一次性的令牌以自动填充用户名和口令字段。当用户提交表单时,PAE向web服务提供实际凭证。PAE也可以通过认证头部来提供认证。
本发明的示例实施例
下列公开提供了用于实现本发明的不同的特点的许多不同的实施例,或示例。下面将描述组件以及布局的具体示例以简化本发明。当然,这些仅仅示例,不计划限制。进一步,在各示例中,本发明可以重复参考编号和/或字母。此重复只是为了简明和清晰,本身不规定所讨论的各实施例和/或配置之间的关系。
不同的实施例可以具有不同的优点,没有特定优点是任何实施例一定需要的。
在诸如商业或其他企业之类的受控环境中,管理员可能希望针对对客户端使用的某些服务的访问行使完全控制。这些服务中有许多可能要求认证,诸如基于表单的认证,表单字段用,例如,用户名和口令来填充,或web服务器认证,其中,除了每一请求或连接将利用认证头部认证外,没有别的逻辑会话存在,如在“基本”WindowsNT局域网(LAN)管理(NTLM),X509客户端证书,以及类似的中那样。
在基于表单的认证中,可以通过在表单中的合适的字段中填写用户名和口令来认证用户。在某些情况下,额外的认证可以采取填写安全代码、“CAPTCHA”、或两因素认证(诸如使用RSA密钥、生物测定认证,或使用一次性代码的使用)的形式。在这样的***中要了解的问题可包括下列各项:
a.管理员可能希望最小化风险。可能有与用户自己“拥有”用户名和口令,或将用户名和口令存储在客户端拥有并控制的设备上相关联的某些风险。例如,客户端***上的恶意软件可能破坏安全,用户可能忘记用户名和口令,用户可能连同数据一起丢失他的计算机,或用户可能被终止,在这样的情况下,需要立即撤销访问。
b.管理员可能希望能够实施口令策略(例如,在x天之后更改、在y次登录之后更改、基于可定义的准则撤销口令),而无需同步多个凭证存储。
c.管理员可能希望无缝登录到这些服务。有利地,无缝登录不要求用户访问单独的门户页面(基于表单的认证),在某些情况下,无需(可见)认证。对于诸如NTLM之类的某些解决方案,这事实上可能作出零登录解决方案。
d.管理员可能希望能够配置基于组的帐户。例如,可以逐组地配置访问控制。
e.管理员可能希望组合无缝登录与复杂的策略决策(例如,客户端的时间、地理位置、服务信誉、两因素认证、防病毒(AV)扫描、数据丢失预防(DLP)、证书验证、并行登录的数量——作为非限制性示例)。
f.管理员可能希望对于云存储服务,组合单登录(SSO)与动态数据加密和解密。
g.管理员可能希望利用URL重写技术来隐藏服务通用资源***(URL)。
h.管理员可能希望只使用一个用户界面(UI)来配置和保护***,代替分开地配置每一最终用户设备。
i.甚至在服务提供商不同意协作的情况下,或在对于SSO重新设计旧式***不可行的情况下,管理员仍可能需要这些功能。
j.管理员可能希望由软件来指导以轻松地配置没有预先配置的服务。
本发明提供用于解决上文所描述的管理员需求中的至少某些的***和方法。在一个示例中,在客户端或最终用户设备和一个或多个可用的web服务之间提供并安置带有认证代理引擎(PAE)服务器的web网关。web网关可以根据建立的企业策略,包括,例如,所谓的“您是口令”(YouarethePassword:YAP)服务,来认证最终用户,诸如由可穿戴计算设备所提供的生物测定认证。然后,web网关截取至服务提供商的任何页面请求。如果服务提供商要求认证,那么,在一个示例中,用户的凭证是由web网关“拥有的”,而并非用户拥有(换言之,用户不必看见或知道他的凭证),每当用户执行登录动作时,都会自动地被提供到服务提供商。可以向用户提供可包括伪用户名和伪口令的一次性的“令牌”,和/或自动填充到合适的web表单内。这可以避免web表单所存在的,例如,在没有要求的字段的某些输入的情况下将不准许登录动作(诸如点击“登录”按钮)完成的问题。
在另一个示例中,提供了一种学习模式,以收集服务的没有预先配置或预先定义的参数。
web网关的PAE可以代表用户来执行认证步骤,诸如提交用户名或口令,或者甚至处理两因素认证。在作为认证过程的一部分来求解CAPTCHA的情况下,CAPTCHA可以被转发到用户,供输入。认证方法包括,但不仅限于,基本认证方案和NTLAN管理器(NTLM)。
本说明书的web网关可包括诸如Web网关平台之类的web网关平台。它也可以包括,或可以另外提供其他组件,诸如HTTP和HTTPS代理、规则引擎、安全凭证存储、用户界面,以及单登录(SSO)模块。
可以通过web网关平台来路由向基于web的服务的请求。web网关平台可以应用策略决策(包括用户认证),并扫描HTTP(S)请求以及对所支持的服务的响应。所有受支持的服务都可以存储在服务DB中。取决于服务的认证架构(基于表单的或web服务器认证),在一个非限制性示例中,认证可以包括下列操作。
对于基于表单的认证:
a.客户端设备请求页面。
b.web网关截取请求。
c.web网关从服务提供商请求页面,并接收页面。
d.PAE将存储在服务DB中的脚本或其他代码注入到页面中(可能适用于服务或客户端)。
e.脚本监视用户活动并等到它检测到登录动作,该登录动作可包括指出最终用户登录到服务的愿望或需求的任何动作或条件。检测可以例如通过点击任何被管理的输入字段或通过在被管理的字段上盘旋来触发。
f.脚本可以使用户名、口令,或类似的项目的输入字段变灰,以便用户不能操纵表单。
g.如果web网关没有此用户的有关此服务的凭证,则脚本可以允许用户将它们输入到单独的页面,或直接输入到表单中。如果存在一个以上的帐户,则脚本可以提示用户为其中一个帐户选择凭证。
h.在某些情况下,脚本从PAE那里接收“令牌”。令牌可以是一次性的伪用户名和伪口令,可以被用作“表单填充器”,用以向必需的数据字段提供有用输入,无论是在表单上还是用于内部目的。有利地,不必向客户端设备提供实际凭证,以便它们不能被受感染的客户端损害。令牌和帐户数据可能已经被PAE***到脚本中,或者,脚本可以根据需要,按需请求它们。
i.可以使用脚本和PAE之间的通信通道来报告脚本和服务之间的不兼容性。在此情况下,可以向安全管理员发送用于调整数据的信息,数据然后将在遥测和更新服务器上更新,然后,由转出的web网关安装来使用。
j.脚本向web网关上的PAE提交登录动作。
k.如果凭证是新的,则PAE可以将它们存储在帐户DB中,帐户DB可包括安全凭证存储。这预期用户被允许提供他自己的凭证的实施例,这不会在每一种情况下都正确。如果凭证不是新的,则PAE从帐户DB中检索现有的凭证。
I.一旦PAE从脚本那里接收到登录动作,则PAE就在应用任何必需的企业策略之后,将令牌替换为真正的凭证,并将登录请求转发到服务提供商。
m.服务提供商可以提供认证确认,指出用户现在登录。PAE可以将此转发到客户端设备。
基于web服务器的认证类似于上述情况,例外是,取决于策略,PAE可以从帐户DB读取用户的凭证,将它们***到数据流中,并在没有客户端知道和交互的情况下重复请求。这会向服务提供商认证客户端。可另选地,可以将服务独立的脚本***到响应数据包中,让用户决定他是否希望提供凭证,如果是,则为哪个帐户。
有利地,本发明的一个实施例可以在诸如测试***和设计/调试工具之类的低体量(lower-volume)架构中特别有用。在这些情况下,为每一个产品都提供专业化的配置可能不切实际。
进一步有利地,本说明书提供能够独立于重定向解决方案或浏览器插件而操作的***和方法。例如,基于单断言标记语言(singleassertionmarkuplanguage:SAML)解决方案的某些实施例要求客户端和服务器两者都专门被配置成在SAML架构内操作,而带有PAE服务器的web网关可能能够,在某些实施例中,通过对客户端或者服务器的很少或无需重新配置,而起作用。这使得受支持的web服务的数量被轻松地扩大。
进一步有利地,本说明书的web网关可以与诸如可穿戴计算和“您是口令”(YAP)之类的客户端侧技术和多因素认证技术相结合,以提高安全性,在某些情况下,对于最终用户而言,使认证更无缝。在某些实施例中,可以在web网关处实施这样的策略,除给客户端设备提供必要的能力以外,无需修改客户端设备。
图1是根据本说明书的一个或多个示例的分布式安全网络100的网络级别的图示。在图1的示例中,多个用户120操作多个计算设备110。具体而言,用户120-1操作可穿戴计算机110-1。这可以是,例如,手表计算机或其他合适的可穿戴设备。用户120-2操作膝上型计算机110-2。用户120-3操作移动设备110-3。
每一计算设备都可包括合适的操作***,诸如MicrosoftWindows、Linux、Android、MacOSX、AppleiOS、Unix,或类似的。前述的各项中的某些可以在一种设备上比在另一种设备上更常用。
计算设备110可以通过网络170,可通信地彼此耦合并耦合到其他网络资源。网络170可以是任何合适的网络或网络的组合,包括,例如,作为非限制性的示例,局域网、广域网、无线网络、蜂窝网络,或因特网。在此图示中,为简明起见,网络170被示为单一网络,但是,在某些实施例中,网络170可包括大量的网络,诸如连接到因特网的一个或多个企业内联网。
连接到网络170的还有一个或多个web网关140、服务提供商162、应用程序储存库160,以及通过各种设备连接的人操作员,包括,例如,攻击者180。Web网关140尤其可以被配置成作为用户设备110访问服务提供商162的服务的代理服务器。在一个实施例中,web网关140和网络170的至少一部分由一个或多个安全管理员150管理,安全管理员150可以是一个人,多个人,或企业,它们定义web网关140的策略,也可以被配置成向其提供更新。
在没有来自攻击者180的干扰的情况下,成功地操作计算设备110是用户120,以及企业的目标。在一个示例中,攻击者180是其目标或目的是导致恶意危害的恶意软件作者。恶意伤害或危害可以采取在计算设备110上安装根工具箱或其他恶意软件以篡改***,安装间谍软件或广告软件以收集个人以及商业数据、损坏网站的外观、操作诸如垃圾邮件服务器之类的僵尸网络或简单地骚扰和烦扰用户120的形式。如此,攻击者180的一个目标可以是将他的恶意软件安装在一个或多个计算设备110上。如在本说明书中所使用的,恶意软件包括任何病毒、特洛伊木马、僵尸、rootkit、后门、蠕虫、间谍软件、广告软件、勒索软件、拨号器、有效负载、恶意浏览器助手对象、cookie、记录器,被设计用于采取潜在地不希望有的动作的类似的东西,作为非限制性示例,包括数据销毁、隐蔽数据收集、浏览器劫持、网络代理或重定向、隐蔽跟踪、数据记录、对于删除的过度的或故意的阻碍,联系人采集,以及未经授权的自体繁殖。如此,希望认证用户120,以确保它们是合法用户,而不是攻击者180。也可以希望认证用户设备110,以确保它们不对网络170而言是外来的,而由攻击者180操作的设备可能是。在一个示例中,一个或多个计算设备110配备有SGX或硬件飞地(enclave)能力,从而允许最终用户设备110被安全地并唯一地标识。
可以作为一个或多个用户设备110的代理,提供Web网关140。在该情况下,用户设备110不直接访问诸如应用程序储存库160和服务提供商162之类的网络资源。相反,对来自服务提供商162的数据页面的请求首先通过web网关140路由。如此说明书以及所附权利要求书中使用的,“页面”或“数据页面”包括客户端设备110可以从服务提供商162那里请求的任何数据包或馈送(feed)。如此,不打算让数据页面仅仅限制到通过HTTP提供的HTML网页。相反,数据页面可包括,作为非限制性的示例,FTP或安全套接字会话、数据库事务,或启动虚拟机实例。在某些情况下,数据页面可以提供诸如用户名和口令字段之类的登录表单。在其他情况下,可以通过认证头部,来每个事务地认证数据页面。在任一种情况下,在最终用户设备110和服务提供商162之间作为代理提供web网关140,有利地使最终用户设备110能利用单登录来访问服务提供商162的资源。进一步有利地,最终用户设备110不必接收任何特殊配置以启用此单登录。相反,由于web网关140充当代理,可以向最终用户设备110无缝地并且透明地提供SSO服务。
应用程序储存库160可以表示Windows或苹果“应用商店”,类似于Unix的储存库或端口集合,或给用户120提供交互地或自动地下载应用程序并将它们安装在计算设备110上的能力的其他网络服务。攻击者180可以通过应用程序储存库160提供软件。如果应用程序储存库160具有使攻击者180难以公然地分发恶意软件的安全措施,则攻击者180可能悄悄地将漏洞***到显然有益的应用程序中。
在某些情况下,一个或多个用户120可以属于一家企业。企业可以提供限制,例如,可以从应用程序储存库160安装的应用程序的类型的策略指令。如此,应用程序储存库160可能包括不是疏忽地开发的并且不是恶意软件,但是违反策略的软件。例如,某些企业限制娱乐软件(诸如媒体播放器和游戏)的安装。如此,甚至安全的媒体播放器或游戏也可能不适合于企业计算机。安全管理员150可以负责根据这样的限制来分发计算策略,web网关140可以通过策略层来实施策略。
在另一个示例中,用户120可以是儿童的父亲母亲,并希望保护儿童不让其看不希望的内容,诸如色情、广告软件、间谍软件、与年龄不适当的内容,对于某些政治、宗教,或社会运动的拥护,或用于讨论非法或危险的活动的论坛,只作为非限制性示例。在此情况下,父母亲可以执行安全管理员150的某些或全部职责。
总起来说,是前述的类型的内容中的一种的候选的任何对象都可以被称为“潜在地不希望的内容”(PUC)。PUC的“潜在地”方面是指,当对象被标记为PUC时,它不一定上黑名单。相反,它是不应该被允许驻留在计算设备110上或在计算设备110上起作用的对象的候选。如此,用户120和安全管理员150的目标是配置并操作计算设备110,以便有用地分析PUC,并作出有关如何对PUC对象作出响应,以及如何对攻击者180访问***资源的企图作出响应的智能决策。
图2是根据本说明书的一个或多个示例的客户端设备110的框图。客户端设备110可以是任何合适的计算设备。在各实施例中,“计算设备”可以是或包括,作为非限制性示例,计算机、嵌入式计算机、嵌入式控制器、嵌入式传感器、个人数字助理(PDA)、膝上型计算机、蜂窝电话、IP电话、智能电话、平板电脑、可转换的平板电脑、手持式计算器,或用于处理并传递数据的任何其他电子、微电子,或微型电动机械设备。
客户端设备110包括连接到存储器220的处理器210,存储器220存储了用于提供操作***222和PAE客户端224的可执行指令。客户端设备110的其他组件包括存储250、网络接口260,以及***接口240。
在一个示例中,处理器210通过存储器总线270-3,可通信地耦合到存储器220,存储器总线270-3可以是,例如,直接存储器访问(DMA)总线,但是,其他存储器体系结构也是可以的,包括通过***总线270-1或某种其他总线与处理器210进行通信的存储器220的存储器体系结构。处理器210可以通过***总线270-1可通信地耦合到其他设备。如在此说明书中使用的,“总线”包括任何有线或无线互连线、网络、连接、束、单总线、多个总线、纵横开关网络、单级网络、多级网络或可操作以在一个计算设备的某些部件之间,或在多个计算设备之间传输数据、信号,或电能的其他传导介质。应该指出的是,这些用途是只作为非限制性示例所公开的,一些实施例可以省略前述的总线中的一项或多项,而其他实施例
在各示例中,“处理器”可包括提供可编程逻辑的硬件、软件,或固件的任何组合,包括,作为非限制性示例,微处理器、数字信号处理器、场可编程门阵列、可编程逻辑阵列、专用集成电路,或虚拟机处理器。
处理器210可以通过DMA总线270-3以DMA配置连接到存储器220。为简化本发明,存储器220被公开为单个逻辑块,但是,在物理实施例中,可包括任何合适的易失性或非易失性存储器技术的一个或多个块,包括,例如,DDRRAM、SRAM、DRAM、高速缓存、L1或L2存储器、芯片内存储器、寄存器、闪存、ROM、光学介质、虚拟存储器区域、磁性或tPAE存储器,或类似的东西。在某些实施例中,存储器220可以包括相对低等待时间易失性主存储器,而存储250可以包括相对较高等待时间非易失性存储器。然而,存储器220和存储250不必是物理地分离的设备,在某些示例中,可以简单地表示功能的逻辑分离。还应注意,虽然DMA是作为非限制性示例公开的,但是,DMA不符合此说明书的唯一协议,其他存储器体系结构也是可以的。
存储250可以是任何类型的存储器220,或可以是分离的设备,诸如硬盘驱动器、固态驱动器、外部存储器、独立磁盘冗余阵列(RAID)、附接网络的存储器、光存储器、tPAE驱动器、备份***、云存储器,或前述的各项的任何组合。存储250可以是,或其中可包括,一个或多个数据库或以其他配置存储的数据,并可包括诸如操作***222之类的操作软件的存储的副本和PAE客户端224的软件部分。许多其他配置也是可以的,并包含在此说明书的广泛的范围内。
可以提供网络接口260,以可通信地将客户端设备110耦合到有线或无线网络。如在此说明书中使用的,“网络”可包括可操作以在计算设备内或在计算设备之间交换数据或信息的任何通信平台,包括,作为非限制性示例,自组织(ad-hoc)局域网、给计算设备提供以电子方式进行交互的能力的因特网体系结构,计算设备可以用来执行事务(其中,它们可以由操作员辅助或其中,它们可以以人工方式将数据键入电话或其他合适的电子设备中)的普通老式电话***(POTS),在***中的任何两个节点之间提供通信接口或交换的任何分组数据网络(PDN),或任何局域网(LAN)、城域网(MAN)、广域网(WAN)、无线局域网(WLAN)、虚拟专用网络(VPN)、内联网,或促进网络或电话环境中的通信的任何其他合适的架构或***。
在一个示例中,PAE客户端224是提供如此处所描述的专业化的PAE服务的实用程序或程序。如上文所讨论的,在某些实施例中,某些或所有计算设备110可能能够在没有特殊PAE客户端224的情况下运转。在提供PAE客户端224的情况下,它可以,在各实施例中,以硬件、软件、固件,或其某种组合来实现。例如,在某些情况下,PAE客户端224可包括被设计用于执行方法或其一部分的特殊集成电路,并也可以包括可操作以指示处理器执行该方法的软件指令。在某些情况下,PAE客户端224可以作为“守护(daemon)”进程运行。“守护”可包括作为后台进程、终止并驻留程序、服务、***扩展、控制面板、启动过程、BIOS子例程,或没有直接用户交互而操作的任何类似的程序来运行的任何程序或可执行指令系列,无论以硬件、软件、固件,或其任何组合实现。还应注意,PAE客户端224是只作为非限制性示例提供的,并且也可以与PAE客户端224一起,作为PAE客户端224的补充或代替,提供其他硬件和软件,包括交互式或用户模式软件,以执行根据此说明书的方法。
在一个示例中,PAE客户端224包括存储在非瞬态介质上的可操作以执行PAE客户端方法,或根据此说明书的类似的方法的可执行指令。在合适的时间,诸如在启动客户端设备110时或应来自操作***222或用户120的命令,处理器210可以从存储250检索PAE客户端224的副本(或其软件部分),并将它加载到存储器220中。然后,处理器210可以反复执行PAE客户端224的指令。
***接口240可以被配置成与连接到客户端设备110但不一定是客户端设备110的核架构的一部分的任何辅助设备连接。***设备可以可操作用以向客户端设备110提供扩展的功能,并且可以完全依赖或可以不完全依赖于客户端设备110。在某些情况下,***设备可以本身是计算设备。***设备可包括,作为非限制性示例,输入和输出设备,诸如显示器、终端、打印机、键盘、鼠标、调制解调器、网络控制器、传感器、换能器、传动器、控制器、数据获取总线、摄像机、麦克风、扬声器,或外部存储器。
多个***设备可以连接到***接口240。这些可包括,在一个示例中,YAP认证机制,诸如生物测定认证器242。生物测定认证器242可包括,例如,指纹读取器、视网膜扫描、声谱图,或其他类似的生物测定认证设备。这可以允许用户120以相对安全的方式并以最小的努力向计算设备110认证自己。稳健的生物测定认证机制难以欺骗,但是,对于真实的用户,容易提供。如此,在一个实施例中,最终用户120可以简单地通过向生物测定认证器242,提供他的指纹或其他生物测定认证,来访问SSO服务。一旦生物测定认证器242判断用户是他自称的人,那么,他可以被授予对网络170上的较广泛的***资源的访问。
在某些情况下,可以提供PAE客户端224以促进与网关140的通信。然而,有利地,不必在所有情况下都提供PAE客户端224。在很多情况下,计算设备110通过充当代理的web网关140访问资源就足够。如此,在某些情况下,在计算设备110上唯一必需的预设是指定web网关140作为设备的代理服务器。
图3是根据本说明书的一个或多个示例的服务器140的框图。服务器140可以是任何合适的计算设备,如结合图2所描述的。一般而言,图2的定义和示例可以被视为同样地适用于图3,除非特别声明。
服务器140包括连接到存储器320的处理器310,存储器320存储了用于提供操作***322和PAE服务器324的可执行指令。服务器140的其他组件包括存储350、网络接口260,以及***接口340。
在示例中,处理器310通过存储器总线370-3,可通信地耦合到存储器320,存储器总线370-3可以是,例如,直接存储器访问(DMA)总线。处理器310可以通过***总线370-1可通信地耦合到其他设备。
处理器310可以通过DMA总线370-3以DMA配置连接到存储器320。为简化本发明,存储器320被公开为单个逻辑块,但是,在物理实施例中,可包括任何合适的易失性或非易失性存储器技术的一个或多个块,如结合图2的存储器220所描述的。在某些实施例中,存储器320可以包括相对低等待时间易失性主存储器,而存储350可以包括相对较高等待时间非易失性存储器。然而,存储器320和存储350不必是物理地分离的设备,如结合图2进一步描述的。
存储350可以是任何类型的存储器320,或可以是分离的设备,如结合图2的存储250所描述的。存储350可以是,或其中可包括,一个或多个数据库或以其他配置存储的数据,并可包括诸如操作***322之类的操作软件的存储的副本和PAE服务器324的软件部分。许多其他配置也是可以的,并包含在此说明书的广泛的范围内。
可以提供网络接口360,以可通信地将服务器140耦合到有线或无线网络。
在一个示例中,PAE服务器324是执行根据此说明书的方法的实用程序或程序。PAE服务器324,在各实施例中,以硬件、软件、固件,或其某种组合来实现。例如,在某些情况下,PAE服务器324可包括被设计用于执行方法或其一部分的特殊集成电路,并也可以包括可操作以指示处理器执行该方法的软件指令。在某些情况下,如上文所描述的,PAE服务器324可以作为守护进程运行。还应注意,PAE服务器324是只作为非限制性示例提供的,也可以与PAE服务器324一起,作为PAE服务器324的补充或代替,提供其他硬件和软件,包括交互式或服务器324模式软件,以执行根据此说明书的方法。
在一个示例中,PAE服务器324包括存储在非瞬态介质上的可操作以根据此说明书的方法的可执行指令。在合适的时间,诸如在启动服务器140时或应来自操作***322或用户120的命令,处理器310可以从存储350检索PAE服务器324的副本(或其软件部分),并将它加载到存储器320中。然后,处理器310可以反复执行PAE服务器324的指令。
更一般而言,一个或多个逻辑元件包括PAE服务器324。在此示例中,PAE服务器324被示为在存储器320中运行的程序。然而,PAE应该被更广泛地理解,以包含一个或多个逻辑元件,包括用于执行此处结合PAE所描述的方法的所有必需的硬件、软件和/或固件。在某些情况下,代理认证引擎324的某些功能可以跨多个计算设备分布。
***接口340可以被配置成与连接到服务器140但不一定是服务器140的核架构的一部分的任何辅助设备连接。***设备可以是可操作以向服务器140提供扩展的功能,并可以或可以不完全依赖于服务器140。在某些情况下,***设备可以自身是计算设备。***设备可包括,作为非限制性示例,结合图2的***接口240所讨论的设备中的任何一个。
图4是根据本说明书的一个或多个示例的PAE400执行基于表单的认证的功能框图。
在图4的示例中,PAE400被配置成将策略层440应用到客户端侧流量,并将策略层442应用到服务器侧流量。策略440和442可包括企业顺从性规则、防火墙规则、流量整形(trafficshaping)规则,或其他策略以使流量适应***要求。
可以提供帐户数据库410和服务数据库420。帐户数据库410可包括希望访问由一个或多个服务提供商162所提供的一个或多个服务的一个或多个用户的登录凭证。作为非限制性的示例,凭证可包括用户名、口令、加密密钥,以及证书。帐户数据库410也可以包括用于认证用户120的数据,诸如生物测定数据、证书、用户名,以及口令的散列。
服务数据库420可包括用于与服务提供商162接口的数据,诸如用于修改从服务提供商162接收到的页面以与PAE400进行交互操作的JavaScript或其他可执行代码。
服务提供商162可以提供本质上是私人的服务,诸如社交媒体和网络服务,或企业服务。服务提供商162可以要求对一个或多个用户的认证。
在一个示例中,操作最终用户设备110的用户120发送被定向到服务提供商162的页面请求430。然而,页面请求430不直接到服务提供商162,因为在最终用户设备110和服务提供商162之间作为代理***了网关140。
如此,当用户120使用最终用户设备110来向服务提供商162发送页面请求时,网关140接收页面请求430。然后,网关140将页面请求432转发到服务提供商162。在一个示例中,页面请求432基本上与页面请求430相同,但是,包括不同的路由信息。
响应于页面请求432,服务提供商162可以发送页面434。
在框440,PAE400将策略层440应用到在434发送的数据页面。
在框446中,PAE400判断数据页面是否包含登录表单。如果没有提供登录表单,那么,网关140不需要对所请求的数据页面采取进一步的动作。
如果页面包含登录表单,那么,网关140可以根据此说明书的原理,修改数据页面。
在框450中,PAE400修改页面,例如,通过***处理认证的可执行代码。在某些实施例中,PAE400也可以在此时***令牌。令牌可以是随机或伪随机数,并可以替换,例如,用户名和口令输入字段。这特别有用,因为在没有首先验证向那些字段输入了一些东西的情况下,许多web表单将不会允许用户提交登录表单。
在框462中,PAE400也可以向页面添加一个或多个令牌。令牌可以是随机或伪随机字符串、固定字符串,或根据确定的算法生成的字符串。
在框452中,可执行代码检测登录动作。这可包括,例如,用户点击“登录”按钮、在登录字段上方盘旋,或点击登录字段。
在框472中,根据需要,可以在最终用户设备110和PAE400之间发生附加的通信。
在框474中,用户120在已修改的页面470上完成登录动作。在框478中,脚本向PAE400提供简档登录数据。这可包括向PAE400和/或web网关140认证用户120或最终用户设备110。然而,在其他实施例中,认证可以在单独的事务中发生。认证可包括YAP方法。
在框462中,PAE400将框460的令牌替换为真正的凭证,可以从帐户数据库410中检索真正的凭证——如果有的话。如上文所描述的,在其中在帐户数据库410中还没有凭证的某些情况下,用户120可以提供凭证,诸如在框478中那样。
在框482中,PAE400向服务提供商162提供真正的登录凭证。
在框480中,服务提供商162向PAE400提供用户120现在被认证并登录到服务提供商162的通知。
在框492中,PAE400可以将此通知转发到策略层440,PAE400也可以通知最终用户设备110,用户120现在被认证并登录。
图5是根据本说明书的—个或多个示例的处于学习模式下的PAE400-2的功能框图。
在此示例中,使用基于表单的数据的半自动化收集来构建服务连接器,可以将该服务连接器提供给上文所描述的单登录操作。PAE400-2作出策略决策,并判断是否应该把支持半自动化收集的脚本注入到页面中。此脚本代码监视用户活动(例如,点击任何输入字段),并基于这些和直接用户输入,创建页面上的登录表单的规范。可以使用上文参考单登录操作所描述的相同信道,将收集到的规范提供到PAE400-2。
作为响应,PAE400-2向脚本发送一组测试令牌。脚本可以***测试令牌,并触发其本身或通知用户提交表单。PAE400检测登录请求中的测试令牌,并验证收集到的规范。表单规范和登录请求规范描述服务,并被传输到服务DB。可以发回合适的状态代码。
在图5中,服务数据库420包括表单描述422和post描述424。
如同图4的示例一样,最终用户设备110向服务提供商162发送页面请求430。Web网关140截取页面请求,并向服务提供商162发送页面请求432。然后,服务提供商162向包括PAE400-2的web网关140发送页面434。
在框520中,PAE400-2判断是否激活学习模式。如果学习模式未激活,那么,PAE400-2不必采取任何额外的动作。
如果学习模式已激活,那么,在框530中,PAE400-2可以添加合适的代码,诸如JavaScript,如结合图4所描述的。然后,PAE400-2向最终用户设备110发送已修改的页面。
在框540中,PAE400-2采集表单描述并创建令牌。这可以在最终用户设备110上与框510的JavaScript进行交互式通信。框510的JavaScript可以被配置成修改页面,学习表单,提交表单,并处理消息传送。
在框552中,最终用户设备110发送post请求信号552。
在框550中,PAE400-2判断是否发现任何令牌。如果没有发现令牌,那么,PAE400-2不必采取任何额外的动作。
在框560中,如果发现令牌,那么,在框580中,PAE400-2可以作为消息将描述提供到最终用户设备110。
在框562中,PAE400-2也提供状态更新。
图6是根据本说明书的一个或多个示例的PAE400-3执行基于web服务器的认证的功能框图。在许多方面,图6的方法类似于图4的方法。
在框430中,最终用户设备110向服务提供商162发送页面请求。如前所述,web网关140截取消息。
在框432中,web网关140向服务提供商162发送页面请求。响应于此请求,在框434中,服务提供商162发送页面。
在框622中,PAE400-3判断是否与页面一起包括认证请求,以及PAE400-3是否诸如在帐户数据库410中包括必要的数据。
如果没有认证请求,那么,PAE400-3不必采取任何额外的动作。
在框630中,如果有认证请求,那么,PAE400-3可以修改页面,例如,通过添加JavaScript,如图4以及在此说明书中别处所描述。
在框636中,PAE400-3发送修改过的页面,而没有任何认证请求。
在框464中,在框630中***的JavaScript检测登录动作,并提供JavaScript请求610。向PAE400-3提供此请求。
在框640中,PAE400-3将认证头部附加到修改过的页面。然后,PAE400-3向服务提供商162执行框620中的认证。
在框680中,也可以处理可选的多个请求。
在框650中,用户120登录到服务提供商162。如此,服务提供商162可以向PAE400-3提供用户登录信号。在框690中,PAE400-3也可以向最终用户设备110提供用户登录信号。
前述的内容概述了多个实施例的特点,以便所属领域的技术人员可以更好地理解本发明的各方面。所属领域的技术人员应该理解,他们可以轻松地使用本发明作为用于设计或修改用于执行相同目的和/或实现此处介绍的各实施例的相同优点的其他过程和结构的基础。所属领域的技术人员还应该认识到,这样的等效的结构不会偏离本发明的精神和范围,在不偏离本发明的精神和范围的情况下,他们可以作出各种更改、替换,以及改变。
本发明的特定实施例可以轻松地包括片上***(SOC)中央处理单元(CPU)封装。SOC表示将计算机或其他电子***的组件集成到单一芯片中的集成电路(IC)。它可以包含数字、模拟、混合的信号,以及射频功能:所有的这些都可以在单一芯片衬底上提供。其他实施例可以包括多芯片模块(MCM),多个芯片位于单一电子封装内,并被配置成通过电子封装彼此密切地进行交互。在各其他实施例中,可以在专用集成电路(ASIC)、现场可编程门阵列(FPGA),及其他半导体芯片中的一个或多个硅核中实现数字信号处理功能。
在各示例实现中,此处概述的处理活动的至少某些部分也可以以软件来实现。在某些实施例中,这些特点中的一项或多项可以以在所公开的图形的元件外部提供的硬件来实现,或以任何合适的方式合并以实现计划的功能。各种组件可包括可以协调以便实现如此处概述的操作的软件(或往复软件)。在其他实施例中,这些元件可包括促进其操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
另外,与所描述的微处理器相关联的某些组件可以删除,或以别的方式合并。在一般意义上,图中所描绘的布局可以在它们的表示中更符合逻辑,而物理体系结构可以包括这些元件的各种置换、组合,和/或混合。应该注意的是,可以使用无数可能的设计配置来实现此处概述的操作目标。相应地,相关联的基础结构具有无数替换布局、设计选择、设备可能性、硬件配置、软件实现、设备选项,等等。
任何适当地配置的处理器组件都可以执行与数据相关联的任何类型的指令以实现此处详述的操作。此处所公开的任何处理器都可以将元件或项目(例如,数据)从一种状态或东西转换为另一种状态或东西。在另一个示例中,此处概述的某些活动可以利用固定逻辑或可编程逻辑(例如,由处理器执行的软件和/或计算机指令)来实现,此处所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦可编程只读存储器(EPROM)、电可擦可编程序只读存储器(EEPROM))或包括数字逻辑、软件、代码、电子指令的ASIC,闪存、光盘、CD-ROM、DVDROM、磁卡或光卡、适用于存储电子指令的其他类型的机器可读的介质,或其任何合适的组合。在操作中,处理器可以将信息存储在任何合适类型的非瞬时的存储介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、场可编程门阵列(FPGA)、可擦可编程只读存储器(EPROM)、电可擦可编程序只读存储器(EEPROM),等等)、软件、硬件,或任何其他合适的组件、设备、元件,或对象中,只要合适,并基于特定需求。进一步,基于特定需求和实现,可以在任何数据库、寄存器、表、高速缓存、队列、控制列表,或存储器结构中提供被跟踪、发送、接收,或存储在处理器中的信息,所有的这些都可以以任何合适的时间帧引用。此处所讨论的存储器项目中的任何一个都应该解释为包含在广义的术语“存储器”内。类似地,此处所描述的潜在的处理元件、模块,以及机器中的任何一个都应该解释为包含在广义的术语“微处理器”或“处理器”内。进一步地,在各实施例中,处理器、存储器、网卡、总线、存储设备,相关的***设备,及此处所描述的其他硬件元件可以通过处理器、存储器、及由软件或固件配置以模拟或虚拟化那些硬件元件的功能的其他相关的设备来实现。
实现此处所描述的功能的全部或一部分的计算机程序逻辑以各种形式体现,包括,但是决不仅限于,源代码形式、计算机可执行形式、以及各种中间形式(例如,由汇编器、编译器、链接器,或***所生成的形式)。在一个示例中,源代码包括以各种编程语言,诸如目标代码、汇编语言,或诸如OpenCL、Fortran、C、C++、JAVA,或HTML之类的高级语言,实现的与各种操作***或操作环境一起使用的一系列计算机程序指令。源代码可以定义并使用各种数据结构和通信消息。源代码可以处于计算机可执行形式(例如,通过解释器),或源代码可以被转换为计算机可执行形式(通过转换器、汇编器,或编译器)。
在对上文的各实施例的讨论中,电容器、缓冲区、图形元件、互连板、时钟、DDR、摄像机传感器、分频器、电感器、电阻器、放大器、交换机、数字核、晶体管,和/或其他组件可以轻松地被替换、,或以别的方式修改,以便适应特定电路需求。此外,应该注意,使用互补电子设备、硬件、非瞬时的软件,等等,提供了用于实现本发明的原理的同样可行的选项。
在一个示例实施例中,可以在相关联的电子设备的板上实现图形的任意数量的电路。板可以是可以固定电子设备的内部电子***的各种组件的通用电路板,进一步地,为其他***设备提供连接器。更具体而言,板可以提供***的其他组件可以用来通电的电连接结构。任何合适的处理器(包括数字信号处理器、微处理器、支持芯片组等等),存储器元件等等可以基于特定配置需求、处理需求、计算机设计等等适当地耦合到板。诸如外部存储器、附加传感器、用于音频/视频显示的控制器,之类的其他组件以及***设备可以作为***卡,通过电缆附接到板,或集成到板本身中。在另一示例实施例中,图形的电路可以被实现为独立模块(例如,带有关联的组件以及被配置成执行特定的应用或功能的电路的设备)或实现为电子设备的应用特定的硬件的***式模块。
请注意,此处所提供的很多示例,可以以两个、三个、四个,或更多电气组件来描述交互。然而,这只是为了清楚起见,并且只作为示例。应该理解,可以以任何合适的方式来合并***。与类似的设计替代方案一起,可以以各种可能的配置组合图形的所示出的组件、模块,以及元件中的任何一个,所有的这些都在本说明书的宽的范围内。在某些情况下,可以通过只引用数量有限的电气元件,更容易地描述给定流程集的功能中的一个或多个。应该理解,图形的电路以及其原理是可轻松地扩展的,并可以接纳大量的组件,以及更复杂的布局和配置。相应地,所提供的示例不应该限制范围或抑制电路的宽的原理,因为潜在地应用于无数其他体系结构。
本领域技术人员可以认识到很多其他改变、替换、变体、更改,以及修改,本发明包含在所附权利要求书的范围内的所有这样的改变、替换、变体、更改,以及修改。为了协助美国专利局(USPTO),另外,在本申请中颁发的任何专利的任何读者在解释所附的权利要求时,申请人希望指出,申请人:(a)不打算所附权利要求中的任何一个调用35U.S.C.112章的段落6,因为它在提交的日期存在,除非“用于的装置”或“用于的步骤”具体地用于特定权利要求中;以及(b)不打算通过说明书中的任何陈述,以没有反映在所附权利要求中的任何方式限制本发明。
示例实现
在示例1中,公开了一种用于提供网络网关的计算设备,包括:可操作以将所述网关可通信地耦合到网络服务的第一数据连接;可操作以将所述网关可通信地耦合到客户端设备的第二数据连接;以及,一个或多个逻辑元件,包括认证代理引擎,所述认证代理引擎能操作用于:通过所述第二数据连接,接收来自所述客户端设备的登录请求;以及,通过所述第一数据连接,向所述网络服务提供认证数据。
在示例2中公开了示例1的计算设备,其中代理引擎进一步能操作用于:通过所述第一数据连接,接收来自所述网络服务的认证验证;以及,通过所述第二数据连接,向所述客户端设备提供所述认证验证。
在示例3中公开了示例1的计算设备,其中代理引擎进一步能操作用于:通过所述第二数据连接,接收来自所述客户端设备的对数据页面的请求;通过所述第一数据连接,接收来自所述网络服务的数据页面;以及,通过所述第二数据连接,向所述客户端设备转发所述数据页面。
在示例4中公开了示例3的计算设备,其中代理引擎进一步能操作用于通过将认证头部***到数据页面中,来修改数据页面请求。
在示例5中公开了示例3的计算设备,其中代理引擎进一步能操作用于在转发数据页面之前修改数据页面。
在示例6中公开了示例5的计算设备,其中修改所述数据页面包括***用于检测并截取登录动作的指令。
在示例7中公开了示例5的计算设备,其中所述数据页面包括用户名或口令字段,其中修改所述数据页面包括将一次性的随机或伪随机令牌***到所述用户名或口令字段中。
在示例8中公开了示例1的计算设备,其中代理引擎进一步能操作用于在通过第二数据连接来认证客户端设备。
在示例9中公开了示例8的计算设备,其中认证客户端设备包括从客户端设备那里接收生物测定认证数据。
在示例10中公开了示例8的计算设备,其中认证客户端设备包括两因素认证。
在示例11中公开了示例1的计算设备,其中代理引擎进一步能操作用于通过第二数据连接,向客户端设备提供令牌,其中所述令牌不同于认证数据。
在示例12中公开了示例11的计算设备,其中令牌包括伪用户名或伪口令。
在示例13中公开了示例1的计算设备,其中代理引擎进一步能操作用于提供学习模式。
在示例14中公开了在其上存储了用于提供代理引擎的可执行指令的一个或多个计算机可读介质,所述代理引擎能操作用于:通过第二数据连接,接收来自客户端设备的对网络服务的登录请求;通过第一数据连接,向所述网络服务提供认证数据。通过第一数据连接,接收来自网络服务的认证验证;以及,通过第二数据连接,向客户端设备提供所述认证验证。
在示例145中公开了示例14的一个或多个计算机可读介质,其中代理引擎进一步能操作用于:通过所述第二数据连接,接收来自所述客户端设备的对数据页面的请求;通过所述第一数据连接,接收来自所述网络服务的数据页面;以及,通过所述第二数据连接,向所述客户端设备转发所述数据页面。
在示例16中公开了示例15的一个或多个计算机可读介质,其中代理引擎进一步能操作用于修改数据页面,包括将认证头部***到数据页面中。
在示例17中公开了示例15的一个或多个计算机可读介质,其中代理引擎进一步能操作用于在转发数据页面之前修改数据页面。
在示例18中公开了示例17的一个或多个计算机可读介质,其中修改所述数据页面包括***用于检测并截取登录动作的指令。
在示例19中公开了示例17的一个或多个计算机可读介质,其中所述数据页面包括用户名或口令字段,其中修改所述数据页面包括将一次性的随机或伪随机令牌***到所述用户名或口令字段中。
在示例20中公开了示例14的一个或多个计算机可读介质,其中代理引擎进一步能操作用于在通过第二数据连接来认证客户端设备。
在示例21中公开了示例20的一个或多个计算机可读介质,其中认证客户端设备包括从客户端设备那里接收生物测定认证数据或两因素认证。
在示例22中公开了示例14的一个或多个计算机可读介质,其中代理引擎进一步能操作用于通过第二数据连接,向客户端设备提供令牌,其中所述令牌不同于认证数据。
在示例23中公开了示例22的一个或多个计算机可读介质,其中令牌包括伪用户名或伪口令。
在示例24中,公开了一种用于提供代理引擎的方法,包括:通过第一数据连接,可通信地耦合到网络服务;通过第二数据连接,认证客户端设备;通过所述第二数据连接,接收来自所述客户端设备的登录请求;以及,通过所述第一数据连接,向所述网络服务提供认证数据。
在示例25中公开了示例24的方法,其中认证客户端设备包括从客户端设备那里接收生物测定认证数据或两因素认证。
在示例26中公开了包括执行在示例14-23中的任何一个中所公开的指令的方法。
在示例27中公开了包括用于执行示例26的方法的装置的设备。
在示例28中公开了如权利要求27所述的设备,其中所述设备包括处理器和存储器。
在示例29中公开了如权利要求28所述的设备,其中所述设备进一步包括在其上存储了用于执行示例26的方法的软件指令的计算机可读介质。
Claims (25)
1.一种用于提供网络网关的计算设备,包括:
能操作以将所述网关通信地耦合到网络服务的第一数据连接;
能操作以将所述网关通信地耦合到客户端设备的第二数据连接;以及
一个或多个逻辑元件,其包括认证代理引擎,所述认证代理引擎能操作用于:
通过所述第二数据连接,接收来自所述客户端设备的请求;以及
通过所述第一数据连接,向所述网络服务提供认证数据。
2.如权利要求1所述的计算设备,其特征在于,所述代理引擎进一步能操作用于:
通过所述第一数据连接,接收来自所述网络服务的认证验证;以及
通过所述第二数据连接,向所述客户端设备提供所述认证验证。
3.如权利要求1所述的计算设备,其特征在于,所述代理引擎进一步能操作用于:
通过所述第二数据连接,接收来自所述客户端设备的对数据页面的请求;
通过所述第一数据连接,接收来自所述网络服务的数据页面;以及
通过所述第二数据连接,向所述客户端设备转发所述数据页面。
4.如权利要求3所述的计算设备,其特征在于,所述代理引擎进一步能操作用于通过将认证头部***到所述数据页面中来修改所述数据页面请求。
5.如权利要求3所述的计算设备,其特征在于,所述代理引擎进一步能操作用于在转发所述数据页面之前,修改所述数据页面。
6.如权利要求5所述的计算设备,其特征在于,修改所述数据页面包括***用于检测并截取登录动作的指令。
7.如权利要求5所述的计算设备,其特征在于,所述数据页面包括用户名或口令字段,并且其中修改所述数据页面包括将一次性的随机或伪随机令牌***到所述用户名或口令字段中。
8.如权利要求1-7中的任何一个所述的计算设备,其特征在于,所述代理引擎进一步能操作用于通过所述第二数据连接来认证所述客户端设备。
9.如权利要求8所述的计算设备,其特征在于,认证所述客户端设备包括接收来自所述客户端设备的生物测定认证数据。
10.如权利要求8所述的计算设备,其特征在于,认证所述客户端设备包括两因素认证。
11.如权利要求1-7中的任何一个所述的计算设备,其特征在于,所述代理引擎进一步能操作用于通过所述第二数据连接,向所述客户端设备提供令牌,其中所述令牌不同于所述认证数据。
12.如权利要求11所述的计算设备,其特征在于,所述令牌包括伪用户名或伪口令。
13.如权利要求1-7中的任何一个所述的计算设备,其特征在于,所述代理引擎进一步能操作用于提供学习模式。
14.在其上存储了用于提供代理引擎的可执行指令的一个或多个计算机可读介质,所述代理引擎能操作用于:
通过第二数据连接接收来自客户端设备的对网络服务的请求;
通过第一数据连接,向所述网络服务提供认证数据;
通过第一数据连接,接收来自网络服务的认证验证;以及
通过第二数据连接,向客户端设备提供所述认证验证。
15.如权利要求14所述的一个或多个计算机可读介质,其特征在于,所述代理引擎进一步能操作用于:
通过所述第二数据连接,接收来自所述客户端设备的对数据页面的请求;
通过所述第一数据连接,接收来自所述网络服务的数据页面;以及
通过所述第二数据连接,向所述客户端设备转发所述数据页面。
16.如权利要求15所述的一个或多个计算机可读介质,其特征在于,所述代理引擎进一步能操作用于修改所述数据页面,所述修改所述数据页面包括将认证头部***到所述数据页面中。
17.如权利要求15所述的一个或多个计算机可读介质,其特征在于,所述代理引擎进一步能操作用于在转发所述数据页面之前,修改所述数据页面。
18.如权利要求17所述的一个或多个计算机可读介质,其特征在于,修改所述数据页面包括***用于检测并截取登录动作的指令。
19.如权利要求17所述的一个或多个计算机可读介质,其特征在于,所述数据页面包括用户名或口令字段,并且其中修改所述数据页面包括将一次性的随机或伪随机令牌***到所述用户名或口令字段中。
20.如权利要求14-19中的任何一个所述的一个或多个计算机可读介质,其特征在于,所述代理引擎进一步能操作用于通过所述第二数据连接来认证所述客户端设备。
21.如权利要求20所述的一个或多个计算机可读介质,其特征在于,认证所述客户端设备包括接收来自所述客户端设备的生物测定认证数据或两因素认证。
22.如权利要求14-19中的任何一个所述的一个或多个计算机可读介质,其特征在于,所述代理引擎进一步能操作用于通过所述第二数据连接来向所述客户端设备提供令牌,其中所述令牌不同于所述认证数据。
23.如权利要求22所述的一个或多个计算机可读介质,其特征在于,所述令牌包括伪用户名或伪口令。
24.一种提供代理引擎的方法,包括:
通过第一数据连接通信地耦合到网络服务;
通过第二数据连接认证客户端设备;
通过所述第二数据连接接收来自所述客户端设备的登录请求;以及
通过所述第一数据连接向所述网络服务提供认证数据。
25.如权利要求24所述的方法,其特征在于,认证所述客户端设备包括生物测定认证或两因素认证。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361882460P | 2013-09-25 | 2013-09-25 | |
US61/882,460 | 2013-09-25 | ||
PCT/US2014/057550 WO2015048349A1 (en) | 2013-09-25 | 2014-09-25 | Proxy authentication for single sign-on |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105493439A true CN105493439A (zh) | 2016-04-13 |
Family
ID=52744471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480047156.3A Withdrawn CN105493439A (zh) | 2013-09-25 | 2014-09-25 | 用于单登录的代理认证 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10554624B2 (zh) |
CN (1) | CN105493439A (zh) |
WO (1) | WO2015048349A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241722A (zh) * | 2018-09-25 | 2019-01-18 | 上海盛付通电子支付服务有限公司 | 用于获取信息的方法、电子设备和计算机可读介质 |
CN109889514A (zh) * | 2019-02-03 | 2019-06-14 | 郭丽 | 一种认证扫描方法及web应用扫描*** |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015048349A1 (en) | 2013-09-25 | 2015-04-02 | Mcafee Inc. | Proxy authentication for single sign-on |
EP3289506B1 (en) | 2015-05-01 | 2021-12-22 | Assa Abloy AB | Using wearable to determine ingress or egress |
US10341316B2 (en) * | 2015-06-18 | 2019-07-02 | AVAST Software s.r.o. | Injecting credentials into web browser requests |
JP6516009B2 (ja) * | 2015-07-10 | 2019-05-22 | 富士通株式会社 | 機器認証システム、管理装置及び機器認証方法 |
US20180047018A1 (en) * | 2016-08-15 | 2018-02-15 | Capital One Services, Llc | Browser extension for field detection and automatic population and submission |
US10356073B2 (en) * | 2016-08-29 | 2019-07-16 | Cisco Technology, Inc. | Secure captcha test |
EP3316163B1 (en) | 2016-10-28 | 2020-08-12 | Hewlett-Packard Development Company, L.P. | Authentication system |
US11044244B2 (en) | 2018-09-18 | 2021-06-22 | Allstate Insurance Company | Authenticating devices via one or more pseudorandom sequences and one or more tokens |
EP3973681A4 (en) | 2019-05-23 | 2022-12-21 | Citrix Systems, Inc. | SECURE WEB APPLICATION DELIVERY PLATFORM |
US10484367B1 (en) | 2019-06-06 | 2019-11-19 | Capital One Services, Llc | Utilizing natural language processing to automatically perform multi-factor authentication |
AU2020319579B2 (en) | 2019-07-30 | 2022-07-28 | Intuit Inc. | Data aggregation using proxy entry of credentials |
CN112583912A (zh) * | 2020-12-03 | 2021-03-30 | 海腾保险代理有限公司 | Vpn自动连接方法、装置、设备和存储介质 |
US20220294788A1 (en) * | 2021-03-09 | 2022-09-15 | Oracle International Corporation | Customizing authentication and handling pre and post authentication in identity cloud service |
US20230037854A1 (en) * | 2021-08-06 | 2023-02-09 | Eagle Telemedicine, LLC | Systems and Methods for Automating Processes for Remote Work |
US11595324B1 (en) * | 2021-10-01 | 2023-02-28 | Bank Of America Corporation | System for automated cross-network monitoring of computing hardware and software resources |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100064234A1 (en) * | 2007-03-09 | 2010-03-11 | Ghost, Inc. | System and Method for Browser within a Web Site and Proxy Server |
US20120278487A1 (en) * | 2011-04-27 | 2012-11-01 | Woelfel John Harold | System and method of handling requests in a multi-homed reverse proxy |
US20120284786A1 (en) * | 2011-05-05 | 2012-11-08 | Visto Corporation | System and method for providing access credentials |
US20130024925A1 (en) * | 2011-07-20 | 2013-01-24 | Symantec Corporation | Lightweight directory access protocol (ldap) proxy |
US20130173815A1 (en) * | 2010-10-13 | 2013-07-04 | International Business Machines Corporation | Selectively processing cookies in a proxy |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073142A (en) | 1997-06-23 | 2000-06-06 | Park City Group | Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments |
US5974566A (en) * | 1997-10-07 | 1999-10-26 | International Business Machines Corporation | Method and apparatus for providing persistent fault-tolerant proxy login to a web-based distributed file service |
US5987610A (en) | 1998-02-12 | 1999-11-16 | Ameritech Corporation | Computer virus screening methods and systems |
US20020023108A1 (en) * | 1999-09-09 | 2002-02-21 | Neil Daswani | Automatic web form interaction proxy |
US6460050B1 (en) | 1999-12-22 | 2002-10-01 | Mark Raymond Pace | Distributed content identification system |
US6901519B1 (en) | 2000-06-22 | 2005-05-31 | Infobahn, Inc. | E-mail virus protection system and method |
JP5290488B2 (ja) * | 2000-09-28 | 2013-09-18 | プレジデント アンド フェロウズ オブ ハーバード カレッジ | 酸化物、ケイ酸塩及びリン酸塩の気相成長 |
US7191467B1 (en) * | 2002-03-15 | 2007-03-13 | Microsoft Corporation | Method and system of integrating third party authentication into internet browser code |
US7496953B2 (en) | 2003-04-29 | 2009-02-24 | International Business Machines Corporation | Single sign-on method for web-based applications |
CN100437551C (zh) * | 2003-10-28 | 2008-11-26 | 联想(新加坡)私人有限公司 | 使多个用户设备自动登录的方法和设备 |
US7540022B2 (en) * | 2005-06-30 | 2009-05-26 | Nokia Corporation | Using one-time passwords with single sign-on authentication |
CA2531533C (en) * | 2005-12-28 | 2013-08-06 | Bce Inc. | Session-based public key infrastructure |
US7886352B2 (en) * | 2006-09-22 | 2011-02-08 | Oracle International Corporation | Interstitial pages |
WO2010040378A1 (en) * | 2008-10-06 | 2010-04-15 | Nokia Siemens Networks Oy | Service provider access |
US8763104B2 (en) * | 2009-08-27 | 2014-06-24 | International Business Machines Corporation | Establishing and maintaining an improved Single Sign-on (SSO) facility |
US9639619B2 (en) * | 2009-10-28 | 2017-05-02 | Verizon Patent And Licensing Inc. | Network architecture and method for reducing the number of resource requests |
EP2334034B1 (en) * | 2009-11-11 | 2018-06-27 | BlackBerry Limited | Using a trusted token and push for validating the request for single sign on |
US8549300B1 (en) * | 2010-02-23 | 2013-10-01 | Juniper Networks, Inc. | Virtual single sign-on for certificate-protected resources |
US9948648B1 (en) * | 2013-03-14 | 2018-04-17 | Dell Software Inc. | System and method for enforcing access control to publicly-accessible web applications |
WO2015048349A1 (en) | 2013-09-25 | 2015-04-02 | Mcafee Inc. | Proxy authentication for single sign-on |
US10084807B2 (en) * | 2015-10-16 | 2018-09-25 | Microsoft Technology Licensing, Llc. | Detection of bypass vulnerabilities |
US10826717B2 (en) * | 2016-04-21 | 2020-11-03 | Signify Holding B.V. | System and methods for cloud-based monitoring and control of physical environments |
-
2014
- 2014-09-25 WO PCT/US2014/057550 patent/WO2015048349A1/en active Application Filing
- 2014-09-25 US US14/912,453 patent/US10554624B2/en active Active
- 2014-09-25 CN CN201480047156.3A patent/CN105493439A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100064234A1 (en) * | 2007-03-09 | 2010-03-11 | Ghost, Inc. | System and Method for Browser within a Web Site and Proxy Server |
US20130173815A1 (en) * | 2010-10-13 | 2013-07-04 | International Business Machines Corporation | Selectively processing cookies in a proxy |
US20120278487A1 (en) * | 2011-04-27 | 2012-11-01 | Woelfel John Harold | System and method of handling requests in a multi-homed reverse proxy |
US20120284786A1 (en) * | 2011-05-05 | 2012-11-08 | Visto Corporation | System and method for providing access credentials |
US20130024925A1 (en) * | 2011-07-20 | 2013-01-24 | Symantec Corporation | Lightweight directory access protocol (ldap) proxy |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241722A (zh) * | 2018-09-25 | 2019-01-18 | 上海盛付通电子支付服务有限公司 | 用于获取信息的方法、电子设备和计算机可读介质 |
CN109889514A (zh) * | 2019-02-03 | 2019-06-14 | 郭丽 | 一种认证扫描方法及web应用扫描*** |
Also Published As
Publication number | Publication date |
---|---|
WO2015048349A1 (en) | 2015-04-02 |
US20160205089A1 (en) | 2016-07-14 |
US10554624B2 (en) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105493439A (zh) | 用于单登录的代理认证 | |
US10178132B2 (en) | Real-time mobile security posture | |
US11140150B2 (en) | System and method for secure online authentication | |
Siriwardena | Advanced API Security | |
JP2022508899A (ja) | 個別化されたネットワークサービスのためのコンテナビルダ | |
US20160191512A1 (en) | Predictive user authentication | |
CN107533608A (zh) | 可信更新 | |
CN111742533B (zh) | 具有访问检查点的网关 | |
TW200820716A (en) | Method and apparatus for providing trusted single sign-on access to applications and internet-based services | |
CN104798076A (zh) | 使用聚合安全引擎针对网络服务提供商的隐私增强密钥管理 | |
CN103828292A (zh) | 带外远程认证 | |
US9798895B2 (en) | Platform identity architecture with a temporary pseudonymous identity | |
US20160284035A1 (en) | Crowd-sourced analysis of end user license agreements | |
Panos et al. | A security evaluation of FIDO’s UAF protocol in mobile and embedded devices | |
CN103152350B (zh) | 一种保护终端配置隐私的可信网络接入方法及*** | |
CN107431693B (zh) | 消息发送方真实性验证 | |
US11595372B1 (en) | Data source driven expected network policy control | |
Alabdulrazzaq | Securing Web Applications: Web Application Flow Whitelisting to Improve Security | |
Foltz et al. | Enterprise Security with Endpoint Agents | |
EP3261009A1 (en) | System and method for secure online authentication | |
Czeskis | Practical, usable, and secure authentication and authorization on the Web | |
Khattak | Security, Trust and Privacy (STP) Model for Federated Identity and Access Management (FIAM) Systems | |
De Ryck | Client-Side Web Security | |
Du Toit | Using Virtualisation to Create a More Secure Online Banking Infrastructure | |
WO2011038752A1 (en) | Authentication gateway |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160413 |
|
WW01 | Invention patent application withdrawn after publication |