单点登录系统及登录方法、装置制造方法及图纸

技术编号:38425571 阅读:7 留言:0更新日期:2023-08-07 11:23
本申请提供一种登录方法,应用于单点登录SSO系统中的身份提供者IdP,所述IdP中设置基于SGX的可信执行环境enclave,该方法包括:在enclave被启动时,在enclave中解密IdP密钥密文,得到IdP密钥,IdP密钥密文通过在enclave中使用密封密钥加密IdP密钥得到,如果用户的身份认证通过,在enclave中使用IdP密钥签发票据,签发的票据用于SSO中的用户EU登录SSO中的依赖方RP。因为IdP密钥密文通过在enclave中使用密封密钥加密IdP密钥得到,所以降低了攻击者获得IdP密钥的可能性,又因为enclave同时包含身份认证代码和票据签发代码,受SGX保护的IdP可以保证身份认证环节无法被跳过,综上所述,能够提高SSO系统的安全性。能够提高SSO系统的安全性。能够提高SSO系统的安全性。

【技术实现步骤摘要】
单点登录系统及登录方法、装置


[0001]本申请涉及信息安全领域,尤其涉及一种单点登录系统及其登录方法、装置。

技术介绍

[0002]单点登录(Single Sign

On,SSO)系统,主要包含三类实体,分别称为用户(End

User,EU)、身份提供者(Identity Provider,IdP)和依赖方(Relying Party,RP),其中IdP被用户和RP信任。
[0003]SSO系统对用户进行一次身份认证,认证成功后允许用户访问多个RP,而不需要在每个RP上重新输入登录凭据(例如,输入用户名/口令等)。
[0004]尽管SSO系统可以避免用户重复地进行身份认证,但是存在一些安全隐患,因此,如何提高SSO系统的安全性是目前需要解决的问题。

技术实现思路

[0005]本申请提供了一种单点登录系统及其登录方法、装置,目的在于解决如何提高SSO系统的安全性的问题。
[0006]为了实现上述目的,本申请提供了以下技术方案:
[0007]本申请的第一方面提供一种登录方法,应用于单点登录SSO系统中的身份提供者IdP,所述IdP中设置基于SGX的可信执行环境enclave,该方法包括:在enclave被启动时,在enclave中解密IdP密钥密文,得到IdP密钥,IdP密钥密文通过在enclave中使用密封密钥加密IdP密钥得到,如果用户的身份认证通过,在enclave中使用IdP密钥签发票据,签发的票据用于SSO中的用户EU登录SSO中的依赖方RP。因为IdP密钥密文通过在enclave中使用密封密钥加密IdP密钥得到,所以降低了攻击者获得IdP密钥的可能性,又因为enclave同时包含身份认证代码和票据签发代码,受SGX保护的IdP可以保证身份认证环节无法被跳过,综上所述,能够提高SSO系统的安全性。
[0008]可选的,在enclave中使用IdP密钥签发票据之前,还包括:依据EU的请求中是否包含cookie,判断EU的身份是否已经被认证;如果不包含cookie,则在enclave中进行所述EU的身份认证;在认证成功后,产生cookie并使用IdP密钥计算用于防止cookie被篡改的MAC或者数字签名,以进一步提高SSO系统的安全性。
[0009]可选的,还包括:如果包含cookie,依据IdP密钥校验MAC或者数字签名。
[0010]可选的,在所述enclave中进行EU的身份认证之前,还包括:enclave向RP进行远程证明,以进一步提高SSO系统的安全性。
[0011]可选的,还包括:在首次启动enclave时,在enclave中使用密封密钥加密IdP密钥,得到IdP密钥密文,并将IdP密钥密文存入非易失性存储如磁盘,以保证IdP密钥的安全。
[0012]可选的,SSO系统基于SAML协议、OIDC授权码模式或者OIDC隐式模式通信。
[0013]可选的,SSO系统基于OIDC授权码模式通信,在使用IdP密钥签发票据之前,还包括:通过对SSO系统中的RP的身份认证,以进一步提高安全性。
[0014]本申请的第二方面提供一种IdP服务器,包括:处理器,以及用于存储所述处理器可执行指令的存储器,所述处理器通过执行所述可执行指令,实现本申请的第一方面提供的登录方法。
[0015]本申请的第三方面提供一种单点登录系统,包括:IdP、EU以及目标方,所述目标方包括SP或RP,所述目标方用于响应所述EU登录所述单点登录系统的请求,向所述IdP发送安全登录认证请求消息(如SAML身份认证请求消息或OIDC授权请求消息);所述IdP用于响应所述安全登录认证请求消息,执行本申请的第一方面提供的登录方法。
[0016]本申请的第四方面提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本申请的第一方面提供的登录方法。
附图说明
[0017]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本申请实施例公开的SSO系统的结构示例图;
[0019]图2为本申请实施例公开的在登录流程中,IdP执行的流程的示意图;
[0020]图3为本申请实施例公开的SAML协议下的SSO系统的登录流程图;
[0021]图4为本申请实施例公开的OIDC授权码模式下的SSO系统的登录流程图;
[0022]图5为本申请实施例公开的OIDC隐式模式下的SSO系统的登录流程图。
具体实施方式
[0023]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
[0024]在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0025]本申请实施例涉及的多个,是指大于或等于两个。需要说明的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对
重要性,也不能理解为指示或暗示顺序。
[0026]专利技术人在研究的过程中发现,针对IdP的攻击可以分为两种形式:
[0027](1)攻击者获取或者访问IdP密钥,伪造任意身份来窃取应用资源。
[0028]此类攻击中,攻击者能够获取到IdP服务器中对票据加密或签名所使用的密钥,并使用此密钥签发票据从而伪造任意身份。
[0029]比如攻击者可以对IdP发起Golden SAML攻击。
[0030](2)正常情况下,IdP只有确认用户身份或是同时确认用户和RP身份后才会使本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种登录方法,其特征在于,应用于单点登录SSO系统中的身份提供者IdP,所述IdP中设置基于软件防护扩展SGX的可信执行环境enclave,所述方法包括:在所述enclave被启动时,在所述enclave中解密IdP密钥密文,得到IdP密钥,所述IdP密钥密文通过在所述enclave中使用密封密钥加密所述IdP密钥得到;在所述enclave中使用所述IdP密钥签发票据,签发的票据用于所述SSO中的用户EU登录所述SSO中的依赖方RP。2.根据权利要求1所述的方法,其特征在于,在所述enclave中使用所述IdP密钥签发票据之前,还包括:依据所述EU的请求中是否包含cookie,判断EU的身份是否已经被认证;如果不包含所述cookie,则在所述enclave中进行所述EU的身份认证;在认证成功后,产生所述cookie并使用IdP密钥计算用于防止所述cookie被篡改的MAC或者数字签名。3.根据权利要求2所述的方法,其特征在于,还包括:如果包含所述cookie,依据IdP密钥校验所述MAC或者数字签名。4.根据权利要求2所述的方法,其特征在于,在所述enclave中进行EU的身份认证之前,还包括:所述enclave向所述RP进行远程证明。5.根据权利要求1

...

【专利技术属性】
技术研发人员:林璟锵付裕朱文天杨乐
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1