一种身份认证方法、装置及相关设备与流程

文档序号:32164387发布日期:2022-11-12 03:48阅读:71来源:国知局
一种身份认证方法、装置及相关设备与流程
一种身份认证方法、装置及相关设备
1.本技术是分案申请,原申请的申请号是201911417640.1,原申请日是2019年12月31日,原申请的全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及计算机技术领域,尤其涉及一种身份认证方法、装置及相关设备。


背景技术:

3.随着网络技术的发展,用户经常需要使用不同的服务提供商(service provider,sp)提供的服务,但是每个sp一般都有自己独立的身份认证系统,用户在需要使用不同sp提供的服务时,需要分别通过各个sp的身份认证系统的验证才能使用服务。
4.当前可以将不同sp的身份认证系统实现联邦,通过单点登录(single sign on,sso)技术实现在单个身份认证系统中通过验证,即可使用实现联邦的多个身份认证系统对应的sp提供的服务。但是,当多个身份认证系统实现联邦时,只需要使用单一的认证凭据即可通过验证,若单一的认证凭据出现泄漏,攻击者可以通过单一系统的身份凭证使用多个sp的服务,用户信息安全会受到严重威胁。


技术实现要素:

5.本技术实施例公开了一种身份认证方法、装置及相关设备,在进行联邦身份认证的过程中,通过多因素认证对用户的身份进行确认,防止单一系统的身份凭据泄漏给用户数据安全带来的风险,提高联邦身份认证的安全性。
6.第一方面,本技术实施例提供一种联邦身份认证方法,包括:
7.服务提供商的服务器接收用户的用户身份已通过身份提供商的服务器认证的消息,所述消息包括所述用户绑定的验证方式信息;
8.所述服务提供商的服务器根据所述验证方式信息,向用户终端发送验证请求;
9.所述服务提供商的服务器接收所述用户终端发送的验证码,对所述验证码进行验证;
10.在所述服务提供商的服务器对所述验证码验证通过的情况下,所述服务提供商的服务器生成所述用户对应的访问凭据,并将所述访问凭据发送给所述用户终端,所述访问凭据指示所述用户具有访问所述服务提供商的服务器的权限。
11.通过实施上述方法,在通过联邦身份认证时,在身份提供商的服务器对用户的用户身份进行第一次认证并认证成功之后,服务提供商的服务器需要对用户身份进行第二次认证,在用户通过服务提供商的服务器的第二次认证之后,服务提供商的服务器才会允许用户访问服务提供商的资源。通过多因素认证对用户身份进行认证,防止联邦身份认证过程中使用单一系统的身份凭据,在单一系统的身份凭据泄漏时对用户数据安全带来的风险,提高联邦身份认证的安全性。
12.在一种具体的实施例中,所述服务提供商的服务器根据所述验证方式信息,向用
户终端发送验证请求,包括:
13.所述服务提供商的服务器根据所述验证方式信息,确定所述用户接收所述验证码的方式,所述用户接收验证码的方式包括通过邮箱接收验证码或通过短信息接收验证码;
14.所述服务提供商的服务器向所述用户终端发送验证请求,并生成所述验证码,将所述验证码通过确定的所述用户接收验证码的方式发送给用户使用的电子设备。
15.在一种具体的实施例中,所述验证码是用户使用的多因素认证设备生成的,所述消息包括所述用户的多因素认证密钥;
16.所述服务提供商的服务器接收所述用户终端发送的验证码,对所述验证码就行验证,包括:
17.所述服务提供商的服务器接收所述用户终端发送的多因素认证设备生成的第一验证码;
18.所述服务提供商的设备根据所述多因素认证密钥生成第二验证码,根据所述第二验证码对所述第一验证码进行验证。
19.在一种具体的实施例中,所述服务提供商的服务器接收用户的用户身份已通过身份提供商的服务器的认证的消息之前,所述方法还包括:
20.服务提供商的服务器接收所述用户终端发送的第一访问请求,所述第一访问请求包括所述身份提供商的标识;
21.所述服务提供商的服务器根据所述第一访问请求生成认证请求,所述认证请求包括所述服务提供商的标识;
22.所述服务提供商的服务器根据所述身份提供商的标识确定所述身份提供商的服务器的地址,将所述认证请求发送至所述身份提供商的服务器,所述认证请求指示所述身份提供商的服务器对所述用户的用户身份进行认证,并根据认证结果向所述用户终端发送所述消息。
23.在一种具体的实施例中,所述方法还包括:所述服务提供商的服务器接收所述用户终端的发送的第二访问请求,所述第二访问请求包括所述访问凭据;
24.在所述服务提供商的服务器确定所述访问凭据是其颁发的合法访问凭据时,所述服务提供商的服务器将所述第二访问请求访问的数据发送给所述用户终端,其中,所述服务提供商可以是云服务提供商。
25.第二方面,本技术实施例提供一种身份认证装置,包括:
26.接收单元,用于接收用户的用户身份已通过身份提供商的服务器认证的消息,所述消息包括所述用户绑定的验证方式信息;
27.发送单元,用于根据所述验证方式信息,向用户终端发送验证请求;
28.所述接收单元,还用于接收所述用户终端发送的验证码;
29.处理单元,用于对所述验证码进行验证;在所述验证码验证通过的情况下,生成所述用户对应的访问凭据,所述访问凭据指示所述用户具有访问服务提供商的服务器的权限;
30.所述发送单元,还用于将所述访问凭据发送给所述用户终端。
31.在一种具体的实施例中,所述处理单元,还用于根据所述验证方式信息,确定所述用户接收所述验证码的方式,并生成所述验证码,其中,所述用户接收验证码的方式包括通
过邮箱接收验证码或通过短信息接收验证码;
32.所述发送单元,具体用于向所述用户终端发送验证请求,并将所述验证码通过确定的所述用户接收所述验证码的方式发送给用户使用的电子设备。
33.在一种具体的实施例中,所述验证码是用户使用的多因素认证设备生成的,所述消息包括所述用户的多因素认证密钥;
34.所述接收单元,还用于接收所述用户终端发送的多因素认证设备生成的第一验证码;
35.所述处理单元,具体用于根据所述多因素认证密钥生成第二验证码,根据所述第二验证码对所述第一验证码进行验证。
36.在一种具体的实施例中,所述接收单元,还用于接收所述用户终端发送的访问请求,所述访问请求包括所述身份提供商的标识;
37.所述处理单元,还用于根据所述访问请求生成认证请求,所述认证请求包括所述服务提供商的标识;
38.根据所述身份提供商的标识确定所述身份提供商的服务器的地址;
39.所述发送单元,还用于将所述认证请求发送至所述身份提供商的服务器,所述认证请求指示所述身份提供商的服务器对所述用户的用户身份进行认证,并根据认证结果向所述用户终端发送所述消息。
40.第三方面,本技术实施例提供一种服务器,包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,所述服务器执行如第一方面或第一方面任一具体实施例中所述的方法。
41.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行如第一方面或第一方面任一具体实施例中所述的方法。
附图说明
42.图1是本技术实施例提供的一种联邦身份认证系统的示意图;
43.图2是本技术实施例提供的一种联邦身份认证的交互示意图;
44.图3是本技术实施例提供的一种多因素认证页面示意图;
45.图4是本技术实施例提供的另一种联邦身份认证系统的交互示意图;
46.图5是本技术实施例提供的一种身份认证装置的结构示意图;
47.图6是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
48.为了帮助本领域技术人员更好地理解本技术的技术方案,首先对本技术实施例中所涉及到的一些概念进行介绍。
49.多因素认证(multi-factor authentication,mfa)是一种计算机访问控制方法,用户需要通过两种或者两种以上的认证之后,才能获得授权,使用计算机资源。
50.基于时间的一次性密码(time-based one-time password)算法是一种根据密钥和当前时间计算一次性密码的算法。totp算法使用加密哈希函数将密钥和当前时间戳组合
在一起以生成一次性密码。totp算法多用于mfa系统中,用户在登录一个系统时,获取虚拟mfa设备或者实体mfa设备通过totp算法生成的待确认验证码,用户终端将用户输入的待确认验证码发送给需要登录的系统服务器。当系统服务器接收到用户终端发送的待确认验证码之后,根据该用户对应的密钥和当前时间生成验证码,系统服务器在确定待确认验证码与服务器自身生成的验证码相同的情况下,确认该用户为合法用户。
51.身份提供商(identity provider,idp)是负责收集、存储用户的身份信息,为企业提供身份管理系统的服务提供商。其中,idp的服务器中存储有企业系统的用户的身份信息,用户的身份信息包括用户的用户名、密码、邮箱、手机号等。在企业系统的用户登录企业系统时,idp的服务器负责对用户进行身份认证,idp提供的身份管理系统即为企业自身的身份管理系统。
52.服务提供商(service provider,sp)是指为用户提供不同服务的提供商,例如云服务提供商。用户在需要使用sp提供的服务时,需要成为sp的注册用户,用户注册成功之后,sp的服务器中会存储有用户的身份信息。用户在登录sp系统时,sp的身份认证系统会对用户进行身份认证。
53.当用户需要使用不同系统提供的服务时,在登录不同的系统时需要通过不同身份认证系统的认证,例如,用户需要使用企业系统,需要登录企业系统,登录时idp的身份管理系统会对用户的身份进行认证,在需要使用sp的服务时,需要登录sp的系统,登录时sp的身份认证系统会对用户的身份进行认证。这种使用一个系统的服务就要通过身份凭据登录一个系统的方式,需要用户记录不同应用系统的账号和密码等身份凭证,会导致工作效率低下。
54.示例性的,企业为某个云服务提供商的用户,企业在云服务提供商处申请了云服务资源,企业有对应的云服务的企业账号和密码。企业系统的用户若需要使用企业申请的云服务资源,则企业账号的管理员可以在企业账号下创建用户组以及供企业系统的用户使用的子账号,并为每个子账号分配用户组,其中,每个用户组具有不同的权限,每个子账户可以加入一个或者多个用户组。企业系统的用户在使用企业系统时,需要使用在企业系统中注册的账号和密码登录企业系统,在登录时需要通过idp的身份管理系统进行身份认证。企业系统的用户在需要使用企业的云服务资源时,需要使用企业账号以及企业分配给用户的子账号登录云服务系统,登录时需要通过云服务系统的身份认证系统的认证。
55.联邦身份认证是指idp与sp之间建立信任关系并完成交互流程,实现用户单点登录的过程。单点登录是指企业系统的用户在idp的身份管理系统中登录后,可以通过跳转链接访问已建立信任关系的sp系统。例如,企业的idp与云服务提供商建立了信任关系后,企业系统的用户可以通过云服务提供商提供的登录入口,使用企业系统的账号和密码在idp的身份管理系统中登录,即可访问云服务提供商的系统,使用企业在云服务提供商处申请的云服务资源。
56.上述idp与sp之间建立信任关系时,需要idp与sp之间交换元文件(metadata),其中,idp的元文件中包括idp的idp标识、idp的服务器的地址、idp的公钥以及idp支持的协议等,sp的元文件中包括sp的sp标识、sp的服务器的地址、sp的公钥以及sp支持的协议等。本技术实施例中,以idp支持的协议与sp支持的协议为安全断言标记语言(security assertion markup language,saml)协议为例进行说明。
57.saml是一种基于可扩展标记语言(extensible markup language,xml)的开源标准数据格式,主要用于idp和sp之间交换数据,实现联邦身份认证过程中的身份认证问题。例如,上述用户在需要使用云服务,但通过idp的身份管理系统登录时,idp在验证用户输入的企业系统的账号和密码之后,需要生成一个包括用户信息的saml格式的断言,然后发送给云系统的服务器,云系统的服务器根据预先配置的身份转换规则将企业系统中的用户、用户组以及访问权限转换为云系统中的用户、用户组以及访问权限。
58.联邦身份认证可以实现两个或者多个系统的单点登录,方便用户使用多个系统,提高工作效率,但是上述联邦身份认证的过程中,用户只需要使用单一系统的身份凭据,通过idp的身份管理系统的验证后,就可以登录两个或者多个服务提供商的系统,若单一系统的身份凭据泄漏,就会给用户数据安全带来风险。
59.本技术实施例提供一种联邦身份认证方法,在联邦身份认证过程中引入多因素身份认证机制,以提高用户数据的安全性。如图1所示,图1是本技术实施例提供的一种系统示意图,图1中包括一个用户终端、一个idp的服务器和多个sp的服务器,这多个sp均与idp建立了信任关系,可以通过联邦身份认证的方式实现单点登录。当用户需要登录任意一个sp系统时,可以通过登录idp,即可访问sp的资源。本技术实施例中,用户可以从idp侧发起联邦身份认证,也可以从sp侧发起联邦身份认证,下面介绍从sp侧发起联邦身份认证的方法。图2是本技术实施例提供的一种联邦身份认证的交互示意图,如图2所示,从sp侧发起的联邦身份认证过程如下:
60.s201、用户终端向sp的服务器发送访问请求。
61.当用户需要访问一个sp的资源时,用户在用户终端的浏览器中输入该sp的登录链接,用户终端在接收到用户输入的登录链接之后,通过浏览器向sp的服务器发起访问请求,其中,该访问请求包括idp的idp标识。
62.s202、sp的服务器接收到访问请求后,生成认证请求,并根据idp标识确定idp的服务器的地址。
63.sp的服务器在接收到访问请求之后,sp的服务器根据访问请求中的idp标识确定需要进行联邦身份认证。由于sp的服务器中存储有idp的元文件,sp的服务器根据idp标识与idp的元文件确定该idp标识对应的idp的服务器的地址。同时sp的服务器生成一个saml格式的认证请求,该认证请求中包括sp标识,该认证请求指示idp的服务器对上述用户进行身份认证。
64.s203、sp的服务器将idp的服务器的地址和认证请求发送给用户终端。
65.sp的服务器在生成认证请求并确定idp的服务器的地址之后,将idp的服务器的地址和认证请求发送给用户终端,以使用户终端根据idp的服务器的地址将该认证请求转发给idp的服务器。
66.s204、用户终端接收认证请求和idp的服务器的地址,根据idp的服务器的地址将认证请求发送给idp的服务器。
67.s205、idp的服务器接收认证请求,根据认证请求向用户终端发送第一验证请求。
68.idp的服务器接收到用户终端发送的认证请求之后,向用户终端发送第一验证请求,该第一验证请求包括idp的登录页面,用于指示用户输入认证凭据,该认证凭据包括用户名和用户密码,上述idp登录页面包括用户名输入框和用户密码输入框,用于用户输入用
户名和用户密码。
69.s206、用户终端向idp的服务器发送认证凭据。
70.用户终端在浏览器页面显示上述idp的登录界面,接收用户输入的认证凭据,并将认证凭据发送至idp的服务器。
71.s207、idp的服务器接收用户终端发送的认证凭据,对认证凭据进行认证,在认证凭据认证通过的情况下,根据认证凭据生成响应消息,并将响应消息发送给用户终端。
72.idp的服务器在接收到上述认证凭据之后,将认证凭据中的用户名和用户密码与idp存储的注册用户的用户名和用户密码进行匹配,若在idp的服务器中匹配到认证凭据中的用户名和用户密码,则idp的服务器确定认证凭据验证通过并确认该用户为合法用户。
73.idp的服务器在确定用户为合法用户之后,根据用户名确定该用户的用户信息,该用户信息包括用户的用户名、用户所属的用户组以及该用户绑定的mfa验证方式,上述mfa验证方式指示该用户使用验证码验证时接收验证码的方式。idp的服务器根据用户的用户信息生成针对sp的服务器发送的认证请求的响应消息,该响应消息包括idp标识与用户的用户名、用户名所属的用户组以及该用户绑定的mfa验证方式,mfa验证方式包括通过邮箱认证、通过手机号认证或者通过mfa设备生成的动态验证码认证,其中,用户可以绑定一种或者多种mfa认证方式,若用户绑定了多种mfa验证方式,上述响应消息中包括用户绑定的多种mfa验证方式。mfa设备可以是虚拟mfa设备,也可以是硬件mfa设备,本技术实施例不做具体限制。
74.idp的服务器中存储有sp的元文件,idp的服务器在生成认证请求之后,根据认证请求中的sp标识确定上述sp对应的公钥以及sp的服务器的地址。idp的服务器可以先使用idp的私钥对响应消息进行签名,然后用sp的公钥对签名后的响应消息进行加密,最后将经过签名加密后的响应消息与sp的服务器的地址发送给用户终端。idp的服务器也可以先使用sp的公钥对响应消息进行加密,然后使用idp的私钥对加密后的响应消息进行签名,然后将经过加密签名后的响应消息与sp的服务器的地址发送给用户终端。本技术实施例中以对响应消息先签名后加密为例进行说明。
75.s208、用户终端将上述响应消息转发给sp的服务器。
76.用户终端接收到idp的服务器发送的sp的服务器的地址和加密签名后的响应消息之后,根据sp的服务器的地址,将上述加密后的响应消息转发给sp的服务器。
77.s209、sp的服务器接收用户终端发送的响应消息,根据响应消息生成第二验证请求,并将第二验证请求发送给所述用户终端。
78.sp的服务器在接收到用户终端转发的签名并加密后的响应消息之后,用sp的私钥对加密后的响应消息进行解密。若解密成功,sp的服务器根据响应消息中的idp标识在sp的服务器的元文件中找到该idp标识对应的idp元文件,并在idp元文件中找到idp的公钥,用该idp的公钥验证响应消息的签名,若sp的服务器能对加密后的响应消息解密成功且签名验证通过,则sp的服务器确定该响应消息是idp的服务器发送的未经修改的响应消息。
79.sp的服务器在确定响应消息是未经修改的之后,根据响应消息中该用户对应的mfa验证方式,向用户终端发送第二验证请求,该第二验证请求包括mfa页面,用于指示用户进行多因素认证。具体的,mfa页面包括验证方式以及验证码输入框。其中,验证方式可以是用户配置的一种验证方式,也可以通过mfa页面的验证方式选项选择。例如,若用户只绑定
了的一种mfa验证方式,且绑定的mfa验证方式为通过邮箱验证或者通过手机号验证,则mfa页面的验证方式不可选择,sp的服务器需要根据用户绑定的mfa验证方式,生成验证码并将验证码发送给用户绑定的邮箱或者手机号。
80.若用户绑定了多种mfa验证方式,则用户需要选择当前需要使用的mfa验证方式,如图3所示,图3是本技术实施例提供的一种mfa页面示意图,用户设置了通过邮箱验证、通过手机号验证以及通过mfa设备生成的动态验证码认证三种方式,用户需要在mfa页面进行选择,在用户选择一种mfa验证方式之后,用户终端向sp的服务器发送用户的选择结果,以通知sp的服务器根据选择结果指示的mfa验证方式进行验证,例如,若用户选择邮箱验证,则sp的服务器生成验证码并将验证码发送至该用户的邮箱。
81.s210、用户终端将验证码发送给sp的服务器。
82.若用户绑定的mfa验证方式为通过邮箱验证或者通过手机号验证,则验证码是sp的服务器生成并发送给用户绑定的邮箱或者手机号的。若用户绑定的是通过mfa设备生成的动态验证码认证,上述验证码是用户拥有的mfa设备生成的。用户终端接收用户在mfa页面的验证码输入框中输入的验证码,并将该验证码发送给sp的服务器。
83.s211、sp的服务器对用户终端发送的验证码进行验证,在验证通过的情况下,生成访问凭据并将访问凭据发送给用户终端。
84.sp的服务器接收到用户终端发送的验证码之后,sp的服务器对验证码进行验证。例如,用户选择通过邮箱验证,sp的服务器确定收到用户终端发送的验证码与sp的服务器生成并发送给用户邮箱的验证码相同,则表示验证通过。若验证通过,sp的服务器根据响应消息中的用户名、该用户名所属的用户组以及idp用户与sp的用户之间的身份转换规则,确定该用户在sp系统中的用户名、用户组以及访问权限等身份信息,根据该用户在sp系统中的身份信息生成访问凭证并将访问凭证发送给用户终端,用户终端在每次访问sp的服务器时,需要携带该访问凭据。其中,用户凭证包括用户在sp系统中的用户名。
85.可以理解,用户终端在接收到上述访问凭据之后,在每次访问sp的服务器时,都会携带上述访问凭据。服务提供商的服务器接收到用户终端的发送的携带访问凭据的访问请求后,在所述服务提供商的服务器确定所述访问凭据是其颁发的合法访问凭据时,所述服务提供商的服务器将该访问请求访问的数据发送给用户终端。
86.在一种可能的实施例中,若用户绑定的mfa验证方式包括通过mfa设备生成的动态验证码认证,则上述响应消息还包括mfa密钥,mfa密钥用于mfa设备和sp的服务器根据mfa密钥与totp算法生成验证码。当用户使用mfa设备生成的验证码进行认证时,sp的服务器在接收到用户终端发送的验证码之后,sp的服务器根据mfa密钥生成验证码,然后sp的服务器将其根据mfa密钥生成的验证码与接收到的用户终端发送的验证码进行比对,若相同,则表示验证通过,若不同,则表示验证不通过。
87.在一种可能的实施例中,上述s207中,若用户终端发送给idp的服务器的认证凭据没有通过idp的服务器的验证,例如,用户输入的用户名或用户密码错误,则idp的服务器生成用户名或用户密码错误的反馈消息并发送给用户终端,并且不再执行idp的服务器在确定用户为合法用户之后的操作,即不会生成响应消息以及不再执行后续s208~s211中的过程。
88.在一种可能的实施例中,上述s209中,若sp的服务器不能通过sp的私钥对加密的
响应消息进行解密,说明sp的服务器接收到的消息不是与sp建立信任关系的idp的服务器发送的,则sp的服务器不会向用户终端发送第二验证请求。或者sp的服务器在通过sp的私钥对加密的响应消息解密成功之后,用idp的公钥验证响应消息的签名时,sp的服务器确定该响应消息的签名错误,则说明该响应消息被修改过,sp的服务器同样不会向用户终端发送第二验证请求。
89.下面介绍从idp侧发起联邦身份认证的方法。图4是本技术实施例提供的一种联邦身份认证的交互示意图,如图4所示,从idp侧发起的联邦身份认证过程如下:
90.s401、用户终端向idp的服务器发送登录请求。
91.当用户需要访问目标sp的资源时,用户可以先登录idp的服务器。用户在浏览器输入idp的登录链接,用户终端在接收到用户输入的登录链接之后,向idp的服务器发送登录请求。
92.s402、idp的服务器接收到登录请求后,向用户终端发送第一验证请求。
93.idp的服务器接收到用户终端发送的登录请求之后,向用户终端发送第一验证请求,该第一验证请求包括idp的登录页面,用于指示用户输入认证凭据,该认证凭据包括用户名和用户密码。上述idp登录页面包括用户名输入框和用户密码输入框,用于指示用户输入用户名和用户密码。
94.s403、用户终端向idp的服务器发送认证凭据。
95.用户终端在浏览器页面显示上述idp的登录界面,接收用户输入的认证凭据,并将认证凭据发送至idp的服务器。
96.s404、idp的服务器接收用户终端发送的认证凭据,对认证凭据进行验证,在认证凭据验证通过的情况下,向用户终端发送服务信息。
97.idp的服务器在接收到上述认证凭据之后,将认证凭据中的用户名和用户密码与idp存储的注册用户的用户名和用户密码进行匹配,若在idp的服务器中匹配到认证凭据中的用户名和用户密码,则idp的服务器确认该用户为合法用户。
98.idp的服务器确认该用户为合法用户后,向用户终端发送服务信息,该服务信息包括与idp建立信任关系的一个或者多个sp的标签或者访问链接。
99.s405、用户终端接收服务信息后,确定用户选择的目标sp,向idp的服务器发送目标sp信息。
100.用户终端在接收到服务信息之后,在浏览器中显示包括一个或者多个sp的标签或者访问链接的页面,在用户选择目标sp之后,用户终端将用户选择的目标sp的信息发送给idp的服务器。例如,浏览器页面包括sp1到spn共n个sp的访问链接,用户需要访问的目标sp为sp1,则用户点击sp1的访问链接。
101.s406、idp的服务器在接收到目标sp信息之后,根据认证凭据生成响应消息,将响应消息与目标sp的服务器地址发送给用户终端。
102.idp的服务器在接收到目标sp信息之后,根据目标sp信息确定目标sp的服务器的地址,并根据认证凭据生成响应消息,其中,idp的服务器生成响应消息并签名加密的方法可参照上述s207中生成响应消息并签名加密的方法,在此不再赘述。
103.idp的服务器将加密后的响应消息以及目标sp的服务器的地址发送给用户终端之后的,从idp侧发起联邦身份认证的其他过程可以参照上述s208~s211,在此不再赘述。
104.通过实施上述方法,在通过联邦身份认证时,在身份提供商的服务器对用户的用户身份进行第一次认证并认证成功之后,服务提供商的服务器需要对用户身份进行第二次认证,在用户通过服务提供商的服务器的第二次认证之后,服务提供商的服务器才会允许用户访问服务提供商的资源。通过多因素认证对用户身份进行认证,防止联邦身份认证过程中使用单一系统的身份凭据,在单一系统的身份凭据泄漏时对用户数据安全带来的风险,提高联邦身份认证的安全性。
105.在一种可能的实施例中,上述s402中,idp发送给用户终端的第一验证请求还包括与idp建立信任关系的一个或者多个sp的服务器的标签或者访问链接,用户终端在接收到第一验证请求之后,在浏览器页面展示idp的登录页面以及与idp建立信任关系上述一个或者多个sp的服务器的标签或者访问链接,用户在该浏览器页面输入认证凭据并选择需要访问的目标sp,然后用户终端将认证凭据和目标sp的信息一起发送给idp的服务器,idp的服务器在根据认证凭据确认该用户为合法用户后,执行上述s406中idp的服务器在接收到目标sp信息之后的操作,在此不再赘述。
106.在一种可能的实施例中,用户通过浏览器采用上述两种方法登录sp的服务器,获取访问凭证之后,用户终端携带该访问凭据访问sp的服务器,sp的服务器在获取该访问凭据后,sp的服务器会给用户配置联邦身份凭据,该联邦身份凭据包括上述mfa密钥。用户终端在使用sp提供的资源时,发送给sp的服务器的操作请求均包括联邦身份凭据。若用户在执行敏感操作时,sp的服务器会要求验证mfa设备生成的待确认验证码。sp的服务器在接收到用户终端发送的待确认验证码之后,sp的服务器根据联邦身份凭据中的mfa密钥生成mfa验证码,与用户终端发送到sp的服务器的待确认验证码进行匹配,若相同则表示用户可以进行该敏感操作,若不同则拒绝该用户的敏感操作。
107.上述介绍的从sp侧发起联邦身份认证以及从idp侧发起的联邦身份认证,均是通过用户终端的浏览器实现的。在一种可能的事实例中,还可以通过用户终端的客户端程序实现单点登录访问sp的服务器。具体的,用户在登录客户端程序后,通过客户端程序中设置的sp的服务器的地址,向sp的服务器发送响应消息,该响应消息包括的信息可参照上述从sp侧发起联邦身份认证中响应消息所包括的信息,其中,该响应信息需要包括mfa密钥,即用户采用客户端程序访问sp的服务器时,必须绑定通过mfa设备生成的动态验证码进行认证的方式。
108.客户端程序通过上述相同的方法通过sp的服务器的认证之后,sp的服务器颁发联邦身份凭据给客户端程序,该联邦身份凭据包括mfa密钥。客户端程序在通过sp的服务器的认证之后,第一次访问sp的服务器的应用程序接口(application programming interface,api)时,客户端程序发送给sp的服务器的调用请求中包括联邦身份凭据,此时sp的服务器会要求验证mfa设备生成的动态验证码,sp的服务器根据联邦身份凭据中的mfa密钥生成mfa验证码,与客户端程序发送到sp的服务器的mfa设备生成的动态验证码进行匹配,若相同则表示该客户端程序具有访问sp的服务器api的权限。sp的服务器在确定客户端程序具有调用api权限后,向客户端颁发访问凭据,该访问凭据包括mfa认证标记,mfa认证标记表示该客户端程序具有访问sp的服务器的api的权限,客户端程序使用该访问凭据访问sp的服务器的api。
109.上文中结合图1至图4详细描述了本技术提供的身份认证方法,下面将结合图5至
processing unit,cpu)或图像处理器(graphics processing unit,gpu),处理器610还可以是单核处理器或多核处理器。处理器610可以由cpu和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。处理器610也可以单独采用内置处理逻辑的逻辑器件来实现,例如fpga或数字信号处理器(digital signal processor,dsp)等。
122.通信接口620可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,lin)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
123.本技术实施例中通信接口620执行上述接收单元510和发送单元520实现的操作,例如,可用于执行上述s201中接收用户终端发送的访问请求、接收用户终端转发的idp的服务器生成的响应消息以及s209中向用户终端发送第二验证消息等。具体的,通信接口620执行的动作可以参照上述方法实施例中sp的服务器接收或者发送的动作,在此不再赘述。
124.存储器630可以是非易失性存储器,例如,只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。存储器630也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。
125.存储器630也可用于存储指令和数据,以便于处理器610调用存储器630中存储的指令实现上述处理单元530执行的操作,例如上述方法实施例中sp的服务器执行的操作。此外,服务器600可能包含相比于图6展示的更多或者更少的组件,或者有不同的组件配置方式。
126.总线640可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述总线640可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
127.可选地,该服务器600还可以包括输入/输出接口650,输入/输出接口650连接有输入/输出设备,用于接收输入的信息,输出操作结果。
128.具体地,上述协调服务器600执行各种操作的具体实现可参照上述方法实施例中sp的服务器执行的具体操作,在此不再赘述。
129.本技术实施例还提供一种非瞬态计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当计算机程序在处理器上运行时,可以实现上述方法实施例中的sp的服务器执行的方法步骤,所述计算机存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中sp的服务器的具体操作,在此不再赘述。
130.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
131.上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当
使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,ssd)。
132.本技术实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本技术实施例装置中的模块可以根据实际需要进行划分、合并或删减。
133.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1