CN110971585A - 安全断言标记语言服务提供商发起的单点登录方法和系统 - Google Patents
安全断言标记语言服务提供商发起的单点登录方法和系统 Download PDFInfo
- Publication number
- CN110971585A CN110971585A CN201910903347.XA CN201910903347A CN110971585A CN 110971585 A CN110971585 A CN 110971585A CN 201910903347 A CN201910903347 A CN 201910903347A CN 110971585 A CN110971585 A CN 110971585A
- Authority
- CN
- China
- Prior art keywords
- saml
- server
- request
- access
- authentication 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.)
- Pending
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种用于SAML服务提供商发起的单点登录流程的方法和非暂时性计算机可读介质。该方法包括:经由单点登录方法在认证服务器上认证客户端;向客户端发放访问令牌集,访问令牌集包含描述经认证用户的声明列表;向认证服务器发送对托管在SAML‑SP服务器上的资源的请求,该请求包括认证服务器的域和统一资源定位符以及访问令牌集;在SAML‑SP服务器上接收访问资源的资源请求;将来自SAML‑SP服务器的资源请求重定向到认证服务器,以使用认证请求协议消息获得用户的认证;在认证服务器上从SAML‑SP服务器接收SAML SSO请求;向SAML‑SP服务器发放具有关于经认证用户的断言的SAML SSO响应。
Description
技术领域
本公开一般涉及用于经由用户的注入和隐式安全认证的真正无缝SAML(SecurityAssertion Markup Language,安全断言标记语言)SP发起的(Service Provider-initiated,服务提供商发起的)SSO(single sign-on,单点登录)流程的计算机网络系统和方法,并且更具体地,涉及一种改良的SAML SP发起的SSO流程,其引入了当经认证的用户发起SP发起的SAML流程时所触发的HTTP(Hypertext Transfer Protocol,超文本传输协议)重定向。
背景技术
安全断言标记语言(SAML)是一种用于在断言用户身份的SAML联合身份提供商(SAML Federation Identity Provider,SAML-IdP)和消费用户身份信息的SAML联合服务提供商(SAML Federation Service Provider,SAML-SP)之间交换单点登录(SSO)信息的XML标准。单点登录是允许用户使用一组登录凭据访问多个应用的认证过程。例如,单点登录是一种在企业中常见的过程,其中客户端访问连接到局域网(LAN)的多个资源。
SAMLv2.0(安全断言标记语言版本2)支持IdP发起的流程和SP发起的流程。在IdP发起的SAML SSO流程中,SAML-IdP为用户身份创建SAML单点登录断言,并以未经请求的(unsolicited)方式向SP(服务提供商)发送SAML单点登录断言。在SP发起的SAML SSO流程中,作为联合过程中的第一步,SP生成SAML2.0 AuthnRequest(即认证请求),该请求被发送给SAML-IdP,然后SAML-IdP以SAML响应进行响应,这两个交互是彼此异步的。
IdP发起的SAML SSO为用户流程提供了这样的简单性,在用户已经被认证并访问SAML-IdP的门户页面的情况下,SAML-IdP可以构建认证用户的SAML2.0断言(即,用户已经被认证),并且他/她可以访问SAML-SP处的其他受保护的资源,并且其中SAML-IdP以未经请求的方式向SAML-SP发送SAML 2.0断言。
由于流程语义的差异,当前SAML 2.0联合SP发起的实施方式缺乏经由IdP发起的SSO流程的这种可用性。
选择IdP发起而不是SP发起不是当前SAMLv2.0下的选择。SP发起的SAML SSO流程可以提供比IdP发起的流程更大的优势,例如,其可以包括支持深链接(deep link)和保护免受CSRF(cross-site request forgery,跨站点请求伪造)攻击。深链接是指使用超链接链接到网站上特定的、通常可搜索或索引的一段网页内容(例如,“http://example.com/path/page”),而不是网站的主页(例如,“http://example.com”)。此外,一些服务提供商(SP)不允许IdP发起的SAML流程。
在SAML2.0 SP发起的SSO流程期间,用户尝试直接在SP侧访问受保护的资源,而SAML-IdP并不知道这种尝试。在最典型的情况下,用户已经在移动/桌面应用上被认证(使用包含IdP的SAML任何认证服务),可能出现的问题包括移动设备的移动/桌面客户端(即,由用户操作)和认证服务(托管SAML-IdP)可能迫使用户重新认证。因此,通过要求用户重新认证,SSO过程的无缝性可能会损失,也就是说,另外由IdP发起的SAML SSO流程提供。此外,如果需要联合身份认证,服务提供商(SP)需要识别相应的SAML-IdP服务器。使用SP发起的登录,SP最初对用户身份一无所知,并且,与IdP发起的SAML SSO流程相比,SP可能会遭受可用性和性能/延迟问题,因为需要用户干预。
发明内容
考虑到上述问题,通过引入可在经认证用户发起SP发起的SAML流程时被发起(或触发)的HTTP重定向,希望有一种用于改良的SAML SP发起的SSO流程的系统和方法,并且这种改良的SAML2.0 SP发起的流程要完全符合SAML2.0规范。
公开了一种用于安全断言标记语言(SAML)服务提供商发起的(SP-initiated)单点登录(SSO)流程的方法,该方法包括:经由单点登录(SSO)方法在认证服务器上认证客户端;向客户端发放访问令牌集,访问令牌集包含描述经认证用户的声明列表;向认证服务器发送对托管在SAML-SP服务器上的资源的请求,该请求包括认证服务器的域和统一资源定位符以及访问令牌集;在认证服务器上接收访问请求,从访问请求中解析访问令牌集,并验证经认证用户;在认证服务器上渲染页面,并向客户端传递具有绑定到认证服务器的域的登录cookie的页面,该页面包含将请求从客户端重定向到SAML-SP服务器的JavaScript代码;在SAML-SP服务器上接收访问资源的资源请求;将来自SAML-SP服务器的资源请求重定向到认证服务器,以使用认证请求协议消息获得用户的认证;在认证服务器上从SAML-SP服务器接收SAML SSO请求;向SAML-SP服务器发放具有关于经认证用户的断言的SAML SSO响应;以及授权经认证用户访问托管在SAML-SP服务器上的资源。
公开了一种存储由处理器执行的计算机可读程序代码的非暂时性计算机可读介质,用于安全断言标记语言(SAML)服务提供商发起(SP-initiated)的单点登录(SSO)流程,该过程包括:经由单点登录(SSO)方法在认证服务器上认证客户端;向客户端发放访问令牌集,访问令牌集包含描述经认证用户的声明列表;向认证服务器发放对托管在SAML-SP服务器上的资源的请求,该请求包括认证服务器的域和统一资源定位符以及访问令牌集;在认证服务器上接收访问请求,从访问请求中解析访问令牌集,并验证经认证用户;在认证服务器上渲染页面,并向客户端传递具有绑定到认证服务器的域的登录cookie的页面,该页面包含将请求从客户端重定向到SAML-SP服务器的JavaScript代码;在SAML-SP服务器上接收访问资源的资源请求;将来自SAML-SP服务器的资源请求重定向到认证服务器,以使用认证请求协议消息获得用户的认证;在认证服务器上从SAML-SP服务器接收SAML SSO请求;向SAML-SP服务器发放具有关于经认证用户的断言的SAML SSO响应;以及授权经认证用户访问托管在SAML-SP服务器上的资源。
应当理解,前面的概述和下面的详细描述都是示例性和解释性的,并且旨在提供对所要求保护的本发明的进一步解释。
附图说明
附图被包括在内以提供对本发明的进一步理解,并且被结合并构成本说明书的一部分。附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。
图1是根据示例性实施例的、具有经由用户的注入和隐式安全认证的SAML SP发起的SSO流程的系统的图示。
图2是根据示例性实施例的计算机或服务器。
图3是根据SAML2规范的SAML SP发起的SSO流程的示例。
图4是根据示例性实施例的SAML SP发起的SSO流程的示例。
具体实施方式
现在将详细参考本发明的当前优选实施例,其示例在附图中示出。只要可能,在附图和说明书中使用相同的附图标记来指代相同或相似的部分。
图1是根据示例性实施例的系统100的图示,系统100能够经由用户的注入和隐式安全认证来实现真正无缝的SAML SP发起的SSO流程。如图1所示,系统100可以包括计算机或客户端设备110、至少一个移动计算机112、多个SAML-SP服务器120和认证服务器130。根据示例性实施例,计算机或客户端设备110、至少一个移动计算机112、多个SAML-SP服务器120和认证服务器130可以经由通信网络150连接。此外,例如,访问点140可以与通信网络150通信,以提供移动计算机(例如,智能电话)112和通信网络150之间的无线或蜂窝数据通信。根据示例性实施例,访问点140可以是允许Wi-Fi设备连接到有线网络的任何网络硬件设备,或者可以是允许蜂窝设备(例如,智能电话)连接到有线网络150的硬件设备。
图2是计算设备200的图示,计算设备200可以是计算机110、移动计算机112、SAML-SP服务器120或认证服务器130。如图2所示,示例性计算设备200可以包括处理器或中央处理单元(CPU)202,以及用于存储软件程序和数据(诸如要打印的文件)的一个或多个存储器204。处理器或CPU202执行计算机程序的指令,该计算机程序操作和/或控制计算设备200的至少一部分功能。计算设备200还可以包括输入单元206、显示单元或图形用户界面(GUI)208以及连接到通信网络(或网络)150的网络接口(I/F)210。总线212可以连接计算设备200内的各种组件202、204、206、208、210。
根据示例性实施例,一个或多个计算设备200各自可以包括显示单元或图形用户界面(GUI)208,显示单元或GUI 208可以访问例如计算设备200的存储器204中的网络浏览器(未示出)。计算设备200还包括操作系统(OS),其管理计算机硬件并为各种软件程序的有效执行提供通用服务。根据示例性实施例,CPU 202的OS是基于Linux或的操作系统。软件程序可以包括例如应用软件和打印机驱动软件。例如,打印机驱动软件控制例如经由通信网络150与安装有打印机驱动软件的计算设备200连接的多功能打印机或打印机(未示出)。在某些实施例中,打印机驱动软件可以基于图像和/或文档数据产生打印作业和/或文档。
根据示例性实施例,多个SAML-SP服务器120被配置为结合安全断言标记语言的单点登录(SSO)简档来接收和接受认证断言。在SAML域模型中,SAML依赖方是从另一系统实体接收和接受信息的任何系统实体。特别值得注意的是,SAML依赖方接收和接受由SAML权限发放的SAML断言。SAML权限的一个重要类型是SAML身份提供商,这是结合SAML的SSO简档来发放认证断言的系统实体。消费这种断言的依赖方被称为SAML服务提供商(或者如果理解域,则简称为服务提供商)。因此,SAML服务提供商(SAML-SP)是接收和接受由SAML身份提供商(SAML-IdP)发放的认证断言的系统实体。
根据示例性实施例,SAML SP可以是向组织提供企业服务(例如,咨询、法律、房地产、通信、存储、处理)的任何实体。例如,SAML SP可以是第三方或外包供应商,例如,电信服务提供商(TSP)、应用服务提供商(ASP)、存储服务提供商(SSP)和互联网服务提供商(ISP)。
例如,TSP是一种传统上提供电话和类似服务的通信服务提供商,其可以包括现有的本地交换运营商、有竞争力的本地交换运营商和移动无线通信公司。ASP是通过网络向客户提供基于计算机的服务的企业。例如,ASP可以使用标准协议(例如,诸如HTTP)提供对特定软件应用(诸如客户关系管理)的访问。SSP是提供计算机存储空间和相关管理服务、定期备份并归档的任何公司。
根据示例性实施例,SAML-IdP是结合安全断言标记语言(SAML)的单点登录(SSO)简档来发放认证断言的系统实体。在SAML域模型中,SAML权限是发放SAML断言的任何系统实体。SAML权限的两个重要示例是认证权限和属性权限。
根据示例性实施例,计算机(或客户端设备)110和移动设备112还可以优选地包括认证模块,认证模块例如通过指纹识别或认证或其他认证协议来认证用户,这些认证协议当前在移动设备上实施或将在移动设备上实施。例如,可以用使用凭据(诸如用户名和密码)的密码认证协议。
根据示例性实施例,通信网络或网络150可以是公共电信线路和/或网络(例如,LAN或WAN)。通信网络150的示例可以包括符合本公开实施例的任何电信线路和/或网络,包括但不限于电信或电话线路、互联网、内联网、所示的局域网(LAN)、广域网(WAN)和/或使用射频(RF)和/或红外(IR)传输的无线连接。
图3是根据SAMLv2规范的SAML SP发起的SSO流程300的示例。如图3所示,在步骤1中,具有移动设备(例如,智能电话)112的用户请求由SAML-SP服务器120托管的资源、服务或应用。该请求(即访问资源)从移动设备112经由通信网络150发送到SAML-SP服务器120。在步骤2中,SAML-SP服务器120将该请求重定向回认证服务器130。在步骤3中,认证服务器130在接收到该请求时向移动设备112发送对“凭据挑战”(即用户名和密码)的请求。在步骤4中,移动设备112的用户输入用户名和密码,该用户名和密码被发送到认证服务器130。响应于在验证时接收到用户名和密码,在步骤5中,认证服务器(即SAML-IdP)130向移动设备112发送HTML形式的签名的“Response”。在步骤6中,移动设备112向SAML-SP服务器120转发POST签名的“Response”。POST是一种由万维网使用的HTTP支持的请求方法。按照设计,POST请求方法请求网络服务器接受包含在请求消息正文中的数据。在步骤7中,SAML-SP服务器向移动设备112提供或供应所请求的资源122。
图4是根据示例性实施例的SAML SP发起的SSO流程400的示例。如图4所示,根据示例性实施例,移动设备112的用户使用可用的认证单点登录(SSO)方法(例如,指纹、用户名和密码或个人识别码PIN)登录到托管在认证服务器130上的单点登录(SSO)服务132。例如,单点登录(SSO)方法可以是生物测定法,例如,指纹、手掌静脉、面部识别、DNA、掌纹、手部几何形状、虹膜识别和/或视网膜。根据示例性实施例,认证服务器130可以包括单点登录(SSO)服务132,SSO服务132被托管在认证服务器130上,如图4所示。
在登录到例如具有单点登录(SSO)服务的认证服务器130时,向客户端(即移动设备112)发放令牌集。例如,根据示例性实施例,令牌集是基于认证服务器130的JSON网络令牌(JWT)以及认证服务器130的相应单点登录(SSO)服务132。例如,根据示例性实施例,令牌集可以是HMAC(键控散列消息认证码或基于散列的消息认证码)SHA256(安全散列算法)编码的。此外,令牌集中的密钥包含声明列表,声明列表描述已登录的用户。例如,声明列表可以包括用户名、许可等。此外,JWT令牌可以配置为期满,并且可以被刷新。
根据示例性实施例,如图4所示,移动设备112优选地具有客户端应用114,客户端应用114被配置为向移动设备112的用户提供对托管在服务提供商(SP)上的资源或服务的访问,例如,由客户端或移动应用114(即,Think Client/Mobile Application)管理的外部网络浏览器116。根据示例性实施例,移动设备112的用户可以选择SAML-SP 120。移动设备112上的客户端应用优选地启动网络浏览器(例如,因为大多数SP是基于网络的)。网络浏览器116是用于访问万维网上的信息的软件应用。
根据示例性实施例,网络浏览器地址是认证服务器130的域名/统一资源定位符(域/url),其中JWT令牌作为地址的一部分。在步骤1中,认证服务器130接收渲染服务提供商(SAML-SP 120)的网页的请求。认证服务器130解析JWT令牌并验证JWT令牌的签名、有效期等(不触及数据库)中的一个或多个。在步骤2中,如果JWT令牌有效,则认证服务器130从JWT令牌中提取声明。根据示例性实施例,认证服务器130可以使用声明来构建声明主体(claim principal),该声明主体被插入到绑定到SAML-SP服务器120的域的登录cookie中。登录cookie是从认证服务器130发送的包含关于用户的信息(包括例如用户名、许可等)的一小段数据。
认证服务器130渲染页面并将登录cookie传递给移动设备112的网络浏览器。根据示例性实施例,在步骤3中,从认证服务器130接收的页面(即请求)包含将浏览器重定向到SAML-SP 120(例如,重定向到gmail.com)的JavaScript代码。SAML-SP 120接收请求并渲染网页。根据示例性实施例,在SAML-SP 120从移动设备112的网络浏览器接收到请求时,用户可以输入或者也可以不输入用户名和/或密码。
在步骤4中,SAML-SP服务器120然后被重定向到认证服务器130(即,安全断言标记语言身份提供商(SAML-IdP)134(例如,idp.enterprise1.com))以使用单点登录安全断言标记语言(SSO/SAML)获得用户的身份。认证服务器130(即SAML-IdP 134)从SAML-SP服务器120接收SSO/SAML请求。认证服务器130(即SAML-IdP 134)还具有来自认证服务器130的cookie(例如,当域相同时,cookie可以被自动使用)。除了可用的cookie之外,声明也可以包含在cookie中。
根据示例性实施例,SAML-IdP 134确认cookie是有效的,并使用声明来确定用户的认可级别(不触及数据库,即单点登录服务器132)。在步骤5中,认证服务器130(即,SAML-IdP 134)向SAML-SP 120发放SSO/SAML响应,并将用户重定向回SAML-SP地址。
在步骤6中,SAML-SP 120接收包含关于用户的断言(声明)的SSO/SAML响应。在步骤7中,SAML-SP 120授权访问资源(例如,将资源122提供给经认证用户和移动设备/客户端112),并且用户可以正常继续,而不必登录SAML-SP服务器120和/或认证服务器130。
根据示例性实施例,服务提供商例如可以是microsoftonline.com。相应的用户ID、SAML主题名称和属性可以如下所示:
根据示例性实施例,在处理额外重定向时,SAML-IdP 134提取出经认证用户所需的信息,例如域名和/或电子邮件地址,以生成URL从而例如自动访问SAML-SP 120处的资源。因此,所公开的系统和方法可以在所有延迟的情况下提供相对无缝的单点登录(SSO),其对于为该方法和系统提供减轻的(lightening)真正无缝效果的用户发明是可用的。
根据示例性实施例,所公开的方法和过程可以在非暂时性计算机可读介质上实施。非暂时性计算机可读介质可以是磁记录介质、磁光记录介质或任何其他将在未来开发的记录介质,所有这些都可以被认为以同样的方式适用于本发明。这种介质的复制品,包括初级和次级复制品及其他,无疑被认为等同于上述介质。此外,即使本发明的实施例是软件和硬件的组合,它也完全不偏离本发明的概念。本发明可以被实施为使得其软件部分已经被预先写入到记录介质上,并且将在操作中根据需要被读取。
如本文所使用的,以单数形式叙述并以单词“一”或“一个”开头的元素或步骤应该理解为不排除多个元素或步骤,除非明确叙述了这种排除。此外,对本公开的“示例实施例”或“一个实施例”的引用并不旨在解释为排除也结合了所述特征的额外示例的存在。
对于本领域技术人员来说显而易见的是,在不脱离本发明的范围或精神的情况下,可以对本发明的结构进行各种修改和变化。鉴于前述内容,本发明旨在涵盖本发明的修改和变化,只要它们落在所附权利要求及其等同物的范围内。
Claims (20)
1.一种用于安全断言标记语言SAML服务提供商发起(SP-initiated)的单点登录SSO流程的方法,所述方法包括:
经由单点登录SSO方法在认证服务器上认证客户端;
向所述客户端发放访问令牌集,所述访问令牌集包含描述经认证用户的声明列表;
向所述认证服务器发送对托管在SAML-SP服务器上的资源的请求,所述请求包括所述认证服务器的域和统一资源定位符以及访问令牌集;
在所述认证服务器上接收所述访问请求,并从所述访问请求中解析所述访问令牌集,并验证所述经认证用户;
在所述认证服务器上渲染页面,并向所述客户端传递具有绑定到所述认证服务器的域的登录cookie的页面,所述页面包含将所述请求从所述客户端重定向到所述SAML-SP服务器的JavaScript代码;
在所述SAML-SP服务器上接收访问所述资源的资源请求;
将来自所述SAML-SP服务器的资源请求重定向到所述认证服务器,以使用认证请求协议消息获得用户的认证;
在所述认证服务器上从所述SAML-SP服务器接收SAML SSO请求;
向所述SAML-SP服务器发放具有关于所述经认证用户的断言的SAML SSO响应;以及
授权所述经认证用户访问托管在所述SAML-SP服务器上的资源。
2.根据权利要求1所述的方法,进一步包括:
在所述客户端设备上启动网络浏览器,以用于发送对托管在所述SAML-SP服务器上的资源的请求,对托管在所述SAML-SP服务器上的资源的所述请求由所述客户端设备上的应用生成,并且所述请求具有网络浏览器地址,所述网络浏览器地址具有所述认证服务器的域和统一资源定位符以及所述访问令牌集。
3.根据权利要求1所述的方法,进一步包括:
在所述认证服务器上解析所述访问令牌集并验证所述访问令牌集。
4.根据权利要求1所述的方法,进一步包括:
在所述SAML-SP服务器接收到从所述客户端重定向的请求时,请求所述经认证用户输入用户名。
5.根据权利要求1所述的方法,进一步包括:
确认在所述认证服务器上接收的来自SAML SSO的cookie是有效的,并使用cookie中的声明来确定所述经认证用户的认可级别。
6.根据权利要求1所述的方法,其中,所述单点登录SSO方法是生物测定法,所述生物测定法是指纹、手掌静脉、面部识别、DNA、掌纹、手部几何形状、虹膜识别和/或视网膜。
7.根据权利要求1所述的方法,其中,所述访问令牌集是JSON网络令牌(JWT)。
8.根据权利要求7所述的方法,其中,所述JSON网络令牌是HMAC SHA256编码的。
9.根据权利要求1所述的方法,其中,所述SP是电信服务提供商(TSP)、应用服务提供商(ASP)、存储服务提供商(SSP)和/或互联网服务提供商(ISP)。
10.根据权利要求1所述的方法,进一步包括:
描述所述经认证用户的声明列表,所述声明列表包括用户名和用于访问所述SAML-SP服务器上的内容的一个或多个许可。
11.根据权利要求1所述的方法,进一步包括:
当所述访问令牌集有效时,从所述令牌集中提取所述声明列表。
12.根据权利要求1所述的方法,其中,所述认证服务器是安全断言标记语言身份提供商SAML IdP。
13.根据权利要求1所述的方法,其中,一旦所述经认证用户被授权访问托管在所述SAML-SP服务器上的资源,就不需要进一步登录。
14.一种用于安全断言标记语言SAML服务提供商发起的(SP-initiated)单点登录SSO流程的非暂时性计算机可读介质,其上存储有计算机可读程序代码,当所述计算机可读程序代码被处理器执行时,使得所述处理器执行过程,所述过程包括:
经由单点登录SSO方法在认证服务器上认证客户端;
向所述客户端发放访问令牌集,所述访问令牌集包含描述经认证用户的声明列表;
向所述认证服务器发送对托管在SAML-SP服务器上的资源的请求,所述请求包括所述认证服务器的域和统一资源定位符以及所述访问令牌集;
在所述认证服务器上接收所述访问请求,并从所述访问请求中解析所述访问令牌集,并验证所述经认证用户;
在所述认证服务器上渲染页面,并向所述客户端传递具有绑定到所述认证服务器的域的登录cookie的页面,所述页面包含将所述请求从所述客户端重定向到所述SAML-SP服务器的JavaScript代码;
在所述SAML-SP服务器上接收访问所述资源的资源请求;
将来自所述SAML-SP服务器的资源请求重定向到所述认证服务器,以使用认证请求协议消息获得用户的认证;
在所述认证服务器上从所述SAML-SP服务器接收SAML SSO请求;
向所述SAML-SP服务器发放具有关于所述经认证用户的断言的SAML SSO响应;以及
授权所述经认证用户访问托管在所述SAML-SP服务器上的资源。
15.根据权利要求14所述的非暂时性计算机可读介质,其中所述过程进一步包括:
在所述客户端设备上启动网络浏览器,以用于发送对在托管所述SAML-SP上的资源的请求,对托管在所述SAML-SP上的资源的所述请求由所述客户端设备上的应用生成,并且所述请求具有网络浏览器地址,所述网络浏览器地址具有所述认证服务器的域和统一资源定位符以及所述访问令牌集。
16.根据权利要求14所述的非暂时性计算机可读介质,其中所述过程进一步包括:
在所述认证服务器上解析所述访问令牌集并验证所述访问令牌集。
17.根据权利要求14所述的非暂时性计算机可读介质,其中所述过程进一步包括:
在所述SAML-SP服务器接收到从所述客户端重定向的请求时,请求所述经认证用户输入用户名。
18.根据权利要求14所述的非暂时性计算机可读介质,其中所述过程进一步包括:
描述所述经认证用户的声明列表,所述声明列表包括用户名和用于访问所述SAML-SP服务器上的内容的一个或多个许可。
19.根据权利要求14所述的非暂时性计算机可读介质,其中所述过程进一步包括:
当所述访问令牌集有效时,从所述令牌集中提取所述声明列表。
20.根据权利要求14所述的非暂时性计算机可读介质,其中,所述认证服务器是安全断言标记语言身份提供商SAML IdP,并且一旦所述经认证用户被授权访问托管在所述SAML-SP服务器上的资源,就不需要进一步登录。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/146,658 US20200106766A1 (en) | 2018-09-28 | 2018-09-28 | Method and system for security assertion markup language (saml) service provider-initiated single sign-on |
US16/146,658 | 2018-09-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110971585A true CN110971585A (zh) | 2020-04-07 |
Family
ID=69946243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910903347.XA Pending CN110971585A (zh) | 2018-09-28 | 2019-09-24 | 安全断言标记语言服务提供商发起的单点登录方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200106766A1 (zh) |
JP (1) | JP7382753B2 (zh) |
CN (1) | CN110971585A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472735A (zh) * | 2021-05-13 | 2021-10-01 | 新华三大数据技术有限公司 | 一种大数据服务单点登录方法、装置及存储介质 |
CN114095263A (zh) * | 2021-11-24 | 2022-02-25 | 上海派拉软件股份有限公司 | 一种通信方法、装置及系统 |
CN114238895A (zh) * | 2021-12-23 | 2022-03-25 | 北京天融信网络安全技术有限公司 | 一种单点登录的代理方法、装置、电子设备及存储介质 |
CN114500074A (zh) * | 2022-02-11 | 2022-05-13 | 京东科技信息技术有限公司 | 单点系统安全访问方法、装置及相关设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11070540B1 (en) | 2018-12-28 | 2021-07-20 | Juniper Networks, Inc. | Dynamic provisioning of user groups within computer networks based on user attributes |
US11516220B1 (en) | 2018-12-28 | 2022-11-29 | Juniper Networks, Inc. | Creating roles and controlling access within a computer network |
US11516202B2 (en) * | 2019-12-26 | 2022-11-29 | Vmware, Inc. | Single sign on (SSO) capability for services accessed through messages |
US11240225B1 (en) * | 2020-03-03 | 2022-02-01 | Amazon Technologies, Inc. | Single sign-on techniques |
US11595375B2 (en) * | 2020-04-14 | 2023-02-28 | Saudi Arabian Oil Company | Single sign-on for token-based and web-based applications |
US20210377240A1 (en) * | 2020-06-02 | 2021-12-02 | FLEX Integration LLC | System and methods for tokenized hierarchical secured asset distribution |
US11770377B1 (en) * | 2020-06-29 | 2023-09-26 | Cyral Inc. | Non-in line data monitoring and security services |
CN112039873A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种单点登录访问业务系统的方法 |
US20220337590A1 (en) * | 2021-04-16 | 2022-10-20 | Palo Alto Networks, Inc. | Mitigating multiple authentications for a geo-distributed security service using an authentication cache |
US20230185893A1 (en) * | 2021-12-10 | 2023-06-15 | Konica Minolta Business Solutions U.S.A., Inc. | Method and system for secure cloud access via password-less single sign-on (sso) for native marketplace applications on multifunction printers |
CN117411729B (zh) * | 2023-12-14 | 2024-05-10 | 深圳竹云科技股份有限公司 | oracle数据库登录方法、装置、计算机设备、介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050277420A1 (en) * | 2004-06-10 | 2005-12-15 | Samsung Electronics Co., Ltd. | Single-sign-on method based on markup language and system using the method |
WO2009145987A2 (en) * | 2008-03-30 | 2009-12-03 | Symplified, Inc. | System, method, and apparatus for single sign-on and managing access to resources across a network |
CN101656609A (zh) * | 2008-08-22 | 2010-02-24 | 华为技术有限公司 | 一种单点登录方法、系统及装置 |
CN102025495A (zh) * | 2009-09-17 | 2011-04-20 | 成都康赛电子科大信息技术有限责任公司 | 基于saml2.0的身份认证和管理 |
EP2400716A2 (en) * | 2010-06-23 | 2011-12-28 | Thales Holdings UK Plc | Resource access proxy for efficient access to sensor resources |
CN102377788A (zh) * | 2011-12-13 | 2012-03-14 | 方正国际软件有限公司 | 单点登录系统及其单点登录方法 |
CN102638454A (zh) * | 2012-03-14 | 2012-08-15 | 武汉理工大学 | 一种面向http身份鉴别协议的插件式单点登录集成方法 |
WO2013025599A2 (en) * | 2011-08-15 | 2013-02-21 | Bank Of America Corporation | Apparatus and method for handling transaction tokens |
CN102986190A (zh) * | 2010-07-08 | 2013-03-20 | 国际商业机器公司 | 资源访问管理 |
US20150149766A1 (en) * | 2013-11-27 | 2015-05-28 | Tata Consultancy Services Limited | System and methods for facilitating authentication of an electronic device accessing plurality of mobile applications |
US20160205108A1 (en) * | 2015-01-13 | 2016-07-14 | Oracle International Corporation | Identity management and authentication system for resource access |
US9729539B1 (en) * | 2014-03-28 | 2017-08-08 | Pulse Secure, Llc | Network access session detection to provide single-sign on (SSO) functionality for a network access control device |
US20180081983A1 (en) * | 2016-09-16 | 2018-03-22 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6266049B1 (ja) | 2016-07-25 | 2018-01-24 | 三井情報株式会社 | 情報処理システム、情報処理方法、情報処理装置及びプログラム |
JP2018092446A (ja) | 2016-12-05 | 2018-06-14 | キヤノン株式会社 | 認証認可システム及び情報処理装置と認証認可方法とプログラム |
US10938801B2 (en) * | 2018-09-21 | 2021-03-02 | Microsoft Technology Licensing, Llc | Nonce handler for single sign on authentication in reverse proxy solutions |
-
2018
- 2018-09-28 US US16/146,658 patent/US20200106766A1/en not_active Abandoned
-
2019
- 2019-07-24 JP JP2019136341A patent/JP7382753B2/ja active Active
- 2019-09-24 CN CN201910903347.XA patent/CN110971585A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050277420A1 (en) * | 2004-06-10 | 2005-12-15 | Samsung Electronics Co., Ltd. | Single-sign-on method based on markup language and system using the method |
WO2009145987A2 (en) * | 2008-03-30 | 2009-12-03 | Symplified, Inc. | System, method, and apparatus for single sign-on and managing access to resources across a network |
CN101656609A (zh) * | 2008-08-22 | 2010-02-24 | 华为技术有限公司 | 一种单点登录方法、系统及装置 |
CN102025495A (zh) * | 2009-09-17 | 2011-04-20 | 成都康赛电子科大信息技术有限责任公司 | 基于saml2.0的身份认证和管理 |
EP2400716A2 (en) * | 2010-06-23 | 2011-12-28 | Thales Holdings UK Plc | Resource access proxy for efficient access to sensor resources |
CN102986190A (zh) * | 2010-07-08 | 2013-03-20 | 国际商业机器公司 | 资源访问管理 |
WO2013025599A2 (en) * | 2011-08-15 | 2013-02-21 | Bank Of America Corporation | Apparatus and method for handling transaction tokens |
CN102377788A (zh) * | 2011-12-13 | 2012-03-14 | 方正国际软件有限公司 | 单点登录系统及其单点登录方法 |
CN102638454A (zh) * | 2012-03-14 | 2012-08-15 | 武汉理工大学 | 一种面向http身份鉴别协议的插件式单点登录集成方法 |
US20150149766A1 (en) * | 2013-11-27 | 2015-05-28 | Tata Consultancy Services Limited | System and methods for facilitating authentication of an electronic device accessing plurality of mobile applications |
US9729539B1 (en) * | 2014-03-28 | 2017-08-08 | Pulse Secure, Llc | Network access session detection to provide single-sign on (SSO) functionality for a network access control device |
US20160205108A1 (en) * | 2015-01-13 | 2016-07-14 | Oracle International Corporation | Identity management and authentication system for resource access |
US20180081983A1 (en) * | 2016-09-16 | 2018-03-22 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
Non-Patent Citations (3)
Title |
---|
SHYMALA GOWRI SELVAGANAPATHY ET AL: "WSASRESSO - A Novel Framework for Analysis of SAML based SSO Protocols using Black Box Penetration Testing", 《 INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS》 * |
梁昌勇等: "基于SAML的信任移植模型", 《微计算机信息》 * |
韩晶等: "基于SAML的Web服务认证技术", 《电力系统通信》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472735A (zh) * | 2021-05-13 | 2021-10-01 | 新华三大数据技术有限公司 | 一种大数据服务单点登录方法、装置及存储介质 |
CN113472735B (zh) * | 2021-05-13 | 2023-06-13 | 新华三大数据技术有限公司 | 一种大数据服务单点登录方法、装置及存储介质 |
CN114095263A (zh) * | 2021-11-24 | 2022-02-25 | 上海派拉软件股份有限公司 | 一种通信方法、装置及系统 |
CN114238895A (zh) * | 2021-12-23 | 2022-03-25 | 北京天融信网络安全技术有限公司 | 一种单点登录的代理方法、装置、电子设备及存储介质 |
CN114500074A (zh) * | 2022-02-11 | 2022-05-13 | 京东科技信息技术有限公司 | 单点系统安全访问方法、装置及相关设备 |
CN114500074B (zh) * | 2022-02-11 | 2024-04-12 | 京东科技信息技术有限公司 | 单点系统安全访问方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US20200106766A1 (en) | 2020-04-02 |
JP7382753B2 (ja) | 2023-11-17 |
JP2020057363A (ja) | 2020-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7382753B2 (ja) | セキュリティーアサーションマークアップランゲージ(saml)サービスプロバイダー起点のシングルサインオンのための方法及びプログラム | |
EP3675451B1 (en) | Method, computer readable storage medium and apparatus for seamless single sign-on (sso) for native mobile-application initiated open-id connect (oidc) and security assertion markup language (saml) flows | |
US20200236147A1 (en) | Brokered authentication with risk sharing | |
US10116644B1 (en) | Network access session detection to provide single-sign on (SSO) functionality for a network access control device | |
US9300653B1 (en) | Delivery of authentication information to a RESTful service using token validation scheme | |
US10200357B2 (en) | Mobile single-sign-on authentication using browser as intermediary | |
EP3723341B1 (en) | Single sign-on for unmanaged mobile devices | |
US8418234B2 (en) | Authentication of a principal in a federation | |
US9143502B2 (en) | Method and system for secure binding register name identifier profile | |
US8495720B2 (en) | Method and system for providing multifactor authentication | |
US9805185B2 (en) | Disposition engine for single sign on (SSO) requests | |
JP2015535984A5 (zh) | ||
US7895644B1 (en) | Method and apparatus for accessing computers in a distributed computing environment | |
Mukhopadhyay et al. | An Anti-Phishing mechanism for single sign-on based on QR-code | |
US11381405B1 (en) | System and method for authenticating a user at a relying party application using an authentication application and automatically redirecting to a target application | |
Li et al. | Your code is my code: Exploiting a common weakness in OAuth 2.0 implementations | |
Baker | OAuth2 | |
Hasmik | Multi-Factor graphical user authentication for web applications | |
CN118337519A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200407 |