著录项信息
专利名称 | 一种基于单点登录的身份认证方法 |
申请号 | CN201310698156.7 | 申请日期 | 2013-12-18 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-03-26 | 公开/公告号 | CN103685282A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;L;9;/;3;2查看分类表>
|
申请人 | 飞天诚信科技股份有限公司 | 申请人地址 | 北京市海淀区学清路9号汇智大厦B楼17层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 飞天诚信科技股份有限公司 | 当前权利人 | 飞天诚信科技股份有限公司 |
发明人 | 陆舟;于华章 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明公开了一种基于单点登录的身份认证方法,属于信息安全领域。所述方法包括:用户第一次从客户端登录访问一个服务端的服务时,需要输入登录信息,之后经该客户端访问其他服务时无需再输入登录信息,并通过第一次登录成功后,利用认证服务器生成的临时会话密钥做加解密,以及设置传输过程中与访问服务有关的数据的时效,建立起用户访问服务过程中认证服务器、客户端、要访问的服务端的服务三者之间数据传输的安全保护机制。
1.一种基于单点登录的身份认证方法,其特征在于,包括:
步骤S1:客户端收到用户的访问请求时,判断是否缓存有该用户的一个加密的客户端身份凭证,是则根据客户端信息组成第二认证信息,并用缓存的第一会话密钥加密所述第二认证信息,客户端根据缓存的加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包并发送给认证服务器,然后执行步骤S4;否则提示用户输入登录信息,当接收到用户输入的登录信息后,用所述登录信息中的用户登录密钥加密当前时间值得到第一认证信息,根据所述登录信息中的用户名生成客户端信息,根据所述客户端信息、当前时间值、授权服务端信息和所述第一认证信息生成第一请求包发送给认证服务器,然后执行步骤S2;
步骤S2:认证服务器接收到第一请求包,根据从所述第一请求包中获取的第一认证信息、一个时间值、授权服务端信息和客户端信息验证客户端是否合法,若合法则生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,根据客户端信息在数据库中查找得到与之对应的用户登录密钥,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包发送给客户端,若不合法则生成包含登录失败信息的第一响应包发送给客户端;
步骤S3:客户端根据接收到的第一响应包中包含的数据判断是否登录成功,是则从所述第一响应包中获取加密的客户端身份凭证和加密的第一会话密钥,客户端用用户登录密钥对加密的第一会话密钥解密得到第一会话密钥,并将所述加密的客户端身份凭证和所述第一会话密钥与当前用户关联并缓存,当所述客户端身份凭证失效时所述客户端自动销毁缓存的所述加密的客户端身份凭证和所述第一会话密钥;根据客户端信息组成第二认证信息,并用第一会话密钥加密所述第二认证信息,客户端根据加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包并发送给认证服务器,然后执行步骤S4,否则返回执行步骤S1所述提示用户输入登录信息;
步骤S4:认证服务器接收到第二请求包,根据从所述第二请求包中获取的加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息,以及用预设密钥解密所述加密的客户端身份凭证得到的第一会话密钥、客户端信息和第一时间戳,验证所述客户端身份凭证是否有效和所述客户端是否合法,若验证所述客户端身份凭证有效且所述客户端合法则生成第二会话密钥,根据要访问的服务信息在数据库中查找到服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用服务端登录密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包发送给客户端,否则生成包含访问失败信息的第二响应包发送给客户端;
步骤S5:客户端接收到第二响应包,判断所述第二响应包中是否存在加密的访问票据,是则从所述第二响应包中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据加密的访问票据和加密的第三认证信息生成第三请求包并发送给要访问的服务所在的服务端,然后执行步骤S6,否则返回执行步骤S1所述提示用户输入登录信息;
步骤S6:服务端接收到第三请求包,根据从所述第三请求包中获取的加密的访问票据和加密的第三认证信息,以及用服务端登录密钥解密所述加密的访问票据得到的第二会话密钥、客户端信息和第二时间戳,验证所述访问票据是否有效和所述客户端是否合法,若验证所述访问票据有效且所述客户端合法则执行访问操作,根据访问操作结果生成第三响应包发送给客户端,然后执行步骤S7,否则生成包含访问失败信息的第三响应包发送给客户端,然后执行步骤S7;
步骤S7:客户端接收到第三响应包,并根据第三响应包中的数据显示访问结果,结束;
所述第一时间戳由客户端身份凭证的生成时间和客户端身份凭证有效期组成,所述第二时间戳由访问票据的生成时间和访问票据的有效期组成;
所述第一会话密钥是由认证服务器生成的用于客户端与认证服务器进行通信的临时会话密钥,所述第二会话密钥是由认证服务器生成的用于服务端与客户端进行通信的临时会话密钥。
2.根据权利要求1所述的方法,其特征在于,所述客户端信息还包括客户端IP地址,所述授权服务端信息包括经认证服务器授权的服务端标识,所述要访问的服务信息包括要访问的服务名称以及服务端标识。
3.根据权利要求1所述的方法,其特征在于,所述步骤S2具体包括:
A1:认证服务器解析接收到的第一请求包,从中获取第一认证信息、一个时间值、客户端信息和授权服务端信息,根据客户端信息在数据库中查找得到与之对应的用户登录密钥,用得到的用户登录密钥解密所述第一认证信息得到一个时间值;
A2:认证服务器比较从第一请求包中获取的时间值与从第一认证信息中解密出的时间值是否一致,是则执行A3,否则执行A4;
A3:认证服务器生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包,发送给客户端;
A4:认证服务器生成包含登录失败信息的第一响应包,发送给客户端。
4.根据权利要求1所述的方法,其特征在于,所述步骤S4具体包括:
B1:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;
B2:认证服务器用预设密钥解密加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的所述第一会话密钥解密加密的第二认证信息得到客户端信息;
B3:认证服务器判断第一时间戳是否有效,是则执行B4,否则执行B6;
B4:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行B5,否则执行B6;
B5:认证服务器生成第二会话密钥,根据要访问的服务信息在数据库中查找到与之对应的服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用服务端登录密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包,发送给客户端;
B6:认证服务器生成包含访问失败信息的第二响应包,发送给客户端。
5.根据权利要求4所述的方法,其特征在于,所述认证服务器判断第一时间戳是否有效具体为:认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于从第一时间戳中获取的所述时间值与所述相加后得到的时间之间则第一时间戳有效,否则第一时间时间戳无效。
6.根据权利要求4所述的方法,其特征在于,所述认证服务器判断第一时间戳是否有效具体为:
(1)认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则所述第一时间戳无效,否则执行(2);
(2)认证服务器将从第一时间戳中获取的所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于所述从第一时间戳中获取的所述时间值与所述相加后得到的时间之间则第一时间戳有效,并用认证服务器内部时钟的当前时间更新预设缓存记录中的时间值,否则第一时间戳无效。
7.根据权利要求1所述的方法,其特征在于,所述步骤S6具体包括:
C1:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用所述服务端登录密钥解密加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密加密的第三认证信息得到客户端信息;
C2:服务端判断所述第二时间戳是否有效,是则执行C3,否则执行C5;
C3:服务端比较从所述访问票据中获得的客户端信息和从所述第三认证信息中获得的客户端信息是否一致,是则执行C4,否则执行C5;
C4:服务端执行访问操作,生成包含操作结果的第三响应包发送给客户端;
C5:服务端生成包含访问失败信息的第三响应包发送给客户端。
8.根据权利要求7所述的方法,其特征在于,所述服务端判断所述第二时间戳是否有效具体为:服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,否则第二时间戳无效。
9.根据权利要求7所述的方法,其特征在于,所述服务端判断所述第二时间戳是否有效具体为:
(1)服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则所述第二时间戳无效,否则执行(2);
(2)服务端将从第二时间戳中获取的所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,并用服务端内部时钟的当前时间更新预设缓存记录中的时间值,否则第二时间戳无效。
10.根据权利要求1所述的方法,其特征在于,步骤S1所述提示用户输入登录信息之后还包括,判断是否在预设时间内收到用户输入的登录信息,是则执行所述生成第一请求包发送给认证服务器的操作,否则提示等待超时,等待用户重新输入访问请求。
11.根据权利要求1所述的方法,其特征在于,所述第三请求包还包含一个双向验证的标志位,步骤S6中当所述服务端接收到所述第三请求包时还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否正确,是则向服务端返回验证成功的响应数据,否则客户端显示验证失败。
12.一种基于单点登录的身份认证方法,其特征在于,包括:
步骤s1:客户端收到用户的访问请求时,判断是否缓存有该用户的一个加密的客户端身份凭证,是则根据该用户的用户名生成客户端信息,根据所述客户端信息生成请求获取服务端身份凭证的请求包发送给服务端,然后执行步骤s4;否则提示用户输入登录信息,当接收到用户输入的登录信息后,用所述登录信息中的用户登录密钥加密当前时间值得到第一认证信息,根据所述登录信息中的用户名生成客户端信息,根据所述客户端信息、授权服务端信息、当前时间值和所述第一认证信息生成第一请求包发送给认证服务器,然后执行步骤s2,
步骤s2:认证服务器接收到第一请求包,根据从所述第一请求包中获取的第一认证信息、一个时间值、授权服务端信息和客户端信息验证客户端是否合法,若合法则生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,根据客户端信息在数据库中查找得到与之对应的用户登录密钥,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包发送给客户端,若不合法则生成包含登录失败信息的第一响应包发送给客户端;
步骤s3:客户端根据接收到的第一响应包中包含的数据判断是否登录成功,是则从所述第一响应包中获取加密的客户端身份凭证和加密的第一会话密钥,用用户登录密钥解密所述加密的第一会话密钥得到第一会话密钥,并将所述加密的客户端身份凭证和所述第一会话密钥与当前用户关联并缓存,当所述客户端身份凭证失效时所述客户端自动销毁缓存的所述加密的客户端身份凭证和所述第一会话密钥,客户端根据客户端信息生成请求获取服务端身份凭证的请求包发送给认证服务器,然后执行步骤s4,否则返回执行步骤s1所述提示用户输入登录信息;
步骤s4:服务端接收到客户端发来的请求获取服务端身份凭证的请求包,判断自身是否缓存有一个加密的服务端身份凭证,是则向客户端返回包含所述加密的服务端身份凭证的请求响应包,然后执行步骤s5;否则服务端从认证服务器获取一个加密的服务端身份凭证和第三会话密钥并缓存,当所述服务端身份凭证失效时所述服务端自动销毁缓存的所述加密的服务端身份凭证和所述第三会话密钥,所述服务端向客户端返回包含加密的服务端身份凭证的请求响应包,然后执行步骤s5;
步骤s5:客户端接收到所述请求响应包,从中获取加密的服务端身份凭证,根据客户端信息得到第二认证信息,并用第一会话密钥加密所述第二认证信息,根据加密的第二认证信息、所述加密的客户端身份凭证、所述加密的服务端身份凭证、所述客户端信息和要访问的服务信息生成第二请求包并发送给认证服务器;
步骤s6:认证服务器接收到第二请求包,根据从所述第二请求包中获取的加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息,以及用预设密钥解密所述加密的客户端身份凭证得到的第一会话密钥、客户端信息和第一时间戳,以及用预设密钥解密所述服务端身份凭证得到的第三会话密钥、服务端信息和第三时间戳,验证所述客户端身份凭证和所述服务端身份凭证是否均有效以及所述客户端信息是否合法,若验证所述客户端身份凭证和所述服务端身份凭证均有效且所述客户端合法,则生成第二会话密钥,根据要访问的服务信息在数据库中查找到与之对应的服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用第三会话密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包发送给客户端,否则生成包含访问失败信息的第二响应包发送给客户端;
步骤s7:客户端接收到第二响应包,判断所述第二响应包中是否存在加密的访问票据,是则从所述第二响应包中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密所述加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据所述加密的访问票据和加密的第三认证信息组成第三请求包并发送给要访问的服务所在的服务端,然后执行步骤s8,否则返回执行步骤s1所述提示用户输入登录信息;
步骤s8:服务端接收到第三请求包,根据从所述第三请求包中获取的加密的访问票据和加密的第三认证信息,以及用第三会话密钥解密所述加密的访问票据得到的第二会话密钥、客户端信息和第二时间戳,验证所述访问票据是否有效和所述客户端是否合法,若验证所述访问票据有效且所述客户端合法则执行访问操作,根据访问操作结果生成第三响应包发送给客户端,然后执行步骤s9,否则生成包含访问失败信息的第三响应包发送给客户端,然后执行步骤s9;
步骤s9:客户端接收到第三响应包,并根据第三响应包中的数据显示访问结果,结束;
所述第一时间戳由客户端身份凭证的生成时间和客户端身份凭证有效期组成,所述第二时间戳由访问票据的生成时间和访问票据的有效期组成,所述第三时间戳由服务端身份凭证的生成时间和服务端身份凭证有效期组成;
所述第一会话密钥是由认证服务器生成的用于客户端与认证服务器进行通信的临时会话密钥,所述第二会话密钥是由认证服务器生成的用于服务端与客户端进行通信的临时会话密钥,所述第三会话密钥是由认证服务器生成的用于认证服务器与服务端进行通信的临时会话密钥。
13.根据权利要求12所述的方法,其特征在于,所述客户端信息还包括客户端IP地址,所述授权服务端信息包括经认证服务器授权的服务端标识,所述要访问的服务信息包括要访问的服务名称以及服务端标识,所述服务端信息包括服务端标识,所述服务端标识包括服务端IP地址。
14.根据权利要求12所述的方法,其特征在于,所述步骤s2具体包括:
A1:认证服务器解析接收到的第一请求包,从中获取第一认证信息、一个时间值、客户端信息和授权服务端信息,根据客户端信息在数据库中查找得到用户登录密钥,用得到的用户登录密钥解密所述第一认证信息得到一个时间值;
A2:认证服务器比较从第一请求包中获取的时间值与从第一认证信息中解密出的时间值是否一致,是则执行A3,否则执行A4;
A3:认证服务器生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包,发送给客户端;
A4:认证服务器生成包含登录失败信息的第一响应包,发送给客户端。
15.根据权利要求12所述的方法,其特征在于,步骤s4中所述服务端从认证服务器获取一个加密的服务端身份凭证和第三会话密钥并缓存,以及所述服务端向客户端返回包含加密的服务端身份凭证的请求响应包,具体包括:
B1:服务端从接收到的所述请求获取服务端身份凭证的请求包中获取客户端信息,用服务端登录密钥加密预置的验证码得到验证信息,根据客户端信息、服务端信息、预置的验证码和验证信息组成第四请求包,并向认证服务器发送第四请求包;
B2:认证服务器解析接收到的第四请求包,从中获取验证信息、预置的验证码、客户端信息和服务端信息,根据服务端信息在数据库中查找得到与之对应的服务端登录密钥,用该密钥解密验证信息得到一个验证码;
B3:认证服务器比较从验证信息中解密出的验证码与所述预置的验证码是否一致,是则执行B4,否则执行B5;
B4:认证服务器生成第三会话密钥,根据第三会话密钥、服务端信息和第三时间戳组成服务端身份凭证,并用预设密钥加密所述服务端身份凭证,将第三会话密钥用服务端登录密钥加密,根据加密后的第三会话密钥和加密后的服务端身份凭证生成第四响应包,然后执行B6;
B5:认证服务器生成包含获取失败信息的第四响应包,执行B6;
B6:认证服务器将第四响应包发送给服务端;
B7:服务端根据第四响应包判断是否能够获取到服务端身份凭证,是则执行B8,否则执行B9;
B8:服务端解析第四响应包从中获取加密的服务端身份凭证和加密的第三会话密钥,缓存所述加密的服务端身份凭证,用服务端登录密钥对加密的第三会话密钥解密得到第三会话密钥并缓存,服务端根据加密的服务端身份凭证生成请求响应包返回给客户端;
B9:服务端生成包含获取失败信息的请求响应包返回给客户端。
16.根据权利要求12所述的方法,其特征在于,所述步骤s6具体包括:
C1:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;
C2:认证服务器用预设密钥解密加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的第一会话密钥解密所述加密的第二认证信息得到客户端信息,认证服务器用预设密钥解密所述加密的服务端身份凭证得到第三会话密钥、服务端信息和第三时间戳;
C3:认证服务器判断第一时间戳和第三时间戳是否都有效,是则执行C4,否则执行C6;
C4:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行C5,否则执行C6;
C5:认证服务器生成第二会话密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用第三会话密钥加密所述访问票据,用第一会话密钥加密所述第二会话密钥,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包发送给客户端;
C6:认证服务器生成包含访问失败信息的第二响应包发送给客户端。
17.根据权利要求12所述的方法,其特征在于,所述步骤s8具体包括:
D1:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用第三会话密钥解密加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密加密的第三认证信息得到客户端信息;
D2:服务端判断第二时间戳是否有效,是则执行D3,否则执行D5;
D3:服务端比较从访问票据中获得的客户端信息和从第三认证信息中获得的客户端信息是否一致,是则执行D4,否则执行D5;
D4:服务端执行访问操作,根据访问操作结果生成第三响应包发送给客户端;
D5:服务端生成包含访问失败结果的第三响应包发送给客户端。
18.根据权利要求12所述的方法,其特征在于,所述第三请求包还包含一个双向验证的标志位,步骤s8中当所述服务端接收到所述第三请求包时还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否正确,是则向服务端返回验证成功的响应数据,否则客户端显示验证失败。
一种基于单点登录的身份认证方法\n技术领域\n[0001] 本发明属于信息安全领域,尤其涉及一种基于单点登录的身份认证方法。\n背景技术\n[0002] 单点登录(Single Sign On,简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一。单点登录的定义是在多个应用系统中,用户只需要通过一次身份认证,即登录一次就可以访问所有相互信任的应用系统。\n[0003] 目前身份认证技术得到越来越广泛的应用,特别是在企业应用环境下,希望一次验证就可以登录权限范围内的所有应用系统,而不是每次登录一个系统都需要输入一次登录信息。因此,如何将单点登录应用到身份认证技术中是信息安全领域中面临的技术问题。\n发明内容\n[0004] 针对现有技术中存在的问题,本发明提出了一种基于单点登录的身份认证方法。\n[0005] 本发明采用了如下技术方案:一种基于单点登录的身份认证方法,包括:\n[0006] 步骤S1:客户端收到用户的访问请求时,判断是否缓存有该用户的一个加密的客户端身份凭证,是则根据客户端信息组成第二认证信息,并用缓存的第一会话密钥加密所述第二认证信息,客户端根据缓存的加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包并发送给认证服务器,然后执行步骤S4;否则提示用户输入登录信息,当接收到用户输入的登录信息后,用所述登录信息中的用户登录密钥加密当前时间值得到第一认证信息,根据所述登录信息中的用户名生成客户端信息,根据所述客户端信息、当前时间值、授权服务端信息和所述第一认证信息生成第一请求包发送给认证服务器,然后执行步骤S2;\n[0007] 步骤S2:认证服务器接收到第一请求包,根据从所述第一请求包中获取的第一认证信息、一个时间值、授权服务端信息和客户端信息验证客户端是否合法,若合法则生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,根据客户端信息在数据库中查找得到与之对应的用户登录密钥,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包发送给客户端,若不合法则生成包含登录失败信息的第一响应包发送给客户端;\n[0008] 步骤S3:客户端根据接收到的第一响应包中包含的数据判断是否登录成功,是则从所述第一响应包中获取加密的客户端身份凭证和加密的第一会话密钥,客户端用用户登录密钥对加密的第一会话密钥解密得到第一会话密钥,并将所述加密的客户端身份凭证和所述第一会话密钥与当前用户关联并缓存,当所述客户端身份凭证失效时所述客户端自动销毁缓存的所述加密的客户端身份凭证和所述第一会话密钥;根据客户端信息组成第二认证信息,并用第一会话密钥加密所述第二认证信息,客户端根据加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包并发送给认证服务器,然后执行步骤S4,否则返回执行步骤S1所述提示用户输入登录信息;\n[0009] 步骤S4:认证服务器接收到第二请求包,根据从所述第二请求包中获取的加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息,以及用预设密钥解密所述加密的客户端身份凭证得到的第一会话密钥、客户端信息和第一时间戳,验证所述客户端身份凭证是否有效和所述客户端是否合法,若验证所述客户端身份凭证有效且所述客户端合法则生成第二会话密钥,根据要访问的服务信息在数据库中查找到服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用服务端登录密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包发送给客户端,否则生成包含访问失败信息的第二响应包发送给客户端;\n[0010] 步骤S5:客户端接收到第二响应包,判断所述第二响应包中是否存在加密的访问票据,是则从所述第二响应包中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据加密的访问票据和加密的第三认证信息生成第三请求包并发送给要访问的服务所在的服务端,然后执行步骤S6,否则返回执行步骤S1所述提示用户输入登录信息;\n[0011] 步骤S6:服务端接收到第三请求包,根据从所述第三请求包中获取的加密的访问票据和加密的第三认证信息,以及用服务端登录密钥解密所述加密的访问票据得到的第二会话密钥、客户端信息和第二时间戳,验证所述访问票据是否有效和所述客户端是否合法,若验证所述访问票据有效且所述客户端合法则执行访问操作,根据访问操作结果生成第三响应包发送给客户端,然后执行步骤S7,否则生成包含访问失败信息的第三响应包发送给客户端,然后执行步骤S7;\n[0012] 步骤S7:客户端接收到第三响应包,并根据第三响应包中的数据显示访问结果,结束。\n[0013] 上述述客户端信息还包括客户端IP地址,所述授权服务端信息包括经认证服务器授权的服务端标识,所述要访问的服务信息包括要访问的服务名称以及服务端标识。\n[0014] 上述步骤S2具体包括:\n[0015] A1:认证服务器解析接收到的第一请求包,从中获取第一认证信息、一个时间值、客户端信息和授权服务端信息,根据客户端信息在数据库中查找得到与之对应的用户登录密钥,用得到的用户登录密钥解密所述第一认证信息得到一个时间值;\n[0016] A2:认证服务器比较从第一请求包中获取的时间值与从第一认证信息中解密出的时间值是否一致,是则执行A3,否则执行A4;\n[0017] A3:认证服务器生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包,发送给客户端;\n[0018] A4:认证服务器生成包含登录失败信息的第一响应包,发送给客户端;\n[0019] 所述第一时间戳由客户端身份凭证的生成时间和客户端身份凭证有效期组成。\n[0020] 上述步骤S4具体包括:\n[0021] B1:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;\n[0022] B2:认证服务器用预设密钥解密加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的所述第一会话密钥解密加密的第二认证信息得到客户端信息;\n[0023] B3:认证服务器判断第一时间戳是否有效,是则执行B4,否则执行B6;\n[0024] B4:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行B5,否则执行B6;\n[0025] B5:认证服务器生成第二会话密钥,根据要访问的服务信息在数据库中查找到与之对应的服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用服务端登录密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包,发送给客户端;\n[0026] B6:认证服务器生成包含访问失败信息的第二响应包,发送给客户端;\n[0027] 所述第二时间戳由访问票据的生成时间和访问票据的有效期组成。其中,所述认证服务器判断第一时间戳是否有效具体为:认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于从第一时间戳中获取的所述时间值与所述相加后得到的时间之间则第一时间戳有效,否则第一时间时间戳无效。\n[0028] 还可以是,所述认证服务器判断第一时间戳是否有效具体为:\n[0029] (1)认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则所述第一时间戳无效,否则执行(2);\n[0030] (2)认证服务器将从第一时间戳中获取的所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于所述从第一时间戳中获取的所述时间值与所述相加后得到的时间之间则第一时间戳有效,并用认证服务器内部时钟的当前时间更新预设缓存记录中的时间值,否则第一时间戳无效。\n[0031] 上述步骤S6具体包括:\n[0032] C1:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用所述服务端登录密钥解密加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密加密的第三认证信息得到客户端信息;\n[0033] C2:服务端判断所述第二时间戳是否有效,是则执行C3,否则执行C5;\n[0034] C3:服务端比较从所述访问票据中获得的客户端信息和从所述第三认证信息中获得的客户端信息是否一致,是则执行C4,否则执行C5;\n[0035] C4:服务端执行访问操作,生成包含操作结果的第三响应包发送给客户端;\n[0036] C5:服务端生成包含访问失败信息的第三响应包发送给客户端。\n[0037] 其中,所述服务端判断所述第二时间戳是否有效具体为:服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,否则第二时间戳无效。\n[0038] 还可以是,所述服务端判断所述第二时间戳是否有效具体为:\n[0039] (1)服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则所述第二时间戳无效,否则执行(2);\n[0040] (2)服务端将从第二时间戳中获取的所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,并用服务端内部时钟的当前时间更新预设缓存记录中的时间值,否则第二时间戳无效。\n[0041] 步骤S1所述提示用户输入登录信息之后还包括,判断是否在预设时间内收到用户输入的登录信息,是则执行所述生成第一请求包发送给认证服务器的操作,否则提示等待超时,等待用户重新输入访问请求。\n[0042] 优选的,所述第三请求包还包含一个双向验证的标志位,步骤S6中当所述服务端接收到所述第三请求包时还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否正确,是则向服务端返回验证成功的响应数据,否则客户端显示验证失败。\n[0043] 本发明的另一种优选的技术方案如下:一种基于单点登录的身份认证方法,包括:\n[0044] 步骤s1:客户端收到用户的访问请求时,判断是否缓存有该用户的一个加密的客户端身份凭证,是则根据该用户的用户名生成客户端信息,根据所述客户端信息生成请求获取服务端身份凭证的请求包发送给服务端,然后执行步骤s4;否则提示用户输入登录信息,当接收到用户输入的登录信息后,用所述登录信息中的用户登录密钥加密当前时间值得到第一认证信息,根据所述登录信息中的用户名生成客户端信息,根据所述客户端信息、授权服务端信息、当前时间值和所述第一认证信息生成第一请求包发送给认证服务器,然后执行步骤s2,\n[0045] 步骤s2:认证服务器接收到第一请求包,根据从所述第一请求包中获取的第一认证信息、一个时间值、授权服务端信息和客户端信息验证客户端是否合法,若合法则生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,根据客户端信息在数据库中查找得到与之对应的用户登录密钥,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包发送给客户端,若不合法则生成包含登录失败信息的第一响应包发送给客户端;\n[0046] 步骤s3:客户端根据接收到的第一响应包中包含的数据判断是否登录成功,是则从所述第一响应包中获取加密的客户端身份凭证和加密的第一会话密钥,用用户登录密钥解密所述加密的第一会话密钥得到第一会话密钥,并将所述加密的客户端身份凭证和所述第一会话密钥与当前用户关联并缓存,当所述客户端身份凭证失效时所述客户端自动销毁缓存的所述加密的客户端身份凭证和所述第一会话密钥,客户端根据客户端信息生成请求获取服务端身份凭证的请求包发送给认证服务器,然后执行步骤s4,否则返回执行步骤s1所述提示用户输入登录信息;\n[0047] 步骤s4:服务端接收到客户端发来的请求获取服务端身份凭证的请求包,判断自身是否缓存有一个加密的服务端身份凭证,是则向客户端返回包含所述加密的服务端身份凭证的请求响应包,然后执行步骤s5;否则服务端从认证服务器获取一个加密的服务端身份凭证和第三会话密钥并缓存,当所述服务端身份凭证失效时所述服务端自动销毁缓存的所述加密的服务端身份凭证和所述第三会话密钥,所述服务端向客户端返回包含加密的服务端身份凭证的请求响应包,然后执行步骤s5;\n[0048] 步骤s5:客户端接收到所述请求响应包,从中获取加密的服务端身份凭证,根据客户端信息得到第二认证信息,并用第一会话密钥加密所述第二认证信息,根据加密的第二认证信息、所述加密的客户端身份凭证、所述加密的服务端身份凭证、所述客户端信息和要访问的服务信息生成第二请求包并发送给认证服务器;\n[0049] 步骤s6:认证服务器接收到第二请求包,根据从所述第二请求包中获取的加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息,以及用预设密钥解密所述加密的客户端身份凭证得到的第一会话密钥、客户端信息和第一时间戳,以及用预设密钥解密所述服务端身份凭证得到的第三会话密钥、服务端信息和第三时间戳,验证所述客户端身份凭证和所述服务端身份凭证是否均有效以及所述客户端信息是否合法,若验证所述客户端身份凭证和所述服务端身份凭证均有效且所述客户端合法,则生成第二会话密钥,根据要访问的服务信息在数据库中查找到与之对应的服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用第三会话密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包发送给客户端,否则生成包含访问失败信息的第二响应包发送给客户端;\n[0050] 步骤s7:客户端接收到第二响应包,判断所述第二响应包中是否存在加密的访问票据,是则从所述第二响应包中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密所述加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据所述加密的访问票据和加密的第三认证信息组成第三请求包并发送给要访问的服务所在的服务端,然后执行步骤s8,否则返回执行步骤s1所述提示用户输入登录信息;\n[0051] 步骤s8:服务端接收到第三请求包,根据从所述第三请求包中获取的加密的访问票据和加密的第三认证信息,以及用第三会话密钥解密所述加密的访问票据得到的第二会话密钥、客户端信息和第二时间戳,验证所述访问票据是否有效和所述客户端是否合法,若验证所述访问票据有效且所述客户端合法则执行访问操作,根据访问操作结果生成第三响应包发送给客户端,然后执行步骤s9,否则生成包含访问失败信息的第三响应包发送给客户端,然后执行步骤s9;\n[0052] 步骤s9:客户端接收到第三响应包,并根据第三响应包中的数据显示访问结果,结束。\n[0053] 上述客户端信息还包括客户端IP地址,所述授权服务端信息包括经认证服务器授权的服务端标识,所述要访问的服务信息包括要访问的服务名称以及服务端标识,所述服务端信息包括服务端标识,所述服务端标识包括服务端IP地址。\n[0054] 上述步骤s2具体包括:\n[0055] A1:认证服务器解析接收到的第一请求包,从中获取第一认证信息、一个时间值、客户端信息和授权服务端信息,根据客户端信息在数据库中查找得到用户登录密钥,用得到的用户登录密钥解密所述第一认证信息得到一个时间值;\n[0056] A2:认证服务器比较从第一请求包中获取的时间值与从第一认证信息中解密出的时间值是否一致,是则执行A3,否则执行A4;\n[0057] A3:认证服务器生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包,发送给客户端;\n[0058] A4:认证服务器生成包含登录失败信息的第一响应包,发送给客户端;\n[0059] 所述第一时间戳由客户端身份凭证的生成时间和客户端身份凭证有效期组成。\n[0060] 上述步骤s4中所述服务端从认证服务器获取一个加密的服务端身份凭证和第三会话密钥并缓存,以及所述服务端向客户端返回包含加密的服务端身份凭证的请求响应包,具体包括:\n[0061] B1:服务端从接收到的所述请求获取服务端身份凭证的请求包中获取客户端信息,用服务端登录密钥加密预置的验证码得到验证信息,根据客户端信息、服务端信息、预置的验证码和验证信息组成第四请求包,并向认证服务器发送第四请求包;\n[0062] B2:认证服务器解析接收到的第四请求包,从中获取验证信息、预置的验证码、客户端信息和服务端信息,根据服务端信息在数据库中查找得到与之对应的服务端登录密钥,用该密钥解密验证信息得到一个验证码;\n[0063] B3:认证服务器比较从验证信息中解密出的验证码与所述预置的验证码是否一致,是则执行B4,否则执行B5;\n[0064] B4:认证服务器生成第三会话密钥,根据第三会话密钥、服务端信息和第三时间戳组成服务端身份凭证,并用预设密钥加密所述服务端身份凭证,将第三会话密钥用服务端登录密钥加密,根据加密后的第三会话密钥和加密后的服务端身份凭证生成第四响应包,然后执行B6;\n[0065] B5:认证服务器生成包含获取失败信息的第四响应包,执行B6;\n[0066] B6:认证服务器将第四响应包发送给服务端;\n[0067] B7:服务端根据第四响应包判断是否能够获取到服务端身份凭证,是则执行B8,否则执行B9;\n[0068] B8:服务端解析第四响应包从中获取加密的服务端身份凭证和加密的第三会话密钥,缓存所述加密的服务端身份凭证,用服务端登录密钥对加密的第三会话密钥解密得到第三会话密钥并缓存,服务端根据加密的服务端身份凭证生成请求响应包返回给客户端;\n[0069] B9:服务端生成包含获取失败信息的请求响应包返回给客户端;\n[0070] 所述第三时间戳由服务端身份凭证的生成时间和服务端身份凭证有效期组成。\n[0071] 上述步骤s6具体包括:\n[0072] C1:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;\n[0073] C2:认证服务器用预设密钥解密加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的第一会话密钥解密所述加密的第二认证信息得到客户端信息,认证服务器用预设密钥解密所述加密的服务端身份凭证得到第三会话密钥、服务端信息和第三时间戳;\n[0074] C3:认证服务器判断第一时间戳和第三时间戳是否都有效,是则执行C4,否则执行C6;\n[0075] C4:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行C5,否则执行C6;\n[0076] C5:认证服务器生成第二会话密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用第三会话密钥加密所述访问票据,用第一会话密钥加密所述第二会话密钥,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包发送给客户端;\n[0077] C6:认证服务器生成包含访问失败信息的第二响应包发送给客户端;\n[0078] 所述第二时间戳由访问票据的生成时间和访问票据的有效期组成。\n[0079] 上述步骤s8具体包括:\n[0080] D1:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用第三会话密钥解密加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密加密的第三认证信息得到客户端信息;\n[0081] D2:服务端判断第二时间戳是否有效,是则执行D3,否则执行D5;\n[0082] D3:服务端比较从访问票据中获得的客户端信息和从第三认证信息中获得的客户端信息是否一致,是则执行D4,否则执行D5;\n[0083] D4:服务端执行访问操作,根据访问操作结果生成第三响应包发送给客户端;\n[0084] D5:服务端生成包含访问失败结果的第三响应包发送给客户端。\n[0085] 优选的,所述第三请求包还包含一个双向验证的标志位,步骤s8中当所述服务端接收到所述第三请求包时还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否正确,是则向服务端返回验证成功的响应数据,否则客户端显示验证失败。\n[0086] 本发明采用上述技术方案达到的有益效果:通过单点登录的方式,有效避免了用户每访问一个服务(如服务端的一个应用系统)都需要输入身份验证信息而导致的操作繁琐;进一步的,本发明通过保证访问票据的安全传递及客户端与服务端之间的会话密钥的安全发布保证了单点登录方式的安全性。\n附图说明\n[0087] 图1是本发明实施例1提供的一种基于单点登录的身份认证方法流程图;\n[0088] 图2是图1中步骤3-步骤6的细化流程图;\n[0089] 图3是图1中步骤8-步骤12的细化流程图;\n[0090] 图4是图1中步骤14-步骤19的细化流程图;\n[0091] 图5是本发明实施例2提供的一种基于单点登录的身份认证方法流程图;\n[0092] 图6是图5中步骤11-步骤13的细化流程图;\n[0093] 图7是图5中步骤14-步骤19的细化流程图;\n[0094] 图8是图5中步骤21-步骤26的细化流程图。\n具体实施方式\n[0095] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和具体实施例对本发明作进一步地详细描述。\n[0096] 本发明提供的一种基于单点登录的身份认证方法,基于客户端、服务端和认证服务器组成的系统来实现,本实施例中提及的用户登录密钥是在客户端登录的用户与认证服务器之间共享的固化密钥,服务端登录密钥是服务端与认证服务器之间共享的固化密钥,预设密钥是认证服务器自身的管理密钥仅认证服务器知晓,第一会话密钥是由认证服务器生成的用于客户端与认证服务器进行通信的临时会话密钥,第二会话密钥是由认证服务器生成的用于服务端与客户端进行通信的临时会话密钥,第三会话密钥是由认证服务器生成的用于认证服务器与服务端进行通信的临时会话密钥。\n[0097] 实施例1\n[0098] 本实施例提供的一种基于单点登录的身份认证方法,包括用户第一次从客户端登录访问一个服务端的服务时,需要输入登录信息,之后经该客户端访问其他服务时无需再输入登录信息,并通过第一次登录成功后,利用认证服务器生成的第一会话密钥和第二会话密钥,建立用户访问服务过程中认证服务器、客户端、服务端三者之间数据传输的安全保护机制,进一步的还包括根据时间戳判断认证服务器颁发的客户端身份凭证和认证服务器颁发的客户端访问服务端的服务所需提供的访问票据是否有效。如图1所示,该方法包括:\n[0099] 步骤1:客户端收到用户的访问请求,判断是否缓存有该用户的客户端身份凭证,是则执行步骤9,否则执行步骤2;\n[0100] 具体的,当用户第一次登录客户端访问服务时,会在客户端缓存一个该用户的客户端身份凭证,该客户端身份凭证是有有效时间的,如果超出有效时间则客户端缓存的该用户的客户端身份凭证失效并自动销毁,从而实现在有效时间内,用户只需在客户端登录一次便可访问到多个服务,无需每访问一个服务都得输入一次登录信息。\n[0101] 步骤2:提示用户输入登录信息;\n[0102] 具体的,所述登录信息包括在客户端登录的当前用户的用户名和用户登录密钥。\n[0103] 进一步的,可以根据登录方式的不同提示用户输入相应的登录信息,例如当使用令牌设备登录时提示用户输入口令,当使用U-KEY设备(智能密钥设备)登录时提示用户输入PIN码,还可以是提示用户输入生物特征信息。\n[0104] 或者本步骤可以为:客户端从指定位置读取当前用户的登录信息,如从本地磁盘、U盘、U-Key等存储区内读取登录信息。\n[0105] 在步骤2之后还包括:判断是否在预设时间内收到用户输入的登录信息,是则执行步骤3,否则提示等待超时要求用户重新输入访问请求。\n[0106] 步骤3:客户端向认证服务器发送第一请求包要求获取客户端身份凭证;\n[0107] 步骤4:认证服务器根据第一请求包验证客户端是否合法,是则执行步骤5,否则执行步骤6;\n[0108] 步骤5:认证服务器向客户端返回包含访客户端身份凭证的第一响应包,然后执行步骤7;\n[0109] 步骤6:认证服务器向客户端返回包含登录失败信息的第一响应包,然后执行步骤\n7;\n[0110] 上述步骤3-步骤6可以具体为如图2所示过程,包括:\n[0111] 步骤101:客户端用用户登录密钥加密当前时间值得到第一认证信息,根据客户端信息、授权服务端信息、当前时间值和第一认证信息组成第一请求包,并向认证服务器发送第一请求包;\n[0112] 所述客户端信息包括在客户端登录的当前用户的用户名以及客户端IP地址。所述授权服务端信息包括经认证服务器授权的服务端标识。\n[0113] 步骤102:认证服务器解析接收到的第一请求包,从中获取第一认证信息、一个时间值、客户端信息和授权服务端信息,根据客户端信息在数据库中查找得到用户登录密钥,用该密钥解密第一认证信息得到一个时间值;\n[0114] 具体的,认证服务器的数据库中存储有多组用户登录密钥的列表,其中用户登录密钥与客户端信息中的用户名一一对应,例如用户A在客户端登录则客户端信息中包含的用户名为用户A,认证服务器在数据库中查找到的是第一用户密钥,用户B在客户端登录则客户端信息中包含的用户名为用户B,认证服务器在数据库中查找到的是第二用户密钥。\n[0115] 步骤103:认证服务器比较从第一请求包中获取的时间值与从第一认证信息中解密出的时间值是否一致,是则执行步骤104,否则执行步骤105;\n[0116] 步骤104:认证服务器生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包,发送给客户端。\n[0117] 具体的,第一时间戳由客户端身份凭证的生成时间和客户端身份凭证有效期组成,例如,客户端身份凭证的生成时间为12:00,客户端身份凭证有效期为1小时。\n[0118] 步骤105:认证服务器生成包含登录失败信息的第一响应包,发送给客户端。\n[0119] 步骤7:客户端根据第一响应包判断是否登录成功,是则执行步骤8,否则客户端显示登录失败,返回步骤2;\n[0120] 具体的,客户端可以根据第一响应包的状态码字节判断是否登录成功。优选的,第一响应包的头两个字节为状态码字节,状态码字节为第一预设值时表示登录成功,状态码字节为第二预设值时表示登录失败。\n[0121] 步骤8:客户端从第一响应包中获取客户端身份凭证,根据客户端身份凭证组成第二请求包;\n[0122] 步骤9:客户端向认证服务器发送第二请求包要求获取访问服务的访问票据;\n[0123] 步骤10:认证服务器根据第二请求包验证客户端身份是否合法,是则执行步骤11,否则执行步骤12;\n[0124] 步骤11:认证服务器向客户端返回包含访问票据的第二响应包,然后执行步骤13;\n[0125] 步骤12:认证服务器向客户端返回包含访问失败信息的第二响应包,然后执行步骤13;\n[0126] 上述步骤8-步骤12可以具体为如图3所示过程,包括:\n[0127] 步骤201:客户端解析接收到的第一响应包从中获取加密的客户端身份凭证和加密的第一会话密钥,用用户登录密钥对加密的第一会话密钥解密得到第一会话密钥并缓存;\n[0128] 步骤202:客户端根据客户端信息组成第二认证信息,并用第一会话密钥加密所述第二认证信息,客户端根据加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包,并向认证服务器发送第二请求包;\n[0129] 具体的,客户端可以将客户端信息直接作为第二认证信息,也可以将客户端信息与当前时间的组合作为第二认证信息。第二认证信息用于客户端向认证服务器证明自己的合法身份。所述客户端信息包括在客户端登录的当前用户的用户名以及客户端IP地址,所述要访问的服务信息包括要访问的服务名称以及服务端标识。\n[0130] 步骤203:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;\n[0131] 步骤204:认证服务器用预设密钥解密所述加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的第一会话密钥解密所述加密的第二认证信息得到客户端信息;\n[0132] 步骤205:认证服务器判断第一时间戳是否有效,是则执行步骤206,否则执行步骤\n208;\n[0133] 具体的,认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于从第一时间戳中获取的时间值与所述相加后得到的时间之间则第一时间戳有效,否则第一时间时间戳无效。例如:从第一时间戳中获取到的时间值为12:00,有效期为1小时,则两者相加得到的时间为13:00,若认证服务器内部时钟的当前时间为12:30则第一时间戳有效,若认证服务器内部时钟的当前时间为11:50或13:01则第一时间戳无效。本实施例中所提到的时间值还可以具体限定年月日。\n[0134] 进一步的,上述认证服务器验证第一时间戳是否有效的过程还可以为:\n[0135] 1)认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则表示所述第一时间戳已经进行过一次有效验证判断所述第一时间戳为无效,否则执行2);\n[0136] 2)将从第一时间戳中获取的所述时间值加所述有效期后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于所述从第一时间戳中获取的时间值与所述相加后得到的时间之间则第一时间戳有效,并用认证服务器内部时钟的当前时间更新预设缓存记录中的时间值,否则第一时间戳无效。\n[0137] 通过上述验证方法可以解决防重放的问题,避免客户端发送给认证服务器的第二请求包被非法截获带来的风险。\n[0138] 步骤206:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行步骤207,否则执行步骤208;\n[0139] 步骤207:认证服务器生成第二会话密钥,根据要访问的服务信息在数据库中查找到服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用服务端登录密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包,发送给客户端。\n[0140] 具体的,认证服务器的数据库中存储有多组服务端登录密钥的列表,其中服务端登录密钥与服务信息中包含的服务端标识一一对应。\n[0141] 所述第二时间戳由访问票据的生成时间和访问票据的有效期组成,例如,访问票据的生成时间为13:00,访问票据的有效期为5分钟。\n[0142] 步骤208:认证服务器生成包含访问失败信息的第二响应包,发送给客户端。\n[0143] 步骤13:客户端根据第二响应包判断是否获取成功,是则执行步骤14,否则返回步骤2;\n[0144] 具体的,客户端可以根据第二响应包中的状态码字节判断是否获取成功。进一步的,根据状态码字节的取值不同可以判断出获取失败的原因,当获取失败的原因为认证服务器无响应时,本步骤还可以包括客户端判断重试次数是否达到预设次数,是则清空重试次数返回步骤2,否则重试次数加1并返回步骤9。\n[0145] 步骤14:客户端从第二响应包中获取访问票据,根据访问票据组成第三请求包;\n[0146] 步骤15:客户端向服务端发送第三请求包请求访问应用;\n[0147] 步骤16:服务端从第三请求包中获取访问票据,验证访问票据是否有效,是则执行步骤18,否则执行步骤17;\n[0148] 步骤17:服务端向客户端返回包含访问失败信息的第三响应包,然后执行步骤20;\n[0149] 步骤18:服务端执行访问操作;\n[0150] 步骤19:服务端向客户端返回包含操作结果的第三响应包;\n[0151] 上述步骤14-步骤19可以具体为如图4所示过程,包括:\n[0152] 步骤301:客户端解析接收到的第二响应包从中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密所述加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据加密的访问票据和加密的第三认证信息生成第三请求包,并向服务端发送第三请求包;\n[0153] 步骤302:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用服务端登录密钥解密所述加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密所述加密的第三认证信息得到客户端信息;\n[0154] 步骤303:服务端判断第二时间戳是否有效,是则执行步骤304,否则执行步骤306;\n[0155] 具体的,服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,否则第二时间戳无效。例如:从第二时间戳中获取到的时间值为13:00,有效期为5分钟,则两者相加得到的时间为13:05,若认证服务器内部时钟的当前时间为13:02则第一时间戳有效,若认证服务器内部时钟的当前时间为12:50或13:06则第一时间戳无效。\n[0156] 进一步的,上述服务端验证第二时间戳是否有效的过程还可以为:\n[0157] 1)服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则表示所述第二时间戳已经进行过一次有效验证判断所述第二时间戳为无效,否则执行2);\n[0158] 2)将从第二时间戳中获取的所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,并用当前时间更新预设缓存记录中的时间值,否则第二时间戳无效。\n[0159] 通过上述验证方法可以解决防重放的问题,避免客户端发送给服务端的第三请求包被非法截获带来的风险。\n[0160] 步骤304:服务端比较从访问票据中获得的客户端信息和从第三认证信息中获得的客户端信息是否一致,是则执行步骤305,否则执行步骤306;\n[0161] 步骤305:服务端执行访问操作,生成包含访问成功结果的第三响应包,发送给客户端。\n[0162] 步骤306:服务端生成包含访问失败结果的第三响应包,发送给客户端。\n[0163] 进一步的,在步骤15中客户端发送给服务端的第三请求包还可以包含一个双向验证的标志位,如果存在该标志位,则在步骤19之前还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否是要访问的服务端的信息,是则向服务端返回验证成功的响应数据然后执行步骤19,否则客户端显示验证失败,结束。\n[0164] 步骤20:客户端根据第三响应包判断是否访问成功,是则显示访问成功,结束,否则返回步骤9。\n[0165] 具体的,客户端解析第三响应包,根据解析结果判断是否访问成功。进一步的,根据第三响应包中状态码字节的取值不同可以判断出访问失败的原因,当访问失败的原因为访问票据的时间失效时,返回步骤9重新获取访问票据;当访问失败的原因为其他原因时,本步骤还可以包括客户端判断重试次数是否达到预设次数,是则清空重试次数返回步骤2,否则重试次数加1并返回步骤9。\n[0166] 实施例2\n[0167] 本实施例提供的一种基于单点登录的身份认证方法,包括用户第一次从客户端登录访问某一个服务端的服务时,需要输入登录信息,之后经该客户端访问其他服务时无需再输入登录信息,并通过第一次登录成功后,利用认证服务器生成的第一会话密钥、第二会话密钥和第三会话密钥,建立用户访问服务过程中认证服务器、客户端、服务端三者之间数据传输的安全保护机制。如图5所示,该方法包括:\n[0168] 步骤1:客户端收到用户的访问请求,判断是否缓存有该用户的客户端身份凭证,是则执行步骤9,否则执行步骤2;\n[0169] 步骤2:客户端提示用户输入登录信息;\n[0170] 具体的,所述登录信息包括在客户端登录的当前用户的用户名和密码。\n[0171] 进一步的,可以根据登录方式的不同提示用户输入相应的登录信息,例如当使用令牌设备登录时提示用户输入口令,当使用U-KEY设备登录时提示用户输入PIN码,还可以是提示用户输入生物特征信息。\n[0172] 或者本步骤可以为:客户端从指定位置读取当前用户的登录信息,如从本地磁盘、U盘、U-Key等存储区内读取登录信息。\n[0173] 步骤3:客户端向认证服务器发送第一请求包要求获取客户端身份凭证;\n[0174] 步骤4:认证服务器根据第一请求包验证客户端是否合法,是则执行步骤5,否则执行步骤6;\n[0175] 步骤5:认证服务器向客户端返回包含访客户端身份凭证的第一响应包,然后执行步骤7;\n[0176] 步骤6:认证服务器向客户端返回包含登录失败信息的第一响应包,然后执行步骤\n7;\n[0177] 具体的,上述步骤3-步骤6的具体过程同实施例1中步骤3-步骤6一致,在此不再赘述。\n[0178] 步骤7:客户端根据第一响应包判断是否登录成功,是则执行步骤8,否则显示登录失败,返回步骤2;\n[0179] 步骤8:客户端从第一响应包中获取客户端身份凭证;\n[0180] 步骤9:客户端向服务端发送请求获取服务端身份凭证的请求包;\n[0181] 具体的,客户端根据客户端信息生成请求获取服务端身份凭证的请求包。\n[0182] 步骤10:服务端判断是否缓存有服务端身份凭证,是则执行步骤13,否则执行步骤\n11;\n[0183] 步骤11:服务端向认证服务器发送第四请求包要求获取服务端身份凭证;\n[0184] 步骤12:认证服务器向服务端返回包含服务端身份凭证的第四响应包;\n[0185] 步骤13:服务端向客户端返回包含服务端身份凭证的请求响应包;\n[0186] 上述步骤11-步骤13的具体过程如图6所示,包括:\n[0187] 步骤401:服务端从接收到的请求获取服务端身份凭证的请求包中获取客户端信息,用服务端登录密钥加密预置的验证码得到验证信息,根据客户端信息、服务端信息、预置的验证码和验证信息组成第四请求包,并向认证服务器发送第四请求包;\n[0188] 具体的,所述客户端信息包括在客户端登录的当前用户的用户名以及客户端IP地址,所述服务端信息包括服务端标识。优选的,所述服务端标识包括服务端名称和/或服务端IP地址。\n[0189] 步骤402:认证服务器解析接收到的第四请求包,从中获取验证信息、预置的验证码、客户端信息和服务端信息,根据服务端信息在数据库中查找得到服务端登录密钥,用该密钥解密验证信息得到一个验证码;\n[0190] 步骤403:认证服务器比较从验证信息中解密出的验证码与所述预置的验证码是否一致,是则执行步骤404,否则执行步骤405;\n[0191] 进一步的,还可以使用认证服务器内部时钟的当前时间来替换所述预置的验证码,具体为:认证服务器比较从验证信息中解密出时间值与从第四请求包中直接获取的时间值是否一致,是则表示服务端身份合法,否则服务端身份不合法。\n[0192] 步骤404:认证服务器生成第三会话密钥,根据第三会话密钥、服务端信息和第三时间戳组成服务端身份凭证,并用预设密钥加密所述服务端身份凭证,将第三会话密钥用服务端登录密钥加密,根据加密后的第三会话密钥和加密后的服务端身份凭证生成第四响应包,然后执行步骤406;\n[0193] 具体的,第三时间戳由服务端身份凭证的生成时间和服务端身份凭证有效期组成,例如,服务端身份凭证的生成时间为12:30,服务端身份凭证有效期为1小时。\n[0194] 步骤405:认证服务器生成包含获取失败信息的第四响应包,执行步骤406;\n[0195] 步骤406:认证服务器将第四响应包发送给服务端;\n[0196] 步骤407:服务端根据第四响应包判断是否能够获取到服务端身份凭证,是则执行步骤408,否则执行步骤409;\n[0197] 具体的,服务端根据第四响应包的状态码字节判断是否能够获取到服务端身份凭证,若状态码字节为第一预设值则可以从第四响应包中获取到服务端身份凭证,若状态码字节为第二预设值则第四响应包中不包含有服务端身份凭证。\n[0198] 步骤408:服务端解析第四响应包从中获取加密的服务端身份凭证和加密的第三会话密钥,用服务端登录密钥对加密的第三会话密钥解密得到第三会话密钥并缓存,服务端根据加密的服务端身份凭证生成请求响应包,发送给客户端。\n[0199] 步骤409:服务端生成包含获取失败信息的请求响应包,发送给客户端。\n[0200] 步骤14:客户端从请求响应包中获取服务端身份凭证;\n[0201] 步骤15:客户端根据客户端身份凭证、服务端身份凭证组成第二请求包;\n[0202] 步骤16:客户端向认证服务器发送第二请求包要求获取访问服务的访问票据;\n[0203] 步骤17:认证服务器根据第二请求包验证客户端身份是否合法,是则执行步骤18,否则执行步骤19;\n[0204] 步骤18:认证服务器向客户端返回包含访问票据的第二响应包,然后执行步骤20;\n[0205] 步骤19:认证服务器向客户端返回包含访问失败信息的第二响应包,然后执行步骤20;\n[0206] 上述步骤14-步骤19的具体过程如图7所示,包括:\n[0207] 步骤501:客户端从接收到的请求响应包中获取加密的服务端身份凭证,根据客户端信息组成第二认证信息并用第一会话密钥加密,客户端根据加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包,并向认证服务器发送第二请求包;\n[0208] 步骤502:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;\n[0209] 步骤503:认证服务器用预设密钥解密所述加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的第一会话密钥解密所述加密的第二认证信息得到客户端信息,认证服务器用预设密钥解密所述加密的服务端身份凭证得到第三会话密钥、服务端信息和第三时间戳;\n[0210] 步骤504:认证服务器判断第一时间戳和第三时间戳是否都有效,是则执行步骤\n505,否则执行步骤507;\n[0211] 具体的,认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于从第一时间戳中获取的时间值与所述相加后得到的时间之间则第一时间戳有效,否则第一时间时间戳无效。\n[0212] 同理,认证服务器根据第三时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于从第三时间戳中获取的时间值与所述相加后得到的时间之间则第三时间戳有效,否则第三时间戳无效。\n[0213] 进一步的,在验证第一时间戳和第三时间戳的有效性时还可以加入防重放的处理过程,具体原理同实施例1中所述防重放过程相同,在此不再赘述。\n[0214] 步骤505:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行步骤506,否则执行步骤507;\n[0215] 步骤506:认证服务器生成第二会话密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用第三会话密钥加密所述访问票据,用第一会话密钥加密所述第二会话密钥,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包,返回给客户端。\n[0216] 具体的,所述第二时间戳由访问票据的生成时间和访问票据的有效期组成,例如,访问票据的生成时间为13:00,访问票据的有效期为5分钟。\n[0217] 步骤507:认证服务器生成包含访问失败信息的第二响应包,返回给客户端。\n[0218] 步骤20:客户端根据第二响应包判断是否获取成功,是则执行步骤21,否则返回步骤2;\n[0219] 进一步的,根据第二响应包的状态码字节的取值不同可以判断出获取失败的原因,当获取失败的原因为认证服务器无响应时,本步骤还可以包括客户端判断重试次数是否达到预设次数,是则清空重试次数返回步骤2,否则重试次数加1并返回步骤16。\n[0220] 步骤21:客户端从第二响应包中获取访问票据,根据访问票据组成第三请求包;\n[0221] 步骤22:客户端向服务端发送第三请求包请求访问应用;\n[0222] 步骤23:服务端从第三请求包中获取访问票据,验证访问票据是否有效,是则执行步骤25,否则执行步骤24;\n[0223] 步骤24:服务端向客户端返回包含访问失败信息的第三响应包,然后执行步骤27;\n[0224] 步骤25:服务端执行访问操作;\n[0225] 步骤26:服务端向客户端返回包含操作结果的第三响应包;\n[0226] 上述步骤21-步骤26的具体过程如图8所示,包括:\n[0227] 步骤601:客户端解析接收到的第二响应包从中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密所述加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据加密的访问票据和加密的第三认证信息生成第三请求包,并向服务端发送第三请求包;\n[0228] 步骤602:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用第三会话密钥解密所述加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密所述加密的第三认证信息得到客户端信息;\n[0229] 步骤603:服务端判断第二时间戳是否有效,是则执行步骤604,否则执行步骤606;\n[0230] 具体的,服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,否则第二时间戳无效。\n[0231] 进一步的,上述服务端验证第二时间戳是否有效的过程还可以为:\n[0232] 1)服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则表示所述第二时间戳已经进行过一次有效验证判断所述第二时间戳为无效,否则执行2);\n[0233] 2)将从第二时间戳中获取的所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,并用当前时间更新预设缓存记录中的时间值,否则第二时间戳无效。\n[0234] 通过上述验证方法可以解决防重放的问题,避免客户端发送给服务端的第三请求包被非法截获带来的风险。\n[0235] 步骤604:服务端比较从访问票据中获得的客户端信息和从第三认证信息中获得的客户端信息是否一致,是则执行步骤605,否则执行步骤606;\n[0236] 步骤605:服务端执行访问操作,生成包含访问成功结果的第三响应包,返回给客户端。\n[0237] 步骤606:服务端生成包含访问失败结果的第三响应包,返回给客户端。\n[0238] 进一步的,在步骤22中客户端发送给服务端的第三请求包还可以包含一个双向验证的标志位,如果存在该标志位,则在步骤26之前还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否是要访问的服务端的信息,是则向服务端返回验证成功的响应数据然后执行步骤26,否则客户端显示验证失败,结束。\n[0239] 步骤27:客户端根据第三响应包判断是否访问成功,是则显示访问成功,结束,否则返回步骤16。\n[0240] 具体的,客户端解析第三响应包,根据解析结果判断是否访问成功。进一步的,根据第三响应包中状态码字节的取值不同可以判断出访问失败的原因,当访问失败的原因为访问票据的时间失效时,返回步骤16重新获取访问票据;当访问失败的原因为其他原因时,本步骤还可以包括客户端判断重试次数是否达到预设次数,是则清空重试次数返回步骤2,否则重试次数加1并返回步骤16。\n[0241] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
法律信息
- 2016-08-24
- 2014-04-23
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201310698156.7
申请日: 2013.12.18
- 2014-03-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2007-02-26
| | |
2
| |
2007-10-24
|
2006-04-21
| | |
3
| |
2012-08-01
|
2012-03-02
| | |
4
| |
2013-07-03
|
2011-12-31
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |