一种基于web单点登录的集成认证方法

文档序号:7764534阅读:480来源:国知局
专利名称:一种基于web单点登录的集成认证方法
技术领域
本发明一般地涉及TOB安全认证领域。更具体地讲,本发明涉及一种在多个WEB 应用服务器之间实现用户单点登录与集中认证的方法。
背景技术
单点登录(Single Sign On)简称为SS0,是目前比较流行的企业业务整合的解决方案之一。企业中可能会存在许多不同的应用系统,如果每个应用系统都维护自己的用户信息,对于用户来说,登录每个应用系统都要输入自己的用户名和密码,有时用户可能为不同的应用设置的不同的用户名和密码,这样显然不适合。SSO能够实现在一个系统登录后在其他系统均能访问的效果,而企业也会将所有的用户信息组织到一起,用户只需要登录一次就可以访问所有相互信任的应用系统。它达到了可以将这次主要的登录映射到其他应用中用于同一个用户登录的机制。

发明内容
本发明提供了一种在多个TOB应用服务器之间实现来访用户的单点登录与集中认证的方法。该方法当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证服务系统中进行登录;然后根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,会返回给用户一个认证的凭据;当此用户再访问别的应用的时候就会将这个凭据带上,作为自己认证的凭据,其它应用系统在接受到请求之后会把这个凭据送到认证系统进行效验,检查凭据的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3 了。3. 1名词解释① IT 身份凭据,全写为Identity Ticket,代表一个用户的身份。一个用户在一个固定时期内只能拥有一个IT。身份凭据具有全局性,执久性,唯一性。② ST 服务凭据,全写为krvice Ticket,代表一个用户访问某个应用系统时的临时身份。一个用户在一个固定时期内可能拥有多个ST。服务凭据具有局部性,执久性,非唯一性。③ Browser 浏览器,即通常意义上的客户端。(4) AppSys/PortalSys 应用系统/门户系统,全写为ApplicationSystem/PortalSystem,它代表一个应用级的信息系统。这个信息系统需要与其它信息系统相配合,共同完成单点登录(SSO)。⑤ SSOAgent:
SSO代理,为完成单点登录,在应用系统/门户系统端部署的一个SSO代理,负责本应用系统SSO所有功能。⑥AS:认证服务器,全写为Authentication Server,主要负责用户信息的认证、维护所有相关凭据生命周期等等。在本方案中,逻辑上只有一个认证服务器。(7) LoginPage 用户登录页,认证服务器端以表单形式提供,用于用户输入用户名、密码、选择用户证书(若实施H(I)等,以完成SSO登录。⑧ DataSource 数据源,保存有用户信息的数据源,用于校验用户信息的合法性。3. 2凭据特征①身份凭据IT 身份凭据信息组成1)凭据索引号可认为是凭据的唯一 ID,按特定算法生成。2)认证结果信息封装认证结果信息。主要包括请求的服务信息(如请求的 SSOAgent入口链接等)、认证时间、认证成功需返回的用户属性信息。3)凭据策略信息对凭据本身施加的一些安全性策略。 身份凭据索引号生成算法1)采用⑶ID算法。2)采用字串生成算法以及扩展的盐值算法。 身份凭据存储方式DAS认证服务端支持多种存储方式,如缓存、RDB数据库、LDAP等等2)Browser客户端可执久化的Cookie。3) SSOAgent 端不存储。②服务凭据ST 服务凭据信息组成1)凭据索引号可认为是凭据的唯一 ID,按特定算法生成。2)请求的服务信息如SSOAgent入口链接等。3)凭据策略信息对凭据本身施加的一些安全性策略。 服务凭据索引号生成算法1)采用⑶ID算法。2)采用字串生成算法以及扩展的盐值算法。 服务凭据存储方式DAS认证服务端支持多种存储方式,如缓存、RDB数据库、LDAP等等2)Browser客户端不存储。3) SSOAgent 端不存储。3. 3使用说明① user 首次登录 AppSys/PortalSys 前置条件
Browser端没有存储user的身份凭证IT ;AppSys/PortalSys端没有user的 Session状态(即user未登录该信息系统);认证服务器AS端中的user身份凭证IT情况未知(或有或无,或有效或无效)。 流程描述(请见附图1)第1步user在Browser上点击一个AppSys/PortalSys的入口链接URL,向应用系统/门户系统发出登录请求(注此入口链接是SSOAgent专为SSO而向外界提供的入口,不同于原有应用系统入口)。第2步=SSOAgent端接到此请求后,经判断user此时并未登录(Session中无 user相关状态);或者此请求并未包含一个ST;或者此请求包含一个ST但已失效。则此时 SSOAgent会向Browser端发送重定向指令,重定向到AS端,要求user进行登录。第3步AS端接到Browser端的重定向请求后,经判断此请求中并未包含user 的身份凭据IT (存在于Browser端的一个Cookie),则此时AS会向Browser端发送一个 LoginPage 登录页。第4步USer在Browser端填入用户名、密码等信息,提交给AS端进行身份验证。第5步AS端收到user的身份信息后,进行验证过程。如果验证成功,则AS端会为user生成一个身份凭据IT,保存在AS端,为user要进行访问的应用系统/门户系统生成一个服务凭证ST,也保存在AS端,然后向Browser端发出一个重定向指令,重定向到原来的应用系统/门户系统的SSOAgent入口链接URL ;在此重定向过程中同时将user的身份凭据IT返回给Browser端,将服务凭证ST以参数形式附加在重定向入口链接URL后面返回给SSOAgent。如果验证不成功,则AS会向Browser端重新发送一个LoginPage登录页, 回到本流程第4步。第6步=SSOAgent端收到Browser端的重定向请求后,经判断此时请求中包含一个服务凭据ST。则此时SSOAgent会向AS端发出验证该ST是否有效的请求(因为ST由 AS产生,所以由其验证)。第7步AS端收到验证ST的请求后,会检验ST。经过一系列检验过程后,如果该 ST有效,则会向SSOAgent返回此ST所代表的用户信息;如果该ST无效,则也向SSOAgent 返回此ST无效的信息。第8步=SSOAgent收到该ST的验证结果后会做出相应地动作。如果结果是ST有效,则SSOAgent会记录下用户Session状态,同时向Browser端返回AppSys/PortalSys的首页或欢迎页面;如果结果是ST无效,则SSOAgent会向Browser端发送重定向指令,重定向到AS端,要求user进行登录,之后回到本流程第3步。② user 第二次登录 AppSys/PortalSys 前置条件Browser 端已经存储了 user 的身份凭证 IT (Cookie 形式);AppSys/PortalSys 端没有user的kssion状态(即user未登录该信息系统,这里特指第二次登录);认证服务器AS端中的user身份凭证IT情况未知(或有或无,或有效或无效)。 流程描述(请见附图2)第1步user在Browser上点击一个AppSys/PortalSys的入口链接URL,向应用系统/门户系统发出登录请求(注此入口链接是SSOAgent专为SSO而向外界提供的入口,不同于原有应用系统入口)。第2步=SSOAgent端接到此请求后,经判断user此时并未登录(Session中无 user相关状态);或者此请求并未包含一个ST;或者此请求包含一个ST但已失效。则此时 SSOAgent会向Browser端发送重定向指令,重定向到AS端,要求user进行登录。第3步AS端接到Browser端重定向的请求后,经判断此请求中已包含一个 user的身份凭据IT (即Browser端的Cookie),则此时AS会对此IT进行验证过程。如果此IT有效,则会更新此IT并保存,同时为user要进行访问的AppSys/PortalSys生成一个ST并保存,然后向Browser端发出一个重定向指令,重定向到原来的应用系统/门户系统的SSOAgent入口链接URL ;在此重定向过程中同时将更新后的user身份凭据IT返回给 Browser端,将服务凭证ST以参数形式附加在重定向入口链接后面返回给SSOAgent,之后回到流程一第6步。如果此IT无效,则此时AS会向Browser端发送一个LoginPage登录页,之后回到用流程第4步。③验证过程 用户名/密码验证过程在AS认证服务器端,当接收到Browser发送过来的用户名/密码后,会向用户信息数据源进行验证。 身份凭据IT验证过程在AS认证服务器端,当接收到Browser发送过来的身份凭据后,会根据身份凭据索引号检索出身份凭据,然后根据此凭据中的策略信息进行验证。验证过程大体如下1)当前系统时间大于身份凭据的有效期时间,则认为此身份凭据失效。2)当前系统时间和票据的最后使用时间相相差大于指定的间隔时间,则认为此身份凭据失效。3)身份凭据使用次数大于指定次数,则认为此身份凭据失效。4)其它策略,如永不过期策略等。 服务凭据ST验证过程在AS认证服务器端,当接收到SSOAgent发送过来的服务凭据后,会根据服务凭据索引号检索出服务凭据,然后根据此凭据中的策略信息进行验证。验证过程与身份凭据验证过程一致,此处略。3. 4认证安全性①凭据安全性在本方法中一共存在两种凭据(IT和ST),这两种凭据都具有权威性、保密性、完整性,所以对相关凭据进行安全保护至关重要。 存储方面取决于凭证信息的公开程度。如果完全公开,则可对凭据相关数据进行加密存储并传输给Browser (针对IT)和SSOAgent (针对ST);如果不公开,则可采用对凭据生成唯一索引号形式进行传输,此时Browser和SSOAgent得到的不是凭据本身,而是凭据索引号。 策略方面对凭据本身因安全因素而施加的一些安全策略,取决于方案本身实际系统的安全程度。具体详细策略举例如下(1)有效期策略凭据有效期为多少、凭据有效期能否延长或缩短、每次验证凭据后有效期能否自动延长(延长多少)(2)阀值次数策略在凭据有效期内,凭据最大使用次数是多少、达到最大次数后凭据是否自动失效或成为睡眠凭据(3)使用时限策略凭据在哪些特定时间范围内才可使用、使用最小时间间隔大小(4)凭据侦测策略对于违法使用凭据的情况进行自动侦测,并给出相关处理(比如极短时间内异常地进行多次认证、多次验证凭据等等;)②通信安全性在本方法中应用级通信协议主要是采用HTTP协议,所以为保证用户名、密码、凭据信息不被窃取、盗用,可采用SSL协议以加强通信信道的安全性。在本方案中共存在四个信道,安全程度大致如下O BrowserOAS 本信道中传输用户名、密码、身份凭据IT、服务凭据ST,安全强度最高,强烈建议应用SSL。O ASODataSource 本信道中传输用户名、密码,并且可能跨越安全域,安全强度较高,建议应用SSL(注如果DataSource提供的认证接口提供加密传输,也可不应用 SSL)。O BrowserOSSOAgent 本信道中传输服务凭据ST,安全强度适中,可以应用SSL。O SSOAgentOAS 本信道中传输服务凭据ST、用户信息,安全强度适中,可以应用 SSL。③服务器安全性重点体现在服务器本身提供的安全解决方案上,比如IIS、Wfeblogic、DBServer等等,从宏观上大体可以分为以下两类 服务器基于域/IP地址的访问控制 服务器基于本地文件系统的访问控制


图1当用户第一次访问应用系统时,认证流程图。图2当用户第二次访问应用系统时,认证流程图。
权利要求
1.一种在多个WEB应用服务器之间实现用户单点登录与集中认证的方法,该方法设置独立的认证服务器,并在WEB应用服务器上设置认证代理,所述方法包括步骤用户上点击一个WEB系统的入口链接URL,向应用系统发出登录请求认证代理接到此请求后,判断用户认证状态,并将没有经认证的用户请求重定向到认证服务端。认证服务器接到用户请求后,判断此Http请求中并未包含用户的身份凭据,则认证服务器会要求用户进行身份认证。用户填入用户名、密码等信息,提交给认证服务器进行身份验证。认证服务器验证用户身份后。如果验证成功,认证服务器将会生成该用户的身份凭据和针对用户当前请求应用系统的服务凭据,并保存在认证服务器上,而后在用户浏览器中保存身份凭据;同时向用户浏览器发出一个重定向指令,重定向到用户之前请求应用系统的认证代理,并将服务凭证以URL参数形式发送给认证代理。如果验证不成功,回到本流程上一步。应用系统的认证代理收到服务凭证后,会向认证服务器发出验证该服务凭证的请求。认证服务器收到验证服务凭证的请求后,会检验服务凭证。若通过验证,认证服务器将向应用系统的认证代理发送该用户的信息;否则,认证服务器会返回验证失败的通知。应用系统的认证代理收到服务票据的验证结果后,根据验证结果及用户信息来控制用户访问。用户访问除当前应用系统外的其他应用系统时,所访问应用系统的认证代理还会将用户重定向到认证服务器进行认证,这时认证服务器会通过用户浏览器中的身份凭证,判断该用户是否通过认证及认证是否过期,从而决定该用户是否需要重新认证。
2.如权利要求1所述的方法,其特征在于设置独立的认证服务器,且认证服务器为通过认证的用户的浏览器生成并保存标示用户身份的身份凭据。
3.如权利要求1所述的方法,其特征在于在应用服务器中部署认证代理,且认证代理通过验证服务凭据的有效性,判断用户是否通过认证。
4.如权利要求1所述的方法,其特征在于认证代理验证服务凭据有效性的过程,是向认证服务器发送该服务凭据,并通过认证服务器返回的结果判断该票据的有效性
5.如权利要求1所述的方法,其特征在于经过认证的用户再次访问其他用户系统时, 认证代理会重定向用户请求到认证服务器,认证服务器通过访问者浏览器的身份凭据判断该用户是否通过认证。
全文摘要
本发明实现了一种在多个WEB应用服务器之间进行用户单点登录、集中认证的方式或服务。该服务部署于客户端浏览器与各应用系统服务器之间,各应用系统服务器处在同一个安全域内。此服务对用户提交的身份信息生成身份凭据,对用户将要访问的应用系统生成服务凭据,认证服务将通过对这两类凭据的生成、提取、验证,并采用W3C国际标准的Cookie机制与HTTP 302端口重定向机制,实现了当用户在登录第一个应用系统后,再次访问第二个应用系统时,无需再次要求其进行身份验证,第二个应用系统可自动识别此用户身份并直接向其提供服务。即实现了多应用系统之间的单点登录与集中式认证。该认证服务实现了多项安全认证策略,如存储策略、凭据策略、通信策略等,有效地降低了应用服务器端的资源消耗、提高了身份数据与凭据数据的安全性,最终实现了良好的人机交互体验。
文档编号H04L9/32GK102469075SQ201010535648
公开日2012年5月23日 申请日期2010年11月9日 优先权日2010年11月9日
发明者刘松, 马训宁 申请人:中科正阳信息安全技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1