一种单点登录的方法和系统的制作方法

文档序号:7862694阅读:152来源:国知局
专利名称:一种单点登录的方法和系统的制作方法
技术领域
本发明涉及计算机应用领域,特别涉及一种单点登录的方法和系统。
背景技术
SSO (Single Sign On,单点登录)是在多个域的应用平台中,用户只需要在已注册·应用平台中完成登录,便可以访问所有相互信任的域中的应用平台。它包括将在注册的应用平台中的登录映射到其他应用平台的机制。其为企业业务整合的解决方案之一。现有的Web-SSO方案中,当浏览器访问了页面I吋,web服务器设置了ー个cookie,并将这个cookie和页面I 一起返回给浏览器,浏览器接到cookie之后,就会保存起来,在访问页面2的时候会把cookie包含在访问请求中发送给Web服务器,Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复ー些用户的信 息状态。Web-SSO完全可以利用cookie技术来完成用户登录信息的保存,将浏览器中的cookie作为统ー认证凭证,来实现SSO的功能。现有的Web-SSO方案存在如下问题由于安全机制脆弱,因此实现单点登录的安全性不高,不利于用户信息保密。

发明内容
本发明提供一种单点登录系统及其管理方法,以达到能够实现跨平台登录且安全性高的效果。本发明公开了ー种单点登录的方法,客户端向主应用平台发送用户信息进行登录,所述主应用平台为用户已经注册的应用平台;主应用平台接收用户信息进行登录验证,验证通过后,使用主应用平台所在域对应的密钥加密用户信息生成登录凭证,将登录凭证下发给客户端;客户端访问从应用平台吋,向从应用平台发送登录凭证;所述从应用平台为不在主应用平台所在域的应用平台,从应用平台中具有主应用平台下发的密钥;从应用平台接收到客户端发送的登录凭证后,将登录凭证转发给主应用平台;主应用平台接收到从应用平台转发的登录凭证后,解析出登录凭证中的用户信息,使用下发给从应用平台的密钥加密用户信息生成用户对应于从应用平台的登录凭证,将该登录凭证下发给从应用平台;从应用平台接收到主应用平台下发的登录凭证,使用密钥解密登录凭证,得到用户信息,开始为用户提供服务。其中,所述方法还包括主应用平台向所在域的其他应用平台下发所在域对应的密钥;客户端访问主应用平台所在域的应用平台吋,向所述应用平台发送登录凭证;所述应用平台接收到登录凭证,使用主应用平台下发的所在域对应的密钥解密登录凭证,得到用户信息,开始为用户提供服务。其中,所述主应用平台使用主应用平台所在域对应的密钥加密用户信息生成登录凭证具体包括主应用平台使用所在域对应的密钥加密用户信息,并添加主应用平台所在域的域名生成登录凭证;所述从应用平台接收到客户端发送的登录凭证后,将登录凭证转发给主应用平台具体包括从应用平台接收到客户端发送的登录凭证后,解析出登录凭证中域名,根据域名确定主应用平台,将登录凭证转发给主应用平台。其中,所述主应用平台下发给从应用平台的密钥为从应用平台所在域对应的密钥; 所述将登录凭证转发给主应用平台具体包括在转发登录凭证的消息中添加从应用平台所在域的域名,将所述消息发送给主应用平台;所述主应用平台使用下发给从应用平台的密钥加密用户信息生成用户对应于从应用平台的登录凭证具体包括主应用平台解析出从应用平台的域名,根据所述域名确定从应用平台所在域,得出从应用平台所在域对应的密钥,使用所述密钥加密用户信息生成用户对应于从应用平台的登录凭证。其中,所述方法还包括从应用平台定时地向主应用平台发送获取密钥请求;主应用平台根据接收的获取密钥请求生成带有密钥參数的应答,将该应答发送给从应用平台;从应用平台根据该应答生成新密钥,井向主应用平台发送确认新密钥是否正确的请求;主应用平台返回确认应答。其中,所述主应用平台使用主应用平台所在域对应的密钥加密用户信息生成登录凭证具体包括主应用平台使用所在域对应的密钥加密用户信息,添加凭证失效时间,生成登录凭证;所述方法还包括客户端接收到登录凭证后解析出凭证失效时间;客户端在凭证失效时间到达前,向主应用平台发出用户信息;主应用平台接收到用户信息后,重新生成登录凭证,下发给客户端。其中,主应用平台与从应用平台间通过超文本传输安全协议HTTPS通讯。本发明还公开了ー种单点登录的系统,所述系统包括客户端、主应用平台和从应用平台;所述主应用平台为用户已经注册的应用平台;所述从应用平台为不在主应用平台所在域的应用平台,从应用平台中具有主应用平台下发的密钥;客户端,用于向主应用平台发送用户信息进行登录,以及在访问从应用平台吋,向从应用平台发送登录凭证;主应用平台,用于接收用户信息进行登录验证,验证通过后,使用主应用平台所在域对应的密钥加密用户信息生成登录凭证,将登录凭证下发给客户端;以及接收到从应用平台转发的登录凭证后,解析出登录凭证中的用户信息,使用下发给从应用平台的密钥加密用户信息生成用户对应于从应用平台的登录凭证,将该登录凭证下发给从应用平台;从应用平台,用于接收到客户端发送的登录凭证后,将登录凭证转发给主应用平台;以及接收到主应用平台下发的登录凭证,使用密钥解密登录凭证,得到用户信息,开始为用户提供服务。其中,所述系统还包括与主应用平台在同一域的应用平台, 主应用平台还用于向所在域的其他应用平台下发所在域对应的密钥;客户端还用于在访问主应用平台所在域的应用平台吋,向所述应用平台发送登录凭证;应用平台,用于接收到登录凭证,使用主应用平台下发的所在域对应的密钥解密登录凭证,得到用户信息,开始为用户提供服务。其中,所述从应用平台还用于定时地向主应用平台发送获取密钥请求;以及接收到主应用平台的应答后,根据该应答生成新密钥,井向主应用平台发送确认新密钥是否正确的请求所述主应用平台还用于根据接收的获取密钥请求生成带有密钥參数的应答,将该应答发送给从应用平台;接收到从应用平台发送的确认新密钥是否正确的请求后,向从应用平台返回确认应答。本发明实施例的有益效果是通过在登录主应用平台吋,由主应用平台将用户信息加密后下发登录凭证,并在访问从应用平台吋,将登录凭证发送给从应用平台,从应用平台将登录凭证发送给主应用平台,由主应用平台将该登录凭证转换为从应用平台可解密的登录凭证,使得从应用平台能够获得用户信息;避免了对浏览器中的cookie的使用,并且本发明的技术方案中对登录凭证进行了加密,不同域中密钥不同,客户端没有密钥,无法解析出登录凭证,避免了恶意客户端或恶意应用平台对用户信息的篡改和攻击,在保证登录凭证能够跨域使用的同时,保证了登录凭证的安全性。


图I为本发明一实施例中单点登录的方法的流程图。图2为本发明一实施例中密钥更新的方法的流程图。图3为本发明一实施例中单点登录的系统的结构图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进ー步的详细描述。參见图1,为本发明一实施例中单点登录的方法的流程图。所述方法包括如下步骤。步骤S100,客户端向主应用平台发送用户信息进行登录。所述主应用平台为用户已经注册的应用平台。步骤S200,主应用平台接收用户信息进行登录验证,验证通过后,使用主应用平台所在域对应的密钥加密用户信息生成登录凭证,将登录凭证下发给客户端。登录凭证中包括加密的用户信息,登录凭证中还可以包括没有加密的域名和凭证失效时间,以及凭证生成时间。其中,域名为主应用平台所在域的域名。步骤S300,客户端访问从应用平台时,向从应用平台发送登录凭证。所述从应用平台为所在域与主应用平台所在域不同的应用平台,从应用平台中具 有主应用平台下发的密钥。其中,在一具体的实施方式中,从应用平台中的密钥与从应用平台所在域对应,SP主应用平台向同一域中的从应用平台下发相同的密钥。步骤S400,从应用平台接收到客户端发送的登录凭证后,将登录凭证转发给主应用平台。步骤S500,主应用平台接收到从应用平台转发的登录凭证后,解析出登录凭证中的用户信息,使用下发给从应用平台的密钥加密用户信息生成用户对应于从应用平台的登录凭证,将该登录凭证下发给从应用平台。步骤S600,从应用平台接收到主应用平台下发的登录凭证,使用密钥解密登录凭证,得到用户信息,开始为用户提供服务。进ー步地,主应用平台与从应用平台间通过超文本传输安全协议HTTPS通讯。客户端与主应用平台,以及客户端与从应用平台间通过超文本传输协议HTTP通τΗ ο具体实现中,本发明中操作都可以由主应用平台或从应用平台中的ー个SSO服务完成。采用本实施例中技术方案,避免了对浏览器中的cookie的使用,并且本发明的技术方案中对登录凭证进行了加密,不同域中密钥不同,客户端没有密钥,无法解析出登录凭证,避免了恶意客户端或恶意应用平台对用户信息的篡改和攻击,在保证登录凭证能够跨域使用的同吋,保证了登录凭证的安全性。在一实施例中,所述方法还包括如下步骤。主应用平台向所在域的其他应用平台下发所在域对应的密钥。客户端访问主应用平台所在域的应用平台吋,向应用平台发送登录凭证。应用平台接收到登录凭证,使用主应用平台下发的所在域对应的密钥解密登录凭证,得到用户信息,开始为用户提供服务。在本实施例中,由于应用平台的密钥与域对应,同一域中应用平台使用同一密钥,因此,主应用平台所在域中的其他应用平台在收到登录凭证后,无需发送给主应用平台进行转换,便可解析出登录凭证中的用户信息,为用户提供服务。由此,简化了用户访问主应用平台所在域中的应用平台的操作。在一实施例中,除如下技术特征外,其他技术特征与其他实施例相同。所述主应用平台使用主应用平台所在域对应的密钥加密用户信息生成登录凭证具体包括主应用平台使用所在域对应的密钥加密用户信息,并添加主应用平台所在域的域名生成登录凭证。所述从应用平台接收到客户端发送的登录凭证后,将登录凭证转发给主应用平台具体包括从应用平台接收到客户端发送的登录凭证后,解析出登录凭证中域名,根据域名确定主应用平台,将登录凭证转发给主应用平台。主应用平台下发给从应用平台的密钥为从应用平台所在域对应的密钥。所述将登录凭证转发给主应用平台具体包括在转发登录凭证的消息中添加从应用平台所在域的域名,将所述消息发送给主应用平台。所述主应用平台使用下发给从应用平台的密钥加密用户信息生成用户对应于从应用平台的登录凭证具体包括主应用平台解析出从应用平台的域名,根据所述域名确定从应用平台所在域,得出从应用平台所在域对应的密钥,使用所述密钥加密用户信息生成 用户对应于从应用平台的登录凭证。在本实施例中使用域名来完成从应用平台对登录凭证的转发,和主应用平台对登录凭证的转换。此仅为本发明的ー种具体实施方式
,本发明还可以使用其他方式实现,例如,使用应用平台的ID号来完成从应用平台对登录凭证的转发,和主应用平台对登录凭证的转换。在一实施例中,除如下技术特征外,其他技术特征与其他实施例相同。所述主应用平台使用主应用平台所在域对应的密钥加密用户信息生成登录凭证具体包括主应用平台使用所在域对应的密钥加密用户信息,添加凭证失效时间,生成登录凭证。客户端接收到登录凭证后解析出凭证失效时间。客户端在凭证失效时间到达前,向主应用平台发出用户信息。主应用平台接收到用户信息后,重新生成登录凭证,下发给客户端。本实施例中,为登录凭证设置凭证失效时间进一步增加安全性,并且客户端在凭证失效时间到达前,重新向主应用平台申请登录凭证,避免了由于登录凭证失效而导致的客户端访问故障。在一实施例中,除如下技术特征外,其他技术特征与其他实施例相同。所述方法应用平台中密钥更新的操作。本实施例中,从应用平台采用PULL (主动请求)的方式更新密钥。步骤S210,从应用平台定时地向主应用平台发送获取密钥请求。可以对更新频率进行控制,例如,配置文件中指定更新频率为每几天更新一次,或姆天更新一次。步骤S220,主应用平台根据接收的获取密钥请求生成带有密钥參数的应答,将该应答发送给从应用平台。步骤S230,从应用平台根据该应答生成新密钥,井向主应用平台发送确认新密钥是否正确的请求。步骤S240,主应用平台返回确认应答。通过定期更新密钥,进一歩提高单点登录的安全性。此处,仅为ー个具体实现方式,也可以采用PUSH (推送)的方式实现密钥更新,即由主应用平台定期向从应用平台下发更新的密钥。此外,对于主应用平台所在域的应用平台可以同样采用TOLL方式或PUSH方式进行更新。本实施例中,使用了二次请求确认的方案,保证了密钥版本的准确性;使用了从应用平台主动控制密钥更新频率的方式,保证了密钥的及时更新。參见图3,为本发明一实施例中单点登录的系统的结构图。所述系统包括客户端300、主应用平台100和从应用平台200。所述主应用平台100为用户已经注册的应用平台。所述从应用平台200为不在主应用平台100所在域的应用平台,从应用平台200中具有主应用平台100下发的密钥。 客户端300,用于向主应用平台100发送用户信息进行登录,以及在访问从应用平台200时,向从应用平台200发送登录凭证;主应用平台100,用于接收用户信息进行登录验证,验证通过后,使用主应用平台100所在域对应的密钥加密用户信息生成登录凭证,将登录凭证下发给客户端300 ;以及接收到从应用平台200转发的登录凭证后,解析出登录凭证中的用户信息,使用下发给从应用平台200的密钥加密用户信息生成用户对应于从应用平台200的登录凭证,将该登录凭证下发给从应用平台200 ;从应用平台200,用于接收到客户端300发送的登录凭证后,将登录凭证转发给主应用平台100 ;以及接收到主应用平台100下发的登录凭证,使用密钥解密登录凭证,得到用户信息,开始为用户提供服务。进ー步地,主应用平台100与从应用平台200间通过超文本传输安全协议HTTPS通讯。客户端300与主应用平台100,以及客户端300与从应用平台200间通过超文本传输协议HTTP通讯。具体实现中,本发明中操作都可以由主应用平台100或从应用平台200中的ー个SSO服务完成。采用本实施例中技术方案,避免了对浏览器中的cookie的使用,并且本发明的技术方案中对登录凭证进行了加密,不同域中密钥不同,客户端没有密钥,无法解析出登录凭证,避免了恶意客户端或恶意应用平台对用户信息的篡改和攻击,在保证登录凭证能够跨域使用的同吋,保证了登录凭证的安全性。在一实施例中,所述系统还包括与主应用平台100在同一域的应用平台。主应用平台100还用于向所在域的其他应用平台下发所在域对应的密钥;客户端300还用于在访问主应用平台100所在域的应用平台时,向所述应用平台发送登录凭证;应用平台,用于接收到登录凭证,使用主应用平台100下发的所在域对应的密钥解密登录凭证,得到用户信息,开始为用户提供服务。在本实施例中,由于应用平台的密钥与域对应,同一域中应用平台使用同一密钥,因此,主应用平台100所在域中的其他应用平台在收到登录凭证后,无需发送给主应用平台100进行转换,便可解析出登录凭证中的用户信息,为用户提供服务。由此,简化了用户访问主应用平台100所在域中的应用平台的操作。在一实施例中,除如下技术特征外,其他技术特征与其他实施例相同。主应用平台100具体用于使用所在域对应的密钥加密用户信息,并添加主应用平台100所在域的域名生成登录凭证。从应用平台200具体用于接收到客户端300发送的登录凭证后,解析出登录凭证中域名,根据域名确定主应用平台100,将登录凭证转发给主应用平台100。主应用平台100下发给从应用平台200的密钥为从应用平台200所在域对应的密钥。所述从应用平台200具体用于在转发登录凭证的消息中添加从应用平台200所 在域的域名,将所述消息发送给主应用平台100。主应用平台100具体用于解析出从应用平台200的域名,根据所述域名确定从应用平台200所在域,得出从应用平台200所在域对应的密钥,使用所述密钥加密用户信息生成用户对应于从应用平台200的登录凭证。在本实施例中使用域名来完成从应用平台200对登录凭证的转发,和主应用平台100对登录凭证的转换。此仅为本发明的ー种具体实施方式
,本发明还可以使用其他方式实现,例如,使用应用平台的ID号来完成从应用平台200对登录凭证的转发,和主应用平台100对登录凭证的转换。在一实施例中,除如下技术特征外,其他技术特征与其他实施例相同。所述主应用平台100具体用于使用所在域对应的密钥加密用户信息,添加凭证失效时间,生成登录凭证;接收到用户信息后,重新生成登录凭证,下发给客户端300。客户端300还用于接收到登录凭证后解析出凭证失效时间,在凭证失效时间到达前,向主应用平台100发出用户信息。本实施例中,为登录凭证设置凭证失效时间进一步增加安全性,并且客户端300在凭证失效时间到达前,重新向主应用平台100申请登录凭证,避免了由于登录凭证失效而导致的客户端300访问故障。在一实施例中,除如下技术特征外,其他技术特征与其他实施例相同。从应用平台200还用于定时地向主应用平台100发送获取密钥请求;以及接收到主应用平台100的应答后,根据该应答生成新密钥,井向主应用平台100发送确认新密钥是否正确的请求。所述主应用平台100还用于根据接收的获取密钥请求生成带有密钥參数的应答,将该应答发送给从应用平台200 ;接收到从应用平台发送的确认新密钥是否正确的请求后,向从应用平台200返回确认应答。通过定期更新密钥,进一歩提高单点登录的安全性。此处,仅为ー个具体实现方式,也可以采用PUSH (推送)的方式实现密钥更新,即由主应用平台100定期向从应用平台200下发更新的密钥。此外,对于主应用平台100所在域的应用平台可以同样采用PULL方式或PUSH方式进行更新。本实施例中,使用了二次请求确认的方案,保证了密钥版本的准确性;使用了从应用平台200主动控制密钥更新频率的方式,保证了密钥的及时更新。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应 涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
权利要求
1.一种单点登录的方法,其特征在于, 客户端向主应用平台发送用户信息进行登录,所述主应用平台为用户已经注册的应用平台; 主应用平台接收用户信息进行登录验证,验证通过后,使用主应用平台所在域对应的密钥加密用户信息生成登录凭证,将登录凭证下发给客户端; 客户端访问从应用平台时,向从应用平台发送登录凭证;所述从应用平台为不在主应用平台所在域的应用平台,从应用平台中具有主应用平台下发的密钥; 从应用平台接收到客户端发送的登录凭证后,将登录凭证转发给主应用平台; 主应用平台接收到从应用平台转发的登录凭证后,解析出登录凭证中的用户信息,使用下发给从应用平台的密钥加密用户信息生成用户对应于从应用平台的登录凭证,将该登录凭证下发给从应用平台; 从应用平台接收到主应用平台下发的登录凭证,使用密钥解密登录凭证,得到用户信息,开始为用户提供服务。
2.根据权利要求I所述的方法,其特征在于, 所述方法还包括 主应用平台向所在域的其他应用平台下发所在域对应的密钥; 客户端访问主应用平台所在域的应用平台时,向所述应用平台发送登录凭证; 所述应用平台接收到登录凭证,使用主应用平台下发的所在域对应的密钥解密登录凭证,得到用户信息,开始为用户提供服务。
3.根据权利要求I所述的方法,其特征在于, 所述主应用平台使用主应用平台所在域对应的密钥加密用户信息生成登录凭证具体包括 主应用平台使用所在域对应的密钥加密用户信息,并添加主应用平台所在域的域名生成登录凭证; 所述从应用平台接收到客户端发送的登录凭证后,将登录凭证转发给主应用平台具体包括 从应用平台接收到客户端发送的登录凭证后,解析出登录凭证中域名,根据域名确定主应用平台,将登录凭证转发给主应用平台。
4.根据权利要求3所述的方法,其特征在于, 所述主应用平台下发给从应用平台的密钥为从应用平台所在域对应的密钥; 所述将登录凭证转发给主应用平台具体包括 在转发登录凭证的消息中添加从应用平台所在域的域名,将所述消息发送给主应用平台; 所述主应用平台使用下发给从应用平台的密钥加密用户信息生成用户对应于从应用平台的登录凭证具体包括 主应用平台解析出从应用平台的域名,根据所述域名确定从应用平台所在域,得出从应用平台所在域对应的密钥,使用所述密钥加密用户信息生成用户对应于从应用平台的登录凭证。
5.根据权利要求I所述的方法,其特征在于,所述方法还包括从应用平台定时地向主应用平台发送获取密钥请求; 主应用平台根据接收的获取密钥请求生成带有密钥参数的应答,将该应答发送给从应用平台; 从应用平台根据该应答生成新密钥,并向主应用平台发送确认新密钥是否正确的请求; 主应用平台返回确认应答。
6.根据权利要求I所述的方法,其特征在于, 所述主应用平台使用主应用平台所在域对应的密钥加密用户信息生成登录凭证具体包括 主应用平台使用所在域对应的密钥加密用户信息,添加凭证失效时间,生成登录凭证; 所述方法还包括 客户端接收到登录凭证后解析出凭证失效时间; 客户端在凭证失效时间到达前,向主应用平台发出用户信息; 主应用平台接收到用户信息后,重新生成登录凭证,下发给客户端。
7.根据权利要求I所述的方法,其特征在于, 主应用平台与从应用平台间通过超文本传输安全协议HTTPS通讯。
8.一种单点登录的系统,其特征在于,所述系统包括客户端、主应用平台和从应用平台; 所述主应用平台为用户已经注册的应用平台; 所述从应用平台为不在主应用平台所在域的应用平台,从应用平台中具有主应用平台下发的密钥; 客户端,用于向主应用平台发送用户信息进行登录,以及在访问从应用平台时,向从应用平台发送登录凭证; 主应用平台,用于接收用户信息进行登录验证,验证通过后,使用主应用平台所在域对应的密钥加密用户信息生成登录凭证,将登录凭证下发给客户端;以及接收到从应用平台转发的登录凭证后,解析出登录凭证中的用户信息,使用下发给从应用平台的密钥加密用户信息生成用户对应于从应用平台的登录凭证,将该登录凭证下发给从应用平台; 从应用平台,用于接收到客户端发送的登录凭证后,将登录凭证转发给主应用平台;以及接收到主应用平台下发的登录凭证,使用密钥解密登录凭证,得到用户信息,开始为用户提供服务。
9.根据权利要求8所述的系统,其特征在于, 所述系统还包括与主应用平台在同一域的应用平台, 主应用平台还用于向所在域的其他应用平台下发所在域对应的密钥; 客户端还用于在访问主应用平台所在域的应用平台时,向所述应用平台发送登录凭证; 应用平台,用于接收到登录凭证,使用主应用平台下发的所在域对应的密钥解密登录凭证,得到用户信息,开始为用户提供服务。
10.根据权利要求9所述的系统,其特征在于,所述从应用平台还用于定时地向主应用平台发送获取密钥请求;以及接收到主应用平台的应答后,根据该应答生成新密钥,并向主应用平台发送确认新密钥是否正确的请求所述主应用平台还用于根据接收的获取密钥请求生成带有密钥参数的应答,将该应 答发送给从应用平台;接收到从应用平台发送的确认新密钥是否正确的请求后,向从应用平台返回确认应答。
全文摘要
本发明公开了一种单点登录的方法和系统,客户端向主应用平台发送用户信息进行登录;主应用平台使用主应用平台所在域对应的密钥加密用户信息生成登录凭证,将登录凭证下发给客户端;客户端访问从应用平台时,向从应用平台发送登录凭证;从应用平台接收到客户端发送的登录凭证后,将登录凭证转发给主应用平台;主应用平台解析出登录凭证中的用户信息,使用下发给从应用平台的密钥加密用户信息生成用户对应于从应用平台的登录凭证,将该登录凭证下发给从应用平台;从应用平台接收到主应用平台下发的登录凭证,使用密钥解密登录凭证,得到用户信息,开始为用户提供服务。本发明能够以达到能够实现跨平台登录且安全性高的效果。
文档编号H04L29/06GK102868704SQ20121038503
公开日2013年1月9日 申请日期2012年10月11日 优先权日2012年10月11日
发明者李振 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1