CN108475312A - 用于装置安全外壳的单点登录方法 - Google Patents

用于装置安全外壳的单点登录方法 Download PDF

Info

Publication number
CN108475312A
CN108475312A CN201680066669.8A CN201680066669A CN108475312A CN 108475312 A CN108475312 A CN 108475312A CN 201680066669 A CN201680066669 A CN 201680066669A CN 108475312 A CN108475312 A CN 108475312A
Authority
CN
China
Prior art keywords
client device
storage device
session
user
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680066669.8A
Other languages
English (en)
Other versions
CN108475312B (zh
Inventor
V·戈埃尔
R·科顿
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.)
China Ruitai Technology LLC
Original Assignee
China Ruitai Technology LLC
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 China Ruitai Technology LLC filed Critical China Ruitai Technology LLC
Publication of CN108475312A publication Critical patent/CN108475312A/zh
Application granted granted Critical
Publication of CN108475312B publication Critical patent/CN108475312B/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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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/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/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了用于有效地建立用于访问Web资源的安全外壳连接的系统和方法。用户尝试在客户端计算设备与远程存储设备之间建立安全的超文本传输协议(HTTP)会话。所述存储设备将所述客户端计算设备的Web浏览器重定向到用于授权所述用户的单点登录(SSO)第三方身份提供商。在成功授权之后,所述客户端计算设备接收用于维护安全HTTP会话的信息。该信息存储在所述存储设备上。所述用户尝试建立基于文本的安全外壳会话。所述用户不会被提示提供登录凭据。然而,使用所述先前存储的信息对所述用户进行认证,并且建立基于文本的安全外壳会话。

Description

用于装置安全外壳的单点登录方法
背景技术
技术领域
本发明涉及安全网络通信领域,并且更具体地涉及有效地建立用于访问Web资源的安全外壳连接。
相关领域的描述
早期的客户端一服务器计算模型利用多个客户端计算设备中的每一个客户端计算设备上的代码以及远程服务器上的代码来获得支持的客户端-服务器应用程序。客户端计算设备的代码提供了用户界面,并且代码被安装在多个客户端计算设备中的每一个客户端计算设备上。升级导致对多个客户端计算设备中的每一个客户端计算设备上的代码的更改。另外,客户端计算设备和服务器的代码通常取决于给定指令集架构(ISA)和操作系统(OS)。
基于Web的应用程序通过利用标准语言格式创建的网页来处理上述许多问题。客户端计算设备上的Web浏览器将请求传输到存储所请求的网页的远程Web服务器。Web浏览器使用超文本传输协议(HTTP)来传输请求。当成功访问特定网页时,在远程Web服务器上托管的应用程序的客户端代码被下载到客户端计算设备。
托管应用程序的远程Web服务器可限制对特定用户组的应用程序的访问。用于客户端一服务器计算模型的早期安全实践使用HTTP基本认证,其中用户提供了用于在允许用户访问托管应用程序之前认证用户的凭据。这种类型的认证提示用户提供用于每次访问通过远程Web服务器可用的其他资源的凭据,尽管用户已被认证。另外,一旦用户被认证,可包括编码格式的凭据的应用编程接口(API)密钥用于每个请求的标头。获得由已认证用户使用的计算设备的访问权限的恶意用户可逆向工程计算设备上的应用程序的客户端代码并获得所存储的API密钥。
令牌认证提供了对访问在远程Web服务器上托管的基于Web的应用程序的每个连接的计算设备的跟踪,并且当用户已经认证时不会提示提供用于访问通过远程Web服务器可用的其他资源的凭据。操作系统通过隐藏访问令牌的存储来提供附加的安全性。此外,访问令牌的有效期限限制了恶意用户获得访问令牌的潜在损害。认证服务用于验证用户凭据并生成将要在远程Web服务器上的会话期间使用的临时访问令牌。
令牌认证的生成和维护是很复杂的。开发人员更倾向于把时间用在创建基于Web的应用程序并在线获取应用程序以及快速运行上,而不是花费大量的时间来编写用于支持和维护令牌认证的代码。此外,对于许多类型的任务和对应的基于Web的应用程序,特定用户(诸如系统管理员)更喜欢使用安全外壳(SSH)用户界面。SSH用户界面为OS和基于Web的应用程序提供了命令行界面(CLI)。然而,尽管系统管理员已经在托管基于Web的应用程序的远程Web服务器上建立了HTTP会话,但是SSH访问通常会提示用户进行另一次登录尝试。认证服务还可在验证凭据时使用HTTP重定向。SSH用户界面无法支持HTTP重定向。
鉴于上述情况,需要用于有效地建立用于访问Web资源的安全外壳连接的改进的系统和方法。
发明内容
设想了用于有效地建立用于访问Web资源的安全外壳连接的系统和方法。在各种实施方案中,存储服务设备被部署在商业环境中的多个设备之间,诸如相对较小的商业环境或者大型企业环境。存储服务设备也可被称为存储设备。多个客户端计算设备可通过网络(诸如互联网或基于云端的网络)远程连接到存储设备。该环境可包括用于处理用户管理的第三方认证服务,其也被称为身份提供商,诸如对远程存储设备上的web资源的访问受到限制的用户进行认证。
第三方身份提供商(IDP)使用一个或多个超文本传输协议(HTTP)重定向,同时执行认证用户的步骤。客户端计算设备上的用户Web浏览器和存储设备上的Web服务支持HTTP重定向。然而,HTTP重定向不受用于在客户端计算设备与远程存储设备之间建立安全外壳连接的安全外壳(SSH)代码(进程)的支持。
在利用SSO身份提供商实现成功授权之后,存储设备可将访问令牌和可选的刷新令牌发送到客户端计算设备。另外,存储设备可发送包括会话cookie、互联网协议(IP)地址和媒体访问控制(MAC)地址中的一个或多个的客户端设备标识符(ID)。存储设备可存储访问令牌和/或可选的刷新令牌以及客户端设备ID。当用户请求基于文本的安全外壳会话时,至少所存储的访问令牌和所存储的客户端设备ID随后可用于在不使用第三方身份提供商的情况下对用户进行认证。至少所存储的访问令牌可用于认证来自客户端设备的针对存储设备上的web资源的访问请求。。此时,在客户端计算设备与远程存储设备之间为用户建立安全HTTP会话。用户可使用安全HTTP会话发送请求,其中这些请求至少包括访问令牌和/或可选的刷新令牌以及客户端设备ID。
稍后,用户可请求存储设备上的web应用程序在客户端计算设备与存储设备之间建立基于文本的安全外壳(SSH)连接。在各种实施方案中,该请求包括用户名、访问令牌和/或可选的刷新令牌以及客户端设备ID。将请求发送到远程存储设备上的Web应用程序以进行基于文本的安全外壳(SSH)会话时,不会提示用户提供登录凭据。另外,在为基于文本的SSH会话认证用户的步骤中,不会提示用户提供登录凭据。
远程存储设备接收基于文本的SSH会话的请求,并在不使用第三方身份提供商的情况下在本地认证用户。相反,远程存储设备可使用先前存储的访问令牌和/或刷新令牌以及客户端设备ID和用户名。远程存储设备可使用身份和访问管理器(IAM)来认证用户。没有使用HTTP重定向来执行认证。在一些实施方案中,与生成用于安全HTTP会话的一个或多个令牌分开的访问令牌和可选的刷新令牌对创建用于基于文本的安全外壳会话。在其他实施方案中,用于安全HTTP会话的相同访问令牌和可选的刷新令牌对用于基于文本的安全外壳会话。远程存储设备向客户端计算设备发送用户正在为SSH会话进行认证的通知。虽然在系统中使用了第三方身份提供商,但是用户能够在客户端计算设备与远程存储设备之间使用基于文本的安全外壳连接而无需登录步骤请求凭据。可在客户端计算设备上的web浏览器内向用户呈现命令行界面(CLI)。
参考以下描述和附图将理解这些和其他实施方案。
附图说明
图1是示出了使用第三方单点登录(SSO)服务在托管Web资源的远程存储设备上建立安全HTTP会话的一个实施方案的一般化框图。
图2是示出了继续使用第三方SSO服务在托管Web资源的远程存储设备上建立安全HTTP会话的一个实施方案的一般化框图。
图3是示出了在使用第三方SSO服务建立安全HTTP会话之后,在远程存储设备上建立基于文本的安全外壳会话的一个实施方案的一般化框图。
图4是示出了用于使用第三方SSO服务在托管Web资源的远程存储设备上建立安全HTTP会话的方法的一个实施方案的流程图。
图5是示出了在使用第三方SSO服务建立安全HTTP会话之后,用于在远程存储设备上建立基于文本的安全外壳会话的方法的一个实施方案的流程图。
尽管本发明容许各种修改和替代形式,但是具体实施方案以举例的方式在附图中示出并且将在本文中详细描述。但应当理解,附图以及对其进行的详细描述并不旨在将本发明限制为所公开的特定形式,恰恰相反,其目的在于涵盖落入由所附权利要求限定的本发明精神和范围内的所有修改形式、等同形式和替代形式。
具体实施方式
在以下描述中,阐述了许多具体细节以提供对本发明的透彻理解。但本领域普通技术人员应当认识到,可在没有这些具体细节的情况下实践本发明。在一些情况下,未详细示出公知的电路、结构、信号、计算机程序指令以及技术,以避免模糊本发明。
存储服务设备(其也可被称为存储设备)可被部署在各种商业或其他环境中的任何一者中。在一些实施方案中,存储设备是远程基于Web的备份服务器。在其他实施方案中,存储设备是专用备份装置(PBBA)或存储装置。在此类环境中,多个客户端计算设备(客户端设备)可通过网络(诸如互联网或基于云端的网络)远程连接到存储设备。此类客户端计算设备的示例包括台式计算机、膝上型电脑、平板电脑、智能电话等。
对于在客户端设备上工作的一个或多个用户,存储设备可提供对在存储设备上托管的资源的受限访问。在一些实施方案中,该环境可包括用于处理用户管理(诸如受限访问)的第三方认证服务,其也被称为身份提供商。第三方身份提供商(IDP)可使用单点登录(SSO)服务。利用SSO服务,无论在初始登录之后访问的单独应用程序的数量如何,用户只需提供一次凭据。除上述之外,第三方身份提供商(IDP)可在执行认证用户的步骤的同时使用一个或多个HTTP重定向。HTTP重定向通常由客户端设备上的用户Web浏览器和存储设备上的Web服务支持。然而,用于建立到存储设备的安全连接的安全外壳(SSH)代码(进程)不支持此类HTTP重定向。
在下面的讨论中,图1和图2中示出了用于建立安全HTTP会话的实施方案。在建立安全HTTP会话之后,图3描绘了在没有用户登录提示并且不使用第三方身份提供商的情况下建立安全外壳会话。最后,图4和图5各自示出了用于在客户端设备的存储设备上建立安全HTTP会话和基于文本的安全外壳会话的方法。
参考图1,示出了使用第三方单点登录(SSO)服务在托管Web资源的远程存储设备上建立安全HTTP会话的一个实施方案的一般化框图。在所示的实施方案中,单个客户端计算设备110连接到存储服务设备120。然而,在各种其他实施方案中,多个客户端计算设备连接到存储服务设备120并连接到一个或多个其他设备或服务器。为了便于说明,未示出其他多个设备和服务器。客户端计算设备110也可被称为客户端设备110。存储服务设备120也可被称为存储设备120。客户端设备110也被示出为连接到第三方身份提供商150。身份提供商150可包括一个或多个服务器130至140以及用于提供目录服务和认证服务中的一个或多个的软件。
客户端设备110的示例至少包括台式计算机、膝上型电脑、平板电脑、智能电话等。在一些实施方案中,存储设备120是诸如磁盘存储器、备份服务器、附网存储(NAS)设备、存储区域网络(SAN)设备等类型的存储设备。在其他实施方案中,存储设备120是专用备份装置(PBBA)。PBBA也可被称为存储装置。通常,存储装置是基于与软件一起销售的通用和认证服务器硬件的服务器,其中硬件和软件由同一供应商提供。存储装置可包括服务器、数据存储、操作系统、备份软件和去重软件。存储装置的一体化方法可能带来相对较快的安装(部署)时间。存储装置可以提供存储,在另一个设备或另一个存储介质上启用存储并且/或者为物理系统和虚拟系统两者提供去重。
存储装置通常提供容量在4兆兆字节(TB)到500TB之间的数据存储。因此,存储装置可取代基于磁带的备份和恢复处理。在其他环境(诸如企业环境和大型机环境)中,存储装置可与基于磁带的系统一起部署。存储装置可用于基于云端的存储或前提存储。客户端设备110与存储设备120之间的连接至少可包括互联网,其中客户端设备110和存储设备120中的每一个使用超文本传输协议(HTTP)传输消息。
在各种实施方案中,客户端设备110可包括一个或多个处理器内核,其包括用于根据预定义的通用指令集架构(ISA)执行指令的电路。例如,可选择指令集架构(ISA)。另选地,可选择x86、 或任何其他ISA。在其他实施方案中,客户端设备110可包括具有一个或多个处理器的片上系统(SOC),其利用非常宽的单指令多数据(SIMD)架构以在高度数据并行应用程序中实现高吞吐量。例如,客户端设备110可包括图形处理单元(GPU)、数字信号处理器(DSP)等中的一个或多个。
客户端设备110可使用Mac OS X操作系统、Microsoft Windows操作系统、Unix类操作系统、移动设备操作系统或者其中硬盘被分区以托管多个操作系统的组合。如前所述,客户端设备110的示例至少包括台式计算机、膝上型电脑、平板电脑、智能电话等。客户端设备110可包括诸如Web浏览器112的软件。Web浏览器112可代表许多可用的万维网浏览器,诸如至少Intemet Explorer、Firefox、Google Chrome和Safari。
在各种实施方案中,基于web的用户界面114可以是用于存储设备120上的应用程序124的web浏览器112内的图形用户界面(GUI)。在一些实施方案中,基于web的应用程序用户界面114可以不在客户端设备110的监视器上呈现给用户102,直到用户102被授权。基于web的应用程序用户界面114可以为用户提供易于使用的界面。如本领域技术人员所熟知的,基于web的应用程序用户界面114可能缺乏对高效自动化操作序列(诸如发送批处理作业)的足够支持。
存储设备120可包括多个软件组件,诸如至少操作系统(OS)、Web服务122和至少一个基于Web的应用程序124。OS(未示出)可以代表多种特定操作系统中的任何一种,诸如例如Symantec Appliance操作系统、Linux或Sun Solaris。这样,操作系统可用于提供可操作为支持执行各种程序的软件框架,诸如用于去重、自动备份以及系统管理员的恢复操作的基于Web的应用程序124。Web服务122可验证认证并为授权用户创建基于Web的会话和基于文本的外壳会话。
由存储设备120执行的诸如用于企业信息管理的操作的数据管理操作提供了合规性。合规性可确保文件和报告中包含的数据的准确性和完整性,以及整个企业数据的一致性。企业和小型商业环境都可部署多个存储设备来提供上述数据管理操作。如前所述,该存储设备是存储装置。另外,环境可部署多个客户端设备以支持可以在本地并且/或者远程登录到一个或多个存储设备的多个用户。
用户通常具有包括权限、许可和角色的配置信息。在许多情况下,该用户配置信息对于多个设备上的给定用户是一致的。企业环境通常使用用户目录服务来管理设备上授权用户的身份。如图所示,存储设备120使用第三方身份提供商150进行目录服务操作和用户认证操作。第三方身份提供商150可用于允许开发人员着力创建在存储设备120上托管的基于Web的应用程序,而不是也支持目录服务和认证服务。
第三方身份提供商150还使用Web服务132来至少与客户端设备110进行通信。客户端设备110、存储设备120以及身份提供商150中的每一者至少利用超文本传输协议(HTTP)进行通信。在一些实施方案中,第三方身份提供商150使用单点登录(SSO)服务134。在其他实施方案中,第三方提供商可使用集中认证进程。与即使当用户具有授权的HTTP会话时,用户102也被提示提供用于每次访问单独应用程序的凭据的集中认证进程相比,具有SSO服务134的授权HTTP会话用户102仅被认证一次。
利用SSO服务134,无论在授权HTTP会话的初始登录之后访问的单独应用程序的数量如何,用户102仅提供一次凭据,诸如用户名和密码。当用户102在特定的授权HTTP会话期间切换应用程序时,由SSO服务134提供的访问令牌和可选的刷新令牌认证它们给予权限的所有应用程序的用户102,并消除对凭证的进一步提示。SSO身份提供商的一些示例包括Stormpath、OneLogin、PingOne、Keycloak和Auth0。如稍后将描述的那样,即使当第三方提供商使用集中认证进程时,用户102也可仅被认证一次并且通过认证的HTTP会话获得对多个应用程序的访问权限并且获得对认证的基于文本的安全外壳会话的访问权限而不会被提示提供诸如用户名和密码的凭据。
图1示出了用于认证用户102以进行安全HTTP会话的一系列八个步骤。这一系列步骤在图2中继续,其中用户102建立安全HTTP会话并访问基于Web的应用程序124。这一系列步骤在图3中继续。其中用户102被授权进行安全的基于文本的外壳会话而不被提示提供登录凭据。至少使用客户端设备110、存储设备120和身份提供商150的环境可利用基于Web的应用程序和基于云端的应用程序来管理数据,诸如存储设备120上的应用程序124。在一些实施方案中,应用程序124是基于Web的备份和恢复应用程序。另选地,应用程序124是创建、修改和移除卷的基于Web的应用程序。另外,应用程序124可创建、安装和共享文件系统。
一般来讲,Web资源是软件组件、人工痕迹或由基于Web和基于云端的应用程序用于创建、修改、渲染、移除、阅读等的数据和元数据。Web资源可包括文件、文档、存储卷以及基于Web的标识符的任何其他目标。基于Web的标识符可包括统一资源定位符(URL)、统一资源标识符(URI)、国际化资源标识符(IRI)等。Web资源通常收集在诸如基于Web的应用程序的根目录的子目录的位置中。在一些示例中,子目录可被指示为资源/资源一标识符。
Web资源标识符是符合给定格式的唯一字符串,诸如[locale-prefix/][library-name/][library-version/]resource-name[/resource-version]。以使用URL为例,Web资源URL是应用程序124用来访问Web资源的地址。在Web资源是连接到备份和恢复应用程序的备份服务器的情况下,对应的地址可使用诸如http://localhost:9399/api/backupServers/79460354-e7c8-6df2-45a7-01df2bcd9b2a的格式。格式包括基本URL和Web资源位置。
这里,基本URL是到备份和恢复应用程序的RESTful API的入口点,稍后将对此进行进一步描述。本示例中的基本URL是http://localhost:9399/api/。字符串“localhost”是安装备份和恢复应用程序的机器名称。例如,该字符串可识别图1所示的示例中的存储设备120。字符串“9399”是用于与用于访问Web资源的服务器170上的Web服务相关联的RESTAPI进行通信的端口。
上述示例中的Web资源位置是/backupServers/79460354-e7c8-6df2-45a7-01df2bcd9b2a。Web资源位置识别到备份和恢复应用程序的RESTful API中的Web资源本身的路径。Web资源位置作为基本URL的后缀,形成Web资源的URL。Web资源位置可包括统一资源名称(URN)。URL和URN都是统一资源标识符(URI)。然而,URN还与统一资源特征(URC)相关联,其允许用户添加与URN中的Web资源相关联的描述性信息,诸如作者姓名、时间戳、数据大小等。另外,URN可包括唯一地识别Web资源的实体标识符(ID)或密钥。在上述示例中,密钥是79460354-e7c8-6df2-45a7-01df2bcd9b2a。对于名称的示例,访问诸如给定批次的作业设置的作业集合可由URN/jobs7识别。完整的URL可以是http://localhost:9399/api/jobs7。
上述示例中的密钥值在备份和恢复应用程序的RESTful API工作会话期间可能仅对识别相关联的Web资源保持有效。应用程序的RESTful API工作会话或该示例中的应用程序124的工作会话也可被称为超文本传输协议(HTTP)会话。HTTP协议用于万维网(也被称为“Web”或“web”)上的数据通信。Web是经由互联网访问的互联超文本文档(网页)和其他数字资源(诸如上述Web资源)的信息系统。
在各种实施方案中,客户端设备110与存储设备120之间通过网络诸如互联网进行的机器对机器(客户端一服务器)数据通信(通过被称为Web服务的进程维护)可允许使用一组无状态操作操纵Web资源。这种数据通信中使用的Web应用编程接口(API)可使用相对简单的基于表述性状态传递(REST)的通信。使用REST的API被称为RESTful API。RESTful API分解事务以创建一系列较小的事务,每个事务执行完整事务的特定基础功能。这种模块化为开发人员提供了灵活性。
REST架构风格由Web浏览器中的Web API使用。随着基于Web的应用程序和基于云端的应用程序的使用的增加,各种API(诸如RESTfulAPI)正在出现以暴露Web服务。RESTfulAPI通过超文本传输协议(HTTP)与HTTP动词或方法进行通信。HTTP方法(动词)指示将要在识别的Web资源上执行的动作。Web资源可表示预先存在的数据。另选地,Web资源可表示动态生成的数据。HTTP/1.0规范定义了HTTP方法(动词)GET、POST和HEAD。HTTP/1.1规范进一步定义了HTTP方法(动词)OPTIONS、PUT、DELETE、TRACE和CONNECT。
回到图1所示的一系列步骤,步骤1中的用户102尝试访问由存储设备120托管的特定网站上的Web资源,诸如应用程序124。访问请求是对客户端设备110与存储设备120之间的安全HTTP会话的请求。在步骤2中,Web服务122确定用户102当前未被授权或者当前不具有用于与存储设备120进行安全HTTP会话的有效登录。Web服务122存储所请求的应用程序124的网站的位置标识符,诸如互联网上的地址或统一资源定位符(URL)。
在步骤3中,Web服务122向Web浏览器112发送识别第三方身份提供商(IDP)150的单点登录(SSO)服务134(Web资源)的响应。该响应可以是具有包括SSO服务134的目标统一资源标识符(URI)的标头的HTTP重定向响应。响应还可包括编码为URL查询变量的认证请求。在步骤4中,Web浏览器112基于从Web服务122接收到的响应向SSO服务134发送请求。SSO服务134确定用户102是否具有满足默认或所请求的认证策略要求的现有有效登录HTTP会话。这些要求可放置在由Web服务122发送的认证请求中。
当SSO服务134确定用户102还没有有效HTTP会话时,在步骤5中,SSO服务134提示用户102提供凭据。在步骤6中,Web浏览器112发送具有由用户102提供的登录凭据的响应。凭据至少可包括用户名和密码。从客户端设备110到身份提供商150的登录请求可包括由用户102提供的密码的加密版本。客户端设备110可使用安全套接字层(SSL)来将该登录请求发送到身份提供商150。
在步骤7中,身份提供商150确定由用户102提供的所接收的凭据(诸如至少用户名和密码的组合)是否匹配用户102所存储的凭据。如果凭据匹配,则身份提供商150还可检索用户102的用户角色信息,诸如系统管理员角色或普通用户角色以及用户102对应的权限。另外,身份提供商150生成授权断言。授权断言可包括指示用户成功授权的一个或多个令牌、密钥或其他值。身份提供商150可生成访问令牌和刷新令牌两者。身份提供商150可支持一个或多个安全令牌类型,诸如SAML、SPNEGO和X.509。另外,存储设备120可支持这些安全令牌类型。
在步骤8中,身份提供商150准备指示用户102成功授权的响应。身份提供商150中的SSO服务134至少可利用授权断言来创建包括响应信息(诸如用户102的登录安全性上下文)的HTML表单。身份提供商150将HTML表单插入到HTTP响应中。HTML表单通常包括将表单自动发布到目标站点的脚本代码。HTTP响应被发送到客户端设备110。
需注意,尽管出于方便的目的,以上描述描述了特定的一系列步骤,但是在各种实施方案中,所发生的步骤的顺序可以不同。另外,可包括未示出的其他步骤,并且在一些实施方案中,可组合一些步骤并且可除去一些步骤。例如,以上描述描述了服务提供商发起的SSO进程,其中客户端设备110在本示例中最初与服务提供商或存储设备120进行通信。也可以具有身份提供商发起的SSO过程,其中客户端设备110最初与身份提供商150进行通信。设想了所有此类实施方案。
现在转向图2,示出了继续使用第三方SSO服务在托管Web资源的远程存储设备上建立安全HTTP会话的一个实施方案的一般化框图。先前描述的电路、控制逻辑、通信协议和软件的编号与图1所示的编号相同。示出了一系列步骤9至11。客户端设备110已经接收到指示用户102的安全HTTP会话已成功认证的响应。在步骤9中,Web浏览器112将来自身份提供商150的信息转发到存储设备120上的Web服务122。Web浏览器112可由于自动提交脚本而执行转发。该脚本指示将HTTP表单从身份提供商150发送到存储设备120上的Web服务122的HTTP POST请求。
在步骤10中,存储设备120接收来自客户端设备110的HTTP表单,访问数字签名并分析数字签名。身份提供商150将加密数字签名插入到HTTP表单中。加密数字签名使用非对称加密密钥,诸如公钥和对应的私钥。私钥也可被称为秘密密钥。私钥用于为身份提供商150创建数字签名,因此身份提供商150“签署”其生成的授权响应。公共加密密钥用于验证从私钥创建的数字签名。公钥和私钥彼此紧密相连,使得不能使用不同的公钥来认证由私钥创建的数字签名。
在存储设备120验证数字签名之后,它将断言内容中的信息与对应的存储值进行比较。断言内容包括一个或多个用户配置文件属性,诸如用户角色、电子邮件地址和其他身份属性证明。如果该访问检查通过,则存储设备120为用户102生成本地版本的登录安全性上下文。在一些实施方案中,登录安全性上下文包括本地访问令牌和本地刷新令牌。访问令牌用于使用安全HTTP会话来对用户102进行认证,该安全HTTP会话用于在预定时间段内对资源(诸如在存储设备120上托管的应用程序124)进行每次访问。刷新令牌用于在原始访问令牌到期之后生成新的访问令牌。另外,存储设备120可生成包括会话cookie、另一个会话标识符、互联网协议(IP)地址和媒体访问控制(MAC)地址中的一个或多个的客户端设备标识符(ID)。存储设备120可存储客户端设备标识符,以便为来自客户端设备110的随后的请求确定所接收的访问令牌和/或可选的刷新令牌是否有效。在一些实施方案中,web服务122生成并且/或者存储客户端设备标识符(ID)。
在各种实施方案中,应用程序124在存储设备120上执行上述步骤。在其他实施方案中,存储设备120上的另一个组件执行关于图2所示的步骤10的上述步骤。存储设备120从存储的位置信息中检索与应用程序124相关联的所请求的资源URL。在各种实施方案中,web服务122检索存储的位置信息。在步骤11中,存储设备120向Web浏览器112发送HTTP重定向响应以访问应用程序124。在各种实施方案中,web服务122发送HTTP重定向响应。此时,用户102被认为在客户端设备110处“登录”,在存储设备120上具有安全的HTTP会话并且能够访问应用程序124。
现在参考图3,示出了在使用第三方SSO服务建立安全HTTP会话之后,在远程存储设备上建立基于文本的安全外壳会话的一个实施方案的一般化框图。先前描述的电路、控制逻辑、通信协议和软件的编号与图1所示的编号相同。示出了一系列步骤。在客户端设备110上工作的用户102已经通过存储设备120上的授权和安全HTTP会话获得了对应用程序124的访问权限。如图所示,存储设备120包括安全外壳界面326和认证管理模块328。
安全外壳界面326是用于提供支持安全(加密)网络协议的界面的进程的代码。该安全网络协议允许访问存储设备120上的OS的服务。安全外壳界面326向OS的服务、应用程序124和存储设备120上的其他软件应用程序提供命令行界面(CLI)。在用户102被授权进行存储设备120上的安全HTTP会话之后,用户102可发起对存储设备120上的基于文本的安全外壳会话的请求。在一些实施方案中,基于web的应用程序用户界面114可包括用于请求存储设备120上的基于文本的安全外壳(SSH)会话的按钮。用于发起请求的其他机制是可能的并且可以设想用于发起请求的其他机制。基于文本的安全外壳会话可使用加密的网络协议在客户端设备110与存储设备120之间传输消息。基于文本的安全外壳会话的示例包括Windows操作系统上的PuTTY和Unix类操作系统上的安全外壳(SSH)。
用户102可使用基于文本的SSH会话在命令行界面(CLI)上输入命令。例如,用户102可以以固定顺序重复执行作为存储设备120上的批处理作业的多个任务。当批处理作业使用条件代码时,脚本可以与Java、Perl、Python等语言一起使用。CLI命令可由用户以交互方式输入或通过文件传递给CLI。通常,当第三方身份提供商150(未示出)由于HTTP重定向而被用于用户认证时,不建立基于文本的SSH会话。与客户端设备110上的Web浏览器112和存储设备上的Web服务122不同,安全外壳界面326不能处理由身份提供商150执行的HTTP重定向。然而,如上所述,即使当第三方身份提供商150用于用户认证时,也使用其他步骤来建立基于文本的SSH会话。通过基于对HTTP会话请求的早期授权,可以在不提示用户提供凭据的情况下实现对基于文本的会话请求的授权。
存储设备120上的认证管理模块328提供了用于建立或验证给定用户具有其声称的身份的方式。在一些实施方案中,认证管理模块是可插拔认证管理(PAM)模块。认证管理模块328包括一个库,该库包括用于认证相关服务的模块库的通用API。认证管理模块328可以是修改的PAM模块,其包括与安全外壳界面326和Web服务122中的每一者进行通信的能力,以提供对基于文本的安全外壳会话的认证而不提示用户102提供凭据。认证管理模块328允许系统管理员(诸如用户102或存储设备120上的系统管理员)通过安装新的库来添加新的认证方法。配置文件诸如pam.conf文件确定要选择哪些认证服务。通常,Web服务122、安全外壳界面326和认证管理模块328是存储设备120上的软件。在另选实施方案中,这些组件对应于自定义设计的电路以执行本文所述的功能。另选地,这些组件可对应于硬件和软件的组合。所有此类实施方案是可能的,并且可以设想这些实施方案。
返回到这一系列步骤,在步骤12中,用户102发起对基于文本的安全外壳会话的请求。用户102不被提示提供凭据,诸如用户名和密码。在一些实施方案中,基于web的应用程序用户界面114是具有用于请求存储设备120上的基于文本的安全外壳会话的按钮的GUI。用于发起请求的其他机制是可能的并且可以设想用于发起请求的其他机制。当用户102在客户端设备110上发起对基于文本的安全外壳(SSH)会话的请求时,该请求用于建立到存储设备120上的安全外壳(SSH)进程的安全连接,其中SSH进程向在存储设备120上托管的应用程序124提供安全且受限的接口。
在步骤13中,将请求发送到存储设备120。在各种实施方案中,请求包括用户名、用于安全HTTP会话的访问令牌和/或可选的刷新令牌以及客户端设备ID。存储设备120可将所接收的对基于文本的SSH会话的请求中的信息与存储在存储设备120上的信息比较,而不是与第三方身份提供商150进行通信。
用于上述比较的信息至少可包括用户名或其他用户标识符、用于安全HTTP会话的访问令牌和/或可选的刷新令牌以及用于安全HTTP会话的客户端设备ID。用于认证的比较可在存储设备120内执行。另选地,存储设备120可将比较操作的指示和比较值发送到连接到存储设备120的服务器、另一个存储设备或其他计算设备。然而,第三方身份提供商150不用于基于文本的SSH会话的认证,因此不执行比较。在处理对基于文本的SSH会话的请求期间,存储设备120不与第三方身份提供商150通信。在一些实施方案中,存储设备120上的应用程序124接收对基于文本的安全外壳(SSH)会话的请求,并且在步骤14中将该请求转发给认证模块328。转发可通过SSH接口326发生。
在所示的示例中,在步骤15中,认证管理模块328向Web服务122发送验证请求。验证请求至少可包括用户名、用于安全HTTP会话的访问令牌和/或可选的刷新令牌以及用于安全HTTP会话的客户端设备ID,其中每一者都是在来自客户端设备110的请求中发送的。验证请求不包括密码,并且当发起对基于文本的安全外壳会话的请求时或者在建立基于文本的安全外壳会话的步骤期间不提示用户102提供凭据。
在步骤16中,Web服务122和认证模块328使用未示出的身份和访问管理器(IAM)来认证所请求的基于文本的SSH会话的用户102。与前面的步骤10类似,存储设备120使用多条信息(诸如所接收的用户名、客户端设备ID和访问令牌和/或可选的刷新令牌)来执行访问检查。如前所述的其他信息也可在访问检查期间使用。访问检查至少可包括先前的比较操作。没有使用HTTP重定向来执行授权。存储设备120可放弃HTTP重定向,因为步骤13中对基于文本的安全外壳会话的请求已经包括用于认证会话(诸如较早建立的安全HTTP会话)的存储信息。
在一些实施方案中,当存储设备120基于所接收的信息确定用户102的成功授权时,存储设备120生成用于基于文本的安全外壳(SSH)会话的对应的访问令牌和可选的刷新令牌。在一些实施方案中,这些令牌值可不同于用于安全HTTP会话的访问令牌和刷新令牌。在步骤17中,Web服务122将成功授权的通知和任何新的访问令牌发送到认证管理模块328。另选地,IAM向认证模块328发送成功授权的通知。在步骤18和19中,将成功授权的通知、任何新的访问令牌、刷新令牌以及任何其他新的会话标识符发送到客户端设备110。
在步骤20中,用户102作为授权用户获得基于文本的安全外壳(SSH)会话,虽然用户102未被提示提供诸如用户名和密码的凭据。用户102具有对CLI的访问权限并且可输入命令并发送批处理作业。
令牌管理安全策略的生成和维护是很复杂的。开发人员更倾向于把时间用在创建基于web的应用程序并在线获取应用程序以及快速运行上,而不是花费大量的时间来编写用于支持和维护令牌认证的代码。此外,对于许多类型的任务和对应的基于web的应用程序,系统管理员更喜欢使用基于文本的安全外壳(SSH)会话。如上所示,在存储设备120使用第三方身份提供商150时,用户102能够获得基于文本的安全外壳(SSH)会话而不被提示提供凭据。
现在转向图4,示出了用于使用第三方SSO服务在托管Web资源的远程存储设备上有效地建立安全HTTP会话的方法400的一个实施方案。出于讨论目的,按顺序示出了本实施方案中的步骤。然而,一些步骤可以不同于所示的顺序发生、一些步骤可同时执行、一些步骤可与其他步骤结合,并且一些步骤在另外实施方案中可不存在。
在框402中,在客户端设备上工作的给定用户尝试访问远程存储设备上的基于Web的应用程序,该远程存储设备也可被称为服务设备。在一些实施方案中,存储设备是存储装置。在其他实施方案中,存储设备是备份服务器。为给定用户请求存储设备的HTTP会话(HTTP)会话。给定用户被提示提供凭据,诸如至少给定用户的用户名和密码。在框404中,将HTTP会话的请求发送到托管基于Web的应用程序的存储设备。
在框406中,识别给定用户的另一个认证位置。例如,可识别第三方身份提供商并且可使用对应的URL来确定其位置。在框408中,具有凭据的请求被从存储设备重定向到身份提供商。在各种实施方案中,重定向是HTTP重定向。
在一些实施方案中,在找到最终身份提供商以对给定用户执行认证之前使用了不止一个的重定向。如果存在另一个重定向(条件框410),则方法400的控制流程返回到框408。否则,如果凭据被确定为对给定用户有效,从而允许给定用户通过HTTP会话访问基于Web的应用程序(条件框412),则在框414中,用户角色、许可和用于给定用户的其他信息被检索。该信息可从身份提供商内的目录服务中检索。
在框416中,将建立HTTP会话的成功通知和检索到的信息一起返回给客户端设备。另外,可生成授权断言并与通知一起返回。授权断言可包括指示用户成功授权的一个或多个令牌、密钥或其他值。如果凭据被确定为对给定用户无效(条件框412),则在框418中,生成认证失败的通知并将其发送到客户端设备。
现在转向图5,示出了在使用第三方SSO服务建立安全HTTP会话之后,用于在远程存储设备上建立基于文本的安全外壳会话的方法500的一个实施方案。出于讨论目的,按顺序示出了本实施方案中的步骤。然而,一些步骤可以不同于所示的顺序发生、一些步骤可同时执行、一些步骤可与其他步骤结合,并且一些步骤在另外实施方案中可不存在。
在框502中,在客户端设备处接收到关于凭据认证的通知。给定的用户可能已将用于获得HTTP会话的凭据发送到服务设备,诸如存储设备,其也可被称为存储装置或存储备份服务器。服务设备也可被称为服务提供商。服务设备可以是相对于客户端设备的远程定位的设备。服务设备可托管供在客户端设备上工作的给定用户使用的一个或多个基于Web或基于云端的应用程序。可使用第三方身份提供商来授权给定用户。身份提供商可能已经发送了关于给定用户的凭据的认证的通知。
如果在第三方身份提供商处的给定用户的认证失败(条件框504),则在框506中,给定用户的登录被拒绝并且可请求其他凭据。拒绝和对其他凭据的请求可呈现在客户端设备的监视器上。如果在第三方身份提供商处的给定用户的认证成功(条件框504),则在框508中,成功认证的通知被发送到请求HTTP会话的服务设备。还发送了来自第三方身份提供商的授权断言。
服务设备可托管供在客户端设备上工作的给定用户使用的一个或多个基于Web或基于云端的应用程序。如前所述,在第三方身份提供商处的成功认证的通知至少可包括来自第三方身份提供商的数字签名和包括一个或多个配置文件属性(诸如用户角色、电子邮件地址以及给定用户的身份属性的其他证明)以及访问令牌和可选的刷新令牌或其他密钥值。服务设备对此信息执行访问检查,以验证所接收内容的源并验证请求访问在服务设备上托管的一个或多个基于Web或基于云端的应用程序的给定用户。
在成功完成访问检查之后,在框512中,服务设备生成用于给定用户的本地版本的登录安全性上下文、本地访问令牌和给定用户的会话标识符中的一个或多个。另外,服务设备可生成包括会话cookie、会话标识符、互联网协议(IP)地址和媒体访问控制(MAC)地址中的一个或多个的客户端设备标识符(ID)。服务设备可存储访问令牌和/或刷新令牌以及客户端设备标识符。所存储的信息可用于验证来自客户端设备的对在服务设备上托管的web资源的后续访问请求。另外,所存储的信息可用于建立基于文本的安全外壳会话的后续请求。服务设备将信息发送到客户端设备。此时,给定用户被认为“登录”到本地客户端设备的远程服务设备。用户具有远程服务设备上建立的安全HTTP会话,并且能够访问在服务设备上托管的一个或多个基于Web和基于云端的应用程序,其中给定用户已授权。
在框514中,使用来自服务设备的访问令牌和客户端设备ID来请求基于文本的安全外壳会话。在一些实施方案中,给定用户选择基于web的应用程序用户界面上的按钮以发起对基于文本的安全外壳会话的请求。用于发起请求的其他机制是可能的并且可以设想用于发起请求的其他机制。当给定用户在客户端设备上发起对基于文本的安全外壳(SSH)会话的请求时,该请求用于建立到服务设备上的安全外壳(SSH)进程的安全连接,其中SSH进程向在服务设备上托管的基于web的应用程序提供安全且受限的接口。在请求期间,可能不会提示给定用户提供凭据,诸如用户名和密码。基于文本的安全外壳会话的示例包括Windows操作系统上的PuTTY和Unix类操作系统上的SSH。
与在客户端设备和服务设备上运行的Web浏览器和Web服务不同,基于文本的安全外壳界面无法处理由第三方身份提供商执行的HTTP重定向。因此,在方框516中,当服务设备接收到建立基于文本的安全外壳会话的请求时,服务设备基于为给定用户建立HTTP会话而执行的早期授权处理给定用户的授权,而不是向身份提供商发送请求。例如,在各种实施方案中,服务设备上的可插拔认证模块(PAM)和Web服务处理用于建立基于文本的安全外壳会话的给定用户的授权。也可使用身份和访问管理器(IAM)。
类似于用于HTTP会话的先前验证,Web服务或其他控制逻辑(或电路)响应于接收到建立基于文本的安全外壳会话的请求而执行访问检查。访问检查使用对应于给定用户和授权HTTP会话的多条信息。这些信息至少可包括给定用户的用户名、用于安全HTTP会话的访问令牌和/或可选的刷新令牌以及用于安全HTTP会话的客户端设备ID。如前所述的其他信息也可在访问检查期间使用。没有使用HTTP重定向来执行基于文本的安全外壳会话的授权。
在一些实施方案中,当服务设备基于上述信息确定给定用户的成功授权时,服务设备生成用于基于文本的安全外壳会话的对应的访问令牌。在各种实施方案中,服务设备使用所接收的访问令牌和/或刷新令牌来生成用于基于文本的安全外壳会话的访问令牌。在其他实施方案中,可以以许多其他可能的方式来生成用于基于文本的安全外壳会话的访问令牌或另一个会话标识符。服务设备向客户端设备发送成功授权的通知和任何新的访问令牌或会话标识符。此时,给定用户被认为在客户端设备上“登录”,并且具有服务设备上的基于文本的安全外壳会话。
在框518中,给定用户能够通过基于文本的安全外壳会话的命令行界面(CLI)访问在服务设备上托管的一个或多个授权的基于Web和基于云端的应用程序。这些访问使用用于基于文本的安全外壳会话的先前生成的访问令牌。然后,给定用户可作为授权用户在与基于GUI的应用程序界面分开的窗口(例如,在一个实施方案中是在浏览器内)中打开基于文本的安全外壳会话,但是没有提示给定用户提供凭据。给定用户可以输入命令或执行有效的自动化操作序列,诸如发送批处理作业。
在各种实施方案中,本文所述的方法和机制中的一个或多个部分可形成云计算环境的一部分。在此类实施方案中,可根据一个或多个不同模型,通过因特网提供资源作为服务。此类模型可包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。在IaaS中,计算机基础设施作为服务提供。在此类情况下,计算设备通常由服务提供商拥有和操作。在PaaS模型中,开发人员用来开发软件解决方案的软件工具和底层设备可作为服务提供,并由服务提供商托管。SaaS通常包括服务提供商许可软件作为按需服务。服务提供商可托管软件,或者可在给定时间段内将软件部署到客户。上述模型的许多组合是可能的,并且可以设想这些组合。
尽管已经相当详细地描述了上述实施方案,但是一旦完全理解上述公开内容后,许多变型形式和修改形式对于本领域技术人员而言将变得显而易见。旨在将所附权利要求解释为包括所有此类变型形式和修改形式。

Claims (20)

1.一种认证系统,包括:
第三方身份提供商(IDP),所述第三方身份提供商被配置为通过一系列一个或多个超文本传输协议(HTTP)重定向来认证多个用户;
存储设备,所述存储设备托管应用程序;以及
客户端设备,所述客户端设备被配置为:
发送用于与所述存储设备建立安全HTTP会话和安全外壳(SSH)会话的请求以便访问所述应用程序;并且
发送给定请求以建立SSH会话,其中所述请求至少包括对应于先前使用所述第三方IDP建立的安全HTTP会话的第一访问令牌;并且
其中响应于接收到所述给定请求,所述存储设备被配置为进一步响应于验证所述第一访问令牌对应于所述先前建立的安全HTTP会话,授权所述客户端设备以建立所述SSH会话,尽管所述给定请求缺少密码。
2.根据权利要求1所述的认证系统,其中所述存储设备被进一步配置为响应于接收到来自所述第三方IDP的对请求通过安全HTTP会话访问所述应用程序的所述客户端设备上的所述多个用户中的给定用户成功认证的指示,向所述客户端设备发送至少所述第一访问令牌和客户端设备标识符(ID)。
3.根据权利要求2所述的认证系统,其中所述存储设备被进一步配置为存储所述第一访问令牌和所述客户端设备ID中的每一个,以用于验证来自所述客户端设备经由所述安全HTTP会话对所述应用程序的后续访问。
4.根据权利要求3所述的认证系统,其中所述客户端设备ID包括会话cookie、互联网协议(IP)地址和媒体访问控制(MAC)地址中的一个或多个。
5.根据权利要求2所述的认证系统,其中来自所述客户端设备的建立所述SSH会话的所述给定请求进一步包括所述客户端设备ID。
6.根据权利要求3所述的认证系统,其中为了授权所述客户端设备以建立所述SSH会话,所述存储设备被进一步配置为确定所述请求中的至少所述第一访问令牌和所述客户端设备ID是否与所述存储的第一访问令牌和所述存储的客户端设备ID匹配。
7.根据权利要求3所述的认证系统,其中为了授权所述客户端设备以建立所述SSH会话,所述存储设备被进一步配置为放弃任何HTTP重定向。
8.根据权利要求3所述的认证系统,其中为了授权所述客户端设备以建立所述SSH会话,所述存储设备被进一步配置为放弃使用所述第三方IDP。
9.一种用于在处理器上执行的方法,所述方法包括:
通过一系列一个或多个超文本传输协议(HTTP)重定向,利用第三方身份提供商(IDP)来认证多个用户;
在存储设备上托管应用程序;
从客户端设备发送用于与所述存储设备建立安全HTTP会话和安全外壳(SSH)会话的请求以便访问所述应用程序;
从所述客户端设备向所述存储设备发送给定请求以建立SSH会话,其中所述请求至少包括对应于先前使用所述第三方IDP建立的安全HTTP会话的第一访问令牌;并且
响应于验证所述第一访问令牌对应于所述先前建立的安全HTTP会话,授权所述客户端设备以建立所述SSH会话,尽管所述给定请求缺少密码。
10.根据权利要求9所述的方法,还包括响应于接收到来自所述第三方IDP的对请求通过安全HTTP会话访问所述应用程序的所述客户端设备上的所述多个用户中的给定用户成功认证的指示,向所述客户端设备发送至少所述第一访问令牌和客户端设备标识符(ID)。
11.根据权利要求10所述的方法,还包括将所述第一访问令牌和所述客户端设备ID中的每一个存储在所述存储设备中,以用于验证来自所述客户端设备经由所述安全HTTP会话对所述应用程序的后续访问。
12.根据权利要求11所述的方法,其中所述客户端设备ID包括会话cookie、互联网协议(IP)地址和媒体访问控制(MAC)地址中的一个或多个。
13.根据权利要求10所述的方法,其中来自所述客户端设备的建立所述SSH会话的所述给定请求进一步包括所述客户端设备ID。
14.根据权利要求11所述的方法,其中为了授权所述客户端设备以建立所述SSH会话,所述方法还包括确定所述请求中的至少所述第一访问令牌和所述客户端设备ID是否与所述存储的第一访问令牌和所述存储的客户端设备ID匹配。
15.根据权利要求11所述的方法,其中为了授权所述客户端设备以建立所述SSH会话,所述方法还包括放弃任何HTTP重定向。
16.根据权利要求11所述的方法,其中为了授权所述客户端设备以建立所述SSH会话,所述方法还包括放弃使用所述第三方IDP。
17.一种存储设备,包括:
处理器;以及
存储器,所述存储器被配置为:
存储应用程序;并且
存储可由所述处理器执行的程序指令以:
向被配置为通过一系列一个或多个超文本传输协议(HTTP)重定向来认证多个用户的第三方身份提供商(IDP)发送请求;
接收来自客户端设备的给定请求以建立安全外壳(SSH)会话,其中所述给定请求至少包括对应于先前使用所述第三方IDP为所述客户端设备建立的安全HTTP会话的第一访问令牌;并且
进一步响应于验证所述第一访问令牌对应于所述先前建立的安全HTTP会话,授权所述客户端设备以建立所述SSH会话,尽管所述给定请求缺少密码。
18.根据权利要求17所述的存储设备,其中所述程序指令还可由所述处理器执行,以响应于接收到来自所述第三方IDP的对请求通过安全HTTP会话访问所述应用程序的所述客户端设备上的所述多个用户中的给定用户成功认证的指示,向所述客户端设备发送至少所述第一访问令牌和客户端设备标识符(ID)。
19.根据权利要求18所述的存储设备,其中来自所述客户端设备的建立所述SSH会话的所述给定请求进一步包括所述客户端设备ID。
20.根据权利要求18所述的存储设备,其中为了授权所述客户端设备以建立所述SSH会话,所述程序指令可被进一步执行以确定所述请求中的至少所述第一访问令牌和所述客户端设备ID是否与所述第一访问令牌的存储值和所述存储的客户端设备ID匹配。
CN201680066669.8A 2015-10-02 2016-10-01 用于装置安全外壳的单点登录方法 Active CN108475312B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/874173 2015-10-02
US14/874,173 US9923888B2 (en) 2015-10-02 2015-10-02 Single sign-on method for appliance secure shell
PCT/US2016/055084 WO2017059400A1 (en) 2015-10-02 2016-10-01 Single sign-on method for appliance secure shell

Publications (2)

Publication Number Publication Date
CN108475312A true CN108475312A (zh) 2018-08-31
CN108475312B CN108475312B (zh) 2022-12-20

Family

ID=57145044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680066669.8A Active CN108475312B (zh) 2015-10-02 2016-10-01 用于装置安全外壳的单点登录方法

Country Status (5)

Country Link
US (1) US9923888B2 (zh)
EP (1) EP3356981B1 (zh)
JP (1) JP6556943B2 (zh)
CN (1) CN108475312B (zh)
WO (1) WO2017059400A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639649A (zh) * 2018-11-20 2019-04-16 福建亿榕信息技术有限公司 一种单点登录方法
CN109818968A (zh) * 2019-02-28 2019-05-28 山东浪潮云信息技术有限公司 一种在已有web应用基础上实现单点登录的方法
CN110069909A (zh) * 2019-04-29 2019-07-30 上海上湖信息技术有限公司 一种免密登录第三方系统的方法及装置
CN111143816A (zh) * 2018-11-05 2020-05-12 纬创资通股份有限公司 验证及授权的方法及验证服务器
CN111405006A (zh) * 2020-03-06 2020-07-10 北京奇艺世纪科技有限公司 一种远程登录失败的处理方法、装置及远程登录系统
CN113728603A (zh) * 2020-03-12 2021-11-30 甲骨文国际公司 经由不可提取的不对称密钥的浏览器登录会话

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11057395B2 (en) * 2014-03-24 2021-07-06 Micro Focus Llc Monitoring for authentication information
US11171941B2 (en) * 2015-02-24 2021-11-09 Nelson A. Cicchitto Mobile device enabled desktop tethered and tetherless authentication
US11122034B2 (en) 2015-02-24 2021-09-14 Nelson A. Cicchitto Method and apparatus for an identity assurance score with ties to an ID-less and password-less authentication system
US10335688B2 (en) * 2016-06-03 2019-07-02 Microsoft Technology Licensing, Llc Administrative control features for hosted sessions
US10462124B2 (en) 2016-12-30 2019-10-29 Google Llc Authenticated session management across multiple electronic devices using a virtual session manager
US10541992B2 (en) * 2016-12-30 2020-01-21 Google Llc Two-token based authenticated session management
US10529327B1 (en) * 2017-03-29 2020-01-07 Parallels International Gmbh System and method for enabling voice recognition for operating system
US10972453B1 (en) * 2017-05-03 2021-04-06 F5 Networks, Inc. Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof
US10735514B2 (en) * 2017-08-29 2020-08-04 Western Digital Technologies, Inc. Remote application configuration on network-attached storage
GB201717251D0 (en) * 2017-10-20 2017-12-06 Palantir Technologies Inc Serving assets in a networked environment
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
US10855669B2 (en) * 2018-05-03 2020-12-01 Vmware, Inc. Authentication service
US10855670B2 (en) 2018-05-03 2020-12-01 Vmware, Inc. Polling service
US11146543B2 (en) * 2018-07-12 2021-10-12 Vmware, Inc. Contact consolidation across multiple services
AU2019446557A1 (en) 2019-05-23 2021-11-25 Citrix Systems, Inc. Secure web application delivery platform
US11032381B2 (en) * 2019-06-19 2021-06-08 Servicenow, Inc. Discovery and storage of resource tags
US11271947B2 (en) * 2019-07-24 2022-03-08 The Toronto-Dominion Bank Systems and methods for authenticating data access requests
WO2021041566A1 (en) * 2019-08-26 2021-03-04 Traitware, Inc. Authenticatoin system for computer accessing a remote server
US20210092107A1 (en) * 2019-09-23 2021-03-25 Fisher-Rosemount Systems, Inc. Secure off-premises access of process control data by a mobile device
KR102678262B1 (ko) 2019-09-24 2024-06-24 매직 랩스, 인크. 분산형 컴퓨터 애플리케이션들을 구축하기 위한 비-보관 툴
US20210295280A1 (en) * 2020-03-23 2021-09-23 Apple Inc. Technique for providing optimized digital information
WO2021232347A1 (en) * 2020-05-21 2021-11-25 Citrix Systems, Inc. Cross device single sign-on
US20210409403A1 (en) * 2020-06-25 2021-12-30 Microsoft Technology Licensing, Llc Service to service ssh with authentication and ssh session reauthentication
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services
CN112685726A (zh) * 2021-01-20 2021-04-20 浪潮云信息技术股份公司 一种基于keycloak的单点认证方法
US20220294788A1 (en) * 2021-03-09 2022-09-15 Oracle International Corporation Customizing authentication and handling pre and post authentication in identity cloud service
US20230101920A1 (en) * 2021-09-30 2023-03-30 Fortinet, Inc. Proxy ssh public key authentication in cloud environment
EP4420300A1 (en) * 2021-10-18 2024-08-28 Sophos Limited Network appliances for secure enterprise resources
US11558251B1 (en) * 2021-12-23 2023-01-17 Rakuten Mobile, Inc. Method, apparatus, and computer readable medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030200465A1 (en) * 2001-08-06 2003-10-23 Shivaram Bhat Web based applications single sign on system and method
US6668322B1 (en) * 1999-08-05 2003-12-23 Sun Microsystems, Inc. Access management system and method employing secure credentials
CN1653781A (zh) * 2002-06-28 2005-08-10 国际商业机器公司 用于在联合环境中进行用户确定的身份验证和单一登录的方法和系统
CN1885771A (zh) * 2005-06-23 2006-12-27 国际商业机器公司 用于建立安全通信会话的方法与装置
US20120011578A1 (en) * 2010-07-08 2012-01-12 International Business Machines Corporation Cross-protocol federated single sign-on (F-SSO) for cloud enablement
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器
US8615794B1 (en) * 2013-01-09 2013-12-24 Ping Identity Corporation Methods and apparatus for increased security in issuing tokens
CN103503408A (zh) * 2011-05-05 2014-01-08 良好科技公司 用于提供访问凭证的系统和方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001235016A1 (en) 2000-02-11 2001-08-20 Acta Technologies, Inc. High availability database system using live/load database copies
JP2003296277A (ja) * 2002-03-29 2003-10-17 Fuji Xerox Co Ltd ネットワーク装置、認証サーバ、ネットワークシステム、認証方法
JP2004246821A (ja) * 2003-02-17 2004-09-02 Ufj Card Co Ltd 情報システム
JP2006139747A (ja) * 2004-08-30 2006-06-01 Kddi Corp 通信システムおよび安全性保証装置
FI20055357A (fi) 2005-06-29 2006-12-30 Ascia Oy Datakompressiojärjestely
EP1961149B1 (en) 2005-11-24 2018-08-08 Synchronica plc Method for securely associating data with http and https sessions
JP5317629B2 (ja) * 2008-11-05 2013-10-16 ヤフー株式会社 情報管理装置、情報処理システム、情報管理方法及び情報管理プログラム
US9906838B2 (en) * 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US8474017B2 (en) * 2010-07-23 2013-06-25 Verizon Patent And Licensing Inc. Identity management and single sign-on in a heterogeneous composite service scenario
US8769622B2 (en) * 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
US9237145B2 (en) * 2011-09-29 2016-01-12 Oracle International Corporation Single sign-on (SSO) for mobile applications
US9191394B2 (en) * 2012-02-08 2015-11-17 Microsoft Technology Licensing, Llc Protecting user credentials from a computing device
US8769701B2 (en) * 2012-09-05 2014-07-01 International Business Machines Corporation Single tenant audit view in a multi-tenant environment
US9264436B2 (en) * 2013-05-08 2016-02-16 International Business Machines Corporation Policy-based automated consent
FR3007167A1 (fr) * 2013-06-14 2014-12-19 France Telecom Procede d'authentification d'un terminal par une passerelle d'un reseau interne protege par une entite de securisation des acces
US9491161B2 (en) * 2014-09-30 2016-11-08 Citrix Systems, Inc. Systems and methods for performing single sign-on by an intermediary device for a remote desktop session of a client

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668322B1 (en) * 1999-08-05 2003-12-23 Sun Microsystems, Inc. Access management system and method employing secure credentials
US20030200465A1 (en) * 2001-08-06 2003-10-23 Shivaram Bhat Web based applications single sign on system and method
CN1653781A (zh) * 2002-06-28 2005-08-10 国际商业机器公司 用于在联合环境中进行用户确定的身份验证和单一登录的方法和系统
CN1885771A (zh) * 2005-06-23 2006-12-27 国际商业机器公司 用于建立安全通信会话的方法与装置
US20120011578A1 (en) * 2010-07-08 2012-01-12 International Business Machines Corporation Cross-protocol federated single sign-on (F-SSO) for cloud enablement
CN103503408A (zh) * 2011-05-05 2014-01-08 良好科技公司 用于提供访问凭证的系统和方法
US8615794B1 (en) * 2013-01-09 2013-12-24 Ping Identity Corporation Methods and apparatus for increased security in issuing tokens
CN103179134A (zh) * 2013-04-19 2013-06-26 中国建设银行股份有限公司 基于Cookie的单点登录方法、系统及其应用服务器

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143816A (zh) * 2018-11-05 2020-05-12 纬创资通股份有限公司 验证及授权的方法及验证服务器
CN109639649A (zh) * 2018-11-20 2019-04-16 福建亿榕信息技术有限公司 一种单点登录方法
CN109639649B (zh) * 2018-11-20 2021-08-10 福建亿榕信息技术有限公司 一种单点登录方法
CN109818968A (zh) * 2019-02-28 2019-05-28 山东浪潮云信息技术有限公司 一种在已有web应用基础上实现单点登录的方法
CN109818968B (zh) * 2019-02-28 2021-07-30 浪潮云信息技术股份公司 一种在已有web应用基础上实现单点登录的方法
CN110069909A (zh) * 2019-04-29 2019-07-30 上海上湖信息技术有限公司 一种免密登录第三方系统的方法及装置
CN110069909B (zh) * 2019-04-29 2020-10-13 上海上湖信息技术有限公司 一种免密登录第三方系统的方法及装置
CN111405006A (zh) * 2020-03-06 2020-07-10 北京奇艺世纪科技有限公司 一种远程登录失败的处理方法、装置及远程登录系统
CN111405006B (zh) * 2020-03-06 2022-07-12 北京奇艺世纪科技有限公司 一种远程登录失败的处理方法、装置及远程登录系统
CN113728603A (zh) * 2020-03-12 2021-11-30 甲骨文国际公司 经由不可提取的不对称密钥的浏览器登录会话
CN113728603B (zh) * 2020-03-12 2024-05-24 甲骨文国际公司 经由不可提取的不对称密钥的浏览器登录会话的方法

Also Published As

Publication number Publication date
EP3356981B1 (en) 2021-07-28
US9923888B2 (en) 2018-03-20
WO2017059400A1 (en) 2017-04-06
US20170099280A1 (en) 2017-04-06
EP3356981A1 (en) 2018-08-08
JP6556943B2 (ja) 2019-08-07
CN108475312B (zh) 2022-12-20
JP2018538592A (ja) 2018-12-27

Similar Documents

Publication Publication Date Title
CN108475312A (zh) 用于装置安全外壳的单点登录方法
CN105378744B (zh) 在企业系统中的用户和设备认证
JP6533871B2 (ja) ウェブアプリケーションへのサインオンを制御するためのシステムおよび方法
JP6707127B2 (ja) エンドユーザによって起動されるアクセスサーバ真正性チェック
US8615794B1 (en) Methods and apparatus for increased security in issuing tokens
EP2984589B1 (en) System and method for mobile single sign-on integration
CN105659557B (zh) 用于单点登录的基于网络的接口集成的方法和系统
CN104364792B (zh) 用于多个网络站点的账户管理系统
CN105007280B (zh) 一种应用登录方法和装置
US9378345B2 (en) Authentication using device ID
CN110463161A (zh) 用于访问受保护资源的口令状态机
US20070226783A1 (en) User-administered single sign-on with automatic password management for web server authentication
CN107925877A (zh) 用于集中式配置和认证的系统和方法
CN108011862A (zh) 镜像仓库授权、访问、管理方法及服务器和客户端
EP2894891B1 (en) Mobile token
US10757104B1 (en) System and method for authentication in a computing system
WO2019011187A1 (zh) 电子账户的挂失、解挂、业务管理方法、装置及设备
US10694330B2 (en) Validating mobile applications for accessing regulated content
Bhardwaj et al. Identity management practices in cloud computing environments
US20150381593A1 (en) Privileged access gateway for accessing systems and/or applications
CN106529216B (zh) 一种基于公共存储平台的软件授权系统及软件授权方法
US20150007292A1 (en) User authentication utilizing patterns
CN107294920A (zh) 一种反向信任登录方法和装置
CN106487513B (zh) 远程路由器请求中继
TWI773025B (zh) 設備帳號使用安全、監控與管理終端化之流程及方法

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