CN103503408B - 用于提供访问凭证的系统和方法 - Google Patents

用于提供访问凭证的系统和方法 Download PDF

Info

Publication number
CN103503408B
CN103503408B CN201280021581.6A CN201280021581A CN103503408B CN 103503408 B CN103503408 B CN 103503408B CN 201280021581 A CN201280021581 A CN 201280021581A CN 103503408 B CN103503408 B CN 103503408B
Authority
CN
China
Prior art keywords
server
user
terminal
data cube
cube computation
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
CN201280021581.6A
Other languages
English (en)
Other versions
CN103503408A (zh
Inventor
哈尼夫·索马尼
肖恩·迈克尔·昆兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
Original Assignee
Good Technology Holdings Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Good Technology Holdings Ltd filed Critical Good Technology Holdings Ltd
Publication of CN103503408A publication Critical patent/CN103503408A/zh
Application granted granted Critical
Publication of CN103503408B publication Critical patent/CN103503408B/zh
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
    • 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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明的实施方式涉及向承载服务的服务器提供与服务的用户相关联的访问凭证,例如,使用户能够单点登录多个服务器。实施方式包括与关联于用户的终端建立第一数据连接,与服务器建立第二数据连接,并桥接第一和第二数据连接以便使用第一通信协议在终端与服务器之间建立第一通信会话的功能。还使用第二通信协议与服务器建立第二通信会话,对与用户相关联的访问凭证的请求经由第二通信会话来接收。该请求包括在第一通信会话中由服务器接收的信息,其用于识别经由第二通信会话传输至服务器的用户的访问凭证。

Description

用于提供访问凭证的系统和方法
技术领域
本发明涉及一种向承载服务的服务器提供与服务的用户相关联的访问凭证的系统和方法。
更具体地,但非排他地,本发明涉及一种在与用户相关联的终端与承载服务的服务器之间建立第一通信会话的方法,其中第一通信会话经由向服务器提供与终端的用户相关联的访问凭证的代理服务器来建立。本发明可以用于允许终端的用户单点登录,其中可以授予用户对由多个服务器提供的相应服务的访问权,而无需重复提示输入访问凭证。
背景技术
已知单点登录系统的代理服务器可以被设置为代表使用终端的用户向服务器提供访问凭证。终端可以首先与代理服务器连接,使得它可以将认证信息传输至代理服务器,由此向代理服务器认证用户。一旦认证了用户,代理服务器就可以与服务器连接,向服务器指示用户已经被认证,并且然后用作终端与服务器之间的通信会话中的代理。
这些单点登录系统要求代理服务器从终端接收认证信息并使用形成在终端与服务器之间的代理通信会话的连接向服务器传输用户的认证指示。因此可以要求代理通信会话使用代理服务器已知的通信协议,并且可以将终端与服务器之间经由代理连接的通信限制为使用该通信协议的通信。
本发明的目的是提供一种向承载服务的服务器提供与服务的用户相关联的访问凭证的系统和方法。
发明内容
根据本公开的一个方面,提供了一种根据所附权利要求的向承载服务的服务器提供与服务的用户相关联的访问凭证的方法。在从属权利要求中陈述该方法的优选特征。
本文描述的实施方式涉及提供一种向承载服务的服务器提供与服务的用户相关联的访问凭证的方法,该方法包括:
基于终端的用户适用的认证凭证与终端建立第一数据连接,所述终端与用户相关联;
响应于建立所述第一数据连接,与服务器建立第二数据连接,并桥接第一和第二数据连接以便在终端与服务器之间建立第一通信会话,所述第一通信会话使用第一通信协议;
与服务器建立第二通信会话,所述第二通信会话使用第二通信协议,并经由第二通信会话从服务器接收对与用户相关联的访问凭证的请求,所述请求包括由所述服务器在所述第一通信会话中接收的信息;以及
基于所述信息识别所述访问凭证,并经由第二通信会话将所述访问凭证传输至服务器。
在本发明的实施方式中,第一通信协议不同于第二通信协议。相应地,通过允许终端和服务器在第一通信会话中经由第一通信协议进行通信,使用第二通信会话来经由第二通信协议向服务器传递访问认证,该实施方式确保第一通信会话可以根据第一通信协议进行,而不会由作用为桥接第一和第二数据连接的一方中断。这一方可以是被设置为代理第一和第二数据连接的代理服务器。
由终端和服务器使用的第一通信协议可以是由第一通信会话的端点(终端和服务器)选择的任意通信协议。在一个实施方式中,由服务器发送至桥接第一和第二数据连接的一方的所述对访问凭证的请求中的信息包括与用户相关联的认证凭证,这些认证凭证在第一通信会话中已经由服务器从终端接收。本实施方式然后可以包括桥接第一和第二数据连接的一方使用终端的用户适用的桥接方局部保存的认证凭证来验证所述接收的认证凭证,并根据验证识别所述访问凭证。
通过使用终端的用户适用的认证凭证来验证接收的认证凭证,这使得桥接数据连接的一方能够识别终端的用户,并因此检索访问凭证以传输至服务器。
更具体地,所述请求中的从服务器接收的认证凭证可以包括使用终端的用户适用的在终端上局部保存的所述认证凭证来生成的消息认证码,并且其中所述对访问凭证的请求中的信息可以包括用户标识符。向桥接方(例如,代理服务器)发送用户标识符,该桥接方使用终端的用户适用的所述认证凭证来验证所述接收的认证凭证中的消息认证码,并响应于所述消息认证码的验证,识别与所述用户标识符相关联的访问凭证。
在该设置中,首先使用代理服务器可访问的对应认证凭证来验证消息认证码,一旦验证,就使用用户标识符来检索相关访问凭证。
在另一个示例中,将访问令牌从终端传输至服务器,其中访问令牌包含识别终端的用户的信息(诸如用户名),以及识别服务器的信息。在该示例中,访问令牌包含上文提及的消息认证码,其中该消息认证码使用终端的用户的认证凭证中的密钥进行加密。(除消息认证码本身之外)消息认证码还可以是访问令牌的其他内容的哈希值,其中哈希值的密钥由终端的用户的认证凭证中的密钥组成。
在另一个实施方式中,所述对访问凭证的请求中的信息包括识别所述第一和第二数据连接中的一个的数据连接标识符。将数据连接标识符发送至桥接方(例如,代理服务器),该桥接方结合桥接第一和第二数据连接,存储第一和第二数据连接之间的关联;此后,响应于接收所述对访问凭证的请求中的所述数据连接标识符,代理服务器检索所存储的关联以便确定终端的用户适用的且用于建立所述第一数据连接的认证凭证,并基于所述认证凭证识别所述访问凭证。
通过存储第一和第二数据连接之间的关联并在所述对访问凭证的请求中从服务器接收数据连接标识符,可以基于数据连接之间的关联通过桥接方来识别访问凭证,而无需传输第一通信会话中的认证凭证。在该实施方式中,数据连接标识符例如可以识别由作用为桥接第一和第二数据连接的一方使用的第二数据连接的通信端口。
优选地,将要用于建立所述第一数据连接的加密认证凭证被存储在终端。这些加密认证凭证可以使用用户密码来加密,用户密码可以作为密码更改处理的一部分在与所述终端的用户相关联的多个其他终端被更改。在一个设置中,该密码更改处理可以包括:
接收在终端处输入的新密码的哈希值;
识别与所述终端的用户相关联的多个其他终端;
将所述新密码的哈希值传输至所述多个其他终端,并且
使用所述多个其他终端处的所述新密码的所述哈希值来加密将要用于建立所述其他终端的各第一数据连接的认证凭证。
这些步骤可以由所述服务器执行,终端根据上述方法与所述服务器通信,并且所述服务器例如被设置为提供密码更改服务。相应地,密码更改服务的访问优选由桥接方经由所述第一和第二通信会话提供;一旦终端将新密码的哈希值传输至服务器,该服务器就可以将新密码的哈希值传输至识别为与用户相关联的那些终端。
因此,这确保了用户与之相关联的每个终端可以被设置为使用相同的新密码来加密在每个终端存储的用户的认证凭证。
因此,即使当用户密码在终端之一更改时,该实施方式确保了给定用户的用户密码在与此用户相关联的所有终端上都相同。结果,在用户密码在与用户相关联的任意终端更改之后,可能已经在与用户相关联的任意终端上获知旧用户密码的任何人将不再能够访问服务器的服务。
根据本发明的其他方面,可以提供具有由计算设备执行的指令集形式的计算机程序,这些对应于上述方法。进一步地,终端可以配置有计算机程序以实现本发明的实施方式,同时代理服务器可以配置有计算机程序以促进第一和第二数据连接的建立、它们的桥接、以及传输至服务器的访问凭证的所述识别。
本发明实施方式的进一步特征和优点将通过以下参照附图进行的对本发明的优选实施方式的描述而变得显而易见,该描述仅由示例的方式给出。
附图说明
图1示意性地示出了根据实施方式的向承载服务的服务器提供与服务的用户相关联的访问凭证的系统。
图2示意性地示出了根据实施方式的图1的系统的终端的示例性组件。
图3示出了根据实施方式的由图1的终端、代理服务器和服务器进行的步骤。
图4示出了根据实施方式的由图1的终端、代理服务器和服务器进行的步骤。
图5示出了根据实施方式的由图1的第一终端、控制服务器和第二终端进行的步骤。
具体实施方式
本发明的实施方式涉及一种向承载服务的服务器提供与服务的用户相关联的访问凭证的系统和方法。实施方式例如可以用于允许对各自承载相应服务的多个服务器提供与这些服务的用户相关联的访问凭证,而不要求对用户提示这些凭证。这允许用户向多个服务器认证,而用户不需要重复输入认证信息,由此使得能够进行单点登录方案。每个服务器可以提供终端的用户专有的服务,该服务由提供给服务器的用户的访问凭证识别,例如服务器可以提供对文件、电子邮件、日历条目和/或其他信息和/或该用户专有的服务的访问。
图1示意性地示出了根据本发明实施方式的向承载服务的服务器提供与服务的用户相关联的访问凭证的系统。系统包括由用户使用并与代理服务器110通信的终端100。代理服务器110还与各自可以提供相应服务的多个服务器120至124中的一个或多个通信。
代理服务器110和多个服务器120至124可以位于企业网络130中。代理服务器110可以被设置为经由企业网络130的一个或多个通信网络与每个服务器120至124通信。
企业网络130可以包括调节向/自企业网络130传输的通信网络流量的防火墙。因此,服务器120至124的服务可以只提供给企业网络130的成员。
如下面进一步详述,终端100可以是手机、智能手机、个人数字助理(PDA)、计算机、服务器等,并且可以被设置为经由可以包括互联网的一个或多个通信网络与其他设备通信。
当企业网络130配置有防火墙时,终端100也许无法直接发起与代理服务器110或服务器120至124的数据连接。因此,为了使终端100能够使用由服务器(例如,120)提供的服务,可以设置中继服务器(未示出),经由中继服务器至代理服务器110的数据连接可以由终端100发起。如稍后所述,代理服务器110还可以发起其自身与服务器(例如,120)之间的数据连接,以便可以在终端100与服务器之间建立通信会话。
中继服务器可以位于企业网络130的外部;然而,可以打开企业网络130的防火墙中的针孔(pinhole)以允许从中继服务器向代理服务器110发起通信会话。例如可以通过允许从防火墙外部向代理服务器110发起数据连接来打开防火墙中的针孔,条件是这些数据连接使用传输协议(诸如互联网协议套组的传输协议)的预定义端口。例如,防火墙中的针孔可以允许使用传输控制协议(TCP)的端口80的至代理服务器110的数据连接。
在代理服务器110与中继服务器之间可以存在信任关系,使得中继服务器可以是代理服务器110将直接与之通信的企业网络130外部的仅有实体。例如可以通过将密码协议(诸如安全套接层或传输安全层)用于代理服务器110与中继服务器之间的数据连接来实现信任关系。
除了提供终端100可以与服务器(例如,120)建立通信会话的机制以便终端100的用户可以访问该服务器的服务,本发明的实施方式还有助于向服务器提供与用户相关联的访问凭证,以便服务器可以在不需要提示用户输入认证信息的情况下识别用户。
如下面进一步详述,例如在客户端程序220与代理服务器110之间建立数据连接时代理服务器110使用认证凭证来验证正在使用终端的用户的身份,并随后与服务器120建立第二数据连接。然后,代理服务器110桥接第一和第二数据连接以便在终端与服务器之间建立第一通信会话,经由该第一通信会话,具有以下述方式识别用户的信息的形式的数据可以从终端传输至服务器。代理服务器110与服务器建立第二通信会话,该第二通信会话用于将前述信息从服务器传输至代理服务器,代理服务器响应地识别并向服务器120发布访问凭证。
如下面进一步详述,可由用户的代理服务器110访问的认证凭证可以包括一个或多个密钥。
与用户的认证凭证相关联的访问凭证包括用户标识符。服务器120被设置为接受来自代理服务器110的用户标识符作为用户已经基于代理服务器与服务器120至124之间的信任关系被认证的确认。该信任关系例如可以通过将密码协议(诸如安全套接层或传输安全层)用于代理服务器110与服务器120至124之间的数据连接,或基于代理服务器110和服务器120至124都位于企业网络130内来实现。
多个用户的认证和访问凭证可以由企业网络130内的凭证数据库140存储。在这种情况下,代理服务器110与凭证数据库140通信以便访问所存储的认证和访问凭证。凭证数据库140可以由企业网络130中的一个或多个数据库服务器提供,或者备选地由代理服务器110提供。
图2示意性地示出了终端100的示例性组件。如上所述,终端100可以是手机、智能手机、个人数字助理(PDA)、计算机等。终端100包括与系统总线204连接的处理器202和组件,其中这些组件可以包括非易失性存储设备206、随机存取存储器208、用户输入接口210、网络接口212和图形处理组件214。
终端100的网络接口212(或多个这样的接口)允许在终端100的处理器202上运行的程序经由通信网络240(或多个这样的网络)向多个其他设备和系统传输数据并从多个其他设备和系统接收数据。
网络接口212(或多个这样的接口)可以包括能够与诸如提供对通信网络240(或多个这样的网络)的访问的基站或无线接入点的无线访问节点通信的无线接入网络接口(或多个这样的接口)。网络接口212(或多个这样的接口)也许能够使用多个无线接入技术中的一个或多个与无线访问节点连接,这多个无线接入技术包括全球移动通信系统(GSM)、通用移动通信系统(UMTS)、长期演进技术(LTE)、固定无线接入(诸如IEEE802.16WiMax)和无线网络技术(诸如IEEE802.11WiFi)。通信网络240和/或无线访问节点还可以提供对互联网的访问。网络接口212(或多个这样的接口)还可以包括与诸如互联网和/或专用数据通信网络的对应通信网络(或网络)240一起使用的调制解调器和/或以太网卡或接口。
如下面进一步详述的,终端100的客户端程序220被设置为使用终端100的网络接口212来与企业网络130的代理服务器110通信,以便访问服务器120至124的相应服务。
在一个设置中,客户端程序220是向终端100的用户提供用户界面,并与代理服务器110通信并响应于经由用户界面接收的用户输入来访问服务器120至124的服务的应用程序。
在备选设置中,客户端程序220是服务和/或包括与代理服务器110通信并访问服务器120至124的服务的功能的应用程序编程接口。在这种情况下,客户端程序220的这些功能可以由在终端100上运行的其他程序使用以便访问服务器120至124的服务。
终端100的非易失性存储器206可以由客户端程序220使用以便存储认证凭证,该认证凭证可以用于识别至代理服务器110的终端100的用户。以下面讨论的方式提供给终端100的这些认证凭证可以以加密形式存储在非易失性存储器206中,以便确保认证凭证无法被攻击者访问。存储在非易失性存储器206中的认证凭证可以基于用户密码来加密。例如,用户密码或用户密码的哈希可以用作用于加密认证凭证的密钥。
为了能够识别至代理服务器110的终端100的用户,客户端程序220首先可以请求用户输入用户密码,使得其可以用于解密非易失性存储器206中保存的认证凭证。例如可以提示用户在每次启动客户端程序220时输入用户密码。一旦存储在非易失性存储器220中的认证凭证已经使用用户输入的用户密码解密,就可以在执行客户端程序220期间将这些认证凭证保存在RAM208中,使得用户在重新启动客户端程序220之前都不需要重新输入用户密码。
用户适用的认证凭证可以包括对于用户唯一的一个或多个密钥。这些密钥可以被生成并提供给客户端程序220作为离线认证提供处理的一部分。
该认证提供处理可以由企业网络130中的控制服务器(未示出)进行。在一个设置中,当控制服务器(例如,从企业网络130的管理员)接收对提供新用户的认证凭证的提供请求时,发起认证提供处理。提供请求可以包含与用户有关的信息,诸如用户有关的用户名、电子邮件地址和/或其他联系方式。提供请求还可以包含与被进行认证提供处理的终端100有关的信息,诸如终端100的网络地址(例如,互联网协议地址)、设备识别号(例如,国际移动设备识别号)、电话号码(如果设备具有电话功能)、和/或可以用于识别终端100的任何其他类型的设备标识符。
一旦收到提供请求,控制服务器就生成一个或多个密钥,该一个或多个密钥形成将要提供给终端100的客户端程序220的认证凭证。所生成的密钥可以与提供请求中包含的关于用户的信息和关于终端100的信息相关联。与用户和终端有关的密钥和关联信息也可以存储在凭证数据库140中,或至少以这种方式保存使得密钥和关联信息可由代理服务器访问。
然后,将由控制服务器生成的密钥传输至终端100的客户端程序220。密钥可以在传输期间加密以便防止攻击者获得密钥的副本。一旦在终端100处收到密钥,就可以基于由用户输入的密码(即,用户密码)来加密密钥并将其存储在非易失性存储器206中。如上所述,这意味着只在用户输入正确的用户密码时,密钥才可以由客户端程序220访问。
认证提供处理因此确保给定终端(例如,100)和凭证数据库140共享与企业网络130的用户有关的认证凭证。
如下面进一步详述的,因为用户密码用于加密存储在终端100的认证凭证并与企业130共享,所以在终端100成功输入用户密码使得用户能够随后在服务器120至124中的任意一个处认证,而不需要用户输入相应服务的访问凭证。因此,实施方式能够实现单点登录方案,因为用户只需要在启动客户端程序(例如)时输入用户密码,使得随后用户可以被认证以访问由服务器120至124提供的服务。
现在将关于第一实施方式的图3的步骤来描述向服务器120提供终端100的用户的访问凭证,使得用户可以访问由服务器120提供的服务的处理。
在已经启动客户端程序220并使用用户密码将用户的认证凭证解密之后,终端100的客户端程序220接收访问给定服务器的服务的请求(步骤300)。可以接收该请求作为由终端100的用户输入的输入结果。备选地,可以接收该请求作为由客户端程序220进行的处理结果或作为由终端100的另一程序向客户端程序220作出的函数调用的结果。
响应于访问给定服务器120的服务的请求,客户端程序220试图与代理服务器110建立第一数据连接(步骤302)。
(终端100的)客户端程序220与代理服务器110之间的第一数据连接可以经由一个或多个中继服务器建立,以便绕过企业网络130的防火墙。
如果一个或多个中继服务器涉及到设置第一数据连接,则客户端程序220可以通过将中继请求消息传输至中继服务器来发起至代理服务器110的第一数据连接,由此发起至中继服务器的中继连接。响应于中继请求消息,中继服务器随后建立至代理服务器110的中继连接(在必要时经由零个以上的其他中继服务器),由此使用两个建立的中继连接使数据能够在客户端程序220与代理服务器110之间传输,因此在客户端程序220与代理服务器110之间形成第一数据连接。
客户端程序220然后向代理服务器110(经由中继服务器,视情况而定)传输连接请求消息。该连接请求消息可以包括识别终端100的用户的信息(诸如用户名)。
连接请求消息还包括与终端100的用户的认证凭证有关的信息。该信息例如可包括构成终端的用户的认证凭证的前述密钥中的一个或多个。可以对传输的这些密钥进行加密以确保攻击者无法轻易访问它们。
在收到连接请求消息之后,代理服务器110从凭证数据库140检索在连接请求消息中识别的用户适用的认证凭证,并使用所检索的认证凭证来验证与请求消息中的认证凭证有关的信息。如果成功验证与认证凭证有关的信息,则代理服务器110接受来自终端100的客户端程序220的第一数据连接。否则,如果未成功验证与认证凭证有关的信息,则可以不建立第一数据连接,这是因为该代理服务器110可以拒绝连接。通过这种方式,可以基于用户终端100适用的认证凭证来建立第一数据连接。
一旦建立第一数据连接,代理服务器110就与客户端程序220期望与其通信的服务器120建立第二数据连接(步骤304)。代理服务器110例如可以响应于经由第一数据连接从客户端程序220接收的服务器连接请求消息来建立第二数据连接。此服务器连接请求消息可以包括指示代理服务器110应与多个服务器120至124中的哪个服务器连接(例如,通过包括所希望的服务器的统一资源标识符(URI))的信息。
在客户端程序220和服务器120中的一个或两个分别从第一数据连接或第二数据连接断开之前,代理服务器110可以维持第一数据连接和第二数据连接。
一旦建立第一和第二数据连接,代理服务器110就桥接第一和第二数据连接以便在服务器120与终端100的客户端程序220之间建立第一通信会话。代理服务器110然后经由第二数据连接将经由第一数据连接从客户端程序220传输的数据转发至服务器120,反之亦然。
客户端程序220和服务器120在第一通信会话中使用第一通信协议来通信,其中第一通信协议可以是任意协议,诸如通过超文本传输协议(HTTP)传送的可扩展标记语言远程处理调用(XML-RPC)协议。
当已经建立第一通信会话时,服务器120要求代理服务器110在允许用户经由第一通信会话访问服务之前提供与终端100的用户有关的访问凭证。
如上所述,这些访问凭证可以包括用户的用户名。另外地或备选地,这些访问凭证可以包括由凭证数据库140和/或代理服务器110生成的安全令牌,服务器120可以使用在代理服务器110与服务器之间共享的密钥来解密该安全令牌。在这种情况下,如果能够通过成功解密访问凭证中包括的安全令牌来验证访问凭证,则服务器120可以只允许访问它的服务。
代理服务器110独立于第一通信会话中使用的第一通信协议来操作,因此代理服务器110不需要试图确定所使用的通信协议。结果,代理服务器110不能通过介入第一通信会话或将信息注入第一通信会话来向服务器120传输用户的访问凭证。
为了有利于提供访问凭证,在服务器120与代理服务器110之间建立第二通信会话,访问凭证响应于合适的请求经由第二通信会话传输至服务器120。访问凭证的请求包括在第一通信会话中由服务器120接收的信息,并且该信息在从服务器120中继至代理服务器110时被代理服务器110使用以便识别与用户有关的将要传输至服务器120的访问凭证。现在将关于图3的步骤308至318来进一步详述与向服务器120提供访问凭证相关联的步骤。
为了发起向服务器120提供访问凭证,用户终端100创建访问令牌(步骤306)。访问令牌可以包含识别终端100的用户的信息(诸如用户名),以及识别服务器120的信息。连接请求消息还可以包括随机生成数(即,随机数)以确保令牌不受重放攻击的影响。
访问令牌还可以包含与前述终端100的用户的认证凭证有关的信息,诸如使用终端100的用户的认证凭证来加密的消息认证码。例如,除了消息认证码本身之外,消息认证码还可以是访问令牌的其他内容的哈希值(例如,识别用户和服务器的信息的哈希值),其中哈希值的密钥是终端100的用户的认证凭证中的密钥之一。
客户端程序220然后在第一通信会话中将访问令牌传输至服务器120(步骤308)。访问令牌例如可以在第一通信协议的凭证传输消息中传输,如上所述,第一通信协议无法被代理服务器110访问。
既然如此,响应于在第一通信会话中接收访问令牌,服务器120经由由服务器120建立的与代理服务器110的第二通信会话将对访问凭证的请求传输至代理服务器110(步骤310)。该第二通信会话使用第二通信协议,该第二通信协议不同于第一通信协议并且与第一通信协议相对比,该第二通信协议是代理服务器110被设置为使用的预定协议。
对由服务器120传输至代理服务器110的访问凭证的请求可以包含在第一通信会话中的由客户端程序220传输至服务器120的访问令牌。响应于接收访问凭证的请求,代理服务器110验证访问令牌(步骤312);在一个设置中,这涉及从凭证数据库140中检索在访问令牌中识别的用户适用的认证凭证。代理服务器110可以使用检索的认证凭证(例如通过对访问令牌的内容以及消息认证码进行哈希处理)来计算校验码,其中哈希值的密钥是终端100的用户的所检索的认证凭证中的密钥之一。如果接收的访问令牌中的消息认证码和检验码匹配,则成功验证消息认证码(以及访问令牌):代理服务器110识别并检索与代理凭证数据库140中保存的用户的认证凭证相关联的访问凭证。然后代理服务器110使用第二通信会话将所检索的访问凭证传输至服务器120(步骤314)。
响应于接收访问凭证,服务器120允许客户端程序经由第一通信会话访问它的服务。服务器120例如可以将确认消息传输至终端100的客户端程序以便指示此访问已经授权(步骤316)。
终端100的客户端程序110此后能够使用第一通信协议与服务器120通信以便访问由服务器提供的访问(步骤318)。正如上面注意到的,服务器120可以提供专用于由访问认证识别的终端的用户(即,终端100的用户)的服务,例如,该服务器120可以提供对文件、电子邮件、日历条目、和/或对此用户来说特定的服务的访问。
如果在步骤312中没有成功验证访问令牌的消息认证码,则代理服务器110可以使用第二通信协议将验证失败信息传输至服务器120。然后服务器120可以响应于接收验证失败信息从第一通信会话断开。
代理服务器110由此关于第一通信会话在传输层操作:简单桥接第一和第二数据连接;关于第二通信会话在应用层操作:验证其从服务器120接收的认证凭证使得可以向服务器120提供终端100的用户的访问凭证。服务器120然后可以允许客户端程序220经由第一通信会话访问其提供的服务。
通过与第一通信会话分开地配置第二通信会话,本实施方式确保了终端100与服务器120之间的第一通信会话可以根据这些端点之间达成的任意通信协议进行,而不涉及代理服务器110。
现在将参照图4描述第二实施方式。与第一实施方式中类似,在第二实施方式中,终端100可以用于访问由企业网络130的服务器120至124提供的服务。简短参照图3,第二实施方式开始于第一实施方式的步骤300至304,但是一旦第一和第二数据连接已经在步骤304中建立,代理服务器110就存储第一和第二数据连接之间的关联(步骤400)。第一和第二数据连接之间的关联可以包括与代理服务器110用于第一和第二数据连接的相应端口有关的信息,并且还可以与识别认证凭证(在步骤302中基于该认证凭证建立第一数据连接)的信息相关联,该认证凭证即由客户端程序220提供以便识别至代理服务器110的终端100的用户的认证凭证。
关联可以存储在代理服务器110处的RAM中和/或非易失性存储器206中。当终止第一和/或第二数据连接时,可以从RAM和/或非易失性存储器206中删除关联。
与第一实施方式中相似,代理服务器110不能确定第一通信会话中使用的第一通信协议,并因此不能通过介入第一通信会话或将信息注入第一通信会话来向服务器120提供访问凭证。
既然如此,响应于建立第二通信会话,服务器120经由与代理服务器110建立的第二通信会话将对访问凭证的请求传输至代理服务器110(步骤402)。与第一实施方式相似,第二通信会话使用第二通信协议,该第二通信协议不同于第一通信会话中使用的第一通信协议。与第一通信协议相对比,第二通信协议可以是代理服务器110被设置为使用的预定协议。
一旦与代理服务器110建立第二通信协议,服务器120就向其传输对访问认证的请求。对访问认证的请求可以包含包括与第二数据连接有关的信息的数据连接标识符。通过这种方式,在第二通信会话中将在第一通信会话中由服务器120接收的信息传输至代理服务器110。
可以由服务器120从第二数据连接中收集该信息。例如,数据连接标识符可以包含与代理服务器110用于第二数据连接的端口有关的信息,其中该信息由服务器120收集,该服务器120检查其在第二数据连接中接收的数据包。
响应于从服务器120接收对访问认证的请求,代理服务器110检索与由对访问凭证的请求中包括的数据连接标识符识别的数据连接有关的存储的关联(步骤404)。
如上所述,在第一和第二数据连接之间的存储关联可以与识别建立第一数据连接所基于的认证凭证的信息相关联。代理服务器110由此识别与这些识别的认证凭证相关联的访问凭证并从凭证数据库140中检索该访问凭证。
回到图3,与第一实施方式中相似,代理服务器110然后使用第二通信会话将检索的访问凭证传输至服务器120(步骤314)。
与第一实施方式中相似,服务器120可以将确认消息传输至终端100的客户端程序以便指示此访问已经授权(步骤316)。
与第一实施方式中相似,终端100的客户端程序110然后可以使用第一通信协议与服务器120通信以便访问由服务器120提供的服务(步骤318)。
如果在步骤404中代理服务器110不能基于在步骤402中接收的数据连接信息来检索关联(例如,因为第一和第二数据连接中的一个或两个已经断开,并因此已经删除关联),则代理服务器110可以使用第二通信协议向服务器120传输“验证失败”通知。响应于接收这个通知,服务器120可以随后从第一通信会话断开(如果还没有断开)。
因此,在第二实施方式中,代理服务器110基于对与用户有关的访问凭证的请求中由服务器120传输至代理服务器110的数据连接标识符来识别在第一和第二数据连接之间的存储关联。因此,与第一实施方式中相似,在访问凭证的请求中,将在第一通信会话中由服务器120接收的信息传输至代理服务器110,该信息用于识别将要传输至服务器120的访问凭证。然而,第二实施方式与第一实施方式的不同之处在于终端100不需要向服务器120传输与用户的认证凭证有关的信息(例如,访问令牌)。相反,代理服务器110能够基于在第一和第二数据连接之间的存储关联,并基于由服务器120传输至代理服务器110的数据连接标识符向服务器120提供访问凭证。通过这种方式,认证凭证只需要由客户端程序传输一次(当建立第一数据连接时)以便建立第一通信会话。
现在将描述第三实施方式,该第三实施方式适应以下场景,其中用户从多个终端访问服务器120至124,每个终端都设置有相同的用户名和密码,并且用户能够在任意所述终端更改密码。
尽管用户可以从多个终端访问服务器120至124,但是企业网络130的控制服务器通常对每个所述终端提供一组不同的认证凭证。存储在凭证数据库140中的每组认证凭证因此与特定用户和此用户的特定终端(例如,100至104)相关联。进一步地,不同的访问凭证可以被存储并且可以与凭证数据库140中的每组认证凭证相关联,由此允许每个用户使用多个终端(给定用户与这些终端相关联)同时访问由服务器120至124提供的相应服务。
在第三实施方式中,根据参照图5描述的处理,当用户在终端之一更改用户密码时,用户密码的更改可以在与用户相关联的其他终端生效。
在已经启动客户端程序220并且已经使用用户密码来解密用户的认证凭证之后,例如通过在由客户端程序220提供的用户界面上选择“更改用户密码”选项,用户可以选择输入新用户密码。
然后,通过用户在由客户端程序220提供的用户界面上输入新密码,终端100的客户端程序220收到新用户密码(步骤510)。
响应于收到新密码,客户端程序220使用新用户密码来加密当前在RAM140中保存的终端100的用户的解密认证凭证(步骤512)。
为了使用新用户密码加密终端的用户的认证凭证,客户端程序220可以计算新密码的哈希值,并且可以将新密码的哈希值用作加密用户的认证凭证的密钥。
然后,客户端程序220将使用步骤512中的新密码加密的认证凭证存储在终端100的非易失性存储器206中,代替使用用户先前的用户密码加密的事先存储在非易失性存储器206中的认证凭证(步骤514)。如果重新启动客户端程序220,则该用户将需要输入新用户密码以便客户端程序220可以在终端100解密非易失性存储器206中保存的加密认证凭证。
终端100的客户端程序220然后与企业网络130的控制服务器500建立第一通信会话(步骤516)。控制服务器500可以是客户端程序220可以(例如根据第一或第二实施方式的步骤)经由代理服务器110与之建立通信会话的企业网络130的服务器120至124之一。
一旦终端100的客户端程序220与控制服务器500建立了第一通信会话并且控制服务器500已经验证了由代理服务器210转发的访问凭证(以上述方式),客户端程序220就可以经由第一通信会话向控制服务器500传输密码更改消息(步骤518)。密码更改消息可以包含在步骤510中接收的新用户密码的哈希值。
响应于接收密码更改消息,控制服务器500例如通过访问凭证数据库140来确定识别终端100的用户与之关联的每个其他终端的信息(步骤520)。备选地,控制服务器500可以与代理服务器110建立通信会话并直接从代理服务器110检索该信息。
一旦控制服务器500收到识别其他终端的数据,控制服务器500就向每个其他终端(例如终端104),传输在密码更改消息中接收的新用户密码(步骤522)。在它们存在的程度上,控制服务器500可以使用其自身与每个其他终端之间的现有通信会话来传输新用户密码的哈希值(例如,经由通过第一或第二实施方式建立的通信会话)。备选地,如果其他终端中的一个或多个维持与中继服务器中的一个或多个的相应数据连接,则控制服务器500可以通过请求代理服务器110向每个其他终端传输新用户密码的哈希值来使用这些连接。备选地,用于向终端传输推送通知的其他机制可以用于向每个其他终端传输新用户密码的哈希值,诸如2011年2月11日提交的序列号为13/025,984,题目为“Method,apparatus andsystem for provisioning a push notification session”的美国专利申请中所述,该申请通过引用并入本文。
如现在针对这些其他终端之一104所述,响应于接收新用户密码的哈希值,每个其他终端的客户端程序可以执行与步骤510至514对应的步骤(步骤524)。
终端104的客户端程序首先接收新用户密码的哈希值。响应于接收新密码的哈希值,终端104的客户端程序使用新用户密码的哈希值来加密当前保存在RAM中的用户的解密认证凭证。例如,终端104的客户端程序可以将新用户密码的哈希值用作加密用户的认证凭证的密钥。
终端104的客户端程序然后将使用新用户密码加密的认证凭证存储在终端104的非易失性存储器中,代替使用用户先前的用户密码加密的事先存储在非易失性存储器中的认证凭证。如果重新启动终端104的客户端程序,则该用户需要输入新用户密码以便客户端程序可以解密在终端104的非易失性存储器206中保存的加密认证凭证。
因此,该实施方式允许代理服务器110和控制服务器500协助确保用户与之关联的每个终端可以被设置为使用相同的新用户密码来加密在每个终端存储的用户的认证凭证。
如上所述,因为在终端100成功输入用户密码使用户能够在服务器120至124处被认证,所以第一和第二实施方式能够实现单点登录方案。在第一终端(例如100)更改用户密码确保知道用户密码的任何人无法再使用此终端来获得对服务器120至124的服务的访问。然而,如果任意其他终端上的用户密码与第一终端上的用户密码相同,则这些人可能仍然能够使用与用户相关联的另一终端。
因此,第三实施方式通过确保给定用户的用户密码在与此用户相关联的所有终端上相同来建立第一和第二实施方式的单点登录方案,甚至当用户密码在终端之一更改时也是如此。结果,在与用户相关联的任意终端更改用户密码之后,可能已经知道与用户相关联的任意终端上的旧用户密码的任何人不再能够访问服务器120至124的服务。
上述实施方式将被理解为本发明的说明性示例。本发明的进一步实施方式设想如下。
在任意实施方式的替代中,代理服务器110、多个服务器120至124以及中继服务器可以被设置为在多个不同终端设备(例如100至104)与多个服务器120至124之间建立多个通信会话,以便允许这些终端的相应用户使用服务器120至124的服务。
在第一实施方式的替代中,在步骤306中由终端100创建的访问令牌的消息认证码除消息认证码本身之外还可以是访问令牌的其他内容的哈希值以及用户终端100的认证凭证中的第一组一个或多个密钥的哈希值。例如,消息认证码可以是识别用户和服务器的信息的哈希值和第一组一个或多个密钥的哈希值。在这种情况下,哈希值的密钥是终端100的用户的认证凭证中的第二组一个或多个密钥。在步骤312中,除消息认证码之外还给出了所检索的认证凭证中的第一组一个或多个密钥以及访问令牌的其他内容,代理服务器可以使用所检索的认证凭证中的第二组一个或多个密钥来验证访问令牌中的消息认证码是正确的。
在任意实施方式的替代中,可以不提供中继服务器,而终端100可以被设置为经由企业网络130的防火墙中的针孔直接与代理服务器110建立第一数据连接。
在任意实施方式的替代中,代理服务器110可以被设置为发起与中继服务器的数据连接,以便在建立终端100与代理服务器110之间的第一数据连接时绕过企业网络130的防火墙。在这种情况下,在企业网络130的防火墙中可能没有针孔。代理服务器110可以响应于经由预建立的数据连接从中继服务器传输至代理服务器110的中继连接请求消息来发起与中继服务器的数据连接。该预建立的数据连接可以由代理服务器110向中继服务器发起(例如,在代理服务器110启动时),并且如果预建立的数据连接丢失则可以由代理服务器110重新建立。
在第二实施方式的替代中,在步骤400中,在第一和第二数据连接之间的存储关联可以包括与终端100用于第一数据连接的互联网协议地址和端口有关的信息。在步骤402中由服务器120传输的对访问凭证的请求可以包含数据连接标识符,该数据连接标识符包含与第一数据连接的一个或多个特征有关的信息。可以由服务器120从第一通信会话收集与第一数据连接的一个或多个特征有关的信息。例如,数据连接标识符可以包含与终端100用于第一数据连接的互联网协议地址和端口有关的信息,其中由服务器120从第一通信会话收集该信息,服务器120检查经由第一通信会话在第一通信协议中交换的信息。在步骤404中,代理服务器110然后可以检索与由对访问凭证的请求中包括的数据连接标识符识别的数据连接有关的存储关联。
在第二实施方式的替代中,在步骤400中,在第一和第二数据连接之间的存储关联可以包括与服务器120用于第二数据连接的互联网协议地址和端口有关的信息。在步骤402中由服务器120传输的对访问凭证的请求可以包含数据连接标识符,该数据连接标识符包含与第二数据连接中的一个或多个特征有关的信息。可以由服务器120从第二数据连接收集与第二数据连接中的一个或多个特征有关的信息。例如,数据连接标识符可以包含与服务器120用于第二数据连接的互联网协议地址和端口有关的信息,其中由服务器120从第二数据连接收集该信息。在步骤404中,代理服务器110然后可以检索与由访问凭证的请求中包括的数据连接标识符识别的数据连接有关的存储关联。
在第三实施方式的替代中,终端100可以被设置为与终端100的用户与之关联的每个其他终端建立相应通信会话。终端100然后可以经由相应通信会话直接向每个其他终端传输新用户密码的哈希值。根据第一或第二实施方式的任意一个,为了建立各通信会话,终端100首先可以通过与代理服务器110或控制服务器建立第一通信会话来检索与终端100的用户与之关联的其他终端有关的地址信息。
在任意实施方式的替代中,客户端程序220可以由用户经由第二终端访问。在一个设置中,为了允许用户使用客户端程序220,客户端程序220提供用户可以经由第二终端访问的用户界面,例如以可由第二终端向用户显示的一个或多个动态网页和/或远程桌面的形式,该用户界面可提供给第二终端。在替代设置中,客户端程序220提供可以由第二终端上的第二客户端程序访问的远程处理,其中例如远程处理被第二客户端程序调用,同时该程序向用户显示对应的用户界面。
在任意实施方式的替代中,由代理服务器110传输至服务器120至124的与用户的认证凭证相关联的访问凭证包括由凭证数据库140和/或代理服务器110生成的用户标识符和安全令牌。服务器(例如120)被设置为使用在代理服务器110与服务器120之间共享的密钥来解密从代理服务器110接收的访问凭证中的安全令牌,以便验证访问凭证已经由代理服务器110(而不是攻击者)生成。如果成功验证安全令牌,则服务器120被设置为接受访问凭证中的用户标识符作为用户已经被认证的确认。
在任意实施方式的替代中,在认证提供处理中,以下列方式将由控制服务器生成的密钥(形成新用户的认证凭证的密钥)提供给终端100的客户端程序220。单次使用密钥被生成并由控制服务器存储,并且单次使用密钥还通过电子邮件发送至用户。一旦用户收到该电子邮件,用户就将单次使用密钥输入终端100的客户端程序220。终端100的客户端程序220随后使用用户输入的单次使用密钥来签字并确认在它与控制服务器之间发送的一系列密钥交换消息。这些密钥交换消息用于协商(negotiate)形成用户的认证凭证的密钥安全传输至终端100的客户端程序200。一旦以这种方式将认证凭证提供给终端100的客户端程序220,单次使用密钥就失效。
上述实施方式的终端100至104、代理服务器110、服务器120至124、中继服务器和控制服务器可以被设置为通过执行计算机可读介质中保存的计算机程序来根据上述实施方式操作。计算机可读介质包括计算机存储介质和通信介质,它们包括有利于计算机程序从一个地方转移至另一个地方的任意介质。存储介质可以是可由计算机访问的任意可用介质。例如但不限于,此计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储器,或可用于携带或存储具有指令或数据结构形式的所需程序代码且可由计算机访问的任何其他介质。同样,任意连接被恰当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波等无线技术从网站、服务器或其他远程数据源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电和微波等无线技术包括在介质的定义中。本文所使用的磁盘(Disk)和光盘(disc)包括压缩光盘(CD)、激光盘、光学盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性地再现数据,而光盘通过激光光学地再现数据。因此,在某些方面,计算机可读介质可以包括非瞬态计算机可读介质(例如,有形介质)。另外,在某些方面,计算机可读介质可以包括瞬态计算机可读介质(例如,信号)。上文的组合也应包括在计算机可读介质的范围内。
应理解的是,描述的与任意一个实施方式有关的任意特征可以单独使用,或者可以结合描述的其他特征使用,并且还可以结合任意其他实施方式的一个或多个特征,或任意其他实施方式的任意组合使用。此外,在不偏离在所附权利要求中限定的本发明的范围的情况下,还可以采用上文未描述的等同物和变形。

Claims (17)

1.一种向承载服务的服务器提供与所述服务的用户相关联的访问凭证的方法,所述方法包括:
基于终端的所述用户适用的认证凭证与关联于所述用户的所述终端建立第一数据连接;
响应于建立所述第一数据连接,与所述服务器建立第二数据连接,并桥接所述第一数据连接和所述第二数据连接以便在所述终端与所述服务器之间建立第一通信会话,所述第一通信会话将第一通信协议用于经由所述第一数据连接和所述第二数据连接中的每一个进行的通信;
与所述服务器建立第二通信会话,所述第二通信会话与所述第一通信会话分开地配置并且使用第二通信协议,并经由所述第二通信会话从所述服务器接收对与所述用户相关联的访问凭证的请求,所述请求包括由所述服务器在所述第一通信会话中接收的信息;以及
基于所述信息识别所述访问凭证,并经由所述第二通信会话将所述访问凭证传输至所述服务器,所述访问凭证用于使得所述终端能够经由所述第一通信会话访问所述服务。
2.根据权利要求1所述的方法,其中,对访问凭证的请求中的信息包括与所述用户相关联的认证凭证,其中,接收的认证凭证由所述服务器在所述第一通信会话中从所述终端接收,所述方法包括:
使用所述终端的用户适用的所述认证凭证来验证所述接收的认证凭证,并根据所述验证识别所述访问凭证。
3.根据权利要求2所述的方法,其中,所述接收的认证凭证包括使用所述终端的用户适用的认证凭证来生成的消息认证码,并且其中,所述对访问凭证的请求中的信息包括用户标识符,所述方法包括:
使用所述终端的用户适用的所述认证凭证来验证所述接收的认证凭证中的消息认证码,并且
响应于所述消息认证码的验证,识别与所述用户标识符相关联的访问凭证。
4.根据权利要求1-3中的任一项所述的方法,其中,所述对访问凭证的请求中的信息包括识别所述第一数据连接和所述第二数据连接中的一个的数据连接标识符,所述方法包括:
存储所述第一数据连接和所述第二数据连接之间的关联,以及
响应于接收所述对访问凭证的请求中的数据连接标识符,检索所存储的关联以便确定用于建立所述第一数据连接的认证凭证,并基于所述认证凭证识别所述访问凭证。
5.根据权利要求4所述的方法,其中,在所述终端与代理服务器之间建立所述第一数据连接,其中,在所述代理服务器与所述服务器之间建立所述第二数据连接,并且其中,所述数据连接标识符识别用于建立所述第二数据连接的所述代理服务器的通信端口。
6.根据权利要求1-3中的任一项所述的方法,其中,所述终端的用户适用的所述认证凭证包括所述用户适用的并在作为认证提供处理的一部分的建立第一数据连接之前传输的一个或多个密钥,所述认证提供处理包括:
生成将要与所述终端共享的一个或多个密钥;
使所述一个或多个密钥与关联于所述用户的访问凭证相关联,以及
存储所述一个或多个密钥,并将所述一个或多个密钥传输至所述终端,由此与所述终端共享认证凭证。
7.根据权利要求1-3中的任一项所述的方法,所述方法包括:
接收建立所述第一数据连接的请求,所述请求包括基于所述终端的用户适用的认证凭证的验证信息,以及
响应于接收建立所述第一数据连接的请求,使用所述终端的用户适用的所述认证凭证验证所述验证信息,并基于所述验证来与所述终端建立第一数据连接。
8.根据权利要求1-3中的任一项所述的方法,进一步包括:建立多个所述第一通信会话和所述第二通信会话,多个所述第一通信会话和所述第二通信会话均与所述终端和由所述服务器承载的相应服务相关联并且每个服务需要访问凭证来使所述终端能够访问给定的所述服务,所述方法包括基于由给定服务器经由给定的所述第一通信会话从所述终端接收的相应信息来识别相应访问凭证。
9.根据权利要求1-3中的任一项所述的方法,其中,在由防火墙隔开的所述终端与代理服务器之间建立所述第一数据连接,其中,在所述代理服务器与所述服务器之间建立所述第二数据连接,并且其中,所述第一数据连接经由使得能够经由所述防火墙建立第一连接的一个或多个中继服务器来建立。
10.根据权利要求1-3中的任一项所述的方法,其中,将要用于建立所述第一数据连接的加密认证凭证存储在所述终端,其中,所述加密认证凭证使用用户密码来加密,并且其中,作为由服务器执行的密码更改处理的一部分,所述用户密码在与所述终端的用户相关联的多个所述终端处更改,所述密码更改处理包括:
接收在所述终端处输入的新密码的哈希值;
识别与所述终端的用户相关联的多个其他终端;
将所述新密码的哈希值传输至所述多个其他终端,并且
其中,每个所述多个其他终端使用所述新密码的哈希值来加密将要用于建立相应第一数据连接的认证凭证。
11.根据权利要求10所述的方法,其中,所述密码更改处理进一步包括从桥接所述第一数据连接和所述第二数据连接的实体请求识别所述多个其他终端中的至少一些的数据。
12.一种用于提供访问凭证的系统,包括:
至少一个处理器;以及
至少一个存储器,包括计算机程序代码,其中,所述至少一个存储器和所述计算机程序代码被设置为通过所述至少一个处理器使所述系统至少进行以下操作:
基于终端的用户适用的认证凭证与关联于所述用户的所述终端建立第一数据连接;
响应于建立所述第一数据连接,与服务器建立第二数据连接,并桥接所述第一数据连接和所述第二数据连接以便在所述终端与所述服务器之间建立第一通信会话,所述第一通信会话将第一通信协议用于经由所述第一数据连接和所述第二数据连接中的每一个进行的通信;
与所述服务器建立第二通信会话,所述第二通信会话与所述第一通信会话分开地配置并且使用第二通信协议,并经由所述第二通信会话从所述服务器接收对与所述用户相关联的访问凭证的请求,所述请求包括由所述服务器在所述第一通信会话中接收的信息;以及
基于所述信息识别所述访问凭证,并经由所述第二通信会话将所述访问凭证传输至所述服务器,所述访问凭证用于使得所述终端能够经由所述第一通信会话访问所述服务。
13.根据权利要求12所述的系统,其中,对访问凭证的请求中的信息包括与所述用户相关联的认证凭证,并且其中,接收的认证凭证由所述服务器在所述第一通信会话中从所述终端接收,并且其中,所述至少一个存储器和所述计算机程序代码被设置为通过所述至少一个处理器使所述系统进一步进行以下操作:
使用所述终端的用户适用的所述认证凭证来验证所述接收的认证凭证,并根据所述验证识别所述访问凭证。
14.根据权利要求13所述的系统,其中,所述接收的认证凭证包括使用终端的用户适用的认证凭证来生成的消息认证码,并且其中,所述对访问凭证的请求中的信息包括用户标识符,并且其中,所述至少一个存储器和所述计算机程序代码被设置为通过所述至少一个处理器使所述系统进一步进行以下操作:
使用所述终端的用户适用的所述认证凭证来验证所述接收的认证凭证中的消息认证码,并且
响应于所述消息认证码的验证,识别与所述用户标识符相关联的访问凭证。
15.根据权利要求12至14中的任一项所述的系统,其中,所述系统被设置为访问存储装置,并且其中,所述对访问凭证的请求中的信息包括识别所述第一数据连接和所述第二数据连接中的一个的数据连接标识符,并且其中,所述至少一个存储器和所述计算机程序代码被设置为通过所述至少一个处理器使所述系统进一步进行以下操作:
在所述存储装置中存储所述第一数据连接和所述第二数据连接之间的关联,以及
响应于接收所述对访问凭证的请求中的所述数据连接标识符,从所述存储装置检索所存储的关联以便确定用于建立所述第一数据连接的认证凭证,并基于所述认证凭证识别所述访问凭证。
16.根据权利要求15所述的系统,其中,在所述终端与代理服务器之间建立所述第一数据连接,其中,在所述代理服务器与所述服务器之间建立所述第二数据连接,并且其中,所述数据连接标识符识别用于建立所述第二数据连接的所述代理服务器的通信端口。
17.一种用于向承载服务的服务器提供与所述服务的用户相关联的访问凭证的代理服务器,所述代理服务器包括处理系统和通信接口,其中,所述处理系统被设置为:
基于终端的所述用户适用的认证凭证经由所述通信接口与关联于所述用户的所述终端建立第一数据连接;
响应于建立所述第一数据连接,经由所述通信接口与所述服务器建立第二数据连接,并桥接所述第一数据连接和所述第二数据连接以便在所述终端与所述服务器之间建立第一通信会话,所述第一通信会话将第一通信协议用于经由所述第一数据连接和所述第二数据连接中的每一个进行的通信;
经由所述通信接口与服务器建立第二通信会话,所述第二通信会话与所述第一通信会话分开地配置并且使用第二通信协议,并经由所述第二通信会话从所述服务器接收对与所述用户相关联的访问凭证的请求,所述请求包括由所述服务器在所述第一通信会话中接收的信息;以及
基于所述信息识别所述访问凭证,并经由所述第二通信会话将所述访问凭证传输至所述服务器,所述访问凭证用于使得所述终端能够经由所述第一通信会话访问所述服务。
CN201280021581.6A 2011-05-05 2012-05-02 用于提供访问凭证的系统和方法 Active CN103503408B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/101,962 2011-05-05
US13/101,962 US9130935B2 (en) 2011-05-05 2011-05-05 System and method for providing access credentials
PCT/US2012/036175 WO2012151312A1 (en) 2011-05-05 2012-05-02 System and method for providing access credentials

Publications (2)

Publication Number Publication Date
CN103503408A CN103503408A (zh) 2014-01-08
CN103503408B true CN103503408B (zh) 2017-10-20

Family

ID=46052924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280021581.6A Active CN103503408B (zh) 2011-05-05 2012-05-02 用于提供访问凭证的系统和方法

Country Status (4)

Country Link
US (1) US9130935B2 (zh)
EP (1) EP2705642B1 (zh)
CN (1) CN103503408B (zh)
WO (1) WO2012151312A1 (zh)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8875261B2 (en) * 2008-10-22 2014-10-28 International Business Machines Corporation Rules driven multiple passwords
JP5870527B2 (ja) * 2011-07-26 2016-03-01 株式会社リコー 出力振り分けシステム、出力振り分け装置、出力先情報提供装置および記録媒体
US9965614B2 (en) 2011-09-29 2018-05-08 Oracle International Corporation Mobile application, resource management advice
US9191394B2 (en) * 2012-02-08 2015-11-17 Microsoft Technology Licensing, Llc Protecting user credentials from a computing device
GB2500229B (en) * 2012-03-14 2014-08-06 Canon Kk Method,system and server device for transmitting a digital resource in a client-server communication system
US9672574B2 (en) 2012-03-20 2017-06-06 Facebook, Inc. Bypass login for applications on mobile devices
US9154568B2 (en) * 2012-03-20 2015-10-06 Facebook, Inc. Proxy bypass login for applications on mobile devices
US9432304B2 (en) 2012-03-26 2016-08-30 Oracle International Corporation System and method for supporting live migration of virtual machines based on an extended host channel adaptor (HCA) model
US8949952B2 (en) * 2012-04-25 2015-02-03 Cisco Technology, Inc. Multi-stack subscriber sign on
US9699169B2 (en) * 2012-05-10 2017-07-04 Symantec Corporation Computer readable storage media for selective proxification of applications and method and systems utilizing same
US9124628B2 (en) * 2012-09-20 2015-09-01 Cisco Technology, Inc. Seamless engagement and disengagement of transport layer security proxy services
US9680813B2 (en) * 2012-10-24 2017-06-13 Cyber-Ark Software Ltd. User provisioning
WO2014120691A1 (en) * 2013-01-29 2014-08-07 Good Technology Corporation Methods for activation of an application on a user device
US9432336B2 (en) * 2013-02-13 2016-08-30 Blackberry Limited Secure electronic device application connection to an application server
US9990221B2 (en) 2013-03-15 2018-06-05 Oracle International Corporation System and method for providing an infiniband SR-IOV vSwitch architecture for a high performance cloud computing environment
US9306943B1 (en) * 2013-03-29 2016-04-05 Emc Corporation Access point—authentication server combination
US9843512B2 (en) 2013-08-27 2017-12-12 Oracle International Corporation System and method for controlling a data flow in an engineered system for middleware and application execution
US9559990B2 (en) 2013-08-27 2017-01-31 Oracle International Corporation System and method for supporting host channel adapter (HCA) filtering in an engineered system for middleware and application execution
WO2015042547A1 (en) 2013-09-20 2015-03-26 Oracle International Corporation Web-based interface integration for single sign-on
CN105493439A (zh) * 2013-09-25 2016-04-13 迈克菲股份有限公司 用于单登录的代理认证
US11461283B2 (en) * 2013-10-14 2022-10-04 Red Hat, Inc. Migrating file locks in distributed file systems
CA2930335C (en) 2013-11-14 2023-10-10 Pleasant Solutions Inc. System and method for credentialed access to a remote server
JP6255091B2 (ja) * 2013-11-25 2017-12-27 マカフィー, エルエルシー プライベートデータを保護するセキュアプロキシ
AU2015205511B2 (en) 2014-01-10 2017-10-19 Priviti Pte. Ltd. System and method for communicating credentials
KR102218295B1 (ko) * 2014-02-06 2021-02-22 삼성전자주식회사 가전 기기, 가전 기기의 네트워크 연결 시스템 및 가전 기기의 네트워크 연결 방법
JP5962690B2 (ja) * 2014-02-21 2016-08-03 コニカミノルタ株式会社 管理サーバー、接続支援方法および接続支援プログラム
WO2015199592A1 (en) * 2014-06-26 2015-12-30 Telefonaktiebolaget L M Ericsson (Publ) Handling of service level agreement
EP3164977B1 (en) * 2014-07-03 2020-03-25 ABB Schweiz AG An apparatus and a method for processing data
US9712563B2 (en) 2014-07-07 2017-07-18 Cyber-Ark Software Ltd. Connection-specific communication management
US10187483B2 (en) * 2014-08-12 2019-01-22 Facebook, Inc. Managing access to user information by applications operating in an online system environment
US9723009B2 (en) * 2014-09-09 2017-08-01 Oracle International Corporation System and method for providing for secure network communication in a multi-tenant environment
US9641503B2 (en) * 2014-10-03 2017-05-02 Amazon Technologies, Inc. Using credentials stored in different directories to access a common endpoint
EP3234847B1 (en) * 2014-12-15 2019-07-10 BlackBerry Limited Secure storage
US9717003B2 (en) * 2015-03-06 2017-07-25 Qualcomm Incorporated Sponsored connectivity to cellular networks using existing credentials
CN104880880B (zh) 2015-06-23 2018-01-26 合肥京东方光电科技有限公司 一种阵列基板、显示面板及其制备方法
US10078747B2 (en) * 2015-06-23 2018-09-18 Microsoft Technology Licensing, Llc Resumption of logon across reboots
US9923888B2 (en) * 2015-10-02 2018-03-20 Veritas Technologies Llc Single sign-on method for appliance secure shell
US10326730B2 (en) 2016-06-27 2019-06-18 Cisco Technology, Inc. Verification of server name in a proxy device for connection requests made using domain names
US10432571B2 (en) * 2016-08-16 2019-10-01 Oath Inc. Automated connection of electronic messaging and social networking services method and apparatus
US10701049B2 (en) * 2016-09-30 2020-06-30 Palo Alto Networks, Inc. Time-based network authentication challenges
CN106453418A (zh) * 2016-12-07 2017-02-22 武汉斗鱼网络科技有限公司 一种验证方法及系统
US11238681B2 (en) * 2017-01-09 2022-02-01 Carrier Corporation Access control system with local mobile key distribution
EP3520320A4 (en) * 2017-02-13 2020-03-04 Hewlett-Packard Development Company, L.P. AUTHENTICATED ENCRYPTION
US11095631B1 (en) * 2017-04-17 2021-08-17 T Stamp Inc. Systems and methods for identity verification via third party accounts
KR102392270B1 (ko) * 2017-09-18 2022-04-29 에스케이플래닛 주식회사 사용자단말 및 그 동작 방법, 그리고 아이오티장치
JP6577546B2 (ja) * 2017-09-25 2019-09-18 株式会社東芝 リモートアクセス制御システム
US20190141125A1 (en) * 2017-11-03 2019-05-09 Bank Of America Corporation Cross application access provisioning system
US11750385B2 (en) 2017-11-16 2023-09-05 Prisec Innovation Limited System and method for authenticating a user
US11075906B2 (en) * 2017-12-28 2021-07-27 Shoppertrak Rct Corporation Method and system for securing communications between a lead device and a secondary device
US10949526B2 (en) * 2018-01-25 2021-03-16 Salesforce.Com, Inc. User device authentication
US20190278903A1 (en) * 2018-03-06 2019-09-12 GM Global Technology Operations LLC Vehicle control module security credential replacement
US11093771B1 (en) 2018-05-04 2021-08-17 T Stamp Inc. Systems and methods for liveness-verified, biometric-based encryption
US11496315B1 (en) 2018-05-08 2022-11-08 T Stamp Inc. Systems and methods for enhanced hash transforms
US10757095B1 (en) * 2018-06-07 2020-08-25 Sprint Communications Company L.P. Unix password replication to a set of computers
US10931448B2 (en) 2018-06-28 2021-02-23 DISH Technologies L.L.C. Authentication through secure sharing of digital secrets previously established between devices
US10831916B2 (en) * 2018-08-01 2020-11-10 Sogang University Research Foundation Method for blocking access of malicious application and storage device implementing the same
US11301586B1 (en) 2019-04-05 2022-04-12 T Stamp Inc. Systems and processes for lossy biometric representations
US20220182386A1 (en) * 2019-04-18 2022-06-09 Visa International Service Association Method, system, and computer program product for controlling access in a network of servers
JP7283232B2 (ja) * 2019-06-03 2023-05-30 オムロン株式会社 情報提供方法および情報提供システム
US11380152B2 (en) * 2019-07-12 2022-07-05 Carrier Corporation Method and system for changing the premises
JP2021089469A (ja) * 2019-12-02 2021-06-10 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
EP3893463A1 (en) * 2020-04-06 2021-10-13 Telia Company AB Setting up a connection
US11057381B1 (en) * 2020-04-29 2021-07-06 Snowflake Inc. Using remotely stored credentials to access external resources
US11967173B1 (en) 2020-05-19 2024-04-23 T Stamp Inc. Face cover-compatible biometrics and processes for generating and using same
CN111669746B (zh) * 2020-06-08 2023-04-21 厦门理工学院 一种用于物联网信息安全的防护系统
US20220103549A1 (en) * 2020-09-29 2022-03-31 Schneider Electric USA, Inc. Management of setting change propagation in networked devices
US11416291B1 (en) * 2021-07-08 2022-08-16 metacluster lt, UAB Database server management for proxy scraping jobs
CN113378153B (zh) * 2021-08-12 2021-11-19 中移(上海)信息通信科技有限公司 认证方法、第一服务设备、第二服务设备及终端设备
US11770418B2 (en) * 2022-01-31 2023-09-26 Ping Identity Corporation Methods, systems, and apparatus for credential format and protocol management
CN114553592B (zh) * 2022-03-23 2024-03-22 深圳市美科星通信技术有限公司 一种设备身份验证的方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249590A (zh) * 1998-09-29 2000-04-05 电话通有限公司 在代理服务器中为无线用户代理缓存印鉴的方法和装置
WO2007068716A1 (en) * 2005-12-15 2007-06-21 International Business Machines Corporation Method, apparatus and program products for custom authentication of a principal in a federation by an identity provider

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836474B1 (en) * 2000-08-31 2004-12-28 Telefonaktiebolaget Lm Ericsson (Publ) WAP session tunneling
US6947404B1 (en) * 2000-11-06 2005-09-20 Nokia Corporation Automatic WAP login
US7360075B2 (en) * 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US6988147B2 (en) * 2001-05-31 2006-01-17 Openwave Systems Inc. Method of establishing a secure tunnel through a proxy server between a user device and a secure server
US7506058B2 (en) * 2001-12-28 2009-03-17 International Business Machines Corporation Method for transmitting information across firewalls
US7454785B2 (en) * 2002-12-19 2008-11-18 Avocent Huntsville Corporation Proxy method and system for secure wireless administration of managed entities
US20050015490A1 (en) 2003-07-16 2005-01-20 Saare John E. System and method for single-sign-on access to a resource via a portal server
US7278024B2 (en) * 2003-07-16 2007-10-02 Intel Corporation Session authentication using temporary passwords
US20050108574A1 (en) * 2003-11-18 2005-05-19 International Business Machines Corporation Method and system for communication between a multi-modal device and a web application
US9800550B2 (en) * 2008-01-31 2017-10-24 International Business Machines Corporation Method and system for pervasive access to secure file transfer servers
US9736153B2 (en) 2008-06-27 2017-08-15 Microsoft Technology Licensing, Llc Techniques to perform federated authentication
US20100138501A1 (en) 2008-12-03 2010-06-03 Microsoft Corporation End-to-end validation in a push environment
US8064896B2 (en) 2009-03-09 2011-11-22 Apple Inc. Push notification service
US8601556B2 (en) * 2009-06-22 2013-12-03 Citrix Systems, Inc. Systems and methods for handling SSL session not reusable across multiple cores

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249590A (zh) * 1998-09-29 2000-04-05 电话通有限公司 在代理服务器中为无线用户代理缓存印鉴的方法和装置
WO2007068716A1 (en) * 2005-12-15 2007-06-21 International Business Machines Corporation Method, apparatus and program products for custom authentication of a principal in a federation by an identity provider

Also Published As

Publication number Publication date
EP2705642A1 (en) 2014-03-12
EP2705642B1 (en) 2017-04-26
US20120284786A1 (en) 2012-11-08
CN103503408A (zh) 2014-01-08
WO2012151312A1 (en) 2012-11-08
US9130935B2 (en) 2015-09-08

Similar Documents

Publication Publication Date Title
CN103503408B (zh) 用于提供访问凭证的系统和方法
CN101009561B (zh) 用于imx会话控制和认证的系统和方法
KR101202671B1 (ko) 사용자가 가입자 단말에서 단말 장치에 원격으로 접속할 수있게 하기 위한 원격 접속 시스템 및 방법
US7805606B2 (en) Computer system for authenticating a computing device
CN101201727B (zh) 通过网络的打印机选择支持装置及系统
KR101508360B1 (ko) 데이터 전송 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
EP2622786B1 (en) Mobile handset identification and communication authentication
US7716724B2 (en) Extensible authentication protocol (EAP) state server
CN1615632B (zh) 用于支持对有线和无线客户端的服务器端认证的方法、装置和系统
EP1635502B1 (en) Session control server and communication system
US10084888B2 (en) Method and apparatus for accelerating web service with proxy server
CN1842993B (zh) 提供证书
US20040010713A1 (en) EAP telecommunication protocol extension
US11870760B2 (en) Secure virtual personalized network
CN109548022A (zh) 一种移动终端用户远程接入本地网络的方法
JP4963425B2 (ja) セッション鍵共有システム、第三者機関装置、要求側装置、および応答側装置
JP2017163186A (ja) 端末間通信システム及び端末間通信方法及びコンピュータプログラム
CN112398805A (zh) 在客户机和服务机之间建立通信通道的方法
JP2019165291A (ja) 端末装置、通信路確立方法、端末装置用のプログラム、および、認証システム
CN117077114A (zh) 一种内核层与应用层的通信优化方法、装置、设备及介质
JP2003023432A (ja) 無線lanに適したネットワークアクセス制御方法、そのシステム及びそのプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170118

Address after: Voight, Canada

Applicant after: Good Technology Holdings Ltd.

Address before: Delaware

Applicant before: GOOD TECHNOLOGY Corp.

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170125

Address after: Voight, Canada

Applicant after: Good Technology Holdings Ltd.

Address before: Delaware

Applicant before: GOOD TECHNOLOGY Corp.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180118

Address after: Voight, Ontario, Canada

Patentee after: BlackBerry Ltd.

Address before: Voight, Canada

Patentee before: Good Technology Holdings Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240523

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Voight, Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right