CN114553480B - 跨域单点登录方法、装置、电子设备及可读存储介质 - Google Patents
跨域单点登录方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114553480B CN114553480B CN202210039368.3A CN202210039368A CN114553480B CN 114553480 B CN114553480 B CN 114553480B CN 202210039368 A CN202210039368 A CN 202210039368A CN 114553480 B CN114553480 B CN 114553480B
- Authority
- CN
- China
- Prior art keywords
- trust
- security domain
- request
- domain
- single sign
- 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
-
- 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/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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
-
- 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/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- 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
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
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)
- Storage Device Security (AREA)
Abstract
本发明提供一种跨域单点登录方法、装置、电子设备及可读存储介质,方法包括:接收用户端所在第一安全域跨域发起的单点登录访问请求;基于自动信任协商机制与第一安全域建立信任关系;基于单点登录访问请求向用户端发起授权请求,接收用户端基于授权请求向身份提供方申请的授权码;利用授权码向身份提供方发送访问令牌申请请求,接收身份提供方基于访问令牌申请请求返回的访问令牌;利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息,并接收身份提供方返回的用户身份信息;基于身份信息完成单点登录。本发明通过自动信任协商机制逐步建立信任关系,有效避免风险集中和单次暴露较多隐私信息,从而有效提升安全域内的自治性和隐私性。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种跨域单点登录方法、装置、电子设备及可读存储介质。
背景技术
随着互联网技术的发展,国内外企业相继提出跨应用的用户信息数据共享接口,即单点登录,以为用户提供更方便的服务。由于信息安全要求较高的应用场景中,不同信息所具有的价值也各不相同,因此必须划分多个安全级别,实行分级保护,以将不同信息***归属于不同的安全域中进行分类保护。在针对跨安全域的单点登录问题上,主要聚焦于两个方面,分别是如何建立不同安全域之间的信任关系和单点登录协议的选择。
目前,针对建立不同安全域之间的信任关系,主要通过可信的第三方CA来建立信任关系,即两个安全域在建立关系时通过第三方来保证链路的安全性,并由核心第三方CA分配信任证书完成交互;或者利用标准的公钥基础设施(Public Key Infrastructure,PKI)来完成信息交互,主要通过将其他安全域的服务器作为自身安全域的认证实体来建立信任关系。
然而,对于通过可信的第三方CA来建立信任关系这种方式,其对于核心CA组件的要求较高,整体模型的安全性均由该组件决定,这种方式对于信息安全要求较高的信息***是难以被接受的;而对于利用PKI来完成信息交互的方式,无法抵抗伪造攻击,其该种建立信任关系的方式是将其他安全域的服务器作为自身安全域的认证实体,严格意义上来说,这种建立信任关系的方式会暴露自身过多信息,比如自身证书或者访问控制策略,都容易被攻击者通过攻击方式嗅探,此外,与其配合使用的单点登录协议,无论是SAML还是KerberOS,都较为难用,而且其易用性及性能效率均较差。
发明内容
本发明提供一种跨域单点登录方法、装置、电子设备及可读存储介质,用以解决现有技术中避免一次暴露过多信息以致无法抵抗伪造攻击的缺陷,实现跨域单点登录,提高用户体验度,避免风险过于集中的现象,从而确保安全域内的自治性、隐私性和安全性。
本发明提供一种跨域单点登录方法,包括:接收用户端所在第一安全域跨域发起的单点登录访问请求;基于自动信任协商机制与所述第一安全域建立信任关系;基于所述单点登录访问请求向所述用户端发起授权请求,接收所述用户端基于所述授权请求向身份提供方申请的授权码;利用所述授权码向所述身份提供方发送访问令牌申请请求,接收所述身份提供方基于所述访问令牌申请请求返回的访问令牌;利用所述访问令牌向所述身份提供方申请所述第一安全域用户端的用户身份信息,并接收所述身份提供方返回的用户身份信息;基于所述身份信息完成单点登录。
根据本发明提供的一种跨域单点登录方法,所述基于自动信任协商机制与所述第一安全域建立信任关系,包括:接收所述第一安全域发起的信任关系建立请求,其中,所述信任关系建立请求是所述第一安全域基于自动信任协商机制检查存在历史信任凭证后生成的;根据所述信任关系建立请求对所述历史信任凭证进行凭证校验,且基于所述校验成功,生成信任关系;基于所述信任关系生成信任凭证,并将所述信任关系发送至所述第一安全域生成信任凭证,以与所述第一安全域建立信任关系。
根据本发明提供的一种跨域单点登录方法,所述根据所述信任关系建立请求对所述历史信任凭证进行校验,还包括:基于所述校验失败,根据访问控制策略,向所述第一安全域发送第一属性证书出示请求;接收所述第一安全域基于所述第一属性证书出示请求返回的属性证书,其中,所述属性证书是所述第一安全域基于所述第一属性证书出示请求查找、且通过证书验证得到的。
根据本发明提供的一种跨域单点登录方法,在所述向所述第一安全域发送第一属性证书出示请求之后,还包括:接收所述第一安全域基于所述第一属性证书出示请求返回的第二属性证书出示请求,其中,所述第二属性证书出示请求是所述第一安全域基于所述第一属性证书出示请求对属性证书进行证书校验、且未通过所述证书校验后基于所述访问控制策略生成的;基于所述第二属性证书出示请求,查找相应证书,并判断其是否为空或非敏感证书,若是,则直接出示;否则,重新向所述第一安全域发送所述第一属性证书出示请求。
根据本发明提供的一种跨域单点登录方法,在所述接收所述第一安全域基于存储有历史信任凭证发起的信任关系建立请求之前,包括:所述第一安全域向限流组件申请令牌,并接收所述限流组件发挥的令牌;所述第一安全域基于所述令牌跨域发起信任关系建立请求。
根据本发明提供的一种跨域单点登录方法,所述方法,还包括:基于加解密组件,对与所述第一安全域之间的交互信息进行加解密。
本发明还提供一种跨域单点登录装置,包括:请求接收模块,接收用户端所在第一安全域跨域发起的单点登录访问请求;信任建立模块,基于自动信任协商机制与所述第一安全域建立信任关系;授权码获取模块,基于所述单点登录访问请求向所述用户端发起授权请求,接收所述用户端基于所述授权请求向身份提供方申请的授权码;访问令牌获取模块,利用所述授权码向所述身份提供方发送访问令牌申请请求,接收所述身份提供方基于所述访问令牌申请请求返回的访问令牌;身份信息获取模块,利用所述访问令牌向所述身份提供方申请所述第一安全域用户端的用户身份信息,并接收所述身份提供方返回的用户身份信息;单点登录模块,基于所述身份信息完成单点登录。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述跨域单点登录方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述跨域单点登录方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述跨域单点登录方法的步骤。
本发明提供的跨域单点登录方法、装置、电子设备及可读存储介质,通过自动信任协商机制逐步建立信任关系,以有效避免风险集中问题,避免单次暴露较多敏感证书以及访问控制策略等信息,以有效提升安全域内的自治性和隐私性;通过获取授权码、访问令牌,以从身份提供方获取用户身份信息,从而便于根据用户身份信息进行单点登录,使不同安全域的信息***能够通过单点登录的方式来进行统一身份认证,有效提升安全域内的自治性、隐私性和安全性,提升了用户操作体验;易于实现,且容易在短时间内进行大量部署,有效节省了单独针对信息***开发身份认证的资源,实现简单,使用安全、便利。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的跨域单点登录方法的流程示意图之一;
图2是本发明提供的跨域单点登录方法的流程示意图之二;
图3是本发明提供的跨域单点登录装置的结构示意图;
图4是本发明提供的跨域单点登录装置的架构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一种跨域单点登录方法的流程示意图,该方法的执行主体为第二安全域内的信息***,方法包括:
S11,接收用户端所在第一安全域跨域发起的单点登录访问请求;
S12,基于自动信任协商机制与第一安全域建立信任关系;
S13,基于单点登录访问请求向用户端发起授权请求,接收用户端基于授权请求向身份提供方申请的授权码;
S14,利用授权码向身份提供方发送访问令牌申请请求,接收身份提供方基于访问令牌申请请求返回的访问令牌;
S15,利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息,并接收身份提供方返回的用户身份信息;
S16,基于身份信息完成单点登录。
需要说明的是,第一安全域和第二安全域为跨域单点登录时涉及信息交互的两个安全域,也可以理解为安全域A和安全域B,第一、第二仅为对不同安全域进行区分。
另外,本说明书中的S1N不代表跨域单点登录方法的先后顺序,下面具体描述本发明的跨域单点登录方法。
步骤S11,接收用户端所在第一安全域跨域发起的单点登录访问请求。
在本实施例中,在进行单点登录时,需要先基于用户端所在第一安全域跨域对第二安全域的信息***发起单点登录访问请求,第二安全域的信息***接收单点登录访问请求。需要说明的是,信息***即为用户使用的***,属于单点登录过程中的核心组成部分,需要提前进行***的注册,才能在应用过程中被单点登录功能所应用。另外,用户端,即为用户提供使用的一端,需要提前在身份鉴别组件中注册用户的身份信息,以便于在应用过程中直接为其提供身份,并且便于在不同安全域的信息***中使用。
步骤S12,基于自动信任协商机制与第一安全域建立信任关系。
在本实施例中,基于自动信任协商机制与第一安全域建立信任关系,包括:接收第一安全域发起的信任关系建立请求,其中,信任关系建立请求是第一安全域基于自动信任协商(Automated Trust Negotiation,ATN)机制检查存在历史信任凭证后生成的;根据信任关系建立请求对历史信任凭证进行凭证校验,且基于校验成功,生成信任关系;基于信任关系生成信任凭证,并将信任关系发送至第一安全域生成信任凭证,以与第一安全域建立信任关系。
需要说明的是,凭证校验,包括:对历史信任凭证的有效性进行校验,并基于对应历史信任凭证有效,校验通过。通过判断历史信任凭证是否处于有效时间内,从而判断是否可以直接使用该历史信任凭证。应当注意,历史信任凭证有效性基于时间和内容共同保证,其中时间有效性基于历史信任凭证的有效期保证,以确定在规定时间内有效,内容有效性由历史信任凭证的整数序列保证,由于生成信任凭证的协商过程涉及到的整数可能存在失效或被撤销的可能性,因此使用的信任凭证必须对建立信任关系的整数序列进行有效性确认。同时,传输过程的安全性有加解密组件E/DD保证,基于RSA加密算法的基于数字签名的电子信封(Oblivious Signature-Based Envelope,OSBE)方案可以确保发送者和接收者是预先设置好的的目标。
另外,历史信任凭证可以预先存储于对应安全域内的信任凭证(TrustCertification,TCs)库内,通过引入历史协商的结果,即历史信任凭证,以便于第二次协商时,直接依据此历史信任凭证快速建立信任关系,从而加速使用单点登录功能时同一安全域不同信息***的协商过程,提高模型的使用效率。信任凭证包括发送者(sender)、接收者(receiver)、协商安全域(domain)、有效期(time)、数字签名(signature)、证书序列(seq)和备注(remark)等,其中,sender对应信任凭证的发送者,receiver对应信任凭证的接收者,协商安全域是指安全域的组合,即完成协商的两个安全域。
在一个可选实施例中,根据信任关系建立请求对历史信任凭证进行校验,还包括:基于校验失败,根据访问控制策略,向第一安全域发送第一属性证书出示请求;接收第一安全域基于第一属性证书出示请求返回的属性证书,其中,属性证书是第一安全域基于第一属性证书出示请求查找、且通过证书验证得到的;基于第二属性证书出示请求,查找相应证书,并判断其是否为空或非敏感证书,若是,则直接出示;否则,重新向第一安全域发送第一属性证书出示请求。需要说明的是,证书验证,包括:对属性证书进行验证,判断基于第一属性证书出示请求查找到的属性证书是否为空或非敏感证书,并基于属性证书为空或非敏感证书,验证通过。
另外,属性证书需要预先存储于对应安全域中的属性证书(CertificateDatabase,CDs)库中,有第三方属性权威(Attribute Authority,AA)签发,并在签发的同时规定该属性证书对应的访问控制策略。属性证书包括属性项(value)、隶属安全域(domain)、是否敏感(sensitive)、最近应用策略(last used)、有效期(time)和备注(remark)等。
应当注意,在本实施例中,访问控制策略是自动信任协商机制中关键的组成部分,直接对信任和敏感证书进行保护,只有依据访问控制策略完成证书交互即协商的过程,才能使不同的安全域建立信任关系,进而实现单点登录的功能。访问控制策略包括策略目标解(ans),策略拥有者(holder)、策略接收者(recipient)、证书序列(seq)、有效期(time)和备注(remark)等,其中,策略目标解即受保护的资源项,可以是受保护的信任关系,也可以是一种敏感证书,具体可根据实际设计需求设置,此外,证书序列即取得该策略目标解需要完成的证书交互过程。
在一个可选实施例中,在接收第一安全域基于存储有历史信任凭证发起的信任关系建立请求之前,包括:第一安全域向限流组件申请令牌,并接收限流组件发挥的令牌;第一安全域基于令牌跨域发起信任关系建立请求。需要说明的是,限流组件应用令牌桶算法,依据自身服务器的处理能力匀速生成令牌并存入桶中,单点登录请求会经过分类器进行分类,部分请求可直接运行,另一些请求需要先申请令牌然后持有令牌发起请求,未申请令牌成功的请求则会被撤销,以保证模型可以抵抗DoS攻击或高并发的认证请求从而对其他组件造成的破坏,实现模型的并发性和安全性。
在一个可选实施例中,与第一安全域建立信任关系,包括:第一安全域向限流组件申请令牌,并接收限流组件返回的令牌;第一安全域基于ATN协商接口检查其内信任凭证库是否存储有历史信任凭证,并基于信任凭证库存储有历史信任凭证,向第二安全域发起信任关系建立请求;第二安全域基于信任关系建立请求对历史信任凭证及其对应的证书序列进行校验,若有效,则直接向第一安全域返回信任关系;若没有历史信任凭证或历史信任凭证失效,则依据访问控制策略(Access Control Policy,ACPs)库查找对应的访问控制策略并要求第一安全域出示属性证书;第一安全域,基于访问控制策略查找相应属性证书,并基于该属性证书为空或非敏感证书,直接出示;否则,需要依据访问控制策略要求第二安全域先出示属性证书;第二安全域,基于访问控制策略查找相应属性证书,并基于该属性证书为空或非敏感证书,直接出示;否则,需要依据访问控制策略要求第一安全域先出示属性证书;循环上述步骤,直至属性证书为非敏感证书并产生交互,则生成信任关系并返回,同时,第一安全域和第二安全域均生成信任凭证并暂存于各自的信任凭证(TrustCertification,TCs)库。
步骤S13,基于单点登录访问请求向用户端发起授权请求,接收用户端基于授权请求向身份提供方申请的授权码。
具体而言,第二安全域的信息***向第一安全域的用户端发起授权请求;第一安全域的用户端根据授权请求利用用户在身份提供方(Identity Provider,IdP)的身份鉴别结果,对第二安全域的信息***进行授权,并接收身份提供方返回的授权码,用户端将授权码发送至第二安全域的信息***。
在本实施例中,授权码是身份提供方基于用户端的登录认证生成、并由用户端返回的。
应当注意,在初始阶段,即第一次进行身份鉴别时,通过双因子身份认证体系完成身份鉴别,即第二安全域的信息***向身份提供方发送授权请求,第一安全域的用户端基于授权请求、口令认证和key认证在相应的身份提供方(Identity Provider,IdP)完成登录,并将从第一安全域的用户端得到的授权参数转发给身份提供方,身份提供方基于授权参数生成授权码并发送至用户端,用户端将授权码发送至第二安全域的信息***。
步骤S14,利用授权码向身份提供方发送访问令牌申请请求,接收身份提供方基于访问令牌申请请求返回的访问令牌。
在本实施例中,访问令牌是身份提供方基于授权码进行解析,并验证解析结果是否有效生成的。需要说明的是,访问令牌的格式可以为JWT格式。
具体而言,第二安全域的信息***利用授权码向身份提供方发送访问令牌申请请求,身份提供方基于访问令牌申请请求对授权码进行解析并验证,并基于验证通过生成访问令牌发送至第二安全域的信息***。
步骤S15,利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息,并接收身份提供方返回的用户身份信息。
需要说明的是,第二安全域的信息***通过利用访问令牌从身份提供方获取用户身份信息,从而便于根据用户身份信息进行单点登录,使不同安全域的信息***能够通过单点登录的方式来进行统一身份认证,有效提升安全域内的自治性、隐私性和安全性,提升了用户操作体验。
步骤S16,基于身份信息完成单点登录。
在一个可选实施例中,该方法,还包括:基于加解密组件,对与第一安全域之间的交互信息进行加解密,以实现第一安全域与第二安全域之间的信息交互。需要说明的是,交互信息包括访问控制策略、属性证书、新人凭证、授权码和访问令牌等。另外,加解密组件包括加密器(Encryption Device,ED)和解密器(Decryption Device,DD),利用加密器和解密器对第一安全域和第二安全域之间交互的信息进行加解密,以提高信息传输的安全性,简言之,消息发送者基于加密器对发送的信息进行加密,消息接收者基于指定需要的密钥和签名利用解密器对加密的信息进行解密。
在一个可选实施例中,参考图2,跨域单点登录方法,包括:
S21,第一安全域的用户端对第二安全域的信息***发起单点登录请求;
S22,第一安全域与第二安全域基于自动信任协商机制建立信任关系;
S23,第二安全域的信息***基于信任关系接收单点登录访问请求,并向第一安全域的用户端发起授权请求;
S24,用户端基于授权请求向身份提供方申请授权码,并将申请得到的授权码返回至第二安全域的信息***;
S25,第二安全域的信息***利用授权码向身份提供方发送访问令牌申请请求,并接收身份提供方基于访问令牌申请请求返回的访问令牌;
S26,第二安全域的信息***利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息,接收身份提供方返回的用户身份信息,并基于身份信息完成单点登录。
综上所述,本发明实施例通过自动信任协商机制逐步建立信任关系,以有效避免风险集中问题,避免单次暴露较多敏感证书以及访问控制策略等信息,以有效提升安全域内的自治性和隐私性;通过获取授权码、访问令牌,以从身份提供方获取用户身份信息,从而便于根据用户身份信息进行单点登录,使不同安全域的信息***能够通过单点登录的方式来进行统一身份认证,有效提升安全域内的自治性、隐私性和安全性,提升了用户操作体验;易于实现,且容易在短时间内进行大量部署,有效节省了单独针对信息***开发身份认证的资源,实现简单,使用安全、便利。
下面对本发明提供的跨域单点登录装置进行描述,下文描述的跨域单点登录装置与上文描述的跨域单点登录方法可相互对应参照。
图3示出了一种跨域单点登录装置,该装置的主体为第二安全域的信息***,该装置包括:
请求接收模块31,接收用户端所在第一安全域跨域发起的单点登录访问请求;
信任建立模块32,基于自动信任协商机制与第一安全域建立信任关系;
授权码获取模块33,基于单点登录访问请求向用户端发起授权请求,接收用户端基于授权请求向身份提供方申请的授权码;
访问令牌获取模块34,利用授权码向身份提供方发送访问令牌申请请求,接收身份提供方基于访问令牌申请请求返回的访问令牌;
身份信息获取模块35,利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息,并接收身份提供方返回的用户身份信息;
单点登录模块36,基于身份信息完成单点登录。
具体而言,请求接收模块31,包括:单点登录访问请求接收单元,接收用户端所在第一安全域跨域发起的单点登录访问请求。需要说明的是,在进行单点登录时,需要先基于用户端所在第一安全域跨域对第二安全域的信息***发起单点登录访问请求,第二安全域的信息***的请求接收模块31接收单点登录访问请求。另外,信息***即为用户使用的***,属于单点登录过程中的核心组成部分,需要提前进行***的注册,才能在应用过程中被单点登录功能所应用;用户端,即为用户提供使用的一端,需要提前在身份鉴别组件中注册用户的身份信息,以便于在应用过程中直接为其提供身份,并且便于在不同安全域的信息***中使用。
信任建立模块32,包括:信任关系建立请求单元,接收第一安全域发起的信任关系建立请求,其中,信任关系建立请求是第一安全域基于自动信任协商(Automated TrustNegotiation,ATN)机制检查存在历史信任凭证后生成的;第一凭证校验单元,根据信任关系建立请求对历史信任凭证进行凭证校验,且基于校验成功,生成信任关系;信任关系建立单元,基于信任关系生成信任凭证,并将信任关系发送至第一安全域生成信任凭证,以与第一安全域建立信任关系。
需要说明的是,第一凭证校验单元,包括:有效性校验子单元,对历史信任凭证的有效性进行校验,并基于对应历史信任凭证有效,校验通过。通过判断历史信任凭证是否处于有效时间内,从而判断是否可以直接使用该历史信任凭证。应当注意,历史信任凭证有效性基于时间和内容共同保证,其中时间有效性基于历史信任凭证的有效期保证,以确定在规定时间内有效,内容有效性由历史信任凭证的整数序列保证,由于生成信任凭证的协商过程涉及到的整数可能存在失效或被撤销的可能性,因此使用的信任凭证必须对建立信任关系的整数序列进行有效性确认。
在一个可选实施例中,信任建立模块32,还包括:出示请求发送单元,基于校验失败,根据访问控制策略,向第一安全域发送第一属性证书出示请求;属性证书接收单元,接收第一安全域基于第一属性证书出示请求返回的属性证书,其中,属性证书是第一安全域基于第一属性证书出示请求查找、且通过证书验证得到的;第二凭证校验单元,基于第二属性证书出示请求,查找相应证书,并判断其是否为空或非敏感证书,若是,则直接出示;否则,重新向第一安全域发送第一属性证书出示请求。需要说明的是,第二凭证校验单元,包括:第二凭证校验子单元,对属性证书进行验证,判断基于第一属性证书出示请求查找到的属性证书是否为空或非敏感证书,并基于属性证书为空或非敏感证书,验证通过。
在一个可选实施例中,信任建立模块32,还包括:令牌获取单元,第一安全域向限流组件申请令牌,并接收限流组件发挥的令牌;关系建立请求发起单元,第一安全域基于令牌跨域发起信任关系建立请求。需要说明的是,限流组件应用令牌桶算法,依据自身服务器的处理能力匀速生成令牌并存入桶中,单点登录请求会经过分类器进行分类,部分请求可直接运行,另一些请求需要先申请令牌然后持有令牌发起请求,未申请令牌成功的请求则会被撤销,以保证模型可以抵抗DoS攻击或高并发的认证请求从而对其他组件造成的破坏,实现模型的并发性和安全性。
授权码获取模块33,包括:授权请求发送单元,基于单点登录访问请求向用户端发起授权请求;授权码接收单元,接收用户端基于授权请求向身份提供方申请的授权码。需要说明的是,第二安全域的信息***向第一安全域的用户端发起授权请求;第一安全域的用户端根据授权请求利用用户在身份提供方(Identity Provider,IdP)的身份鉴别结果,对第二安全域的信息***进行授权,并接收身份提供方返回的授权码,用户端将授权码发送至第二安全域的信息***。在本实施例中,授权码是身份提供方基于用户端的登录认证生成、并由用户端返回的。
应当注意,在初始阶段,即第一次进行身份鉴别时,通过双因子身份认证体系完成身份鉴别,即第二安全域的信息***向身份提供方发送授权请求,第一安全域的用户端基于授权请求、口令认证和key认证在相应的身份提供方(Identity Provider,IdP)完成登录,并将从第一安全域的用户端得到的授权参数转发给身份提供方,身份提供方基于授权参数生成授权码并发送至用户端,用户端将授权码发送至第二安全域的信息***。
访问令牌获取模块34,包括:访问令牌申请单元,利用授权码向身份提供方发送访问令牌申请请求;访问令牌接收单元,接收身份提供方基于访问令牌申请请求返回的访问令牌。在本实施例中,访问令牌是身份提供方基于授权码进行解析,并验证解析结果是否有效生成的。需要说明的是,访问令牌的格式可以为JWT格式。具体而言,第二安全域的信息***利用授权码向身份提供方发送访问令牌申请请求,身份提供方基于访问令牌申请请求对授权码进行解析并验证,并基于验证通过生成访问令牌发送至第二安全域的信息***。
身份信息获取模块35,包括:身份信息申请单元,利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息;身份信息接收单元,接收身份提供方返回的用户身份信息。需要说明的是,第二安全域的信息***通过利用访问令牌从身份提供方获取用户身份信息,从而便于根据用户身份信息进行单点登录,使不同安全域的信息***能够通过单点登录的方式来进行统一身份认证,有效提升安全域内的自治性、隐私性和安全性,提升了用户操作体验。
单点登录模块36,包括:单点登录单元,基于身份信息完成单点登录。
在一个可选实施例中,该装置,还包括:加解密模块,用于实现第一安全域与第二安全域之间的信息交互安全。需要说明的是,交互信息包括访问控制策略、属性证书、新人凭证、授权码和访问令牌等。另外,加解密组件包括加密器(Encryption Device,ED)和解密器(Decryption Device,DD),利用加密器和解密器对第一安全域和第二安全域之间交互的信息进行加解密,以提高信息传输的安全性,简言之,消息发送者基于加密器对发送的信息进行加密,消息接收者基于指定需要的密钥和签名利用解密器对加密的信息进行解密。
在一个可选实施例中,参考图4,跨域单点登录装置,包括第一安全域、用户端、第二安全域、信息***和身份提供方,其中:
第一安全域的用户端对第二安全域的信息***发起单点登录请求;
第一安全域与第二安全域基于自动信任协商机制建立信任关系;
第二安全域的信息***基于信任关系接收单点登录访问请求,并向第一安全域的用户端发起授权请求;
用户端基于授权请求向身份提供方申请授权码,并将申请得到的授权码返回至第二安全域的信息***;
第二安全域的信息***利用授权码向身份提供方发送访问令牌申请请求,并接收身份提供方基于访问令牌申请请求返回的访问令牌;
第二安全域的信息***利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息,接收身份提供方返回的用户身份信息,并基于身份信息完成单点登录。
在一个可选实施例中,第一安全域与第二安全域基于自动信任协商机制建立信任关系,包括:第一安全域向限流组件申请令牌,并接收限流组件返回的令牌;第一安全域基于ATN协商接口检查其内信任凭证库是否存储有历史信任凭证,并基于信任凭证库存储有历史信任凭证,向第二安全域发起信任关系建立请求;第二安全域基于信任关系建立请求对历史信任凭证及其对应的证书序列进行校验,若有效,则直接向第一安全域返回信任关系;若没有历史信任凭证或历史信任凭证失效,则依据访问控制策略(Access ControlPolicy,ACPs)库查找对应的访问控制策略并要求第一安全域出示属性证书;第一安全域,基于访问控制策略查找相应属性证书,并基于该属性证书为空或非敏感证书,直接出示;否则,需要依据访问控制策略要求第二安全域先出示属性证书;第二安全域,基于访问控制策略查找相应属性证书,并基于该属性证书为空或非敏感证书,直接出示;否则,需要依据访问控制策略要求第一安全域先出示属性证书;循环上述步骤,直至属性证书为非敏感证书并产生交互,则生成信任关系并返回,同时,第一安全域和第二安全域均生成信任凭证并暂存于各自的信任凭证(Trust Certification,TCs)库。
综上所述,本发明实施例通过信任建立模块基于自动信任协商机制逐步建立信任关系,以有效避免风险集中问题,避免单次暴露较多敏感证书以及访问控制策略等信息,以有效提升安全域内的自治性和隐私性;通过授权码获取模块获取授权码、访问令牌获取模块获取访问令牌,以利用身份信息获取模块从身份提供方获取用户身份信息,从而便于单点登录模块根据用户身份信息进行单点登录,使不同安全域的信息***能够通过单点登录的方式来进行统一身份认证,有效提升安全域内的自治性、隐私性和安全性,提升了用户操作体验;易于实现,且容易在短时间内进行大量部署,有效节省了单独针对信息***开发身份认证的资源,实现简单,使用安全、便利。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)51、通信接口(Communications Interface)52、存储器(memory)53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信。处理器51可以调用存储器53中的逻辑指令,以执行跨域单点登录方法,该方法包括:接收用户端所在第一安全域跨域发起的单点登录访问请求;基于自动信任协商机制与第一安全域建立信任关系;基于单点登录访问请求向用户端发起授权请求,接收用户端基于授权请求向身份提供方申请的授权码;利用授权码向身份提供方发送访问令牌申请请求,接收身份提供方基于访问令牌申请请求返回的访问令牌;利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息,并接收身份提供方返回的用户身份信息;基于身份信息完成单点登录。
此外,上述的存储器53中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的跨域单点登录方法,该方法包括:接收用户端所在第一安全域跨域发起的单点登录访问请求;基于自动信任协商机制与第一安全域建立信任关系;基于单点登录访问请求向用户端发起授权请求,接收用户端基于授权请求向身份提供方申请的授权码;利用授权码向身份提供方发送访问令牌申请请求,接收身份提供方基于访问令牌申请请求返回的访问令牌;利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息,并接收身份提供方返回的用户身份信息;基于身份信息完成单点登录。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的跨域单点登录方法,该方法包括:接收用户端所在第一安全域跨域发起的单点登录访问请求;基于自动信任协商机制与第一安全域建立信任关系;基于单点登录访问请求向用户端发起授权请求,接收用户端基于授权请求向身份提供方申请的授权码;利用授权码向身份提供方发送访问令牌申请请求,接收身份提供方基于访问令牌申请请求返回的访问令牌;利用访问令牌向身份提供方申请第一安全域用户端的用户身份信息,并接收身份提供方返回的用户身份信息;基于身份信息完成单点登录。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种跨域单点登录方法,其特征在于,包括:
接收用户端所在第一安全域跨域发起的单点登录访问请求;
基于自动信任协商机制与所述第一安全域建立信任关系;
基于所述单点登录访问请求向所述用户端发起授权请求,接收所述用户端基于所述授权请求向身份提供方申请的授权码;
利用所述授权码向所述身份提供方发送访问令牌申请请求,接收所述身份提供方基于所述访问令牌申请请求返回的访问令牌;
利用所述访问令牌向所述身份提供方申请所述第一安全域用户端的用户身份信息,并接收所述身份提供方返回的用户身份信息;
基于所述身份信息完成单点登录;
所述基于自动信任协商机制与所述第一安全域建立信任关系,包括:
接收所述第一安全域发起的信任关系建立请求,其中,所述信任关系建立请求是所述第一安全域基于自动信任协商机制检查存在历史信任凭证后生成的;
根据所述信任关系建立请求对所述历史信任凭证进行凭证校验,且基于所述校验成功,生成信任关系;所述凭证校验,包括:对历史信任凭证的有效性进行校验,并基于对应历史信任凭证有效,校验通过;
基于所述信任关系生成信任凭证,并将所述信任关系发送至所述第一安全域生成信任凭证,以与所述第一安全域建立信任关系。
2.根据权利要求1所述的跨域单点登录方法,其特征在于,所述根据所述信任关系建立请求对所述历史信任凭证进行校验,还包括:
基于所述校验失败,根据访问控制策略,向所述第一安全域发送第一属性证书出示请求;
接收所述第一安全域基于所述第一属性证书出示请求返回的属性证书,其中,所述属性证书是所述第一安全域基于所述第一属性证书出示请求查找、且通过证书验证得到的。
3.根据权利要求2所述的跨域单点登录方法,其特征在于,在所述向所述第一安全域发送第一属性证书出示请求之后,还包括:
接收所述第一安全域基于所述第一属性证书出示请求返回的第二属性证书出示请求,其中,所述第二属性证书出示请求是所述第一安全域基于所述第一属性证书出示请求对属性证书进行证书校验、且未通过所述证书校验后基于所述访问控制策略生成的;
基于所述第二属性证书出示请求,查找相应证书,并判断其是否为空或非敏感证书,若是,则直接出示;否则,重新向所述第一安全域发送所述第一属性证书出示请求。
4.根据权利要求1所述的跨域单点登录方法,其特征在于,在所述接收所述第一安全域基于存储有历史信任凭证发起的信任关系建立请求之前,包括:
所述第一安全域向限流组件申请令牌,并接收所述限流组件返回的令牌;
所述第一安全域基于所述令牌跨域发起信任关系建立请求。
5.根据权利要求1所述的跨域单点登录方法,其特征在于,所述方法,还包括:基于加解密组件,对与所述第一安全域之间的交互信息进行加解密。
6.一种跨域单点登录装置,其特征在于,包括:
请求接收模块,接收用户端所在第一安全域跨域发起的单点登录访问请求;
信任建立模块,基于自动信任协商机制与所述第一安全域建立信任关系;
授权码获取模块,基于所述单点登录访问请求向所述用户端发起授权请求,接收所述用户端基于所述授权请求向身份提供方申请的授权码;
访问令牌获取模块,利用所述授权码向所述身份提供方发送访问令牌申请请求,接收所述身份提供方基于所述访问令牌申请请求返回的访问令牌;
身份信息获取模块,利用所述访问令牌向所述身份提供方申请所述第一安全域用户端的用户身份信息,并接收所述身份提供方返回的用户身份信息;
单点登录模块,基于所述身份信息完成单点登录;
所述信任建立模块,包括:
信任关系建立请求单元,接收所述第一安全域发起的信任关系建立请求,其中,所述信任关系建立请求是所述第一安全域基于自动信任协商机制检查存在历史信任凭证后生成的;
第一凭证校验单元,根据所述信任关系建立请求对所述历史信任凭证进行凭证校验,且基于所述校验成功,生成信任关系;所述第一凭证校验单元,包括:有效性校验子单元,对历史信任凭证的有效性进行校验,并基于对应历史信任凭证有效,校验通过;
信任关系建立单元,基于所述信任关系生成信任凭证,并将所述信任关系发送至所述第一安全域生成信任凭证,以与所述第一安全域建立信任关系。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述跨域单点登录方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述跨域单点登录方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210039368.3A CN114553480B (zh) | 2022-01-13 | 2022-01-13 | 跨域单点登录方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210039368.3A CN114553480B (zh) | 2022-01-13 | 2022-01-13 | 跨域单点登录方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553480A CN114553480A (zh) | 2022-05-27 |
CN114553480B true CN114553480B (zh) | 2023-05-26 |
Family
ID=81671534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210039368.3A Active CN114553480B (zh) | 2022-01-13 | 2022-01-13 | 跨域单点登录方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553480B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117394973A (zh) * | 2022-07-04 | 2024-01-12 | 中兴通讯股份有限公司 | 协同验证方法、协同认证方法、运营商设备、企业设备 |
CN117411724B (zh) * | 2023-12-13 | 2024-03-19 | 北京持安科技有限公司 | 一种零信任应用网关多应用跨域共享凭据的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075518A (zh) * | 2010-12-06 | 2011-05-25 | 华中科技大学 | 一种基于历史角色的信任协商构建方法及*** |
US9363241B2 (en) * | 2012-10-31 | 2016-06-07 | Intel Corporation | Cryptographic enforcement based on mutual attestation for cloud services |
CN112333198B (zh) * | 2020-11-17 | 2023-09-05 | ***股份有限公司 | 安全跨域登录方法、***及服务器 |
CN113312653A (zh) * | 2021-06-25 | 2021-08-27 | 中国农业银行股份有限公司 | 开放平台认证授权方法、装置及存储介质 |
-
2022
- 2022-01-13 CN CN202210039368.3A patent/CN114553480B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114553480A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3913854B1 (en) | Methods and systems for pki-based authentication | |
US8196186B2 (en) | Security architecture for peer-to-peer storage system | |
CN110677240B (zh) | 通过证书签发提供高可用计算服务的方法、装置及介质 | |
US7992193B2 (en) | Method and apparatus to secure AAA protocol messages | |
RU2417422C2 (ru) | Услуга распределенной единой регистрации в сети | |
JP6896940B2 (ja) | 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法 | |
US20200036700A1 (en) | Enabling single sign-on authentication for accessing protected network services | |
CN114553480B (zh) | 跨域单点登录方法、装置、电子设备及可读存储介质 | |
CN109525565B (zh) | 一种针对短信拦截攻击的防御方法及*** | |
US11909889B2 (en) | Secure digital signing | |
CN109716725B (zh) | 数据安全***及其操作方法和计算机可读存储介质 | |
US20210392004A1 (en) | Apparatus and method for authenticating device based on certificate using physical unclonable function | |
CN110519304A (zh) | 基于tee的https双向认证方法 | |
EP4261716A1 (en) | Blockchain-based method and system for sdp access control | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 | |
CN113630244A (zh) | 面对通信传感网的端到端安全保障方法及边缘服务器 | |
Liou et al. | T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs | |
KR101358704B1 (ko) | 싱글 사인 온을 위한 인증 방법 | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN114500074B (zh) | 单点***安全访问方法、装置及相关设备 | |
US20200053059A1 (en) | Secure Method to Replicate On-Premise Secrets in a Cloud Environment | |
Diaz et al. | On securing online registration protocols: Formal verification of a new proposal | |
CN113727059A (zh) | 多媒体会议终端入网认证方法、装置、设备及存储介质 | |
Yasin et al. | Enhancing anti-phishing by a robust multi-level authentication technique (EARMAT). | |
CN114765551A (zh) | 基于区块链的sdp访问控制方法及装置 |
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 |