一种单点登录方法、代理服务器及系统的制作方法

文档序号:7983938阅读:657来源:国知局
一种单点登录方法、代理服务器及系统的制作方法
【专利摘要】本发明公开了一种单点登录方法,所述方法为:接收客户端向应用系统发送用户的登录请求;通过分析所述客户端与所述应用系统间的通信协议,根据接收的登录请求生成认证数据包并发送给所述应用系统;接收所述应用系统返回的认证结果,并将接收的认证结果返回所述客户端;其中所述认证结果是所述应用系统对接收的认证数据包进行认证后生成的。本发明还公开了用于实现所述方法的代理服务器及单点登录系统。本发明便于在现有的应用系统中实施,实现简便,降低实施成本。
【专利说明】一种单点登录方法、代理服务器及系统【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种单点登录方法、代理服务器及系统。
【背景技术】
[0002]不同的应用系统可能具有不同的硬件平台、操作系统和认证模式,而在单点登录(Single Sign On, SS0)机制中,用户只需要登录一次(即输入一次用户名和用户密码)就可以访问所有相互信任的应用系统。该机制是目前比较流行的企业业务整合的解决方案之

[0003]单点登录方法大体可以分为两类:基于票据的方法(ticket-based approaches)和基于凭证保险库的方法(credential vault approaches)。
[0004]基于票据的方法更具有安全性。其应用了 Kerberos协议,Kerberos协议建立在对称密钥的密码系统之上,可以供不同用户在不安全的网络系统中采用安全的方式进行交流。但基于票据的方法通常需要修改SSO的应用系统以支持对票据的认证和解密。
[0005]基于凭证保险库的方法采用安全地方式来存储用户的凭证(通常包括用户在不同系统中的用户名称和密码),例如可以通过加密数据库进行存储。用户可以通过输入一次用户名称和密码来登录所有的应用系统,其中客户端工具可以在凭证保险库中查询用户的凭证信息,且通过输入用户名和用户密码来模拟用户输入。基于凭证保险库的方法不需要对SSO系统的应用系统进行任何修改,因此使用较为广泛。
[0006]基于凭证保险库的方法多数情况下是由客户端工具(也称作密码管理器)来完成,其具有一定的缺陷:
[0007]密码管理器需配置在各用户终端上,而这样会增加管理和维护的复杂度。

【发明内容】

[0008]有鉴于此,本发明的目的是提供一种单点登录机制,以便于在现有的应用系统中实施,实现简便,降低实施成本。
[0009]根据本发明的一个实施例,一种单点登录方法,包括以下步骤:
[0010]接收客户端向应用系统发送用户的登录请求;
[0011]通过分析所述客户端与所述应用系统间的通信协议,根据接收的登录请求生成认证数据包并发送给所述应用系统;
[0012]接收所述应用系统返回的认证结果,并将接收的认证结果返回所述客户端;其中所述认证结果是所述应用系统对接收的认证数据包进行认证后生成的。
[0013]根据本发明的一个实施例,一种代理服务器,包括:
[0014]接收模块,用于接收客户端向应用系统发送的登录请求,及接收所述应用系统返回的认证结果;其中所述认证结果是所述应用系统对接收的认证数据包进行认证后生成的;
[0015]生成模块,用于通过分析所述客户端与所述应用系统间的通信协议,根据接收的登录请求生成所述认证数据包;
[0016]发送模块,用于向所述应用系统发送所述认证数据包,及向所述客户端返回所述认证结果。
[0017]根据本发明的一个实施例,一种单点登录系统,包括:
[0018]客户端,用于向应用系统发送用户的登录请求,及接收代理服务器返回的认证结果;
[0019]所述代理服务器,用于接收所述登录请求,通过分析所述客户端与所述应用系统间的通信协议,根据接收的登录请求生成认证数据包并发送给所述应用系统,接收所述应用系统返回的认证结果,及向所述客户端返回所述认证结果;
[0020]所述应用系统,用于对接收的认证数据包进行认证,将认证结果返回所述客户端。【专利附图】

【附图说明】
[0021]下文将以明确易懂的方式通过对优选实施方式的说明并结合附图来对本发明上述特性、技术特征、优点及其实施方式予以进一步说明,其中:
[0022]图1是本发明实施例中凭证保险库位于代理服务器外部时单点登录系统的主要结构图;
[0023]图2是本发明实施例中单点登录方法的主要流程图;
[0024]图3是本发明实施例中基于Telnet协议的单点登录方法的流程图;
[0025]图4A是FTP协议下现有技术中使用的登录方法的流程图;
[0026]图4B是本发明实施例中在FTP协议下单点登录的流程图;
[0027]图5A是SSH-1协议下现有技术中使用的登录方法的流程图;
[0028]图5B是本发明实施例中在SSH-1协议下单点登录的流程图。
【具体实施方式】
[0029]为对本发明的技术特征,目的和效果有更加清楚的理解,现对照【专利附图】
附图
【附图说明】本发明的【具体实施方式】,在各图中相同的标号表示相同的部分。为清楚表示各部件的相互关系,附图中各部件的比例关系仅为示意性的,并不表示实际结构的比例关系。
[0030]图1为本发明实施例中单点登录系统的主要结构图。其主要包括:客户端101、代理服务器102和应用系统103。所述系统还可以包括凭证保险库104。图1中凭证保险库104位于代理服务器102外部。
[0031]客户端101用于向应用系统103发送用户的登录请求,代理服务器102接收所述登录请求,通过分析客户端101与应用系统103间的通信协议,根据接收的登录请求生成认证数据包并发送给应用系统103,接收应用系统103返回的认证结果,向客户端101返回所述认证结果。
[0032]在发送登录请求前,客户端101可以先通过代理服务器102与应用系统103进行握手过程,具体握手的次数需根据具体协议确定,握手过程由客户端101首先发起或由应用系统103首先发起均可。握手过程结束时,认证过程开始,客户端101用于发送用户登录应用系统103的登录请求,其发送的登录请求经代理服务器102接收。
[0033]如果单点登录系统是C/S(客户端/服务器)架构,则本发明实施例中的客户端101可以是应用系统的客户端,如果单点登录系统是B/S(浏览器/服务器)架构,则本发明实施例中的客户端101可以是浏览器。本领域的技术人员也应当明了,如果单点登录系统采用其它架构,则本发明实施例中的客户端101可以进行相应改变以与单点登录系统的架构相适应。只要客户端101能够与应用系统103交互并用于发送用户的登录请求,则其均在本发明的保护范围之内。
[0034]在一个单点登录系统中,客户端101可以有多个,可能有不同的用户通过不同的客户端101向应用系统103发送登录请求;也可能有多个用户通过一个客户端101向应用系统103发送登录请求。本发明实施例中,无论在有多个客户端101,还是有多个用户使用一个客户端101的应用场景中,其均可以共用一个代理服务器102,无需增加更多的设备,因而简化了系统实施的复杂度,降低了系统实施的成本。
[0035]代理服务器102用于接收所述登录请求,通过分析客户端101与应用系统103间的通信协议,根据接收的登录请求生成认证数据包并发送给应用系统103,接收所述应用系统103返回的认证结果,及向客户端101发送所述认证结果。当代理服务器102接收到用户A的登录请求时,可以根据该用户A的用户标识,在凭证保险库104中查询该用户A在应用系统103中的凭证信息,并根据查询到的所述凭证信息生成用于认证用户身份的认证数据包,将该认证数据包发送给应用系统103。如果在凭证保险库104中未查询到与该用户A相应的凭证信息,则无法进行认证,代理服务器102可以向客户端101返回无法认证的消肩、O
[0036]本发明实施例中,所述凭证信息可以包括该用户在应用系统103中的用户标识和用户密码,或者所述凭证信息可以包括该用户在应用系统103中的票据,或者所述凭证信息也可以是其他彳目息。
[0037]代理服务器102还可用于接收应用系统103发送的认证响应消息。如果选择了挑战应答(challenge-response)认证机制,则所述认证响应消息中包括挑战数据(challengedata),例如,挑战数据的一种实现方式为随机数。代理服务器102接收应用系统103发送的携带随机数的认证响应消息,对该认证响应消息进行分析,具体分析过程根据协议的不同而有所差异。
[0038]例如,一般来说,使用何种协议通常通过端口号区分,例如:http (超文本传输协议)一般使用80端口,ftp (文件传输协议)一般使用21端口,telnet (远程登录)协议一般使用23端口,SSH (安全外壳)协议一般使用22端口,SMTP (简单邮件传输协议)一般使用25端口,等等,当然在客户端101和应用系统103之间也可以协商协议的端口号,如果此时部署了代理服务器102,则代理服务器102负责代替客户端101与应用系统103协商协议所使用的端口。通过端口知道了所使用的协议后,代理服务器102便可通过其协议状态机分析客户端101与应用系统103间交互的消息,代替客户端101向应用系统103提供相应凭证信息。
[0039]如果根据协议分析,需根据该随机数生成应答数据,则代理服务器102生成应答数据并将应答数据发送给应用系统103。
[0040]当代理服务器102接收到应用系统103返回的认证成功消息或认证失败消息时,可以将该认证结果返回给客户端101。
[0041]整个认证过程对于用户101和应用系统103来说是可以透明的,用户和应用系统可以完全不知道代理服务器102的存在。
[0042]应用系统103用于对接收的认证数据包进行认证,将认证结果发送给代理服务器
102。应用系统103接收代理服务器102发送的认证数据包,该认证数据包可以包含用户标识及该用户对应的凭证信息。应用系统103根据接收的该认证数据包生成认证响应消息,如果选择了挑战应答机制,则该消息中可以包含随机信息,所述随机信息可以是挑战数据的一种实现方式。挑战应答机制为应用系统103的一种认证机制,可以防止重放攻击和暴力破解。
[0043]凭证保险库(credential vault) 104可以位于代理服务器102内,也可以是位于代理服务器102外的存储装置,用于存储用户的在登录各系统时的凭证信息,在凭证保险库104中,可以将每个用户的用户标识与其凭证信息一一对应存储。以供代理服务器102根据用户标识查询相应的凭证信息。其中,所述用户标识也可以就是相应凭证信息或相应凭证信息的一部分,例如,所述用户标识可以就是用户名,则代理服务器102可以根据用户名查询相应的用户密码。本发明实施例中,凭证保险库104可以设置有密码,或者有其它安全措施,以保证所存储数据的安全性。
[0044]采用本发明实施例的技术方案,只需对一个代理服务器102进行维护和管理,而无需重新配置客户端101,使维护管理过程更为简便,且节约了成本。本发明实施例中代理服务器102独立于客户端101及应用系统103之外,可以适用于不同类型不同版本的客户端应用程序,且代理服务器102位于客户端101及应用系统103之间,不必修改客户端101和应用系统103的配置和应用环境,便于进行配置。
[0045]为了更好地对本发明的思想进行说明,以下通过实现流程来介绍本发明实施例中单点登录的方法。
[0046]参见图2,本发明实施例中单点登录的主要方法流程如下,所述方法可以应用于代理服务器102侧:
[0047]步骤201:接收客户端101向应用系统103发送用户的登录请求。
[0048]步骤202:通过协议分析,根据接收的登录请求生成认证数据包并发送给应用系统 103。
[0049]步骤203:接收应用系统103返回的认证结果,并将接收的认证结果返回客户端
101;其中所述认证结果是所述应用系统对接收的认证数据包进行认证后生成的。
[0050]在本发明的实施例中,假设客户端101和应用系统103有一个协商好的秘密函数f (其中,对于应用系统103来说,认为该秘密函数f是其与客户端101协商生成的,但实际上,在协商该秘密函数时,是代理服务器102接收了应用系统103发送的信息,并与应用系统进行信息交互协商生成了该秘密函数f,因此实际上该秘密函数f是代理服务器102与应用系统103协商生成的),挑战应答认证过程:应用系统103发送一个随机消息m给客户端101,为挑战过程,代理服务器102接收该随机消息m,根据该随机信息进行计算,向应用系统103回应m的变形r=f(m),为应答过程。应用系统103可以通过独立计算r来验证代理服务器102返回的r是否正确,如果正确,则可以向客户端101返回认证成功的消息,代理服务器102可以接收该认证成功的消息。如果不正确,则应用系统103可以向客户端101返回认证失败的消息,代理服务器102接收该认证失败的消息,即应用系统103相当于将认证结果发送给了代理服务器102。例如,代理服务器102可以使用单向Hash (哈希)函数,根据用户名、凭证信息和随机信息生成一个字节串作为应答信息发送给应用系统103,应用系统103接收到代理服务器102的应答信息后,将应答信息与自身的计算结果进行比较,若二者相同,则可以向客户端101返回认证成功的消息,代理服务器102接收该认证成功的消息,否则认证失败,可以向客户端101返回认证失败的消息,代理服务器102接收该认证失败的消息。或者,认证过程也可以不选择挑战应答机制,也可以根据需要选择其它的认证机制。
[0051]以下通过实现流程示例来介绍本发明实施例中单点登录的方法。
[0052]一、以Telnet协议为例进行介绍。
[0053]首先简单介绍在Telnet协议下,现有技术中使用的登录方法:
[0054]步骤一、终端向应用系统发送登录请求。其中,在Telnet协议下,握手过程与用户认证的交互过程没有关系,此处予以省略。
[0055]步骤二、应用系统向终端回应login (登录)提示信息。
[0056]步骤三、终端用户输入用户名。
[0057]步骤四、应用系统生成“密码”提示信息,并提示终端用户输入用户密码。
[0058]步骤五、终端输入用户密码。
[0059]步骤六、应用系统验证用户身份认证信息,向终端回应“欢迎”信息。认证过程完成。
[0060]在认证过程中,可能有不同的终端需要认证,则可能在每个终端上都需配置密码管理器,增加了管理维护的复杂程度。如果有多个终端需要认证,虽然每个终端都有相同的目的服务器,也工作在相同的协议下,但每个终端可能都有不同类型和不同版本的客户端应用程序,这也增加了工作难度。
[0061]参见图3,为本发明实施例中在Telnet协议下单点登录的详细方法流程:
[0062]步骤301:客户端101向应用系统103发送用户的登录请求。
[0063]实际上客户端101是通过代理服务器102向应用系统103发送登录请求,而代理服务器102从中接收了该登录请求。可能有不同的用户通过一个客户端101向应用系统103发送登录请求,每个用户都有自己的凭证信息,这些凭证信息及相应的用户标识都可以存储在凭证保险库104中。
[0064]步骤302:代理服务器102直接转发所述登录请求。
[0065]步骤303:应用系统103向客户端101提示“login”信息。代理服务器102接收该“ login”信息。例如,该“ login”信息可以是提示用户输入用户名。
[0066]步骤304,代理服务器102根据接收的登录请求中的用户的用户标识,在凭证保险库104中查询该用户在应用系统103中相应的凭证信息,如用户名和密码。
[0067]步骤305:代理服务器102根据用户名生成回应数据包,并发送给应用系统103。
[0068]步骤306:服务器向客户端101提示“Password”信息。代理服务器102接收该“password”信息。例如,该“Password”信息可以是提示用户输入用户密码。
[0069]步骤307:代理服务器102根据用户密码生成第二回应数据包,并发送给应用系统103。
[0070]步骤308:应用系统103对用户信息进行认证,向客户端101返回认证结果。代理服务器102接收该认证结果。如果认证成功,则可以向客户端101返回“welcome (欢迎)”信息,如果认证失败,可以向客户端101返回认证失败的信息。认证过程结束。
[0071]步骤309:代理服务器102将接收的认证结果返回客户端101。
[0072]二、以FTP协议为例进行介绍。
[0073]参见图4A,首先简单介绍在FTP协议下,现有技术中使用的登录方法:
[0074]步骤一、终端向应用系统发送登录请求。其中,在FTP协议下,握手过程与用户认证的交互过程没有关系,此处予以省略。
[0075]步骤二:应用系统与终端进行协商。
[0076]步骤三:协商完毕后应用系统向终端回复响应消息。该响应消息可以是提示终端输入用户名。
[0077]步骤四:终端向应用系统输入用户名。
[0078]步骤五:应用系统回复响应消息。该响应消息可以是提示应用系统输入密码。
[0079]步骤六、终端输入用户密码。
[0080]步骤七、应用系统验证用户身份认证信息,向终端回应“欢迎”信息。认证过程完成。
[0081]参见图4B,为本发明实施例中在FTP协议下单点登录的详细方法流程:
[0082]步骤401:客户端101向应用系统103发送用户的登录请求。
[0083]实际上客户端101是通过代理服务器102向应用系统103发送登录请求,而代理服务器102直接转发该登录请求。可能有不同的用户通过一个客户端101向应用系统103发送登录请求,每个用户都有自己的凭证信息,这些凭证信息及相应的用户标识都可以存储在凭证保险库104中。
[0084]步骤402:应用系统103通过代理服务器102与客户端101进行协商。
[0085]步骤403:协商完毕后,应用系统103向客户端101回复响应消息。代理服务器102接收该响应消息,该响应消息可以是提示用户输入用户名。
[0086]例如,应用系统103向客户端101提示“login”信息。代理服务器102接收该“login” 信息。
[0087]步骤404,代理服务器102根据接收的登录请求中的用户的用户标识,在凭证保险库104中查询该用户在应用系统103中相应的凭证信息,如用户名和密码。
[0088]步骤405:代理服务器102根据用户名生成回应数据包,并发送给应用系统103。
[0089]步骤406:应用系统103向客户端101回复响应消息。代理服务器102接收该响应消息,该响应消息可以是提示用户输入密码。
[0090]例如,应用系统103向客户端101提示“Password”信息。代理服务器102接收该“password” 信息。
[0091]步骤407:代理服务器102根据用户密码生成第二回应数据包,并发送给应用系统103。
[0092]步骤408:应用系统103对用户信息进行认证,向客户端101返回认证结果。代理服务器102接收该认证结果。
[0093]步骤409:代理服务器102将接收的认证结果返回客户端101。
[0094]认证过程结束。
[0095]三、以SSH-1协议为例进行介绍。[0096]参见图5A,先简单介绍在SSH-1协议下,现有技术中使用的登录方法:
[0097]步骤一:终端与应用程序进行协商版本。
[0098]步骤二:终端与应用程序协商运算法则。
[0099]步骤三:终端输入用户名。
[0100]步骤四:应用程序回复响应消息。该响应消息可以是提示应用系统输入密码。
[0101]步骤五、终端输入用户密码。
[0102]步骤六、应用系统验证用户身份认证信息,向终端回应“欢迎”信息。认证过程完成。
[0103]参见图5B,为本发明实施例中在SSH-1协议下单点登录的详细方法流程:
[0104]步骤501:客户端101通过代理服务器102与应用程序103协商版本。
[0105]步骤502:客户端101通过代理服务器102与应用程序103协商运算法则。
[0106]步骤503:代理服务器102接收应用程序103向客户端101返回的响应消息。该响应消息可以是提示用户输入用户名。
[0107]例如,应用系统103向客户端101提示“SSH_CMSG_USER”信息。代理服务器102接收该 “ SSH_CMSG_USER” 信息。
[0108]步骤504:代理服务器102根据用户名生成回应数据包,并发送给应用系统103。
[0109]步骤505:代理服务器接收应用系统103向客户端101回复的响应消息。该响应消息可以是提示用户输入密码。
[0110]例如,应用系统103向客户端101提示“SSH_CMSG_PASSWORD”信息。代理服务器
102接收该 “SSH_CMSG_PASSWORD” 信息。
[0111]步骤506:代理服务器102根据用户密码生成第二回应数据包,并发送给应用系统
103。
[0112]步骤507:应用系统103对用户信息进行认证,向客户端101返回认证结果。代理服务器102接收该认证结果。
[0113]步骤508:代理服务器102将接收的认证结果返回客户端101。
[0114]认证过程结束。
[0115]根据本发明的实施例,代理服务器102中可以包括接收模块、生成模块和发送模块。
[0116]接收模块用于接收客户端101向应用系统103发送的登录请求,及接收所述应用系统103返回的认证结果。
[0117]生成模块用于通过分析所述客户端与所述应用系统间的通信协议,根据接收的登录请求生成认证数据包。
[0118]在本发明的实施例中,生成模块具体可以用于根据接收的登录请求中的用户标识在凭证保险库中查询该用户在所述应用系统103中的凭证信息,根据该用户的所述凭证信息生成认证数据包。
[0119]发送模块用于向所述应用系统103发送所述认证数据包,及向所述客户端101返回所述认证结果。
[0120]本发明实施例中,在客户端101与应用系统103之间设置代理服务器102,该代理服务器102可以通过协议分析的方法为客户端101代为获取相应凭证信息,因而解决了现有技术中需在不同客户端101分别部署客户端工具的问题。
[0121]增加一个位于客户端101及应用系统103之间的代理服务器102,登录过程可以通过代理服务器102与应用系统103进行信息交互来完成,无需在客户端101上配置密码管理器,只需维护管理一个代理服务器102即可,节省维护管理的步骤及费用,且因为没有了密码管理器,也就没有了客户端应用程序对密码管理器的限制,使工作更为简便。可以供不同的终端进行认证,不会增加管理维护的复杂程度。
[0122]现有技术中,不同用户很可能通过不同类型和版本的客户终端程序来登录目的设备,虽然这些密码管理器具有相同的目的设备且工作在相同的协议下,但还必须根据不同类型和版本的客户终端程序来配置密码管理器,这样也增加了工作的难度,且多数密码管理器仅支持基于微软的Windows平台(一种操作系统)的客户终端程序,而不支持LinuxX-Windows (一种操作系统)或其他类型的客户终端程序。而采用本发明的方法后,因无需在客户端上安装密码管理器,自然也无需根据不同的客户终端程序来配置密码管理器,减轻了工作量,也无需考虑密码管理器不支持某些类型的客户终端程序的问题,增强了通用性。
[0123]需要说明的是,上述各流程和各装置结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的模块结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0124]以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
[0125]本发明还提供了一种机器可读介质,存储用于使一机器执行如本文所述的单点登录的方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
[0126]在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0127]用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和 ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0128]此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0129]此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0130]上文通过附图和优选实施方式对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施方式,本领域技术人员从中推导出来的其它方案也在本发明的保护范围之内。
【权利要求】
1.一种单点登录方法,其特征在于,包括以下步骤: 接收客户端向应用系统发送的用户的登录请求; 通过分析所述客户端与所述应用系统间的通信协议,根据接收的登录请求生成认证数据包并发送给所述应用系统; 接收所述应用系统返回的认证结果,并将接收的认证结果返回所述客户端;其中所述认证结果是所述应用系统对接收的认证数据包进行认证后生成的。
2.如权利要求1所述的方法,其特征在于,根据接收的登录请求生成认证数据包并发送给所述应用系统的步骤包括:根据接收的登录请求中的用户标识在凭证保险库中查询该用户在所述应用系统中的凭证信息,根据该用户的所述凭证信息生成认证数据包,并发送给所述应用系统。
3.如权利要求2所述的方法,其特征在于,所述凭证信息包括该用户在所述应用系统中的用户标识和用户密码;或所述凭证信息包括该用户在所述应用系统中的票据。
4.一种代理服务器,包括: 接收模块,用于接收客户端向应用系统发送的登录请求,及接收所述应用系统返回的认证结果;其中所述认证结果是所述应用系统对接收的认证数据包进行认证后生成的; 生成模块,用于通过分析所述客 户端与所述应用系统间的通信协议,根据接收的登录请求生成所述认证数据包; 发送模块,用于向所述应用系统发送所述认证数据包,及向所述客户端返回所述认证结果。
5.如权利要求4所述的代理服务器,其特征在于,所述生成模块具体用于根据接收的登录请求中的用户标识在凭证保险库中查询该用户在所述应用系统中的凭证信息,根据该用户的所述凭证信息生成所述认证数据包。
6.如权利要求5所述的代理服务器,其特征在于,所述凭证信息包括该用户在所述应用系统中的用户标识和用户密码;或所述凭证信息包括该用户在所述应用系统中的票据。
7.一种单点登录系统,其特征在于,包括: 客户端,用于向应用系统发送用户的登录请求,及接收代理服务器返回的认证结果; 所述代理服务器,用于接收所述登录请求,通过分析所述客户端与所述应用系统间的通信协议,根据接收的登录请求生成认证数据包并发送给所述应用系统,接收所述应用系统返回的认证结果,及向所述客户端返回所述认证结果; 所述应用系统,用于对接收的认证数据包进行认证,将认证结果返回所述客户端。
8.如权利要求7所述的系统,其特征在于,还包括:凭证保险库,用于对应存储用户标识及与其相应的凭证信息; 所述代理服务器还用于根据接收的登录请求中的用户标识在所述凭证保险库中查询该用户在所述应用系统中的凭证信息,及根据该用户的所述凭证信息生成认证数据包。
9.如权利要求8所述的系统,其特征在于,所述凭证信息包括该用户在所述应用系统中的用户标识和用户密码;或所述凭证信息包括该用户在所述应用系统中的票据。
10.如权利要求7所述的系统,其特征在于,所述应用系统还用于采用挑战应答机制对接收的认证数据包进行认证。
11.如权利要求10所述的系统,其特征在于,所述应用系统还用于向所述客户端发送挑战数据,及将接收的应答数据与自身生成的应答数据进行比较,若二者相同,则所述用户认证通过,否则认证失败; 所述代理服务器还用于接收所述挑战数据,根据接收的挑战数据生成应答数据,并发送给所述应用 系统。
【文档编号】H04L29/06GK103716285SQ201210376039
【公开日】2014年4月9日 申请日期:2012年9月29日 优先权日:2012年9月29日
【发明者】刘彦, 刘康, 黄琛 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1