CN111052706B - 将单点登录扩展到联合登录提供者的依赖方的方法 - Google Patents
将单点登录扩展到联合登录提供者的依赖方的方法 Download PDFInfo
- Publication number
- CN111052706B CN111052706B CN201880057752.8A CN201880057752A CN111052706B CN 111052706 B CN111052706 B CN 111052706B CN 201880057752 A CN201880057752 A CN 201880057752A CN 111052706 B CN111052706 B CN 111052706B
- Authority
- CN
- China
- Prior art keywords
- enterprise
- authentication token
- server
- identity provider
- provider server
- 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
Links
Images
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
- G06F21/335—User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
-
- 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/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/40—User authentication by quorum, i.e. whereby two or more security principals are required
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的各方面涉及将单点登录扩展到联合登录提供者的依赖方。企业身份提供者服务器可接收由所述企业身份提供者服务器先前颁发给企业服务器的第一认证令牌。随后,所述企业身份提供者服务器可从令牌存储库中检索与由联合身份提供者服务器提供的联合身份服务相关联的第二认证令牌。所述企业身份提供者服务器可用由所述联合身份提供者服务器提供的所述联合身份服务来刷新所述第二认证令牌,以获得刷新后的认证令牌。最后,所述企业身份提供者服务器可向所述企业服务器发送所述刷新后的认证令牌,这可使得由所述企业服务器管理的用户装置能够使用所述联合身份服务访问由第三方***提供的一个或多个资源。
Description
交叉引用
本申请要求于2017年8月17日提交且题为“将单点登录扩展到联合登录提供者的依赖方”的美国非临时专利申请序列第15/679,686号的优先权,所述专利申请的全部内容通过引用并入本文。
技术领域
本公开的方面涉及计算机硬件和软件。具体地说,本公开的一个或多个方面总体上涉及用于生成和管理安全令牌的计算机硬件和软件,以与虚拟化环境中由各种身份提供者提供的多个服务进行交互。
背景技术
虚拟环境服务提供者可为用户装置提供身份和访问管理,以在基于云的环境中访问各种服务和资源。具体地说,身份提供者可颁发认证票证或令牌,使单点登录(SSO)能够访问连接的***并在每个***上无缝登录。随着云中的企业扩展其服务,用户装置可尝试访问由其企业外部的第三方实体提供的服务和资源,这些第三方实体可使用不同的身份提供者来支持认证。结果,特定于虚拟环境服务提供者的认证令牌可能无法无缝、高效和方便地向第三方实体提供对服务的访问。
发明内容
下文呈现了本文描述的各个方面的简化概述。此概述并非广泛综述,并且并不旨在识别关键或重要元素或划定权利要求书的范围。以下概述仅按简化形式呈现一些概念,作为对以下提供的更详细描述的介绍性序言。
为了克服上述现有技术中的限制,并且为了克服在阅读和理解本说明书时将显而易见的其它限制,本文描述的方面旨在将单点登录扩展到联合登录提供者的依赖方。
根据本公开的一个或多个方面,具有至少一个处理器、存储器和通信接口的企业身份提供者服务器可从与由企业身份提供者服务器提供的企业身份服务集成的企业服务器接收:由企业身份提供者服务器先前颁发给企业服务器的第一认证令牌。响应于接收到第一认证令牌,可从由企业身份提供者服务器维护的令牌存储库中检索可与由联合身份提供者服务器提供的联合身份服务相关联的第二认证令牌。随后,可用由联合身份提供者服务器提供的联合身份服务来刷新第二认证令牌,以获得刷新后的认证令牌。此后,企业身份提供者服务器可向企业服务器发送到刷新后的认证令牌,这可使得由企业服务器管理的用户装置能够使用联合身份服务来访问由第三方***提供的一个或多个资源。
在一些情况下,在企业身份提供者服务器接收第一认证令牌之前,可向企业服务器提供第一认证令牌。举例来说,第一认证令牌可使企业服务器及其托管用户装置能够使用由企业身份服务器提供的企业身份服务器对一个或多个资源进行单点登录访问。在另一个实例中,第二认证令牌可使企业服务器及其托管用户装置能够使用联合身份服务对第三方***进行单点登录访问。
在一些情况下,响应于刷新第二认证令牌,令牌存储库可存储第二刷新后的认证令牌和使刷新后的认证令牌与第一认证相关联的引用。在一些情况下,刷新第二认证令牌可使得企业身份提供者服务器向联合身份提供者服务器发送请求,其中联合身份提供者服务器可生成刷新后的认证令牌。此外,企业身份提供者服务器可从联合身份提供者服务器接收刷新后的认证令牌,并用刷新后的认证令牌和使刷新后的认证令牌与第一认证令牌相关联的引用来更新令牌存储库。结果,企业身份提供者服务器可稍后基于使第二认证令牌与第一认证令牌相关联的引用从令牌存储库中检索第二认证令牌。
在一些情况下,企业身份提供者服务器可从企业服务器接收访问请求,以使用联合身份服务访问由第三方***提供的一个或多个资源。由此,企业身份提供者服务器可将请求从企业服务器重定向到由联合身份提供者服务器提供的联合身份服务。
受益于下面进一步详细论述的公开内容,将会理解这些和附加的方面。
附图说明
可通过参考考虑附图的以下描述来获取对本文描述的方面及其优点的更完整理解,附图中相同参考标号指示相同特征,并且其中:
图1描绘可根据本文所描述的一个或多个说明性方面使用的说明性计算机***架构。
图2描绘可根据本文描述的一个或多个说明性方面使用的说明性远程访问***架构。
图3描绘可根据本文描述的一个或多个说明性方面使用的说明性虚拟化 (管理程序)***架构。
图4描绘可根据本文描述的一个或多个说明性方面使用的说明性基于云的***架构。
图5描绘一个说明性企业移动管理***。
图6描绘另一个说明性企业移动管理***。
图7描绘根据本文描述的一个或多个说明性方面的用于将单点登录扩展到联合登录提供者的依赖方的说明性计算环境。
图8A-8D描绘根据本文描述的一个或多个说明性方面的用于将单点登录扩展到联合登录提供者的依赖方的实例事件序列。
图9描绘根据本文描述的一个或多个说明性方面的将单点登录扩展到联合登录提供者的依赖方的实例方法。
具体实施方式
在各种实施例的以下描述中,参考上文识别且形成本文的一部分的附图,并且其中通过说明的方式示出可实践本文所描述的方面的各种实施例。应理解,在不脱离本文描述的范围的情况下,可利用其它实施例且可进行结构和功能修改。各个方面能够有其它实施例且以各种不同方式实践或实行。
应理解,本文所用的措辞和术语是出于描述的目的,不应被视为是限制性的。相反,应对本文所用的短语和术语给予其最广泛的解释和含义。“包含 (including)”和“包括(comprising)”及其变体的使用意指涵盖其后列出的项目及其等效物以及附加项目及其等效物。术语“安装(mounted)”、“连接 (connected)”、“耦合(coupled)”、“定位(positioned)”、“接合(engaged)”和类似术语的使用意指包含直接和间接安装、连接、耦合、定位和接合。
计算架构
可在包含独立式、联网、远程访问(又名,远程桌面)、虚拟化和/或基于云的环境等多种不同***环境中利用计算机软件、硬件和网络。图1说明可用于在独立式和/或联网环境中实施本文所描述的一个或多个说明性方面的***架构和数据处理装置的一个实例。各种网络节点103、105、107和109可经由如互联网的广域网(WAN)101互连。同样或替代地可使用其它网络,包含私用内联网、公司网络、局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、无线网络、个人网络(personal network,PAN)等。网络101是出于说明的目的,并且可由更少或附加计算机网络替换。局域网133 可具有任何已知LAN拓扑结构中的一个或多个,并且可使用多种不同协议,如以太网中的一种或多种。装置103、105、107和109以及其它装置(未示出) 可经由双绞线电线、同轴电缆、光纤、无线电波或其它通信介质连接到网络中的一个或多个。
如本文所用且在附图中描绘的术语“网络(network)”不仅指远程存储装置经由一个或多个通信路径耦合在一起的***,而且指可不时耦合到具有存储能力的这类***的独立装置。因此,术语“网络”不仅包含“物理网络”,而且包含“内容网络”,所述“内容网络”由驻留在所有物理网络上的可归于单一实体的数据组成。
组件可包含数据服务器103、网络服务器105和客户端计算机107、109。数据服务器103提供对用于执行本文描述的一个或多个说明性方面的数据库和控制软件的总体访问、控制和管理。数据服务器103可连接到网络服务器105,通过所述网络服务器105,用户按请求与数据交互并获得数据。替代地,数据服务器103本身可充当网络服务器且直接连接到互联网。数据服务器103可通过局域网133、广域网101(例如,互联网)、经由直接或间接连接或经由一些其它网络连接到网络服务器105。用户可使用远程计算机107、109与数据服务器103交互,例如,使用网络浏览器以经由由网络服务器105代管的一个或多个外部公开网站连接到数据服务器103。客户端计算机107、109可与数据服务器103协同使用以访问其中存储的数据,或者可用于其它目的。举例来说,从客户端装置107,用户可使用互联网浏览器(如所属领域中已知)或者通过执行在计算机网络(如互联网)上与网络服务器105和/或数据服务器103通信的软件应用程序来访问网络服务器105。
服务器和应用程序可在相同物理机器上组合,并且保留单独的虚拟或逻辑地址,或者可驻留于单独的物理机器上。图1说明可使用的网络架构的仅一个实例,并且本领域的技术人员将理解,所用的特定网络架构和数据处理装置可变化,并且对于其提供的功能性是次要的,如本文中进一步描述。举例来说,由网络服务器105和数据服务器103提供的服务可在单个服务器上组合。
每个组件103、105、107、109可为任何类型的已知计算机、服务器或数据处理装置。数据服务器103例如可包含控制数据服务器103的总体操作的处理器111。数据服务器103还可包含随机存取存储器(RAM)113、只读存储器 (ROM)115、网络接口117、输入/输出接口119(例如,键盘、鼠标、显示器、打印机等),和存储器121。输入/输出(I/O)119可包含用于读取、写入、显示和/或打印数据或文件的多种接口单元和驱动。存储器121还可存储用于控制数据处理装置103的总体操作的操作***软件123、用于指示数据服务器103执行本文描述的方面的控制逻辑125,和提供可结合或可不结合本文描述的方面使用的次要、支持和/或其它功能性的其它应用软件127。所述控制逻辑在本文中也可被称为数据服务器软件125。数据服务器软件的功能性可指基于经译码为控制逻辑的规则自动做出、通过用户向***中提供输入而自动做出的操作或决策,和/或基于用户输入(例如,查询、数据更新等)的自动处理的组合。
存储器121还可存储用于执行本文描述的一个或多个方面的数据,包含第一数据库129和第二数据库131。在一些实施例中,第一数据库可包含第二数据库(例如,作为单独的表、报告等)。也就是说,取决于***设计,信息可存储于单个数据库中,或者分成不同逻辑、虚拟或物理数据库。装置105、107 和109可具有关于装置103描述的类似或不同的架构。本领域的技术人员将理解,如本文描述的数据处理装置103(或装置105、107或109)的功能性可分布在多个数据处理装置上,例如,以在多个计算机上分配处理负载,以基于地理位置、用户访问级别、服务质量(QoS)等分离事务。
一个或多个方面可按由如本文描述的一个或多个计算机或其它装置执行的如一个或多个程序模块中的计算机可用或可读数据和/或计算机可执行指令来体现。通常,程序模块包含在由计算机或其它装置中的处理器执行时执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。模块可按随后被编译供执行的源代码编程语言来撰写,或者可按如(但不限于)超文本标记语言(HTML)或可扩展标记语言(XML)的脚本语言来撰写。计算机可执行指令可存储在计算机可读介质上,如非易失性存储装置。可利用任何合适的计算机可读存储介质,包含硬盘、CD-ROM、光学存储装置、磁性存储装置和/或其任何组合。另外,如本文描述的表示数据或事件的各种传输(非存储)介质可行进通过信号传导介质的电磁波的形式在源和目的地之间传送,所述信号传导介质如金属线、光纤和/或无线传输介质(例如,空气和/或空间)。本文描述的各个方面可体现为方法、数据处理***或计算机程序产品。因此,各种功能性可全部或部分体现在软件、固件和/或硬件或硬件等效物中,如集成电路、现场可编程门阵列(FPGA)等。可使用特定数据结构更有效地实施本文描述的一个或多个方面,并且预期这类数据结构在本文描述的计算机可执行指令和计算机可用数据的范围内。
进一步参考图2,可在远程访问环境中实施本文描述的一个或多个方面。图2描绘包含在可根据本文描述的一个或多个说明性方面使用的说明性计算环境200中的计算装置201的实例***架构。计算装置201可用作被配置成为客户端访问装置提供虚拟机的单服务器或多服务器桌面虚拟化***(例如,远程访问或云***)中的服务器206a。计算装置201可具有用于控制服务器及其相关联组件(包含RAM 205、ROM 207、输入/输出(I/O)模块209和存储器215) 的总体操作的处理器203。
I/O模块209可包含计算装置201的用户可用来提供输入的鼠标、小键盘、触摸屏、扫描仪、光学阅读器和/或触笔(或其它输入装置(一个或多个)),并且还可包含用于提供音频输出的扬声器中的一个或多个以及用于提供文字、视听和/或图形输出的视频显示装置中的一个或多个。软件可存储在存储器215和 /或其它存储装置内以向处理器203提供用于将计算装置201配置成专用计算装置以便执行如本文描述的各种功能的指令。举例来说,存储器215可存储由计算装置201使用的软件,如操作***217、应用程序219和相关联数据库221。
计算装置201可在支持到如终端240(也被称为客户端装置)的一个或多个远程计算机的连接的联网环境中操作。终端240可为个人计算机、移动装置、膝上型计算机、平板计算机或服务器,其包含上文关于计算装置103或201描述的元件中的许多或全部。图2中描绘的网络连接包含局域网(LAN)225和广域网(WAN)229,但也可包含其它网络。当在LAN联网环境中使用时,计算装置201可通过网络接口或适配器223连接到LAN 225。当在WAN联网环境中使用时,计算装置201可包含调制解调器227或其它广域网接口,用于在 WAN 229(如计算机网络230(例如,互联网))上建立通信。将理解,所示的网络连接是说明性的,并且可使用在计算机之间建立通信链路的其它手段。计算装置201和/或终端240也可为包含如电池、扬声器和天线(未示出)的各种其它组件的移动终端(例如,移动电话、智能手机、个人数字助理(PDA)、笔记本计算机等)。
本文描述的方面也可与众多其它通用或专用计算***环境或配置一起操作。可适合与本文描述的方面一起使用的其它计算***、环境和/或配置的实例包含(但不限于)个人计算机、服务器计算机、手持式或笔记本计算机、多处理器***、基于微处理器的***、机顶盒、可编程消费型电子装置、网络个人计算机(PC)、微型计算机、大型计算机、包含以上***或装置中的任一者的分布式计算环境等。
如图2中所示出,一个或多个客户端装置240可与一个或多个服务器 206a-206n(通常在本文被称为“服务器(一个或多个)206”)通信。在一个实施例中,计算环境200可包含安装在服务器(一个或多个)206和客户端机器 (一个或多个)240之间的网络装置。网络装置可管理客户端/服务器连接,并且在一些情况下可使得多个后端服务器206当中的客户端连接负载平衡。
客户端机器(一个或多个)240在一些实施例中可被称为单个客户端机器 240或客户端机器240的单个群组,而服务器(一个或多个)206可被称为单个服务器206或服务器206的单个群组。在一个实施例中,单个客户端机器240 与多于一个服务器206通信,而在另一个实施例中,单个服务器206与多于一个客户端机器240通信。在又一个实施例中,单个客户端机器240与单个服务器206通信。
在一些实施例中,客户端机器240可由以下非详尽术语中的任一个引用:客户端机器(一个或多个);客户端(一个或多个);客户端计算机(一个或多个);客户端装置(一个或多个);客户端计算装置(一个或多个);本地机器;远程机器;客户端节点(一个或多个);端点(一个或多个);或端点节点(一个或多个)。在一些实施例中,服务器206可由以下非详尽术语中的任一个引用:服务器(一个或多个)、本地机器;远程机器;服务器集群(一个或多个),或主机计算装置(一个或多个)。
在一个实施例中,客户端机器240可为虚拟机。虚拟机可为任何虚拟机,而在一些实施例中,虚拟机可为由1型或2型管理程序管理的任何虚拟机,所述管理程序例如,由Citrix***、IBM、VMware开发的管理程序或任何其它管理程序。在一些方面,虚拟机可由管理程序管理,而在其它方面,虚拟机可由在服务器206上执行的管理程序或在客户端240上执行的管理程序管理。
一些实施例包含客户端装置240,其显示由在服务器206上远程执行的应用程序或其它远程定位的机器生成的应用程序输出。在这些实施例中,客户端装置240可执行虚拟机接收器程序或应用程序以在应用窗口、浏览器或其它输出窗口中显示输出。在一个实例中,应用程序是桌面,而在其它实例中,应用程序是生成或呈现桌面的应用程序。桌面可包含为其中可集成本地和/或远程应用程序的操作***的例项提供用户接口的图形壳层。如本文所用的应用程序是在已加载操作***(且任选地,以及桌面)的例项之后执行的程序。
在一些实施例中,服务器206使用远程呈现协议或其它程序以向精简客户端或在客户端上执行的远程显示应用程序发送数据,以呈现由在服务器206上执行的应用程序生成的显示输出。精简客户端或远程显示协议可为以下非详尽协议列表中的任一个:由佛罗里达州劳德代尔堡的思杰***公司(Citrix Systems,Inc.of Ft.Lauderdale,Florida)开发的独立计算架构(ICA)协议;或由华盛顿雷德蒙德的微软公司(Microsoft Corporationof Redmond,Washington) 制造的远程桌面协议(RDP)。
远程计算环境可包含多于一个服务器206a-206n,使得服务器206a-206n例如在云计算环境中一起逻辑分组为服务器集群206。服务器集群206可包含虽然地理上分散却逻辑分组在一起的服务器206,或位置相互最接近同时逻辑分组在一起的服务器206。在一些实施例中,服务器集群206内地理上分散的服务器206a-206n使用WAN(广)、MAN(都市)或LAN(本地)通信,其中不同地理区域可表征为:不同大陆;大陆的不同区域;不同国家;不同州;不同城市;不同园区;不同房间;或先前地理位置的任何组合。在一些实施例中,可将服务器集群206作为单个实体管理,而在其它实施例中,服务器集群206 可包含多个服务器集群。
在一些实施例中,服务器集群可包含执行大体上类似类型的操作***平台 (例如,WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN等)的服务器206。在其它实施例中,服务器集群206可包含执行第一类型的操作***平台的一个或多个服务器的第一群组,以及执行第二类型的操作***平台的一个或多个服务器的第二群组。
服务器206可按需要被配置为任一类型的服务器,例如,文件服务器、应用程序服务器、网络服务器、代理服务器、器具、网络器具、网关、应用程序网关、网关服务器、虚拟化服务器、部署服务器、安全套接字层(SSL)VPN 服务器、防火墙、网络服务器、应用程序服务器,或作为主应用程序服务器、执行活动目录的服务器,或执行提供防火墙功能性、应用程序功能性或负载平衡功能性的应用程序加速程序的服务器。也可使用其它服务器类型。
一些实施例包含第一服务器206a,其从客户端机器240接收请求,将请求转发给第二服务器206b(未示出),并且用来自第二服务器206b(未示出)的响应对由客户端机器240生成的请求进行响应。第一服务器206a可获取可用于客户端机器240的应用程序的枚举,以及与代管在所述应用程序的枚举内识别的应用程序的应用程序服务器206相关联的地址信息。第一服务器206a然后可使用网络接口呈现对客户端的请求的响应,并且直接与客户端240通信以向客户端240提供对所识别应用程序的访问。一个或多个客户端240和/或一个或多个服务器206可在例如网络101的网络230上传输数据。
图3示出说明性台式虚拟化***的高层级架构。如图所示,台式虚拟化***可为单服务器或多服务器***或云***,其包含被配置成向一个或多个客户端访问装置240提供虚拟桌面和/或虚拟应用程序的至少一个虚拟化服务器301。如本文所用,桌面指其中可代管和/或执行一个或多个应用程序的图形环境或空间。桌面可包含为其中可集成本地和/或远程应用程序的操作***的例项提供用户接口的图形壳层。应用程序可包含在已加载操作***(且任选地,以及桌面)的例项之后执行的程序。操作***的每个例项可为物理的(例如,每个装置一个操作***)或虚拟的(例如,在单个装置上运行的OS的许多例项)。每个应用程序可在本地装置上执行,或者在位于远处的装置(例如,远程)上执行。
计算机装置301可被配置为虚拟化环境中的虚拟化服务器,例如单服务器、多服务器或云计算环境。图3所示的虚拟化服务器301可部署为图2所示的服务器206的一个或多个实施例,和/或通过图2所示的服务器206的一个或多个实施例或通过其它已知计算装置来实施。虚拟化服务器301中包含硬件层,所述硬件层可包含一个或多个物理磁盘304、一个或多个物理装置306、一个或多个物理处理器308和一个或多个物理存储器316。在一些实施例中,固件312 可存储在物理存储器316中的存储器元件内且可由物理处理器308中的一个或多个执行。虚拟化服务器301还可包含操作***314,所述操作***314可存储在物理存储器316中的存储器元件中且可由物理处理器308中的一个或多个执行。又另外,管理程序302可存储在物理存储器316中的存储器元件中,并且可由物理处理器308中的一个或多个执行。
在物理处理器308中的一个或多个上执行的可为一个或多个虚拟机332A-C (通常为332)。每个虚拟机332可具有虚拟磁盘326A-C和虚拟处理器328A-C。在一些实施例中,第一虚拟机332A可使用虚拟处理器328A执行包含工具堆栈 324的控制程序320。控制程序320可称为控制虚拟机、Dom0、域0或用于***管理和/或控制的其它虚拟机。在一些实施例中,一个或多个虚拟机332B-C 可使用虚拟处理器328B-C执行访客操作***330A-B。
虚拟化服务器301可包含硬件层310,所述硬件层310具有与虚拟化服务器301通信的一件或多件硬件。在一些实施例中,硬件层310可包含一个或多个物理磁盘304、一个或多个物理装置306、一个或多个物理处理器308和一个或多个物理存储器316。物理组件304、306、308和316可包含例如上文描述的组件中的任一个。物理装置306可包含(例如)网络接口卡、视频卡、键盘、鼠标、输入装置、监控器、显示装置、扬声器、光盘驱动器、存储装置、通用串行总线连接、打印机、扫描仪、网络元件(例如,路由器、防火墙、网络地址翻译器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP) 路由器等),或连接到虚拟化服务器301或与其通信的任何装置。硬件层310 中的物理存储器316可包含任何类型的存储器。物理存储器316可存储数据,并且在一些实施例中,可存储一个或多个程序或一组可执行指令。图3示出固件312存储在虚拟化服务器301的物理存储器316内的实施例。存储在物理存储器316中的程序或可执行指令可由虚拟化服务器301的一个或多个处理器 308执行。
虚拟化服务器301还可包含管理程序302。在一些实施例中,管理程序302 可为由虚拟化服务器301上的处理器308执行以创建且管理任何数目的虚拟机 332的程序。管理程序302可被称为虚拟机监控器或平台虚拟化软件。在一些实施例中,管理程序302可为监控在计算机器上执行的虚拟机的可执行指令和硬件的任何组合。管理程序302可为2型管理程序,其中管理程序在操作*** 314内执行,所述操作***314在虚拟化服务器301上执行。虚拟机然后可在高于管理程序的级别处执行。在一些实施例中,2型管理程序可在用户的操作***的情境内执行,使得2型管理程序与用户的操作***交互。在其它实施例中,虚拟化环境中的一个或多个虚拟化服务器301可改为包含1型管理程序(未示出)。1型管理程序可通过直接访问硬件层310内的硬件和资源而在虚拟化服务器301上执行。也就是说,虽然2型管理程序302通过主机操作***314访问***资源,如图所示,但1型管理程序可在无主机操作***314的情况下直接访问所有***资源。1型管理程序可直接在虚拟化服务器301的一个或多个物理处理器308上执行,并且可包含存储于物理存储器316中的程序数据。
在一些实施例中,按模拟能够直接访问***资源的操作***330或控制程序320的任何方式,管理程序302可向在虚拟机332上执行的操作***330或控制程序320提供虚拟资源。***资源可包含但不限于物理装置306、物理磁盘304、物理处理器308、物理存储器316和包含在虚拟化服务器301硬件层 310中的任何其它组件。管理程序302可用于模拟虚拟硬件、分区物理硬件、虚拟化物理硬件和/或执行提供对计算环境的访问权的虚拟机。在又其它实施例中,管理程序302可控制在虚拟化服务器301上执行的虚拟机332的处理器调度和存储器分区。管理程序302可包含由加利福尼亚州帕洛阿尔托的VMWare 公司(VMWare,Inc.,of Palo Alto,California)制造的管理程序;XENPROJECT 管理程序,其为在开源XenProject.org团体监督下开发的开源产品;由微软提供的HyperV、VirtualServer或虚拟PC管理程序,或其它管理程序。在一些实施例中,虚拟化服务器301可执行创建访客操作***可在其上执行的虚拟机平台的管理程序302。在这些实施例中,虚拟化服务器301可被称为主机服务器。这类虚拟化服务器的实例是由佛罗里达州劳德代尔堡的思杰***公司提供的 XENSERVER。
管理程序302可创建访客操作***330在其中执行的一个或多个虚拟机 332B-C(通常为332)。在一些实施例中,管理程序302可加载虚拟机映像以创建虚拟机332。在其它实施例中,管理程序302可执行虚拟机332内的访客操作***330。在又其它实施例中,虚拟机332可执行访客操作***330。
除创建虚拟机332之外,管理程序302还可控制至少一个虚拟机332的执行。在其它实施例中,管理程序302可向至少一个虚拟机332呈现由虚拟化服务器301提供的至少一个硬件资源(例如,硬件层310内可用的任何硬件资源) 的抽象。在其它实施例中,管理程序302可控制虚拟机332访问虚拟化服务器 301中可用的物理处理器308的方式。控制对物理处理器308的访问可包含确定虚拟机332是否应能够访问处理器308,以及如何向虚拟机332呈现物理处理器能力。
如图3所示,虚拟化服务器301可代管或执行一个或多个虚拟机332。虚拟机332是一组可执行指令,所述指令在由处理器308执行时可模仿物理计算机的操作,使得虚拟机332可极类似于物理计算装置而执行程序和过程。虽然图3说明虚拟化服务器301代管三个虚拟机332的实施例,但在其它实施例中,虚拟化服务器301可代管任何数目的虚拟机332。在一些实施例中,管理程序 302可向每个虚拟机332提供可用于虚拟机332的物理硬件、存储器、处理器及其它***资源的唯一虚拟视图。在一些实施例中,唯一虚拟视图可基于虚拟机权限、策略引擎对一个或多个虚拟机标识符的应用、访问虚拟机的用户、在虚拟机上执行的应用程序、由虚拟机访问的网络或任何其它所需准则中的一个或多个。举例来说,管理程序302可创建一个或多个非安全虚拟机332和一个或多个安全虚拟机332。可阻止非安全虚拟机332访问可准许安全虚拟机332 访问的资源、硬件、存储器位置和程序。在其它实施例中,管理程序302可向每个虚拟机332提供可用于虚拟机332的物理硬件、存储器、处理器及其它***资源的大体上类似的虚拟视图。
每个虚拟机332可包含虚拟磁盘326A-C(通常为326)和虚拟处理器328A-C (通常为328)。在一些实施例中,虚拟磁盘326是虚拟化服务器301的一个或多个物理磁盘304或者虚拟化服务器301的一个或多个物理磁盘304的一部分的虚拟化视图。物理磁盘304的虚拟化视图可由管理程序302生成、提供和管理。在一些实施例中,管理程序302向每个虚拟机332提供物理磁盘304的唯一视图。因此,在这些实施例中,包含在每个虚拟机332中的特定虚拟磁盘326 在与其它虚拟磁盘326相比时可为唯一的。
虚拟处理器328可为虚拟化服务器301的一个或多个物理处理器308的虚拟化视图。在一些实施例中,物理处理器308的虚拟化视图可由管理程序302 生成、提供和管理。在一些实施例中,虚拟处理器328具有至少一个物理处理器308的大体上全部相同特性。在其它实施例中,虚拟处理器308提供物理处理器308的经修改视图,使得虚拟处理器328的至少一些特性不同于对应物理处理器308的特性。
另外参考图4,可在基于云的环境中实施本文描述的一些方面。图4示出云计算环境(或云***)400的实例。如图4中所见,客户端计算机411-414 可与云管理服务器410通信以访问云***的计算资源(例如,主机服务器 403a-403b(本文通常称为“主机服务器403”)、存储资源404a-404b(本文通常称为“存储资源404”)和网络资源405a-405b(本文通常称为“网络资源405”))。
管理服务器410可在一个或多个物理服务器上实施。管理服务器410可运行例如佛罗里达州劳德代尔堡的思杰***公司的CLOUDPLATFORM或 OPENSTACK等等。管理服务器410可管理各种计算资源,包含云硬件和软件资源,例如,主机计算机403、数据存储装置404和联网装置405。云硬件和软件资源可包含私用和/或公共组件。举例来说,云可被配置为待由一或多个特定客户或客户端计算机411-414和/或在私用网络上使用的私用云。在其它实施例中,公共云或混合公共-私用云可由其它客户在开放式或混合网络上使用。
管理服务器410可被配置成提供用户接口,云运营商和云客户可通过所述用户接口与云***400交互。举例来说,管理服务器410可提供一组应用程序编程接口(API)和/或具有用户接口的一个或多个云运营商控制台应用程序(例如,基于网络的或独立的应用程序)以允许云运营商管理云资源、配置虚拟化层、管理客户账户,以及执行其它云管理任务。管理服务器410还可包含一组API和/或具有用户接口的一个或多个客户控制台应用程序,所述用户接口被配置成经由客户端计算机411-414从终端用户接收云计算请求,例如创建、修改或毁坏云内的虚拟机的请求。客户端计算机411-414可经由互联网或一些其它通信网络连接到管理服务器410,并且可请求访问由管理服务器410管理的计算资源中的一个或多个。响应于客户端请求,管理服务器410可包含资源管理器,所述资源管理器被配置成基于客户端请求选择和提供云***的硬件层中的物理资源。举例来说,云***的管理服务器410和附加组件可被配置成在网络 (例如,互联网)上为在客户端计算机411-414处的顾客提供、创建和管理虚拟机及其操作环境(例如,管理程序、存储资源、由网络元件供给的服务等),从而给顾客提供计算资源、数据存储服务、联网能力以及计算机平台和应用程序支持。云***也可被配置成提供各种具体服务,包含安全***、开发环境、用户接口等。
某些客户端411-414可相关,例如,不同客户端计算机代表同一终端用户创建虚拟机,或者不同用户附属于同一公司或组织。在其它实例中,某些客户端411-414可不相关,如用户附属于不同公司或组织。对于不相关客户端,可将任何一个用户的关于虚拟机或存储的信息对其它用户隐藏。
现参考云计算环境的物理硬件层,可用性区401-402(或区)可指物理计算资源的并置集合。可将区与计算资源的总体云中的其它区地理上分开。举例来说,区401可为位于加利福尼亚的第一云数据中心,并且区402可为位于佛罗里达的第二云数据中心。管理服务器410可位于可用性区中的一个处,或位于单独的位置。每个区可包含通过网关与如管理服务器410的在所述区外部的装置介接的内部网络。云的终端用户(例如,客户端411-414)可能察觉到或可能察觉不到区之间的区别。举例来说,终端用户可请求创建具有指定量的存储器、处理能力和网络能力的虚拟机。管理服务器410可响应用户的请求,并且可在用户不知道是使用来自区401还是区402的资源创建虚拟机的情况下分配资源以创建虚拟机。在其它实例中,云***可允许终端用户请求将虚拟机(或其它云资源)分配在特定区中或区内的特定资源403-405上。
在此实例中,每个区401-402可包含各种物理硬件组件(或计算资源) 403-405的布置,例如,物理代管资源(或处理资源)、物理网络资源、物理存储资源、交换机和可用以向客户提供云计算服务的附加硬件资源。云区401-402 中的物理代管资源可包含一个或多个计算机服务器403,如以上描述的虚拟化服务器301,其可被配置成创建和代管虚拟机例项。云区401或402中的物理网络资源可包含包括被配置成向云顾客提供网络服务的硬件和/或软件的一个或多个网络元件405(例如,网络服务提供者),如防火墙、网络地址翻译器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等。云区401-402中的存储资源可包含存储磁盘(例如,固态驱动器(SSD)、磁性硬盘等)和其它存储装置。
图4所示的实例云计算环境还可包含具有附加硬件和/或软件资源的虚拟化层(例如,如图1-3所示),所述附加硬件和/或软件资源被配置成创建和管理虚拟机且使用云中的物理资源向客户提供其它服务。虚拟化层可包含管理程序,如上文在图3中描述,所述管理程序与其它组件一起提供网络虚拟化、存储虚拟化等。虚拟化层可作为与物理资源层分开的层,或者可与物理资源层共享相同硬件和/或软件资源中的一些或全部。举例来说,虚拟化层可包含与物理计算资源一起安装在虚拟化服务器403中的每一个中的管理程序。可替代地使用已知云***,例如,WINDOWS AZURE(华盛顿雷德蒙德的微软公司)、AMAZON EC2(华盛顿西雅图的Amazon.com Inc.)、IBM BLUE CLOUD(纽约阿蒙克的 IBM公司)或其它。
企业移动管理架构
图5表示在“自带装置”(BYOD)环境中使用的企业移动技术架构500。所述架构使移动装置502的用户能够从移动装置502访问企业资源或个人资源,并且可将移动装置502用于个人用途。用户可使用由用户购买的移动装置502 或由企业提供给用户的移动装置502来访问这类企业资源504或企业服务508。用户可将移动装置502仅用于商业用途或用于商业和个人用途。移动装置502 可运行iOS操作***、Android操作***等。企业可选择实施策略来管理移动装置502。策略可通过防火墙或网关以这样的方式实施,即移动装置502可被识别、保护或安全验证,并被提供对企业资源(例如504和508)的选择性或完全访问。策略可为移动装置管理策略、移动应用程序管理策略、移动数据管理策略,或移动装置、应用程序和数据管理策略的一些组合。通过移动装置管理策略的应用来管理的移动装置502可被称为注册装置。
在一些实施例中,移动装置502的操作***可被分成托管分区510和非托管分区512。托管分区510可具有应用于其上的策略,以保护运行在托管分区 510上的应用程序和存储在托管分区510中的数据。运行在托管分区510上的应用程序可为安全应用程序。在其它实施例中,所有应用程序可根据与所述应用程序分开接收的一组一个或多个策略文件来执行,并且所述策略文件定义一个或多个安全参数、特征、资源限制和/或当在移动装置502上执行所述应用程序时由移动装置管理***强制执行的其它访问控制。通过根据它们各自的策略文件(一个或多个)进行操作,可允许或限制每个应用程序与一个或多个其它应用程序和/或资源的通信,从而创建虚拟分区。因此,如本文所用,分区可指存储器的物理分区部分(物理分区)、存储器的逻辑分区部分(逻辑分区)和/ 或作为如本文描述的跨多个应用程序强制执行一个或多个策略和/或策略文件的结果而创建的虚拟分区(虚拟分区)。换言之,通过在托管应用程序上强制执行策略,这些应用程序可被限制为只能与其它托管应用程序和受信任的企业资源通信,从而创建非托管应用程序和装置无法穿透的虚拟分区。
安全应用程序可为电子邮件应用程序、网络浏览应用程序、软件即服务 (SaaS)访问应用程序、Windows应用程序访问应用程序等。安全应用程序可为安全本机应用程序514、由安全应用程序启动器518执行的安全远程应用程序 522、由安全应用程序启动器518执行的虚拟化应用程序526等。安全本机应用程序514可由安全应用程序包装器520包装。安全应用程序包装器520可包含当在移动装置502上执行安全本机应用程序514时在移动装置502上执行的集成策略。安全应用程序包装器520可包含元数据,所述元数据将在移动装置502上运行的安全本机应用程序514指向在企业中代管的资源(例如504和508),安全本机应用程序514可能需要所述资源来完成在执行安全本机应用程序514 时所请求的任务。由安全应用程序启动器518执行的安全远程应用程序522可在安全应用程序启动器518内执行。由安全应用程序启动器518执行的虚拟化应用程序526可利用移动装置502上的资源、企业资源504等。由安全应用程序启动器518执行的虚拟化应用程序526在移动装置502上使用的资源可包含用户交互资源、处理资源等。用户交互资源可用于收集和传输键盘输入、鼠标输入、相机输入、触觉输入、音频输入、视觉输入、手势输入等。处理资源可用于呈现用户接口、处理从企业资源504接收的数据等。由安全应用程序启动器518执行的虚拟化应用程序526在企业资源504处使用的资源可包含用户接口生成资源、处理资源等。用户接口生成资源可用于组装用户接口、修改用户接口、刷新用户接口等。处理资源可用于创建信息、读取信息、更新信息、删除信息等。举例来说,虚拟化应用程序526可记录与图形用户接口(GUI)相关联的用户交互,并将它们传达给服务器应用程序,其中服务器应用程序将使用用户交互数据作为在服务器上运行的应用程序的输入。在这类布置中,企业可选择将应用程序以及与应用程序相关联的数据、文件等维护在服务器端。尽管企业可通过确保它们在移动装置502上的部署根据本文的原理选择“移动”某些应用程序,但是也可为某些应用程序选择这种布置。举例来说,尽管可确保一些应用程序在移动装置502上的使用,但是其它应用程序可能没有准备好或不适合部署在移动装置502上,因此企业可选择通过虚拟化技术向移动用户提供对未准备好的应用程序的访问。作为另一个实例,企业可具有带有大型和复杂数据集的大型复杂应用程序(例如,材料资源计划应用程序),在所述应用程序中很难或以其它方式不希望为移动装置502定制应用程序,因此企业可选择通过虚拟化技术提供对应用程序的访问。作为又一个实例,企业可具有维护高度安全数据(例如,人力资源数据、客户数据、工程数据)的应用程序,所述数据对于甚至是安全的移动环境而言也可能被企业视为过于敏感,因此企业可选择使用虚拟化技术以准许对这类应用程序和数据的移动访问。企业可选择在移动装置502上同时提供完全安全和完全功能的应用程序以及虚拟化应用程序526,以允许访问被认为在服务器端更正确地操作的应用程序。在一个实施例中,虚拟化应用526可将一些数据、文件等存储在安全存储位置中的一个中的移动装置502上。企业例如可选择允许某些信息存储在移动装置502上,而不准许其它信息。
结合如本文描述的虚拟化应用程序526,移动装置502可具有虚拟化应用程序526,其被设计成呈现GUI,并且然后记录用户与GUI的交互。虚拟化应用程序526可将用户交互传达给服务器端,以供服务器端应用程序用作与应用程序的用户交互。作为响应,服务器端的应用程序可向移动装置502传输回新的GUI。举例来说,新的GUI可为静态页面、动态页面、动画等,从而提供对远程资源的访问。
安全应用程序514可访问存储在移动装置502的托管分区510中的安全数据容器528中的数据。安全数据容器中受保护的数据可由安全本机应用程序 514、由安全应用程序启动器518执行的安全远程应用程序522、由安全应用程序启动器518执行的虚拟化应用程序526等访问。存储在安全数据容器528中的数据可包含文件、数据库等。存储在安全数据容器528中的数据可包含限于特定的安全应用程序530、在安全应用程序532当中共享的数据等。限于安全应用程序的数据可包含安全通用数据534和高度安全数据538。安全通用数据可使用如高级加密标准(AES)128位加密的强加密形式,而高度安全数据538 可使用如AES256位加密的非常强加密形式。存储在安全数据容器528中的数据可在从装置管理器524接收到命令时从移动装置502中删除。安全应用程序 (例如514、522和526)可具有双模式选项540。双模式选项540可向用户呈现用于以非安全或非托管模式操作安全应用程序的选项。在非安全或非托管模式下,安全应用程序可访问存储在移动装置502的非托管分区512上的非安全数据容器542中的数据。存储在非安全数据容器中的数据可为个人数据544。存储在非安全数据容器542中的数据也可由运行在移动装置502的非托管分区 512上的非安全应用程序546访问。当从移动装置502删除存储在安全数据容器528中的数据时,存储在非安全数据容器542中的数据可保留在移动装置502 上。企业可能希望从移动装置502中删除所选的或由企业拥有、许可或控制的所有数据、文件和/或应用程序(企业数据),同时保留或以其它方式保留由用户拥有、许可或控制的个人数据、文件和/或应用程序(个人数据)。此操作可被称为选择性擦除。利用根据本文描述的方面布置的企业和个人数据,企业可执行选择性擦除。
移动装置502可连接到企业的企业资源504和企业服务508、公共互联网 548等。移动装置502可通过虚拟专用网络连接连接到企业资源504和企业服务508。虚拟专用网络连接(也称为microVPN或特定于应用程序的VPN)可特定于特定应用程序550、特定装置、移动装置552上的特定安全区域等。举例来说,移动装置502的安全区域中的包装应用程序中的每一个可通过特定于应用程序的VPN来访问企业资源,使得将基于与应用程序相关联的属性(可能结合用户或装置属性信息)授予对VPN的访问权。虚拟专用网络连接可承载Microsoft Exchange通信量、Microsoft Active Directory通信量、超文本传输协议(HTTP)通信量、超文本传输协议安全(HTTPS)通信量、应用程序管理通信量等。虚拟专用网络连接可支持并启用单点登录认证过程554。单点登录过程可允许用户提供一组认证凭据,然后由认证服务558对其进行验证。然后,认证服务558可向用户授予对多个企业资源504的访问权,而无需用户向每个单独的企业资源504提供认证凭据。
虚拟专用网络连接可由访问网关560建立和管理。访问网关560可包含管理、加速和改进企业资源504到移动装置502的递送的性能增强特征。访问网关560还可将流量从移动装置502重新路由到公共互联网548,从而使移动装置502能够访问在公共互联网548上运行的公共可用和非安全应用程序。移动装置502可经由传输网络562连接到访问网关。传输网络562可为有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络、专用网络等。
企业资源504可包含电子邮件服务器、文件共享服务器、SaaS应用程序、网络应用程序服务器、Windows应用程序服务器等。电子邮件服务器可包含 Exchange服务器、LotusNotes服务器等。文件共享服务器可包含ShareFile服务器等。SaaS应用程序可包含Salesforce等。Windows应用程序服务器可包含被构建成提供旨在在本地Windows操作***上运行的应用程序等的任何应用程序服务器。企业资源504可为基于前提的资源、基于云的资源等。企业资源504 可由移动装置502直接访问或通过访问网关560访问。企业资源504可由移动装置502经由传输网络562访问。
企业服务508可包含认证服务558、威胁检测服务564、装置管理器服务 524、文件共享服务568、策略管理器服务570、社交整合服务572、应用程序控制器服务574等。认证服务558可包含用户认证服务、装置认证服务、应用程序认证服务、数据认证服务等。认证服务558可使用证书。证书可由企业资源504等存储在移动装置502上。可将存储在移动装置502上的证书存储在移动装置502上的加密位置中,可将证书临时存储在移动装置502上以在认证时使用等。威胁检测服务564可包含入侵检测服务、未经授权的访问尝试检测服务等。未经授权的访问尝试检测服务可包含未经授权的访问装置、应用程序、数据等的尝试。装置管理服务524可包含配置、提供、安全、支持、监控、报告和退役服务。文件共享服务568可包含文件管理服务、文件存储服务、文件协作服务等。策略管理器服务570可包含装置策略管理器服务、应用程序策略管理器服务、数据策略管理器服务等。社交整合服务572可包含联系人整合服务、协作服务、与如Facebook、Twitter和LinkedIn等的社交网络的整合。应用程序控制器服务574可包含管理服务、提供服务、部署服务、分配服务、吊销服务、包装服务等。
企业移动技术架构500可包含应用程序商店578。应用程序商店578可包含未包装的应用程序580、预包装的应用程序582等。可从应用程序控制器574 将应用程序填充在应用程序商店578中。移动装置502可通过访问网关560、通过公共互联网548等来访问应用程序商店578。可向应用程序商店578提供直观且易于使用的用户接口。
如在本说明书中先前描述,软件开发工具包584可通过包装应用程序来向用户提供保护由用户选择的应用程序的能力。然后,通过使用应用程序控制器 574将已使用软件开发工具包584包装的应用程序填充到应用程序商店578中,可使所述应用程序可用于移动装置502。
企业移动技术架构500可包含管理和分析能力588。管理和分析能力588 可提供与如何使用资源、资源使用的频率等有关的信息。资源可包含装置、应用程序、数据等。如何使用资源可包含哪些装置下载哪些应用程序、哪些应用程序访问哪些数据等。资源使用的频率可包含应用程序的下载频率、特定数据集已由应用程序访问的次数等。
图6是另一个说明性企业移动管理***600。为了简单起见,已省略上面参考图5描述的移动管理***500的组件中的一些。图6中描绘的***600的架构在许多方面类似于上文参考图5描述的***500的架构,并且可包含上文未提及的附加特征。
在这种情况下,左手侧表示具有客户端代理604的已注册移动装置602,所述客户端代理604与网关服务器606(包含Access Gateway和应用程序控制器功能性)交互以访问各种企业资源608和服务609,如交换(Exchange)、共享点(Sharepoint)、公共密钥基础设施(PKI)资源、Kerberos资源、证书颁发服务,如上面右手侧所示。尽管未具体示出,但是移动装置602还可与企业应用程序商店(StoreFront)交互以选择和下载应用程序。
客户端代理604充当企业数据中心中代管的Windows应用程序/桌面的UI (用户接口)中介,使用高清用户体验(HDX)/ICA显示远程协议对其进行访问。客户端代理604还支持移动装置602上的本机应用程序(如本机iOS或 Android应用程序)的安装和管理。举例来说,上图中所示的托管应用程序610 (邮件、浏览器、包装的应用程序)均是在移动装置602上本地执行的本机应用程序。此架构的客户端代理604和应用程序管理框架用于向企业资源/服务608 提供策略驱动的管理功能和特征,如连接性和SSO(单点登录)。客户端代理604处理对企业的主要用户认证,通常是通过对其它网关服务器组件的SSO的访问网关(AG)606。客户端代理604从网关服务器606获得策略以控制托管应用程序610在移动装置602上的行为。
本机应用程序610和客户端代理604之间的安全进程间通信(IPC)链接 612表示管理信道,所述管理信道可允许客户端代理提供由应用程序管理框架 614“包装”每个应用程序来强制执行的策略。IPC信道612还可允许客户端代理604供应凭据和认证信息,所述凭据和认证信息实现与企业资源608的连接和SSO。最后,IPC信道612可允许应用程序管理框架614调用由客户端代理 604实施的用户接口功能,如在线和离线认证。
客户端代理604和网关服务器606之间的通信实质上是来自包装每个本机托管应用程序610的应用程序管理框架614的管理信道的扩展。应用程序管理框架614可从客户端代理604请求策略信息,所述客户端代理604又可从网关服务器606请求策略信息。应用程序管理框架614可请求认证,并且客户端代理604可登录到网关服务器606的网关服务部分(也称为NETSCALER ACCESS GATEWAY)。客户端代理604还可在网关服务器606上呼叫支持服务,所述网关服务器606可产生输入材料以导出用于本地数据保管库616的加密密钥,或者可提供客户端证书,所述客户端证书可实现对受PKI保护的资源的直接认证,如下文更充分地解释。
更详细地,应用程序管理框架614“包装”每个托管应用程序610。这可经由显式构建步骤或经由后构建处理步骤来合并。在首次启动应用程序610时,应用程序管理框架614可与客户端代理604“配对”,以初始化安全IPC信道612 并获取所述应用程序的策略。应用程序管理框架614可强制执行本地应用的策略的相关部分,如客户端代理登录依赖项和限制如何使用本地OS服务或它们如何与托管应用程序610交互的遏制策略中的一些。
应用程序管理框架614可使用由客户端代理604通过安全IPC信道612提供的服务来促进认证和内部网络访问。私用和共享数据保管库616(容器)的密钥管理也可通过托管应用程序610和客户端代理604之间的适当交互来管理。保管库616仅在在线认证之后才可用,或者如果策略允许,则可在离线认证之后可用。保管库616的首次使用可能需要在线认证,并且离线访问可仅限于在再次需要在线认证之前的最多策略刷新期。
对内部资源的网络访问可通过访问网关606从各个托管应用程序610直接发生。应用程序管理框架614可负责代表每个托管应用程序610协调网络访问。客户端代理604可通过提供在在线认证之后获得的合适的时间有限的二级凭据来促进这些网络连接。可使用多种模式的网络连接,如反向网络代理连接和端到端VPN样式的隧道618。
邮件和浏览器托管应用程序610具有特殊状态,并且可利用对于任意包装的应用程序通常可能不可用的设施。举例来说,邮件应用程序610可使用特殊的后台网络访问机制,所述机制允许它在延长的时间段内访问Exchange服务器 608,而无需完整的AG登录。浏览器应用程序610可使用多个私用数据保管库 616来分离不同种类的数据。
此架构可支持各种其它安全特征的合并。举例来说,在某些情况下,网关服务器606(包含其网关服务)可能不需要验证活动目录(AD)密码。企业可自行决定是否在某些情况下将AD密码用作某些用户的认证因素。如果用户在线或离线(即连接或未连接到网络),则可使用不同的认证方法。
逐步认证是一种特征,其中网关服务器606可识别允许访问需要强认证的高度机密数据的托管本机应用程序610,并且确保仅在执行适当的认证之后才准许访问这些应用程序,即使这意指在先前较弱的登录级别之后,用户需要重新认证。
此解决方案的另一个安全特征是对移动装置602上的数据保管库616(容器)进行加密。可对保管库616进行加密,使得包含文件、数据库和配置的所有装置上数据均受到保护。对于在线保管库,密钥可存储在服务器(网关服务器606)上,对于离线保管库,密钥的本地副本可通过用户密码或生物特征验证来保护。如果或者当数据被本地存储在安全容器616中的移动装置602上时,则可优选利用最少的AES 256加密算法。
也可实施其它安全容器特征。举例来说,可包含日志记录特征,其中可将在托管应用程序610内部发生的安全事件记录下来并报告给后端。可支持数据擦除,如,如果或者当托管应用程序610检测到篡改时,可用随机数据重写相关联的加密密钥,在文件***上不留下用户数据被毁坏的提示。屏幕截图保护可为另一个特征,其中应用程序可阻止任何数据存储在屏幕截图中。举例来说,可将关键窗口的隐藏性质设定为“是”。这可能会使得屏幕上当前显示的任何内容被隐藏,从而致使任何内容通常均会驻留的地方出现空白屏幕截图。
可阻止本地数据传送,如通过阻止将任何数据本地传送到应用程序容器外部,例如通过将其复制或发送到外部应用程序。键盘高速缓存特征可用于禁用敏感文本字段的自动更正功能性。SSL证书验证可为可操作的,因此应用程序专门验证服务器SSL证书,而不是将其存储在钥匙串中。可使用加密密钥生成特征,使得使用由用户供应的密码或生物特征数据生成用于加密移动装置602 上的数据的密钥(如果需要离线访问)。如果不需要离线访问,则可将它与另一个随机生成并存储在服务器端的密钥进行异或运算。密钥导出函数可这样操作,使得从用户密码生成的密钥使用KDF(密钥导出函数,尤其是基于密码的密钥导出函数2(PBKDF2)),而不是创建其暗码散列。后者使密钥容易受到暴力破解或字典攻击。
此外,可在加密方法中使用一个或多个初始化向量。初始化向量将使得相同加密数据的多个副本产生不同的密文输出,从而阻止重放和密码分析攻击。如果用于加密数据的特定初始化向量未知,这也将阻止攻击者解密任何数据,即使使用被盗的加密密钥。此外,可使用认证然后解密,其中仅在用户已在应用程序内进行认证之后才对应用程序数据进行解密。另一个特征可能与内存中的敏感数据有关,敏感数据仅在需要时才保留在内存中(而不是磁盘中)。举例来说,登录凭据可能会在登录后从内存中擦除,并且目标-C实例变量中的加密密钥及其它数据不会被存储,因为它们很容易被引用。相反,可以手动为它们分配内存。
可实施不活动超时,其中在策略定义的不活动时间段之后,终止用户会话。
可通过其它方式阻止来自应用程序管理框架614的数据泄漏。举例来说,如果或者当将托管应用程序610置于后台时,可在预定(可配置)时间段之后清除内存。在后台运行时,可对应用程序最后显示的屏幕进行快照,以加快前台处理的速度。屏幕截图可含有机密数据,并且因此应清除。
另一安全特征可涉及使用OTP(一次性密码)620而不使用用于访问一个或多个应用程序的AD(活动目录)622密码。在某些情况下,一些用户不知道(或不被准许知道)其AD密码,因此这些用户可使用OTP 620进行认证,如通过使用像SecurID这样的硬件OTP***(OTP也可由不同的供应商提供,如 Entrust或Gemalto)。在一些情况下,在用户使用用户ID进行认证之后,可用 OTP 620向用户发送文本。在一些情况下,这可仅为在线使用而实施,提示是单个字段。
可为经由企业策略准许离线使用的那些托管应用程序610的离线认证实施离线密码。举例来说,企业可能希望以这种方式访问StoreFront。在这种情况下,客户端代理604可要求用户设定定制的离线密码且不使用AD密码。网关服务器606可提供策略来控制和强制执行关于密码的最小长度、字符类别组成和年龄的密码标准,如标准Windows Server密码复杂性要求描述,尽管可修改这些要求。
另一个特征可涉及将某些应用程序610的客户端证书作为二级凭据的启用 (出于经由应用程序管理框架微型VPN特征访问受PKI保护的网络资源的目的)。举例来说,托管应用程序610可利用这类证书。在这种情况下,可支持使用ActiveSync协议的基于证书的认证,其中来自客户端代理604的证书可由网关服务器606检索并在钥匙串中使用。每个托管应用程序610可具有一个相关联的客户端证书,所述证书由网关服务器606中定义的标签标识。
网关服务器606可与企业专用网络服务进行交互,以支持客户端证书的颁发,以允许相关的托管应用程序向内部PKI保护的资源进行认证。
客户端代理604和应用程序管理框架614可被增强以支持获得和使用客户端证书以对内部PKI保护的网络资源进行认证。可支持多于一个证书,如以匹配各种级别的安全性和/或分离要求。证书可由邮件和浏览器托管应用程序610 使用,并最终由任意包装的应用程序610使用(前提是那些应用程序使用网络服务样式的通信模式,其中应用程序管理框架调解HTTPS请求是合理的)。
iOS上的应用程序管理客户端证书支持可依赖于在每个使用期将公钥加密标准(PKCS)12BLOB(二进制大对象)导入每个托管应用程序610中的iOS 钥匙串中。应用程序管理框架客户端证书支持可使用具有私用内存密钥存储的 HTTPS实施方式。客户端证书可能不存在于iOS钥匙串中,并且可能无法持久保存,除非可能保存在受严格保护的“仅在线”数据值中。
相互SSL还可通过要求移动装置602已向企业进行认证来实施,以提供附加安全性,反之亦然。也可实用于向网关服务器606进行认证的虚拟智能卡。
有限的和完全的Kerberos支持两者可能是附加特征。完全支持特征涉及使用AD密码或受信任的客户端证书对Active Directory(AD)622进行完全 Kerberos登录并获得Kerberos服务票证以响应HTTP协商认证质询的能力。有限的支持特征涉及思杰访问网关企业版(AGEE)中的受限委派,其中AGEE 支持调用Kerberos协议转换,因此它可获得和使用Kerberos服务票证(受限于受限委派),以响应HTTP协商认证质询。此机制在反向网络代理(也称为公司虚拟专用网络(CVPN))模式下以及在VPN和MicroVPN模式下代理HTTP(而非HTTPS)连接时起作用。
另一个特征可涉及应用程序容器锁定和擦除,其可在越狱或获取最高权限(rooting)检测时自动发生,并且作为来自管理控制台的推送命令发生,并且即使在托管应用程序610未运行时也可包含远程擦除功能性。
可支持企业应用程序商店和应用程序控制器的多站点架构或配置,这允许在发生故障的情况下从若干不同位置中的一个为用户提供服务。
在一些情况下,可允许托管应用程序610经由API(例如OpenSSL)访问证书和私钥。可允许企业的受信任的托管应用程序610用应用程序的客户端证书和私钥来执行特定的公钥操作。可相应地识别和处理各种用例,如,如果或者当应用程序表现得像浏览器并且不需要证书访问时,如果或者当应用程序读取“我是谁”的证书时,如果或者当应用程序使用证书来构建安全会话令牌时,以及如果或者当应用程序使用私钥对重要数据(例如事务日志)进行数字签名或者用于临时数据加密时。
将单点登录扩展到联合登录提供者的依赖方
如上所述,本公开的方面涉及将单点登录扩展到联合登录提供者的依赖方。另外,本公开的一个或多个方面可合并、体现在和/或使用以上结合图1-6论述的计算机***架构、远程访问***架构、虚拟化(管理程序)***架构、基于云的***架构和/或企业移动管理***中的一个或多个来实施。
图7描绘根据本文描述的一个或多个说明性方面的用于将单点登录扩展到联合登录提供者的依赖方的说明性计算环境。参考图7,计算环境700可包含企业身份提供者服务器710、企业服务器720、用户装置730和740、第三方***750、联合身份提供者服务器760、企业网络770和公共网络780。企业身份提供者服务器710、企业服务器720、用户装置730和740、第三方***750和联合身份提供者服务器760可包含一个或多个物理组件,如一个或多个处理器、存储器、通信接口等。
企业身份提供者服务器710可包含处理器711、存储器712和通信接口713。处理器711可执行存储在存储器712中的指令,以使得企业身份提供者服务器 710执行一个或多个功能,如基于对第一认证令牌的引用来检索第二认证令牌。通信接口713可包含一个或多个网络接口,企业身份提供者服务器710可经由一个或多个网络接口与计算环境700(如企业服务器720、用户装置730和740、第三方***750和联合身份提供者服务器760)中的一个或多个其它***和/或装置通信。存储器712可包含密钥存储库714。在一个实例中,当从联合身份提供者服务器760接收到认证令牌时,企业身份提供者服务器710可将认证和使认证令牌与另一个对应的认证令牌相关联的引用存储在密钥存储库714中。在另一个实例中,企业身份提供者服务器710可将刷新后的认证令牌和相关联的引用存储在密钥存储库714中,如下面更详细地论述。
在一些实例中,如图7所示,密钥存储714可驻留在企业身份提供者服务器710的存储器712中。在替代布置中,企业身份提供者服务器710和密钥存储库714可驻留在单独的计算装置上,并且密钥存储库714可由企业身份提供者服务器710远程管理。密钥存储库714可包含硬件安全模块(HSM),其保护和管理用于认证的数字密钥并提供加密处理。密钥存储库714可为存储高价值数字密钥的关键任务基础设施的一部分,这意指如果密钥被盗用,可能会对密钥所有者产生重大的负面影响。在一些实施例中,密钥存储库、HSM和/或暗码模块可被认证为国际公认的标准,如通用准侧或联合信息处理标准(FIPS),以向用户提供产品和暗码算法的设计和实施方式是可靠的独立保证。密钥存储库714和对应的HSM的功能性可按软件或硬件来实施。
企业服务器720可与企业组织相关联,并且可向用户装置730和740以及计算环境700的其它计算装置发送和接收信息。企业家服务器720可管理用户装置730和740。企业用户可通过用户装置730和740访问***资源。用户装置730和740可为任何类型的计算装置,包含例如服务器、计算机、膝上型计算机、平板计算机、智能手机或包含处理器的其它客户端装置(例如,计算装置201)。用户装置730和740可经由它们的通信接口(例如,无线接口、LAN 接口、WLAN接口)与其它装置和/或实体(如企业服务器720、企业身份服务器710和联合身份提供者服务器760)进行通信,如下面更详细论述。用户装置730和740也可与本文描述的各种网络节点通信。
企业服务器720可包含依赖方,所述依赖方可为负责提供和管理可由一个或多个企业用户经由用户装置730和740访问的虚拟、基于云的环境的服务器。在实例用例中,依赖方可为企业的服务器,员工登录所述服务器进行认证以访问企业的虚拟、基于云的环境(例如,虚拟桌面、虚拟应用程序、虚拟移动应用程序或其它虚拟服务(一个或多个))。
企业身份提供者服务器710可为负责在企业网络770中提供身份管理平台的服务器。具体而言,企业身份提供者服务器710可负责为企业用户和/或他们各自的装置生成、更新和管理令牌,以用于与虚拟、基于云的环境进行认证和访问。由此,依赖方可代表用户装置730和740从企业身份提供者服务器710 获得认证令牌,所述认证令牌使用户装置730和740能够访问企业***中的服务和资源。举例来说,依赖方可指导用户登录到由企业身份提供者服务器710 提供的身份管理平台,并获得第一认证令牌。
作为在企业网络770中成功完成认证过程(例如,登录)的结果,企业身份提供者服务器710可向被认证的用户颁发第一认证令牌。在一个实例中,用户装置730和740可使用其现有的认证凭据登录到虚拟化、基于云的环境,认证凭据可为用户名和密码、生物特征测量(例如,指纹扫描、视网膜扫描、面部识别、语音识别等)、录入提供给指定用户装置的访问代码(例如,用户的智能手机可接收含有要录入由依赖方提供的门户的代码的消息),或用于访问企业网络770的任何其它认证手段。响应于用户装置730和740的成功登录,企业身份提供者服务器710可为经认证的用户颁发第一认证令牌,并将第一认证令牌转发给企业服务器720,这又可使用户装置730和740能够对企业网络770 内的虚拟化、基于云的环境中的服务和资源进行SSO访问。以这种方式,企业身份提供者服务器710可向企业服务器720提供第一认证令牌。作为实例,企业服务器720可将第一认证令牌存储在密钥存储库714中,并且可从密钥存储库714检索先前存储的第二认证令牌,以使用户装置730和740能够访问企业网络770内的企业***的虚拟化、基于云的环境中的服务和资源。
企业网络770和公共网络780可包含一个或多个广域网和/或局域网,并且可互连计算环境700中包含的一个或多个***和/或装置。举例来说,企业网络 770可互连企业身份提供者服务器710,企业服务器720以及用户装置730和 740。公共网络770可互连第三方***750和联合身份提供者服务器760。企业网络770和公共网络780可彼此互连,这可实施企业身份提供者服务器710、企业服务器720、用户装置730和740、第三方***750和联合身份提供者服务器760当中的相互通信。
***700可包含一个或多个联合身份提供者服务器760,其可负责生成、更新和管理用户令牌以供在公共网络中使用以访问第三方***750。在一些情况下,由企业身份提供者服务器710颁发的认证令牌可能无法由联合身份提供者服务器760公认和解释。结果,使用户装置能够访问企业***的认证令牌可能不足以准许用户装置访问第三方***750。在这种情况下,企业服务器720 可将来自用户装置730和740的访问第三方***750的请求重新定向到由联合身份提供服务器760管理和认证的登录页面。
联合身份提供者服务器760可为负责为联合登录访问公共网络780中的第三方***750提供身份平台的服务器。具体而言,联合身份提供者服务器760 可负责为用户装置730和740生成、更新和管理令牌以访问第三方***750。由此,依赖方可代表用户装置730和740从联合身份提供者服务器760获取认证令牌,所述认证令牌使它们能够访问第三方***750中的服务和资源。举例来说,依赖方可指示用户装置730和740登录到由联合身份提供者服务器760 提供的身份平台,并获得第二认证令牌。
在从企业服务器720接收到访问第三方***750的请求时,联合身份提供者服务器760可为经认证的用户颁发第二认证令牌,并将第二认证令牌转发给企业服务器720,这又可使用户装置730和740能够对第三方***750中的服务和资源进行SSO访问。作为实例,企业服务器720可将第二认证令牌与使第一认证令牌与第二认证令牌相关联的引用一起存储在密钥存储库714中。
联合身份提供者服务器760可执行使联合身份提供者服务器760能够接受和/或处理要在第三方***750中使用的认证令牌的指令。按照以上实例,对于来自用户装置730和740的访问第三方***750的后续请求,用户装置730和 740可向企业服务器720呈现作为成功登录到企业网络770内的企业***的结果而要在企业***中使用的认证令牌。响应于登录过程的完成,企业服务器720 可基于使这两个将在其各自***中使用的令牌相关联的引用,从密钥存储库 714中检索将在第三方***750中使用的对应认证令牌。联合身份提供者服务器760可解释与第三方***750相关联的认证令牌,并采取适当的措施以使依赖方能够对第三方***750进行SSO访问,如下面结合图8A-8D更详细论述。
图8A-8D描绘根据本文描述的一个或多个说明性方面的用于将单点登录扩展到联合登录提供者的依赖方的实例事件序列。图8A-8D的组件之间的通信可经由传输层安全性(TLS)暗码协议或在计算机网络上提供通信安全性的互联网协议安全性(IPsec)隧道进行加密。
参考图8A,在步骤801,企业服务器可向企业身份提供者发送访问企业***的请求。在开始图8A-8D所示的步骤之前,用户装置730和740可向企业服务器720发送请求,以访问企业网络770内的企业***的一个或多个服务或资源。举例来说,用户可尝试登录虚拟桌面、网络应用程序或移动应用程序以访问虚拟、基于云的企业***,其中企业服务器720可与由企业身份提供者服务器710提供的企业身份服务集成。随后,企业服务器720可代表用户装置730 和740将这类请求转发给企业身份服务器710以进行认证。
在步骤802,企业身份提供者服务器可向企业服务器颁发第一认证令牌。举例来说,作为用户成功登录到虚拟、基于云的企业***的结果,企业身份提供者服务器710可向企业服务器720发行第一认证令牌。另外,第一认证令牌可由企业身份提供者服务器710解释,以准许用户装置访问虚拟、基于云的企业***中的企业服务器720管理的服务和资源。企业身份提供者服务器710可向企业服务器720发送第一认证令牌。
在步骤803,企业服务器可从企业身份提供者服务器接收第一认证令牌。具体地说,第一认证令牌可使由企业服务器管理的用户装置能够使用由企业身份服务器提供的企业身份服务对一个或多个资源进行单点登录访问。举例来说,企业服务器720可从企业身份提供者服务器710接收第一认证令牌。作为实例,企业服务器720可将第一认证令牌存储在密钥存储库714中。在某些情况下,第一认证令牌可特定于企业身份提供者服务器710,并且可由企业身份提供者服务器710解释,这可使用户装置730和740能够对企业网络770内由企业***提供的各种服务和资源进行SSO访问。SSO可为企业***中多个相关但独立的服务和资源的访问控制的性质。作为实例,用户可用单个ID和密码登录而无需使用不同的用户名或密码获得对所连接***的访问,或者在每个***上无缝登录。因此,单个认证可通过在与企业身份提供者服务器710集成的企业***中无缝传递第一认证令牌来提供对多个应用程序、服务和资源的访问。由此,可向企业服务器720提供第一认证令牌。
在步骤804,企业服务器可向企业身份提供者服务器发送访问第三方***的请求。具体地说,企业身份提供者服务器710可经由通信接口从企业服务器 720接收使用联合身份服务来访问由第三方***750提供的一个或多个资源的请求。举例来说,企业服务器720可发送访问可与由联合身份提供者服务器760 提供的联合身份服务集成的第三方***750中的一个或多个服务或资源的请求。在一些情况下,用户装置730和740可发起访问第三方***750的请求,并将这类请求转发给企业服务器720。在一些情况下,第三方***可能不会直接与企业***集成,并且因此可能不会信任或理解由企业身份提供者服务器 710颁发的第一认证令牌。
在步骤805,企业身份提供者服务器可将访问第三方***的请求重定向到联合身份提供者。具体地说,企业身份提供者服务器可经由通信接口将来自企业服务器的请求重定向到由联合身份提供者服务器提供的联合身份服务。举例来说,企业身份提供者服务器760可将访问第三方***750的请求重定向到联合身份提供者服务器760。企业身份提供者服务器可将访问第三方***的请求重定向到联合身份提供者服务器760。联合身份提供者服务器760可维护和管理登录页面,所述登录页面可接受来自企业身份提供者服务器760的访问第三方***750的请求。
在步骤806,联合身份提供者服务器可生成第二认证令牌。举例来说,联合身份提供者服务器760可生成第二认证令牌,所述第二认证令牌可使用户装置730和740能够对第三方***中提供的资源和服务进行SSO访问。在一些情况下,当用户装置尝试使用联合身份服务登录时,联合身份提供者服务器760 可按SAML令牌、OpenID Connect身份令牌、OAuth访问令牌或其它形式的令牌(在此实例事件序列中,例如可被称为“第二”认证令牌)颁发成功登录的证据。具体地说,这类第二认证令牌可使由企业服务器管理的用户装置能够使用联合身份服务对第三方***进行单点登录访问。
在一些情况下,联合身份提供者76o颁发的成功登录的证据类型可从认证或身份令牌到来自联合身份提供者服务器760的专门声明或断言。在一些情况下,第二认证令牌可为使企业***与第三方***750之间能够集成的任何证据。
在步骤807,联合身份提供者服务器可向企业身份提供者服务器发送第二认证令牌,并且在步骤808,在图8B中,企业身份提供者服务器可接收第二认证令牌。举例来说,联合身份提供者服务器760可向企业身份提供者服务器710 发送第二认证令牌,并且在步骤808,如图8B所示,企业身份提供者服务器 710可接收第二认证令牌。
在步骤809,企业身份提供者服务器可向令牌存储库发送第二认证令牌。举例来说,企业身份提供者服务器710可向令牌存储库714发送第二认证令牌。在一些情况下,企业身份提供者服务器710可维护密钥存储库714,所述密钥存储库714可为关键任务基础设施的一部分且可为防篡改的,其中企业身份提供者服务器710可安全地管理和保护可由启用云的应用程序和服务使用的认证令牌和机密。
在步骤810,令牌存储库可存储第二认证令牌和使第二认证令牌与第一认证令牌相关联的引用。具体地说,企业身份提供者服务器可在其存储器中存储附加指令,所述附加指令在由至少一个处理器执行时使企业身份提供者服务器将第二认证令牌和使第二认证令牌与第一认证令牌相关联的引用存储在令牌存储库中。
在步骤811,对于来自企业服务器的访问第三方***的后续请求,企业服务器可向企业身份提供者服务器呈现第一认证令牌。具体而言,在步骤802,第一认证令牌可由企业身份提供者服务器预先颁发给企业服务器。举例来说,企业服务器720可代表尝试访问第三方***750的用户装置730和740向企业身份提供者服务器710呈现第一认证令牌。
在步骤812,企业身份提供者服务器可接收第一认证令牌的呈现。具体地说,企业身份提供者可经由通信接口从与由企业身份提供者服务器提供的企业身份服务集成的企业服务器接收由企业身份提供者服务器先前颁发给企业服务器的第一认证令牌。举例来说,企业身份提供者服务器710可从企业服务器720 接收第一认证令牌的呈现。
在步骤813,企业身份提供者服务器可基于对第一认证令牌的引用从令牌存储库中检索第二认证令牌。具体地说,响应于接收到第一认证令牌,企业身份提供者服务器可从由企业身份提供者服务器维护的令牌存储库中检索与由联合身份提供者服务器提供的联合身份服务相关联的第二认证令牌。举例来说,企业身份提供者服务器710可基于使第二认证令牌与第一认证令牌相关联的引用从令牌存储库714检索第二认证令牌。
在一些情况下,企业身份提供者服务器710可颁发第一认证令牌,并且可使用第一认证令牌来断言企业***内的用户的身份。鉴于第三方***可能对企业***是外来的,本公开可向其用户隐藏第三方***和联合身份服务的复杂性。同样,本公开的实施例可消除对与企业***集成的第三方***了解和理解从企业身份提供者服务器710颁发的第一认证令牌的需要。
在某些情况下,本公开可使与企业身份提供者服务器760集成的第三方***750能够调用API,传入企业身份提供者服务器760自身颁发的第一认证令牌,并接收回联合身份提供者服务器760通过经由使令牌存储库714中的认证令牌相关联的引用实施的令牌交换过程颁发以断言身份的第二认证令牌。
在一些情况下,本公开可使具有由企业身份提供者服务器710提供的登录页面的UI在导航到第三方***750时切换到使用第二认证令牌,前提是确定管理员经由企业身份提供者服务器710已获得第二认证令牌且在当前访问第三方***750的请求之前的某个时间点登录到第三方***750。
在步骤814,企业身份提供者服务器可向联合身份提供者服务器发送刷新第二认证令牌的请求。具体地说,企业身份提供者服务器可经由通信接口向联合身份提供者服务器发送重新生成第二认证令牌的请求,并且联合身份提供者服务器可生成刷新后的认证令牌。举例来说,企业身份提供者服务器710可向联合身份提供者服务器760发送刷新与尝试访问第三方***750的用户或用户装置相关联的第二认证令牌的请求。在某些情况下,为所述用户或用户装置颁发给企业身份提供者服务器710的第二认证令牌可具有附加的寿命。作为实例,第二认证令牌可持续一个小时。在这些情况下,第二认证令牌可能需要刷新。相反,由企业身份提供者服务器710颁发的第一认证令牌的寿命可独立于第二认证令牌的寿命。作为另一个实例,刷新第二认证令牌可按需完成。在第二认证令牌可比第一认证令牌寿命更长的情况下,经由企业身份提供者服务器710 发起的按需刷新可能够刷新并返回可仍然存在的刷新后的认证令牌。在替代方案中,如果与第一认证令牌的寿命相比,第二认证令牌的寿命不够长,则企业身份提供者710可在第二认证令牌到期之前发起后台线程刷新第二认证令牌。
转向图8C,在步骤815,联合身份提供者服务器可重新生成刷新后的认证令牌。具体地说,企业身份提供者服务器可用由联合身份提供者服务器提供的联合身份服务来刷新第二认证令牌,以获得刷新后的认证令牌。举例来说,联合身份提供者服务器760可响应于来自企业身份提供者服务器710的请求而重新生成刷新后的认证令牌。
在步骤816,联合身份提供者服务器可向企业身份提供者服务器发送刷新后的认证令牌,并且在步骤817,企业身份提供者服务器可接收刷新后的认证令牌。举例来说,联合身份提供者服务器760可向企业身份提供者服务器710 发送刷新后的认证令牌,并且企业身份提供者服务器710可接收刷新后的认证令牌。
在步骤818,企业身份提供者服务器可向令牌存储库发送刷新后的认证令牌。举例来说,企业身份提供者服务器可向令牌存储库714发送刷新后的认证令牌以进行存储。
在步骤819,令牌存储库可存储刷新后的认证令牌和使刷新后的认证令牌与第一认证令牌相关联的引用。具体地说,响应于刷新第二认证令牌,企业身份提供者服务器710可将刷新后的认证令牌和使刷新后的认证令牌与第一认证令牌相关联的引用存储在令牌存储库714中。作为实例,企业身份提供者服务器710可使用刷新后的认证令牌来更新密钥存储区714中的第二认证令牌的记录。同样,企业身份提供者服务器710可更新使刷新后的认证令牌与记录中的第一认证令牌相关联的引用。
在步骤820,企业身份提供者服务器可向企业服务器发送刷新后的认证令牌。具体地说,企业身份提供者可经由通信接口向企业服务器发送刷新后的认证令牌,并且向企业服务器发送刷新后的认证令牌可使得由企业服务器管理的用户装置能够使用联合身份服务来访问由第三方***提供的一个或多个资源。举例来说,企业身份提供者服务器710可向企业服务器720发送刷新后的认证令牌。转向图8D,在步骤821,企业服务器可接收刷新后的认证令牌。
在步骤822,企业服务器代表用户装置可向第三方***发送刷新后的认证令牌以进行访问。举例来说,企业服务器720代表用户装置730和740可向与第三方***750集成的联合身份提供者服务器760发送刷新后的认证令牌以进行访问。
最后,在步骤823,第三方***可接收刷新后的认证令牌;并且在步骤824,第三方***可使用由联合认证服务来授予对由第三方***提供的服务和资源的访问。举例来说,与第三方***750集成的联合身份提供者服务器760可使用联合认证服务向由第三方***750提供的服务和资源授予许可。结果,可经由企业服务器720向用户装置730和740授予这类许可。
图9描绘根据一个或多个实例实施例的用于将单点登录扩展到联合登录提供者的答复方的说明性方法。参考图9,在步骤902,具有至少一个处理器、通信接口和存储器的企业身份提供者服务器(例如企业身份提供者服务器710) 可经由通信接口从与由企业身份提供者服务器提供的企业身份服务集成的企业服务器接收由企业身份提供者服务器先前颁发给企业服务器的第一认证令牌。在步骤904,响应于接收到第一认证令牌,企业身份提供者服务器可从企业身份提供者服务器维护的令牌存储库中检索与由联合身份提供者服务器提供的联合身份服务相关联的第二认证令牌。在步骤906,企业身份提供者服务器可用由联合身份提供者服务器提供的联合身份服务来刷新第二认证令牌,以获得刷新后的认证令牌。在步骤908,企业身份提供者服务器可经由通信接口向企业服务器发送刷新后的认证令牌。因此,向企业服务器发送刷新后的认证令牌可使得由企业服务器管理的用户装置能够使用联合身份服务访问由第三方***提供的一个或多个资源。
本公开的一个或多个方面可体现在由一个或多个计算机或其它装置执行以执行本文描述的操作的计算机可用数据或计算机可执行指令中,如一个或多个程序模块中。通常,程序模块包含当由计算机或其它数据处理装置中的一个或多个处理器执行时执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。可将计算机可执行指令作为计算机可读指令存储在如硬盘、光盘、可移动存储介质、固态存储器、RAM等的计算机可读介质上。在各种实施例中,可根据需要组合或分布程序模块的功能性。因此,功能性可全部或部分体现在固件或硬件等效物中,如集成电路、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。可使用特定数据结构更有效地实施本公开的一个或多个方面,并且这类数据结构被设想在本文描述的计算机可执行指令和计算机可用数据的范围内。
本文描述的各个方面可被体现为方法、设备,或者体现为存储计算机可执行指令的一个或多个计算机可读介质。因此,这些方面可采取完全硬件实施例、完全软件实施例、完全固件实施例或以任何组合方式组合软件、硬件和固件方面的实施例的形式。另外,如本文描述的表示数据或事件的各种信号可以光或电磁波的形式在源和目的地之间传输,所述光或电磁波通过如金属线、光纤或无线传输介质(例如空气或空间)的信号传导介质传播。通常,一种或多种计算机可读介质可为和/或包含一种或多种非暂时性计算机可读介质。
如本文描述,各种方法和动作可在一个或多个计算服务器和一个或多个网络上操作。功能性可按任何方式分布,或者可位于单个计算装置(例如,服务器、客户端计算机等)中。举例来说,在替代实施例中,可在由一个或多个物理计算装置提供的一个或多个虚拟机中实施以上论述的计算平台中的一个或多个。在这类布置中,每个计算平台的各种功能可由一个或多个虚拟机执行,并且计算平台之间的以上论述的通信中的任何和/或所有可对应于由一个或多个虚拟机访问、移动、修改、更新和/或以其它方式使用的数据。
本公开的方面已按其说明性实施例来描述。从本公开的审阅,在所附权利要求书的范围和精神内的众多其它实施例、修改和变化将会为所属领域的一般技术人员想到。举例来说,说明性附图中描绘的一个或多个步骤可按不同于所列举的顺序来执行,并且根据本公开的方面,一个或多个描绘的步骤可为任选的。
尽管已以特定于结构特征和/或方法动作的语言来描述主题,但应理解,所附权利要求书中所定义的主题未必限于上文描述的特定特征或动作。相反,上文描述的具体特征和动作被描述为所附权利要求的实例实施方式。
Claims (20)
1.一种企业身份提供者服务器,其包括:
至少一个处理器;
通信接口;
存储指令的存储器,当所述指令由所述至少一个处理器执行时,使得所述企业身份提供者服务器:
经由所述通信接口从与由所述企业身份提供者服务器提供的企业身份服务集成的企业服务器接收由所述企业身份提供者服务器先前颁发给所述企业服务器的第一认证令牌;
响应于接收到所述第一认证令牌,从由所述企业身份提供者服务器维护的令牌存储库中检索与由联合身份提供者服务器提供的联合身份服务相关联的第二认证令牌;
用由所述联合身份提供者服务器提供的所述联合身份服务刷新所述第二认证令牌,以获得刷新后的认证令牌;和
经由所述通信接口向所述企业服务器发送所述刷新后的认证令牌,其中
向所述企业服务器发送所述刷新后的认证令牌使得由所述企业服务器管理的用户装置能够使用所述联合身份服务访问由第三方***提供的一个或多个资源。
2.根据权利要求1所述的企业身份提供者服务器,其中所述存储器存储附加指令,当所述附加指令由所述至少一个处理器执行时,使得所述企业身份提供者服务器:
在接收所述第一认证令牌之前,向所述企业服务器提供所述第一认证令牌。
3.根据权利要求1所述的企业身份提供者服务器,其中所述存储器存储附加指令,当所述附加指令由所述至少一个处理器执行时,使得所述企业身份提供者服务器:
将所述第二认证令牌和使所述第二认证令牌与所述第一认证令牌相关联的引用存储在所述令牌存储库中。
4.根据权利要求1所述的企业身份提供者服务器,其中所述存储器存储附加指令,当所述附加指令由所述至少一个处理器执行时,使得所述企业身份提供者服务器:
响应于刷新所述第二认证令牌,将所述刷新后的认证令牌和使所述刷新后的认证令牌与所述第一认证令牌相关联的引用存储在所述令牌存储库中。
5.根据权利要求1所述的企业身份提供者服务器,其中刷新所述第二认证令牌还使得所述企业身份提供者服务器:
经由所述通信接口向所述联合身份提供者服务器发送重新生成所述第二认证令牌的请求,其中所述联合身份提供者服务器生成所述刷新后的认证令牌;和
经由所述通信接口从所述联合身份提供者服务器接收所述刷新后的认证令牌。
6.根据权利要求5所述的企业身份提供者服务器,其中刷新所述第二认证令牌还使得所述企业身份提供者服务器:
用所述刷新后的认证令牌和使所述刷新后的认证令牌与所述第一认证令牌相关联的引用来更新所述令牌存储库。
7.根据权利要求1所述的企业身份提供者服务器,其中所述存储器存储附加指令,当所述附加指令由所述至少一个处理器执行时,使得所述企业身份提供者服务器:
经由所述通信接口从所述企业服务器接收使用所述联合身份服务访问由所述第三方***提供的一个或多个资源的请求;和
经由所述通信接口将来自所述企业服务器的所述请求重定向到由所述联合身份提供者服务器提供的所述联合身份服务。
8.根据权利要求1所述的企业身份提供者服务器,其中所述第一认证令牌使得由所述企业服务器管理的所述用户装置能够使用由所述企业身份提供者服务器提供的企业身份服务对一个或多个资源进行单点登录访问。
9.根据权利要求1所述的企业身份提供者服务器,其中所述第二认证令牌使得由所述企业服务器管理的所述用户装置能够使用所述联合身份服务对所述第三方***进行单点登录访问。
10.根据权利要求1所述的企业身份提供者服务器,其中检索所述第二认证令牌还使得所述企业身份提供者服务器:
基于使所述第二认证令牌与所述第一认证令牌相关联的引用从所述令牌存储库中检索所述第二认证令牌。
11.一种方法,其包括:
在包括至少一个处理器、存储器和通信接口的企业身份提供者服务器处:
经由所述通信接口从与由所述企业身份提供者服务器提供的企业身份服务集成的企业服务器接收由所述企业身份提供者服务器先前颁发给所述企业服务器的第一认证令牌;
响应于接收到所述第一认证令牌,从由所述企业身份提供者服务器维护的令牌存储库中检索与由联合身份提供者服务器提供的联合身份服务相关联的第二认证令牌;
用由所述联合身份提供者服务器提供的所述联合身份服务刷新所述第二认证令牌,以获得刷新后的认证令牌;和
经由所述通信接口向所述企业服务器发送所述刷新后的认证令牌,其中
向所述企业服务器发送所述刷新后的认证令牌使得由所述企业服务器管理的用户装置能够使用所述联合身份服务访问由第三方***提供的一个或多个资源。
12.根据权利要求11所述的方法,其还包括:
在接收所述第一认证令牌之前,向所述企业服务器提供所述第一认证令牌。
13.根据权利要求11所述的方法,其还包括:
将所述第二认证令牌和使所述第二认证令牌与所述第一认证令牌相关联的引用存储在所述令牌存储库中。
14.根据权利要求11所述的方法,其还包括:
响应于刷新所述第二认证令牌,将所述刷新后的认证令牌和使所述刷新后的认证令牌与所述第一认证令牌相关联的引用存储在所述令牌存储库中。
15.根据权利要求11所述的方法,其中刷新所述第二认证令牌还包括:
经由所述通信接口向所述联合身份提供者服务器发送重新生成所述第二认证令牌的请求,其中所述联合身份提供者服务器生成所述刷新后的认证令牌;
经由所述通信接口从所述联合身份提供者服务器接收所述刷新后的认证令牌;和
用所述刷新后的认证令牌和使所述刷新后的认证令牌与所述第一认证令牌相关联的引用来更新所述令牌存储库。
16.根据权利要求11所述的方法,其还包括:
经由所述通信接口从所述企业服务器接收使用所述联合身份服务访问由所述第三方***提供的一个或多个资源的请求;和
经由所述通信接口将来自所述企业服务器的所述请求重定向到由所述联合身份提供者服务器提供的所述联合身份服务。
17.根据权利要求11所述的方法,其中所述第一认证令牌使得由所述企业服务器管理的所述用户装置能够使用由所述企业身份提供者服务器提供的企业身份服务对一个或多个资源进行单点登录访问。
18.根据权利要求11所述的方法,其中所述第二认证令牌使得由所述企业服务器管理的所述用户装置能够使用所述联合身份服务对所述第三方***进行单点登录访问。
19.根据权利要求11所述的方法,其还包括:
基于使所述第二认证令牌与所述第一认证令牌相关联的引用从令牌存储库中检索所述第二认证令牌。
20.一种或多种存储指令的非暂时性计算机可读介质,当所述指令由包括至少一个处理器、存储器和通信接口的计算平台执行时,使得所述计算平台:
经由所述通信接口从与由企业身份提供者服务器提供的企业身份服务集成的企业服务器接收由所述企业身份提供者服务器先前颁发给所述企业服务器的第一认证令牌;
响应于接收到所述第一认证令牌,从由所述企业身份提供者服务器维护的令牌存储库中检索与由联合身份提供者服务器提供的联合身份服务相关联的第二认证令牌;
用由所述联合身份提供者服务器提供的所述联合身份服务刷新所述第二认证令牌,以获得刷新后的认证令牌;和
经由所述通信接口向所述企业服务器发送所述刷新后的认证令牌,其中
向所述企业服务器发送所述刷新后的认证令牌使得由所述企业服务器管理的用户装置能够使用所述联合身份服务访问由第三方***提供的一个或多个资源。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/679,686 US10721222B2 (en) | 2017-08-17 | 2017-08-17 | Extending single-sign-on to relying parties of federated logon providers |
US15/679,686 | 2017-08-17 | ||
PCT/US2018/046443 WO2019036337A1 (en) | 2017-08-17 | 2018-08-13 | EXTENSION OF A SINGLE SIGNATURE TO USER PARTIES OF FEDERATED SESSION OPENING PROVIDERS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111052706A CN111052706A (zh) | 2020-04-21 |
CN111052706B true CN111052706B (zh) | 2021-11-23 |
Family
ID=63407543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880057752.8A Active CN111052706B (zh) | 2017-08-17 | 2018-08-13 | 将单点登录扩展到联合登录提供者的依赖方的方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10721222B2 (zh) |
EP (1) | EP3669512B1 (zh) |
JP (1) | JP6821857B2 (zh) |
CN (1) | CN111052706B (zh) |
AU (1) | AU2018318922B2 (zh) |
CA (1) | CA3073086C (zh) |
WO (1) | WO2019036337A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8312033B1 (en) | 2008-06-26 | 2012-11-13 | Experian Marketing Solutions, Inc. | Systems and methods for providing an integrated identifier |
US9607336B1 (en) | 2011-06-16 | 2017-03-28 | Consumerinfo.Com, Inc. | Providing credit inquiry alerts |
US10664936B2 (en) | 2013-03-15 | 2020-05-26 | Csidentity Corporation | Authentication systems and methods for on-demand products |
US9633322B1 (en) | 2013-03-15 | 2017-04-25 | Consumerinfo.Com, Inc. | Adjustment of knowledge-based authentication |
US9721147B1 (en) | 2013-05-23 | 2017-08-01 | Consumerinfo.Com, Inc. | Digital identity |
US10373240B1 (en) | 2014-04-25 | 2019-08-06 | Csidentity Corporation | Systems, methods and computer-program products for eligibility verification |
US10721222B2 (en) | 2017-08-17 | 2020-07-21 | Citrix Systems, Inc. | Extending single-sign-on to relying parties of federated logon providers |
US10505733B2 (en) | 2017-09-25 | 2019-12-10 | Citrix Systems, Inc. | Generating and managing a composite identity token for multi-service use |
US10877960B2 (en) | 2017-10-16 | 2020-12-29 | Citrix Systems, Inc. | Normalizing user identification across disparate systems |
US11323426B2 (en) * | 2017-10-19 | 2022-05-03 | Check Point Software Technologies Ltd. | Method to identify users behind a shared VPN tunnel |
US11700260B2 (en) * | 2018-04-27 | 2023-07-11 | Nelson A. Cicchitto | Method and apparatus for native authentication to cloud services with identity management of on-premise applications from the cloud |
US10819695B2 (en) * | 2018-05-25 | 2020-10-27 | Citrix Systems, Inc. | Electronic device including local identity provider server for single sign on and related methods |
US10911234B2 (en) | 2018-06-22 | 2021-02-02 | Experian Information Solutions, Inc. | System and method for a token gateway environment |
US10742636B2 (en) | 2018-08-22 | 2020-08-11 | Sap Se | OAuth2 SAML token service |
US11159510B2 (en) * | 2018-12-05 | 2021-10-26 | Bank Of America Corporation | Utilizing federated user identifiers to enable secure information sharing |
US11176230B2 (en) | 2018-12-05 | 2021-11-16 | Bank Of America Corporation | Processing authentication requests to secured information systems based on user behavior profiles |
US11356458B2 (en) * | 2019-03-15 | 2022-06-07 | Mastercard International Incorporated | Systems, methods, and computer program products for dual layer federated identity based access control |
US11503012B1 (en) | 2019-06-28 | 2022-11-15 | Amazon Technologies, Inc. | Client authentication using a client certificate-based identity provider |
US11570164B2 (en) * | 2019-07-30 | 2023-01-31 | Dell Products L.P. | System and method of single sign on to master website and silent authentication for subservient websites |
US11941065B1 (en) | 2019-09-13 | 2024-03-26 | Experian Information Solutions, Inc. | Single identifier platform for storing entity data |
CN110581863B (zh) * | 2019-10-25 | 2022-03-04 | 北京浪潮数据技术有限公司 | 一种云平台的单点登录方法、装置、设备及介质 |
US11252146B2 (en) * | 2019-11-19 | 2022-02-15 | Microsoft Technologly Licensing, LLC | Server to server communication |
US11366891B2 (en) * | 2019-11-25 | 2022-06-21 | Jpmorgan Chase Bank, N.A. | Method and system for facilitating an identification of an application |
CN111193776B (zh) * | 2019-12-11 | 2022-02-25 | 福建升腾资讯有限公司 | 云桌面环境下客户端自动登录方法、装置、设备和介质 |
US11463428B2 (en) * | 2020-03-30 | 2022-10-04 | Konica Minolta Business Solutions U.S.A., Inc. | Method and system of piggybacking user registration with mirrored identities to achieve federation without on-premises identities |
US11595375B2 (en) | 2020-04-14 | 2023-02-28 | Saudi Arabian Oil Company | Single sign-on for token-based and web-based applications |
US11843593B2 (en) | 2020-06-01 | 2023-12-12 | Citrix Systems, Inc. | Application integration using multiple user identities |
CN112637113B (zh) * | 2020-09-04 | 2022-08-12 | 山东英信计算机技术有限公司 | 集成***跨平台认证方法及相关组件 |
US11431710B2 (en) | 2020-11-06 | 2022-08-30 | Okta, Inc. | Efficient generation of identity provider integrations |
US20220207524A1 (en) * | 2020-12-31 | 2022-06-30 | Idemia Identity & Security USA LLC | Convergent digital identity based supertokenization |
CN113190808A (zh) * | 2021-03-31 | 2021-07-30 | 北京达佳互联信息技术有限公司 | 登录方法、装置、电子设备及存储介质 |
US11956240B2 (en) * | 2021-04-19 | 2024-04-09 | EMC IP Holding Company LLC | Systems and methods for temporary access with adaptive trust levels for authentication and authorization |
US20230068880A1 (en) * | 2021-08-27 | 2023-03-02 | EMC IP Holding Company LLC | Function-based service framework with trusted execution platform |
US11936658B2 (en) | 2021-11-15 | 2024-03-19 | Bank Of America Corporation | Intelligent assignment of a network resource |
CN114488974B (zh) * | 2021-12-31 | 2023-11-03 | 江苏扬子净化工程有限公司 | 一种基于洁净车间plc控制的集成管理*** |
WO2024065147A1 (en) * | 2022-09-27 | 2024-04-04 | Citrix Systems, Inc. | Group management |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101336436A (zh) * | 2005-12-29 | 2008-12-31 | 阿克西奥尼奇有限公司 | 安全令牌和用于利用该安全令牌来认证用户的方法 |
CN103188248A (zh) * | 2011-12-31 | 2013-07-03 | 卓望数码技术(深圳)有限公司 | 基于单点登录的身份认证***及方法 |
CN105959267A (zh) * | 2016-04-25 | 2016-09-21 | 北京九州云腾科技有限公司 | 单点登录技术中的主令牌获取方法、单点登录方法及*** |
Family Cites Families (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685206B1 (en) * | 2004-02-12 | 2010-03-23 | Microsoft Corporation | Authorization and access control service for distributed network resources |
BRPI0513195A (pt) * | 2004-07-09 | 2008-04-29 | Matsushita Electric Ind Co Ltd | sistemas para administrar autenticação e autorização de usuário, e para suportar o usuário, métodos para administrar autenticação e autorização de usuário, para acessar serviços de múltiplas redes, para o controlador de autenticação processar uma mensagem de pedido de autenticação, selecionar a combinação de controladores de autenticação do resultado de busca, autenticar um usuário, e descobrir o caminho a um domìnio tendo relação empresarial com o domìnio doméstico, para o controlador de autorização processar a mensagem de pedido de autorização de serviço, e executar autorização de serviço, para um controlador de autenticação e autorização executar autenticação e autorização de serviço, para proteger o sìmbolo de usuário, e para a autoridade de controle de acesso no domìnio doméstico do usuário prover ao controlador de autenticação uma informação de perfil de assinatura limitada do usuário, para alcançar autenticação e autorização rápidas, e para alcançar registro único para acessar múltiplas redes, e, formatos para informação de capacidade de assinatura, para um sìmbolo de usuário, para um domìnio tendo relação empresarial com o domìnio doméstico de um usuário para pedir afirmação de autenticação e de autorização, e para um terminal de usuário indicar suas credenciais para acessar múltiplas redes em múltiplos domìnios administrativos |
US20060048216A1 (en) * | 2004-07-21 | 2006-03-02 | International Business Machines Corporation | Method and system for enabling federated user lifecycle management |
US7698375B2 (en) * | 2004-07-21 | 2010-04-13 | International Business Machines Corporation | Method and system for pluggability of federation protocol runtimes for federated user lifecycle management |
US7562382B2 (en) * | 2004-12-16 | 2009-07-14 | International Business Machines Corporation | Specializing support for a federation relationship |
US20060218628A1 (en) * | 2005-03-22 | 2006-09-28 | Hinton Heather M | Method and system for enhanced federated single logout |
TW201141176A (en) * | 2006-08-22 | 2011-11-16 | Interdigital Tech Corp | Method and apparatus for providing trusted single sing-on access to applications and internet-based services |
KR100953092B1 (ko) * | 2007-11-06 | 2010-04-19 | 한국전자통신연구원 | Sso서비스 방법 및 시스템 |
US8364969B2 (en) * | 2009-02-02 | 2013-01-29 | Yahoo! Inc. | Protecting privacy of shared personal information |
US20100251353A1 (en) * | 2009-03-25 | 2010-09-30 | Novell, Inc. | User-authorized information card delegation |
WO2011047722A1 (en) * | 2009-10-22 | 2011-04-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for managing access to protected resources in a computer network, physical entities and computer programs therefor |
US8453225B2 (en) * | 2009-12-23 | 2013-05-28 | Citrix Systems, Inc. | Systems and methods for intercepting and automatically filling in forms by the appliance for single-sign on |
KR101434769B1 (ko) * | 2010-01-22 | 2014-08-27 | 인터디지탈 패튼 홀딩스, 인크 | 신뢰적인 연합 아이덴티티 관리 및 데이터 액세스 인가를 위한 방법 및 장치 |
EP2529527B1 (en) * | 2010-01-25 | 2015-12-02 | Nokia Solutions and Networks Oy | Method for controlling access to resources |
EP2540051B1 (en) * | 2010-02-24 | 2015-04-08 | Telefonaktiebolaget L M Ericsson (Publ) | Method for managing access to protected resources and delegating authority in a computer network |
US9270663B2 (en) * | 2010-04-30 | 2016-02-23 | T-Central, Inc. | System and method to enable PKI- and PMI-based distributed locking of content and distributed unlocking of protected content and/or scoring of users and/or scoring of end-entity access means—added |
US8997196B2 (en) * | 2010-06-14 | 2015-03-31 | Microsoft Corporation | Flexible end-point compliance and strong authentication for distributed hybrid enterprises |
US20130173712A1 (en) * | 2010-06-30 | 2013-07-04 | Universidad Politenica De Madrid | Method for selectively distributing information in a computer or communication network, and physical entities therefor |
US9560036B2 (en) * | 2010-07-08 | 2017-01-31 | International Business Machines Corporation | Cross-protocol federated single sign-on (F-SSO) for cloud enablement |
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 |
US8898759B2 (en) * | 2010-08-24 | 2014-11-25 | Verizon Patent And Licensing Inc. | Application registration, authorization, and verification |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
ES2601009T3 (es) * | 2010-11-24 | 2017-02-13 | Telefónica, S.A. | Procedimientos para autorizar el acceso a contenido protegido |
US8832271B2 (en) * | 2010-12-03 | 2014-09-09 | International Business Machines Corporation | Identity provider instance discovery |
US8745134B1 (en) * | 2011-03-04 | 2014-06-03 | Zynga Inc. | Cross social network data aggregation |
DK2689372T3 (da) * | 2011-03-25 | 2020-03-02 | Thales Dis France Sa | Bruger-til-bruger-delegeringsservice i et fødereret identitetsstyringsmiljø |
US9497184B2 (en) * | 2011-03-28 | 2016-11-15 | International Business Machines Corporation | User impersonation/delegation in a token-based authentication system |
US20120323717A1 (en) * | 2011-06-16 | 2012-12-20 | OneID, Inc. | Method and system for determining authentication levels in transactions |
US20130054454A1 (en) * | 2011-08-18 | 2013-02-28 | Thomas Purves | Wallet Service Enrollment Platform Apparatuses, Methods and Systems |
US8756692B2 (en) * | 2011-07-06 | 2014-06-17 | Eureka! It Works, Llc | Controlling network-based applications with social media postings |
US8959347B2 (en) * | 2011-08-29 | 2015-02-17 | Salesforce.Com, Inc. | Methods and systems of data security in browser storage |
US9043886B2 (en) * | 2011-09-29 | 2015-05-26 | Oracle International Corporation | Relying party platform/framework for access management infrastructures |
US9544294B2 (en) * | 2011-09-29 | 2017-01-10 | Oracle International Corporation | Pluggable authorization policies |
US8844013B2 (en) * | 2011-10-04 | 2014-09-23 | Salesforce.Com, Inc. | Providing third party authentication in an on-demand service environment |
US9396197B2 (en) * | 2011-11-17 | 2016-07-19 | Microsoft Technology Licensing, Llc | Inserting media content from multiple repositories |
US8943202B2 (en) * | 2012-01-12 | 2015-01-27 | Cisco Technology, Inc. | Network resource access using social networks |
EP2805470B1 (en) * | 2012-01-20 | 2018-09-12 | Interdigital Patent Holdings, Inc. | Identity management with local functionality |
US8681350B2 (en) * | 2012-02-29 | 2014-03-25 | Canon Kabushiki Kaisha | Systems and methods for enterprise sharing of a printing device |
US9378356B2 (en) * | 2012-04-13 | 2016-06-28 | Paypal, Inc. | Two factor authentication using a one-time password |
US20140041055A1 (en) * | 2012-08-06 | 2014-02-06 | Avaya Inc. | System and method for online access control based on users social network context |
US9747388B2 (en) * | 2012-08-31 | 2017-08-29 | Salesforce.Com, Inc. | Systems and methods for providing access to external content objects |
US9338007B1 (en) * | 2012-10-26 | 2016-05-10 | Google Inc. | Secure delegated authentication for applications |
US8613055B1 (en) * | 2013-02-22 | 2013-12-17 | Ping Identity Corporation | Methods and apparatus for selecting an authentication mode at time of issuance of an access token |
US9009806B2 (en) * | 2013-04-12 | 2015-04-14 | Globoforce Limited | System and method for mobile single sign-on integration |
US9106642B1 (en) * | 2013-09-11 | 2015-08-11 | Amazon Technologies, Inc. | Synchronizing authentication sessions between applications |
CN105659558B (zh) * | 2013-09-20 | 2018-08-31 | 甲骨文国际公司 | 计算机实现的方法、授权服务器以及计算机可读存储器 |
US10243945B1 (en) * | 2013-10-28 | 2019-03-26 | Amazon Technologies, Inc. | Managed identity federation |
US9397990B1 (en) * | 2013-11-08 | 2016-07-19 | Google Inc. | Methods and systems of generating and using authentication credentials for decentralized authorization in the cloud |
US9386007B2 (en) * | 2013-12-27 | 2016-07-05 | Sap Se | Multi-domain applications with authorization and authentication in cloud environment |
US9258294B2 (en) * | 2013-12-31 | 2016-02-09 | Cellco Partnership | Remote authentication method with single sign on credentials |
US9674699B2 (en) * | 2014-08-15 | 2017-06-06 | Sap Se | System and methods for secure communication in mobile devices |
US9948610B2 (en) * | 2014-08-29 | 2018-04-17 | Citrix Systems, Inc. | Method and apparatus for accessing third-party resources |
US10021088B2 (en) * | 2014-09-30 | 2018-07-10 | Citrix Systems, Inc. | Fast smart card logon |
US9942229B2 (en) * | 2014-10-03 | 2018-04-10 | Gopro, Inc. | Authenticating a limited input device via an authenticated application |
US9401912B2 (en) * | 2014-10-13 | 2016-07-26 | Netiq Corporation | Late binding authentication |
US9578015B2 (en) * | 2014-10-31 | 2017-02-21 | Vmware, Inc. | Step-up authentication for single sign-on |
US9779233B2 (en) * | 2015-03-05 | 2017-10-03 | Ricoh Co., Ltd. | Broker-based authentication system architecture and design |
US9819665B1 (en) * | 2015-06-26 | 2017-11-14 | EMC IP Holding Company LLC | Synchronization of access tokens for session continuity across multiple devices |
US10270753B2 (en) * | 2015-08-14 | 2019-04-23 | Salesforce.Com, Inc. | Background authentication refresh |
JP6727799B2 (ja) * | 2015-12-09 | 2020-07-22 | キヤノン株式会社 | 権限委譲システム、情報処理装置、認可サーバ、制御方法およびプログラム |
US20170289134A1 (en) * | 2016-03-30 | 2017-10-05 | Ping Identity Corporation | Methods and apparatus for assessing authentication risk and implementing single sign on (sso) using a distributed consensus database |
US10425386B2 (en) * | 2016-05-11 | 2019-09-24 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US9838376B1 (en) * | 2016-05-11 | 2017-12-05 | Oracle International Corporation | Microservices based multi-tenant identity and data security management cloud service |
US10581820B2 (en) * | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
US10454940B2 (en) * | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US10341410B2 (en) * | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US10516672B2 (en) * | 2016-08-05 | 2019-12-24 | Oracle International Corporation | Service discovery for a multi-tenant identity and data security management cloud service |
US10530578B2 (en) * | 2016-08-05 | 2020-01-07 | Oracle International Corporation | Key store service |
US10511589B2 (en) * | 2016-09-14 | 2019-12-17 | Oracle International Corporation | Single logout functionality for a multi-tenant identity and data security management cloud service |
US10846390B2 (en) * | 2016-09-14 | 2020-11-24 | Oracle International Corporation | Single sign-on functionality for a multi-tenant identity and data security management cloud service |
US10594684B2 (en) * | 2016-09-14 | 2020-03-17 | Oracle International Corporation | Generating derived credentials for a multi-tenant identity cloud service |
US10791087B2 (en) * | 2016-09-16 | 2020-09-29 | Oracle International Corporation | SCIM to LDAP mapping using subtype attributes |
US10630668B2 (en) * | 2017-04-28 | 2020-04-21 | Amazon Technologies, Inc. | Single sign-on registration |
US10454915B2 (en) * | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
US10708053B2 (en) * | 2017-05-19 | 2020-07-07 | Intuit Inc. | Coordinating access authorization across multiple systems at different mutual trust levels |
US10547622B2 (en) * | 2017-06-30 | 2020-01-28 | International Busines Machines Corporation | Extended OAuth architecture support in a scalable environment |
US10721222B2 (en) | 2017-08-17 | 2020-07-21 | Citrix Systems, Inc. | Extending single-sign-on to relying parties of federated logon providers |
-
2017
- 2017-08-17 US US15/679,686 patent/US10721222B2/en active Active
-
2018
- 2018-08-13 CN CN201880057752.8A patent/CN111052706B/zh active Active
- 2018-08-13 WO PCT/US2018/046443 patent/WO2019036337A1/en unknown
- 2018-08-13 JP JP2020508558A patent/JP6821857B2/ja active Active
- 2018-08-13 AU AU2018318922A patent/AU2018318922B2/en not_active Ceased
- 2018-08-13 CA CA3073086A patent/CA3073086C/en active Active
- 2018-08-13 EP EP18762214.7A patent/EP3669512B1/en active Active
-
2020
- 2020-06-12 US US16/900,229 patent/US11706205B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101336436A (zh) * | 2005-12-29 | 2008-12-31 | 阿克西奥尼奇有限公司 | 安全令牌和用于利用该安全令牌来认证用户的方法 |
CN103188248A (zh) * | 2011-12-31 | 2013-07-03 | 卓望数码技术(深圳)有限公司 | 基于单点登录的身份认证***及方法 |
CN105959267A (zh) * | 2016-04-25 | 2016-09-21 | 北京九州云腾科技有限公司 | 单点登录技术中的主令牌获取方法、单点登录方法及*** |
Non-Patent Citations (2)
Title |
---|
"A proof of concept implementation of a mobile based authentication scheme without password table for cloud environment";Sumitra Binu、Archana Mohan;《2015 IEEE International Advance Computing Conference (IACC)》;IEEE;20150713;全文 * |
"基于OpenID2.0的认证授权***的分析与设计";刘艳民、鄂海红;《软件》;20151015;第36卷(第10期);第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
US11706205B2 (en) | 2023-07-18 |
US20190058706A1 (en) | 2019-02-21 |
EP3669512A1 (en) | 2020-06-24 |
WO2019036337A1 (en) | 2019-02-21 |
JP2020531973A (ja) | 2020-11-05 |
US10721222B2 (en) | 2020-07-21 |
CA3073086C (en) | 2023-01-24 |
CA3073086A1 (en) | 2019-02-21 |
CN111052706A (zh) | 2020-04-21 |
AU2018318922A1 (en) | 2020-03-12 |
EP3669512B1 (en) | 2021-10-20 |
JP6821857B2 (ja) | 2021-01-27 |
US20200314088A1 (en) | 2020-10-01 |
AU2018318922B2 (en) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111052706B (zh) | 将单点登录扩展到联合登录提供者的依赖方的方法 | |
JP6731023B2 (ja) | クライアントアプリケーションのためのセキュアなシングルサインオン及び条件付きアクセス | |
US11722465B2 (en) | Password encryption for hybrid cloud services | |
CN111133729B (zh) | 保护用于在两个端点之间通信的数据连接的安全性 | |
US11627120B2 (en) | Dynamic crypto key management for mobility in a cloud environment | |
CN108028845B (zh) | 使用导出凭证注册企业移动装置管理服务的***和方法 | |
CN107566400B (zh) | 用于确定应用的操作模式的方法 | |
CN112789841A (zh) | 在远程访问或基于云的网络环境中访问资源 | |
US20220094547A1 (en) | Enhanced token transfer | |
CN111066307B (zh) | 包装延续令牌以支持跨不同地理位置的多个服务器的分页 | |
CN111566619A (zh) | 虚拟桌面中的本地映射账户 | |
WO2022133373A1 (en) | Native application integration for enhanced remote desktop experiences | |
WO2022026316A1 (en) | Secure token transfer between untrusted entities | |
WO2023049560A1 (en) | High security one-time encryption |
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 |