CN103685282A - 一种基于单点登录的身份认证方法 - Google Patents

一种基于单点登录的身份认证方法 Download PDF

Info

Publication number
CN103685282A
CN103685282A CN201310698156.7A CN201310698156A CN103685282A CN 103685282 A CN103685282 A CN 103685282A CN 201310698156 A CN201310698156 A CN 201310698156A CN 103685282 A CN103685282 A CN 103685282A
Authority
CN
China
Prior art keywords
client
service end
session key
information
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310698156.7A
Other languages
English (en)
Other versions
CN103685282B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201310698156.7A priority Critical patent/CN103685282B/zh
Publication of CN103685282A publication Critical patent/CN103685282A/zh
Application granted granted Critical
Publication of CN103685282B publication Critical patent/CN103685282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于单点登录的身份认证方法,属于信息安全领域。所述方法包括:用户第一次从客户端登录访问一个服务端的服务时,需要输入登录信息,之后经该客户端访问其他服务时无需再输入登录信息,并通过第一次登录成功后,利用认证服务器生成的临时会话密钥做加解密,以及设置传输过程中与访问服务有关的数据的时效,建立起用户访问服务过程中认证服务器、客户端、要访问的服务端的服务三者之间数据传输的安全保护机制。

Description

一种基于单点登录的身份认证方法
技术领域
本发明属于信息安全领域,尤其涉及一种基于单点登录的身份认证方法。
背景技术
单点登录(Single Sign On,简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一。单点登录的定义是在多个应用系统中,用户只需要通过一次身份认证,即登录一次就可以访问所有相互信任的应用系统。
目前身份认证技术得到越来越广泛的应用,特别是在企业应用环境下,希望一次验证就可以登录权限范围内的所有应用系统,而不是每次登录一个系统都需要输入一次登录信息。因此,如何将单点登录应用到身份认证技术中是信息安全领域中面临的技术问题。
发明内容
针对现有技术中存在的问题,本发明提出了一种基于单点登录的身份认证方法。
本发明采用了如下技术方案:一种基于单点登录的身份认证方法,包括:
步骤S1:客户端收到用户的访问请求时,判断是否缓存有该用户的一个加密的客户端身份凭证,是则根据客户端信息组成第二认证信息,并用缓存的第一会话密钥加密所述第二认证信息,客户端根据缓存的加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包并发送给认证服务器,然后执行步骤S4;否则提示用户输入登录信息,当接收到用户输入的登录信息后,用所述登录信息中的用户登录密钥加密当前时间值得到第一认证信息,根据所述登录信息中的用户名生成客户端信息,根据所述客户端信息、当前时间值、授权服务端信息和所述第一认证信息生成第一请求包发送给认证服务器,然后执行步骤S2;
步骤S2:认证服务器接收到第一请求包,根据从所述第一请求包中获取的第一认证信息、一个时间值、授权服务端信息和客户端信息验证客户端是否合法,若合法则生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,根据客户端信息在数据库中查找得到与之对应的用户登录密钥,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包发送给客户端,若不合法则生成包含登录失败信息的第一响应包发送给客户端;
步骤S3:客户端根据接收到的第一响应包中包含的数据判断是否登录成功,是则从所述第一响应包中获取加密的客户端身份凭证和加密的第一会话密钥,客户端用用户登录密钥对加密的第一会话密钥解密得到第一会话密钥,并将所述加密的客户端身份凭证和所述第一会话密钥与当前用户关联并缓存,当所述客户端身份凭证失效时所述客户端自动销毁缓存的所述加密的客户端身份凭证和所述第一会话密钥;根据客户端信息组成第二认证信息,并用第一会话密钥加密所述第二认证信息,客户端根据加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包并发送给认证服务器,然后执行步骤S4,否则返回执行步骤S1所述提示用户输入登录信息;
步骤S4:认证服务器接收到第二请求包,根据从所述第二请求包中获取的加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息,以及用预设密钥解密所述加密的客户端身份凭证得到的第一会话密钥、客户端信息和第一时间戳,验证所述客户端身份凭证是否有效和所述客户端是否合法,若验证所述客户端身份凭证有效且所述客户端合法则生成第二会话密钥,根据要访问的服务信息在数据库中查找到服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用服务端登录密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包发送给客户端,否则生成包含访问失败信息的第二响应包发送给客户端;
步骤S5:客户端接收到第二响应包,判断所述第二响应包中是否存在加密的访问票据,是则从所述第二响应包中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据加密的访问票据和加密的第三认证信息生成第三请求包并发送给要访问的服务所在的服务端,然后执行步骤S6,否则返回执行步骤S1所述提示用户输入登录信息;
步骤S6:服务端接收到第三请求包,根据从所述第三请求包中获取的加密的访问票据和加密的第三认证信息,以及用服务端登录密钥解密所述加密的访问票据得到的第二会话密钥、客户端信息和第二时间戳,验证所述访问票据是否有效和所述客户端是否合法,若验证所述访问票据有效且所述客户端合法则执行访问操作,根据访问操作结果生成第三响应包发送给客户端,然后执行步骤S7,否则生成包含访问失败信息的第三响应包发送给客户端,然后执行步骤S7;
步骤S7:客户端接收到第三响应包,并根据第三响应包中的数据显示访问结果,结束。
上述述客户端信息还包括客户端IP地址,所述授权服务端信息包括经认证服务器授权的服务端标识,所述要访问的服务信息包括要访问的服务名称以及服务端标识。
上述步骤S2具体包括:
A1:认证服务器解析接收到的第一请求包,从中获取第一认证信息、一个时间值、客户端信息和授权服务端信息,根据客户端信息在数据库中查找得到与之对应的用户登录密钥,用得到的用户登录密钥解密所述第一认证信息得到一个时间值;
A2:认证服务器比较从第一请求包中获取的时间值与从第一认证信息中解密出的时间值是否一致,是则执行A3,否则执行A4;
A3:认证服务器生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包,发送给客户端;
A4:认证服务器生成包含登录失败信息的第一响应包,发送给客户端;
所述第一时间戳由客户端身份凭证的生成时间和客户端身份凭证有效期组成。
上述步骤S4具体包括:
B1:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;
B2:认证服务器用预设密钥解密加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的所述第一会话密钥解密加密的第二认证信息得到客户端信息;
B3:认证服务器判断第一时间戳是否有效,是则执行B4,否则执行B6;
B4:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行B5,否则执行B6;
B5:认证服务器生成第二会话密钥,根据要访问的服务信息在数据库中查找到与之对应的服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用服务端登录密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包,发送给客户端;
B6:认证服务器生成包含访问失败信息的第二响应包,发送给客户端;
所述第二时间戳由访问票据的生成时间和访问票据的有效期组成。其中,所述认证服务器判断第一时间戳是否有效具体为:认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于从第一时间戳中获取的所述时间值与所述相加后得到的时间之间则第一时间戳有效,否则第一时间时间戳无效。
还可以是,所述认证服务器判断第一时间戳是否有效具体为:
(1)认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则所述第一时间戳无效,否则执行(2);
(2)认证服务器将从第一时间戳中获取的所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于所述从第一时间戳中获取的所述时间值与所述相加后得到的时间之间则第一时间戳有效,并用认证服务器内部时钟的当前时间更新预设缓存记录中的时间值,否则第一时间戳无效。
上述步骤S6具体包括:
C1:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用所述服务端登录密钥解密加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密加密的第三认证信息得到客户端信息;
C2:服务端判断所述第二时间戳是否有效,是则执行C3,否则执行C5;
C3:服务端比较从所述访问票据中获得的客户端信息和从所述第三认证信息中获得的客户端信息是否一致,是则执行C4,否则执行C5;
C4:服务端执行访问操作,生成包含操作结果的第三响应包发送给客户端;
C5:服务端生成包含访问失败信息的第三响应包发送给客户端。
其中,所述服务端判断所述第二时间戳是否有效具体为:服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,否则第二时间戳无效。
还可以是,所述服务端判断所述第二时间戳是否有效具体为:
(1)服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则所述第二时间戳无效,否则执行(2);
(2)服务端将从第二时间戳中获取的所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,并用服务端内部时钟的当前时间更新预设缓存记录中的时间值,否则第二时间戳无效。
步骤S1所述提示用户输入登录信息之后还包括,判断是否在预设时间内收到用户输入的登录信息,是则执行所述生成第一请求包发送给认证服务器的操作,否则提示等待超时,等待用户重新输入访问请求。
优选的,所述第三请求包还包含一个双向验证的标志位,步骤S6中当所述服务端接收到所述第三请求包时还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否正确,是则向服务端返回验证成功的响应数据,否则客户端显示验证失败。
本发明的另一种优选的技术方案如下:一种基于单点登录的身份认证方法,包括:
步骤s1:客户端收到用户的访问请求时,判断是否缓存有该用户的一个加密的客户端身份凭证,是则根据该用户的用户名生成客户端信息,根据所述客户端信息生成请求获取服务端身份凭证的请求包发送给服务端,然后执行步骤s4;否则提示用户输入登录信息,当接收到用户输入的登录信息后,用所述登录信息中的用户登录密钥加密当前时间值得到第一认证信息,根据所述登录信息中的用户名生成客户端信息,根据所述客户端信息、授权服务端信息、当前时间值和所述第一认证信息生成第一请求包发送给认证服务器,然后执行步骤s2,
步骤s2:认证服务器接收到第一请求包,根据从所述第一请求包中获取的第一认证信息、一个时间值、授权服务端信息和客户端信息验证客户端是否合法,若合法则生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,根据客户端信息在数据库中查找得到与之对应的用户登录密钥,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包发送给客户端,若不合法则生成包含登录失败信息的第一响应包发送给客户端;
步骤s3:客户端根据接收到的第一响应包中包含的数据判断是否登录成功,是则从所述第一响应包中获取加密的客户端身份凭证和加密的第一会话密钥,用用户登录密钥解密所述加密的第一会话密钥得到第一会话密钥,并将所述加密的客户端身份凭证和所述第一会话密钥与当前用户关联并缓存,当所述客户端身份凭证失效时所述客户端自动销毁缓存的所述加密的客户端身份凭证和所述第一会话密钥,客户端根据客户端信息生成请求获取服务端身份凭证的请求包发送给认证服务器,然后执行步骤s4,否则返回执行步骤s1所述提示用户输入登录信息;
步骤s4:服务端接收到客户端发来的请求获取服务端身份凭证的请求包,判断自身是否缓存有一个加密的服务端身份凭证,是则向客户端返回包含所述加密的服务端身份凭证的请求响应包,然后执行步骤s5;否则服务端从认证服务器获取一个加密的服务端身份凭证和第三会话密钥并缓存,当所述服务端身份凭证失效时所述服务端自动销毁缓存的所述加密的服务端身份凭证和所述第三会话密钥,所述服务端向客户端返回包含加密的服务端身份凭证的请求响应包,然后执行步骤s5;
步骤s5:客户端接收到所述请求响应包,从中获取加密的服务端身份凭证,根据客户端信息得到第二认证信息,并用第一会话密钥加密所述第二认证信息,根据加密的第二认证信息、所述加密的客户端身份凭证、所述加密的服务端身份凭证、所述客户端信息和要访问的服务信息生成第二请求包并发送给认证服务器;
步骤s6:认证服务器接收到第二请求包,根据从所述第二请求包中获取的加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息,以及用预设密钥解密所述加密的客户端身份凭证得到的第一会话密钥、客户端信息和第一时间戳,以及用预设密钥解密所述服务端身份凭证得到的第三会话密钥、服务端信息和第三时间戳,验证所述客户端身份凭证和所述服务端身份凭证是否均有效以及所述客户端信息是否合法,若验证所述客户端身份凭证和所述服务端身份凭证均有效且所述客户端合法,则生成第二会话密钥,根据要访问的服务信息在数据库中查找到与之对应的服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用第三会话密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包发送给客户端,否则生成包含访问失败信息的第二响应包发送给客户端;
步骤s7:客户端接收到第二响应包,判断所述第二响应包中是否存在加密的访问票据,是则从所述第二响应包中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密所述加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据所述加密的访问票据和加密的第三认证信息组成第三请求包并发送给要访问的服务所在的服务端,然后执行步骤s8,否则返回执行步骤s1所述提示用户输入登录信息;
步骤s8:服务端接收到第三请求包,根据从所述第三请求包中获取的加密的访问票据和加密的第三认证信息,以及用第三会话密钥解密所述加密的访问票据得到的第二会话密钥、客户端信息和第二时间戳,验证所述访问票据是否有效和所述客户端是否合法,若验证所述访问票据有效且所述客户端合法则执行访问操作,根据访问操作结果生成第三响应包发送给客户端,然后执行步骤s9,否则生成包含访问失败信息的第三响应包发送给客户端,然后执行步骤s9;
步骤s9:客户端接收到第三响应包,并根据第三响应包中的数据显示访问结果,结束。
上述客户端信息还包括客户端IP地址,所述授权服务端信息包括经认证服务器授权的服务端标识,所述要访问的服务信息包括要访问的服务名称以及服务端标识,所述服务端信息包括服务端标识,所述服务端标识包括服务端IP地址。
上述步骤s2具体包括:
A1:认证服务器解析接收到的第一请求包,从中获取第一认证信息、一个时间值、客户端信息和授权服务端信息,根据客户端信息在数据库中查找得到用户登录密钥,用得到的用户登录密钥解密所述第一认证信息得到一个时间值;
A2:认证服务器比较从第一请求包中获取的时间值与从第一认证信息中解密出的时间值是否一致,是则执行A3,否则执行A4;
A3:认证服务器生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包,发送给客户端;
A4:认证服务器生成包含登录失败信息的第一响应包,发送给客户端;
所述第一时间戳由客户端身份凭证的生成时间和客户端身份凭证有效期组成。
上述步骤s4中所述服务端从认证服务器获取一个加密的服务端身份凭证和第三会话密钥并缓存,以及所述服务端向客户端返回包含加密的服务端身份凭证的请求响应包,具体包括:
B1:服务端从接收到的所述请求获取服务端身份凭证的请求包中获取客户端信息,用服务端登录密钥加密预置的验证码得到验证信息,根据客户端信息、服务端信息、预置的验证码和验证信息组成第四请求包,并向认证服务器发送第四请求包;
B2:认证服务器解析接收到的第四请求包,从中获取验证信息、预置的验证码、客户端信息和服务端信息,根据服务端信息在数据库中查找得到与之对应的服务端登录密钥,用该密钥解密验证信息得到一个验证码;
B3:认证服务器比较从验证信息中解密出的验证码与所述预置的验证码是否一致,是则执行B4,否则执行B5;
B4:认证服务器生成第三会话密钥,根据第三会话密钥、服务端信息和第三时间戳组成服务端身份凭证,并用预设密钥加密所述服务端身份凭证,将第三会话密钥用服务端登录密钥加密,根据加密后的第三会话密钥和加密后的服务端身份凭证生成第四响应包,然后执行B6;
B5:认证服务器生成包含获取失败信息的第四响应包,执行B6;
B6:认证服务器将第四响应包发送给服务端;
B7:服务端根据第四响应包判断是否能够获取到服务端身份凭证,是则执行B8,否则执行B9;
B8:服务端解析第四响应包从中获取加密的服务端身份凭证和加密的第三会话密钥,缓存所述加密的服务端身份凭证,用服务端登录密钥对加密的第三会话密钥解密得到第三会话密钥并缓存,服务端根据加密的服务端身份凭证生成请求响应包返回给客户端;
B9:服务端生成包含获取失败信息的请求响应包返回给客户端;
所述第三时间戳由服务端身份凭证的生成时间和服务端身份凭证有效期组成。
上述步骤s6具体包括:
C1:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;
C2:认证服务器用预设密钥解密加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的第一会话密钥解密所述加密的第二认证信息得到客户端信息,认证服务器用预设密钥解密所述加密的服务端身份凭证得到第三会话密钥、服务端信息和第三时间戳;
C3:认证服务器判断第一时间戳和第三时间戳是否都有效,是则执行C4,否则执行C6;
C4:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行C5,否则执行C6;
C5:认证服务器生成第二会话密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用第三会话密钥加密所述访问票据,用第一会话密钥加密所述第二会话密钥,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包发送给客户端;
C6:认证服务器生成包含访问失败信息的第二响应包发送给客户端;
所述第二时间戳由访问票据的生成时间和访问票据的有效期组成。
上述步骤s8具体包括:
D1:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用第三会话密钥解密加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密加密的第三认证信息得到客户端信息;
D2:服务端判断第二时间戳是否有效,是则执行D3,否则执行D5;
D3:服务端比较从访问票据中获得的客户端信息和从第三认证信息中获得的客户端信息是否一致,是则执行D4,否则执行D5;
D4:服务端执行访问操作,根据访问操作结果生成第三响应包发送给客户端;
D5:服务端生成包含访问失败结果的第三响应包发送给客户端。
优选的,所述第三请求包还包含一个双向验证的标志位,步骤s8中当所述服务端接收到所述第三请求包时还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否正确,是则向服务端返回验证成功的响应数据,否则客户端显示验证失败。
本发明采用上述技术方案达到的有益效果:通过单点登录的方式,有效避免了用户每访问一个服务(如服务端的一个应用系统)都需要输入身份验证信息而导致的操作繁琐;进一步的,本发明通过保证访问票据的安全传递及客户端与服务端之间的会话密钥的安全发布保证了单点登录方式的安全性。
附图说明
图1是本发明实施例1提供的一种基于单点登录的身份认证方法流程图;
图2是图1中步骤3-步骤6的细化流程图;
图3是图1中步骤8-步骤12的细化流程图;
图4是图1中步骤14-步骤19的细化流程图;
图5是本发明实施例2提供的一种基于单点登录的身份认证方法流程图;
图6是图5中步骤11-步骤13的细化流程图;
图7是图5中步骤14-步骤19的细化流程图;
图8是图5中步骤21-步骤26的细化流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图和具体实施例对本发明作进一步地详细描述。
本发明提供的一种基于单点登录的身份认证方法,基于客户端、服务端和认证服务器组成的系统来实现,本实施例中提及的用户登录密钥是在客户端登录的用户与认证服务器之间共享的固化密钥,服务端登录密钥是服务端与认证服务器之间共享的固化密钥,预设密钥是认证服务器自身的管理密钥仅认证服务器知晓,第一会话密钥是由认证服务器生成的用于客户端与认证服务器进行通信的临时会话密钥,第二会话密钥是由认证服务器生成的用于服务端与客户端进行通信的临时会话密钥,第三会话密钥是由认证服务器生成的用于认证服务器与服务端进行通信的临时会话密钥。
实施例1
本实施例提供的一种基于单点登录的身份认证方法,包括用户第一次从客户端登录访问一个服务端的服务时,需要输入登录信息,之后经该客户端访问其他服务时无需再输入登录信息,并通过第一次登录成功后,利用认证服务器生成的第一会话密钥和第二会话密钥,建立用户访问服务过程中认证服务器、客户端、服务端三者之间数据传输的安全保护机制,进一步的还包括根据时间戳判断认证服务器颁发的客户端身份凭证和认证服务器颁发的客户端访问服务端的服务所需提供的访问票据是否有效。如图1所示,该方法包括:
步骤1:客户端收到用户的访问请求,判断是否缓存有该用户的客户端身份凭证,是则执行步骤9,否则执行步骤2;
具体的,当用户第一次登录客户端访问服务时,会在客户端缓存一个该用户的客户端身份凭证,该客户端身份凭证是有有效时间的,如果超出有效时间则客户端缓存的该用户的客户端身份凭证失效并自动销毁,从而实现在有效时间内,用户只需在客户端登录一次便可访问到多个服务,无需每访问一个服务都得输入一次登录信息。
步骤2:提示用户输入登录信息;
具体的,所述登录信息包括在客户端登录的当前用户的用户名和用户登录密钥。
进一步的,可以根据登录方式的不同提示用户输入相应的登录信息,例如当使用令牌设备登录时提示用户输入口令,当使用U-KEY设备(智能密钥设备)登录时提示用户输入PIN码,还可以是提示用户输入生物特征信息。
或者本步骤可以为:客户端从指定位置读取当前用户的登录信息,如从本地磁盘、U盘、U-Key等存储区内读取登录信息。
在步骤2之后还包括:判断是否在预设时间内收到用户输入的登录信息,是则执行步骤3,否则提示等待超时要求用户重新输入访问请求。
步骤3:客户端向认证服务器发送第一请求包要求获取客户端身份凭证;
步骤4:认证服务器根据第一请求包验证客户端是否合法,是则执行步骤5,否则执行步骤6;
步骤5:认证服务器向客户端返回包含访客户端身份凭证的第一响应包,然后执行步骤7;
步骤6:认证服务器向客户端返回包含登录失败信息的第一响应包,然后执行步骤7;
上述步骤3-步骤6可以具体为如图2所示过程,包括:
步骤101:客户端用用户登录密钥加密当前时间值得到第一认证信息,根据客户端信息、授权服务端信息、当前时间值和第一认证信息组成第一请求包,并向认证服务器发送第一请求包;
所述客户端信息包括在客户端登录的当前用户的用户名以及客户端IP地址。所述授权服务端信息包括经认证服务器授权的服务端标识。
步骤102:认证服务器解析接收到的第一请求包,从中获取第一认证信息、一个时间值、客户端信息和授权服务端信息,根据客户端信息在数据库中查找得到用户登录密钥,用该密钥解密第一认证信息得到一个时间值;
具体的,认证服务器的数据库中存储有多组用户登录密钥的列表,其中用户登录密钥与客户端信息中的用户名一一对应,例如用户A在客户端登录则客户端信息中包含的用户名为用户A,认证服务器在数据库中查找到的是第一用户密钥,用户B在客户端登录则客户端信息中包含的用户名为用户B,认证服务器在数据库中查找到的是第二用户密钥。
步骤103:认证服务器比较从第一请求包中获取的时间值与从第一认证信息中解密出的时间值是否一致,是则执行步骤104,否则执行步骤105;
步骤104:认证服务器生成第一会话密钥,根据第一会话密钥、客户端信息和第一时间戳组成客户端身份凭证,并用预设密钥加密所述客户端身份凭证,将第一会话密钥用用户登录密钥加密,根据加密后的第一会话密钥和加密后的客户端身份凭证生成第一响应包,发送给客户端。
具体的,第一时间戳由客户端身份凭证的生成时间和客户端身份凭证有效期组成,例如,客户端身份凭证的生成时间为12:00,客户端身份凭证有效期为1小时。
步骤105:认证服务器生成包含登录失败信息的第一响应包,发送给客户端。
步骤7:客户端根据第一响应包判断是否登录成功,是则执行步骤8,否则客户端显示登录失败,返回步骤2;
具体的,客户端可以根据第一响应包的状态码字节判断是否登录成功。优选的,第一响应包的头两个字节为状态码字节,状态码字节为第一预设值时表示登录成功,状态码字节为第二预设值时表示登录失败。
步骤8:客户端从第一响应包中获取客户端身份凭证,根据客户端身份凭证组成第二请求包;
步骤9:客户端向认证服务器发送第二请求包要求获取访问服务的访问票据;
步骤10:认证服务器根据第二请求包验证客户端身份是否合法,是则执行步骤11,否则执行步骤12;
步骤11:认证服务器向客户端返回包含访问票据的第二响应包,然后执行步骤13;
步骤12:认证服务器向客户端返回包含访问失败信息的第二响应包,然后执行步骤13;
上述步骤8-步骤12可以具体为如图3所示过程,包括:
步骤201:客户端解析接收到的第一响应包从中获取加密的客户端身份凭证和加密的第一会话密钥,用用户登录密钥对加密的第一会话密钥解密得到第一会话密钥并缓存;
步骤202:客户端根据客户端信息组成第二认证信息,并用第一会话密钥加密所述第二认证信息,客户端根据加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包,并向认证服务器发送第二请求包;
具体的,客户端可以将客户端信息直接作为第二认证信息,也可以将客户端信息与当前时间的组合作为第二认证信息。第二认证信息用于客户端向认证服务器证明自己的合法身份。所述客户端信息包括在客户端登录的当前用户的用户名以及客户端IP地址,所述要访问的服务信息包括要访问的服务名称以及服务端标识。
步骤203:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;
步骤204:认证服务器用预设密钥解密所述加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的第一会话密钥解密所述加密的第二认证信息得到客户端信息;
步骤205:认证服务器判断第一时间戳是否有效,是则执行步骤206,否则执行步骤208;
具体的,认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于从第一时间戳中获取的时间值与所述相加后得到的时间之间则第一时间戳有效,否则第一时间时间戳无效。例如:从第一时间戳中获取到的时间值为12:00,有效期为1小时,则两者相加得到的时间为13:00,若认证服务器内部时钟的当前时间为12:30则第一时间戳有效,若认证服务器内部时钟的当前时间为11:50或13:01则第一时间戳无效。本实施例中所提到的时间值还可以具体限定年月日。
进一步的,上述认证服务器验证第一时间戳是否有效的过程还可以为:
1)认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则表示所述第一时间戳已经进行过一次有效验证判断所述第一时间戳为无效,否则执行2);
2)将从第一时间戳中获取的所述时间值加所述有效期后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于所述从第一时间戳中获取的时间值与所述相加后得到的时间之间则第一时间戳有效,并用认证服务器内部时钟的当前时间更新预设缓存记录中的时间值,否则第一时间戳无效。
通过上述验证方法可以解决防重放的问题,避免客户端发送给认证服务器的第二请求包被非法截获带来的风险。
步骤206:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行步骤207,否则执行步骤208;
步骤207:认证服务器生成第二会话密钥,根据要访问的服务信息在数据库中查找到服务端登录密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用服务端登录密钥加密所述访问票据,将第二会话密钥用第一会话密钥加密,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包,发送给客户端。
具体的,认证服务器的数据库中存储有多组服务端登录密钥的列表,其中服务端登录密钥与服务信息中包含的服务端标识一一对应。
所述第二时间戳由访问票据的生成时间和访问票据的有效期组成,例如,访问票据的生成时间为13:00,访问票据的有效期为5分钟。
步骤208:认证服务器生成包含访问失败信息的第二响应包,发送给客户端。
步骤13:客户端根据第二响应包判断是否获取成功,是则执行步骤14,否则返回步骤2;
具体的,客户端可以根据第二响应包中的状态码字节判断是否获取成功。进一步的,根据状态码字节的取值不同可以判断出获取失败的原因,当获取失败的原因为认证服务器无响应时,本步骤还可以包括客户端判断重试次数是否达到预设次数,是则清空重试次数返回步骤2,否则重试次数加1并返回步骤9。
步骤14:客户端从第二响应包中获取访问票据,根据访问票据组成第三请求包;
步骤15:客户端向服务端发送第三请求包请求访问应用;
步骤16:服务端从第三请求包中获取访问票据,验证访问票据是否有效,是则执行步骤18,否则执行步骤17;
步骤17:服务端向客户端返回包含访问失败信息的第三响应包,然后执行步骤20;
步骤18:服务端执行访问操作;
步骤19:服务端向客户端返回包含操作结果的第三响应包;
上述步骤14-步骤19可以具体为如图4所示过程,包括:
步骤301:客户端解析接收到的第二响应包从中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密所述加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据加密的访问票据和加密的第三认证信息生成第三请求包,并向服务端发送第三请求包;
步骤302:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用服务端登录密钥解密所述加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密所述加密的第三认证信息得到客户端信息;
步骤303:服务端判断第二时间戳是否有效,是则执行步骤304,否则执行步骤306;
具体的,服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,否则第二时间戳无效。例如:从第二时间戳中获取到的时间值为13:00,有效期为5分钟,则两者相加得到的时间为13:05,若认证服务器内部时钟的当前时间为13:02则第一时间戳有效,若认证服务器内部时钟的当前时间为12:50或13:06则第一时间戳无效。
进一步的,上述服务端验证第二时间戳是否有效的过程还可以为:
1)服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则表示所述第二时间戳已经进行过一次有效验证判断所述第二时间戳为无效,否则执行2);
2)将从第二时间戳中获取的所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,并用当前时间更新预设缓存记录中的时间值,否则第二时间戳无效。
通过上述验证方法可以解决防重放的问题,避免客户端发送给服务端的第三请求包被非法截获带来的风险。
步骤304:服务端比较从访问票据中获得的客户端信息和从第三认证信息中获得的客户端信息是否一致,是则执行步骤305,否则执行步骤306;
步骤305:服务端执行访问操作,生成包含访问成功结果的第三响应包,发送给客户端。
步骤306:服务端生成包含访问失败结果的第三响应包,发送给客户端。
进一步的,在步骤15中客户端发送给服务端的第三请求包还可以包含一个双向验证的标志位,如果存在该标志位,则在步骤19之前还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否是要访问的服务端的信息,是则向服务端返回验证成功的响应数据然后执行步骤19,否则客户端显示验证失败,结束。
步骤20:客户端根据第三响应包判断是否访问成功,是则显示访问成功,结束,否则返回步骤9。
具体的,客户端解析第三响应包,根据解析结果判断是否访问成功。进一步的,根据第三响应包中状态码字节的取值不同可以判断出访问失败的原因,当访问失败的原因为访问票据的时间失效时,返回步骤9重新获取访问票据;当访问失败的原因为其他原因时,本步骤还可以包括客户端判断重试次数是否达到预设次数,是则清空重试次数返回步骤2,否则重试次数加1并返回步骤9。
实施例2
本实施例提供的一种基于单点登录的身份认证方法,包括用户第一次从客户端登录访问某一个服务端的服务时,需要输入登录信息,之后经该客户端访问其他服务时无需再输入登录信息,并通过第一次登录成功后,利用认证服务器生成的第一会话密钥、第二会话密钥和第三会话密钥,建立用户访问服务过程中认证服务器、客户端、服务端三者之间数据传输的安全保护机制。如图5所示,该方法包括:
步骤1:客户端收到用户的访问请求,判断是否缓存有该用户的客户端身份凭证,是则执行步骤9,否则执行步骤2;
步骤2:客户端提示用户输入登录信息;
具体的,所述登录信息包括在客户端登录的当前用户的用户名和密码。
进一步的,可以根据登录方式的不同提示用户输入相应的登录信息,例如当使用令牌设备登录时提示用户输入口令,当使用U-KEY设备登录时提示用户输入PIN码,还可以是提示用户输入生物特征信息。
或者本步骤可以为:客户端从指定位置读取当前用户的登录信息,如从本地磁盘、U盘、U-Key等存储区内读取登录信息。
步骤3:客户端向认证服务器发送第一请求包要求获取客户端身份凭证;
步骤4:认证服务器根据第一请求包验证客户端是否合法,是则执行步骤5,否则执行步骤6;
步骤5:认证服务器向客户端返回包含访客户端身份凭证的第一响应包,然后执行步骤7;
步骤6:认证服务器向客户端返回包含登录失败信息的第一响应包,然后执行步骤7;
具体的,上述步骤3-步骤6的具体过程同实施例1中步骤3-步骤6一致,在此不再赘述。
步骤7:客户端根据第一响应包判断是否登录成功,是则执行步骤8,否则显示登录失败,返回步骤2;
步骤8:客户端从第一响应包中获取客户端身份凭证;
步骤9:客户端向服务端发送请求获取服务端身份凭证的请求包;
具体的,客户端根据客户端信息生成请求获取服务端身份凭证的请求包。
步骤10:服务端判断是否缓存有服务端身份凭证,是则执行步骤13,否则执行步骤11;
步骤11:服务端向认证服务器发送第四请求包要求获取服务端身份凭证;
步骤12:认证服务器向服务端返回包含服务端身份凭证的第四响应包;
步骤13:服务端向客户端返回包含服务端身份凭证的请求响应包;
上述步骤11-步骤13的具体过程如图6所示,包括:
步骤401:服务端从接收到的请求获取服务端身份凭证的请求包中获取客户端信息,用服务端登录密钥加密预置的验证码得到验证信息,根据客户端信息、服务端信息、预置的验证码和验证信息组成第四请求包,并向认证服务器发送第四请求包;
具体的,所述客户端信息包括在客户端登录的当前用户的用户名以及客户端IP地址,所述服务端信息包括服务端标识。优选的,所述服务端标识包括服务端名称和/或服务端IP地址。
步骤402:认证服务器解析接收到的第四请求包,从中获取验证信息、预置的验证码、客户端信息和服务端信息,根据服务端信息在数据库中查找得到服务端登录密钥,用该密钥解密验证信息得到一个验证码;
步骤403:认证服务器比较从验证信息中解密出的验证码与所述预置的验证码是否一致,是则执行步骤404,否则执行步骤405;
进一步的,还可以使用认证服务器内部时钟的当前时间来替换所述预置的验证码,具体为:认证服务器比较从验证信息中解密出时间值与从第四请求包中直接获取的时间值是否一致,是则表示服务端身份合法,否则服务端身份不合法。
步骤404:认证服务器生成第三会话密钥,根据第三会话密钥、服务端信息和第三时间戳组成服务端身份凭证,并用预设密钥加密所述服务端身份凭证,将第三会话密钥用服务端登录密钥加密,根据加密后的第三会话密钥和加密后的服务端身份凭证生成第四响应包,然后执行步骤406;
具体的,第三时间戳由服务端身份凭证的生成时间和服务端身份凭证有效期组成,例如,服务端身份凭证的生成时间为12:30,服务端身份凭证有效期为1小时。
步骤405:认证服务器生成包含获取失败信息的第四响应包,执行步骤406;
步骤406:认证服务器将第四响应包发送给服务端;
步骤407:服务端根据第四响应包判断是否能够获取到服务端身份凭证,是则执行步骤408,否则执行步骤409;
具体的,服务端根据第四响应包的状态码字节判断是否能够获取到服务端身份凭证,若状态码字节为第一预设值则可以从第四响应包中获取到服务端身份凭证,若状态码字节为第二预设值则第四响应包中不包含有服务端身份凭证。
步骤408:服务端解析第四响应包从中获取加密的服务端身份凭证和加密的第三会话密钥,用服务端登录密钥对加密的第三会话密钥解密得到第三会话密钥并缓存,服务端根据加密的服务端身份凭证生成请求响应包,发送给客户端。
步骤409:服务端生成包含获取失败信息的请求响应包,发送给客户端。
步骤14:客户端从请求响应包中获取服务端身份凭证;
步骤15:客户端根据客户端身份凭证、服务端身份凭证组成第二请求包;
步骤16:客户端向认证服务器发送第二请求包要求获取访问服务的访问票据;
步骤17:认证服务器根据第二请求包验证客户端身份是否合法,是则执行步骤18,否则执行步骤19;
步骤18:认证服务器向客户端返回包含访问票据的第二响应包,然后执行步骤20;
步骤19:认证服务器向客户端返回包含访问失败信息的第二响应包,然后执行步骤20;
上述步骤14-步骤19的具体过程如图7所示,包括:
步骤501:客户端从接收到的请求响应包中获取加密的服务端身份凭证,根据客户端信息组成第二认证信息并用第一会话密钥加密,客户端根据加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息组成第二请求包,并向认证服务器发送第二请求包;
步骤502:认证服务器解析接收到的第二请求包从中获取加密的客户端身份凭证、加密的服务端身份凭证、加密的第二认证信息、客户端信息和要访问的服务信息;
步骤503:认证服务器用预设密钥解密所述加密的客户端身份凭证得到第一会话密钥、客户端信息和第一时间戳,用得到的第一会话密钥解密所述加密的第二认证信息得到客户端信息,认证服务器用预设密钥解密所述加密的服务端身份凭证得到第三会话密钥、服务端信息和第三时间戳;
步骤504:认证服务器判断第一时间戳和第三时间戳是否都有效,是则执行步骤505,否则执行步骤507;
具体的,认证服务器根据第一时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于从第一时间戳中获取的时间值与所述相加后得到的时间之间则第一时间戳有效,否则第一时间时间戳无效。
同理,认证服务器根据第三时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与认证服务器内部时钟的当前时间进行比较,如果认证服务器内部时钟的当前时间介于从第三时间戳中获取的时间值与所述相加后得到的时间之间则第三时间戳有效,否则第三时间戳无效。
进一步的,在验证第一时间戳和第三时间戳的有效性时还可以加入防重放的处理过程,具体原理同实施例1中所述防重放过程相同,在此不再赘述。
步骤505:认证服务器比较从客户端身份凭证中获得的客户端信息和从第二认证信息中获得的客户端信息是否一致,是则执行步骤506,否则执行步骤507;
步骤506:认证服务器生成第二会话密钥,根据第二会话密钥、客户端信息和第二时间戳组成访问票据,并用第三会话密钥加密所述访问票据,用第一会话密钥加密所述第二会话密钥,根据加密后的第二会话密钥和加密后的访问票据生成第二响应包,返回给客户端。
具体的,所述第二时间戳由访问票据的生成时间和访问票据的有效期组成,例如,访问票据的生成时间为13:00,访问票据的有效期为5分钟。
步骤507:认证服务器生成包含访问失败信息的第二响应包,返回给客户端。
步骤20:客户端根据第二响应包判断是否获取成功,是则执行步骤21,否则返回步骤2;
进一步的,根据第二响应包的状态码字节的取值不同可以判断出获取失败的原因,当获取失败的原因为认证服务器无响应时,本步骤还可以包括客户端判断重试次数是否达到预设次数,是则清空重试次数返回步骤2,否则重试次数加1并返回步骤16。
步骤21:客户端从第二响应包中获取访问票据,根据访问票据组成第三请求包;
步骤22:客户端向服务端发送第三请求包请求访问应用;
步骤23:服务端从第三请求包中获取访问票据,验证访问票据是否有效,是则执行步骤25,否则执行步骤24;
步骤24:服务端向客户端返回包含访问失败信息的第三响应包,然后执行步骤27;
步骤25:服务端执行访问操作;
步骤26:服务端向客户端返回包含操作结果的第三响应包;
上述步骤21-步骤26的具体过程如图8所示,包括:
步骤601:客户端解析接收到的第二响应包从中获取加密的第二会话密钥和加密的访问票据,用第一会话密钥解密所述加密的第二会话密钥得到第二会话密钥,根据客户端信息组成第三认证信息并用第二会话密钥加密,根据加密的访问票据和加密的第三认证信息生成第三请求包,并向服务端发送第三请求包;
步骤602:服务端解析接收到的第三请求包从中获取加密的访问票据和加密的第三认证信息,用第三会话密钥解密所述加密的访问票据得到第二会话密钥、客户端信息和第二时间戳,用得到的第二会话密钥解密所述加密的第三认证信息得到客户端信息;
步骤603:服务端判断第二时间戳是否有效,是则执行步骤604,否则执行步骤606;
具体的,服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,将所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,否则第二时间戳无效。
进一步的,上述服务端验证第二时间戳是否有效的过程还可以为:
1)服务端根据第二时间戳的组成结构从中获取到两个数值,其中一个是时间值,另一个是有效期,判断所述时间值是否与预设缓存记录中的时间值一致,是则表示所述第二时间戳已经进行过一次有效验证判断所述第二时间戳为无效,否则执行2);
2)将从第二时间戳中获取的所述时间值与所述有效期相加后得到的时间与服务端内部时钟的当前时间进行比较,如果服务端内部时钟的当前时间介于所述从第二时间戳中获取的时间值与所述相加后得到的时间之间则第二时间戳有效,并用当前时间更新预设缓存记录中的时间值,否则第二时间戳无效。
通过上述验证方法可以解决防重放的问题,避免客户端发送给服务端的第三请求包被非法截获带来的风险。
步骤604:服务端比较从访问票据中获得的客户端信息和从第三认证信息中获得的客户端信息是否一致,是则执行步骤605,否则执行步骤606;
步骤605:服务端执行访问操作,生成包含访问成功结果的第三响应包,返回给客户端。
步骤606:服务端生成包含访问失败结果的第三响应包,返回给客户端。
进一步的,在步骤22中客户端发送给服务端的第三请求包还可以包含一个双向验证的标志位,如果存在该标志位,则在步骤26之前还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否是要访问的服务端的信息,是则向服务端返回验证成功的响应数据然后执行步骤26,否则客户端显示验证失败,结束。
步骤27:客户端根据第三响应包判断是否访问成功,是则显示访问成功,结束,否则返回步骤16。
具体的,客户端解析第三响应包,根据解析结果判断是否访问成功。进一步的,根据第三响应包中状态码字节的取值不同可以判断出访问失败的原因,当访问失败的原因为访问票据的时间失效时,返回步骤16重新获取访问票据;当访问失败的原因为其他原因时,本步骤还可以包括客户端判断重试次数是否达到预设次数,是则清空重试次数返回步骤2,否则重试次数加1并返回步骤16。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (18)

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中当所述服务端接收到所述第三请求包时还包括:服务端根据服务端信息生成验证请求并用第二会话密钥加密,服务端将加密后的验证请求发送给客户端,客户端接收到后用第二会话密钥解密得到服务端信息,验证解密得到的服务端信息是否正确,是则向服务端返回验证成功的响应数据,否则客户端显示验证失败。
CN201310698156.7A 2013-12-18 2013-12-18 一种基于单点登录的身份认证方法 Active CN103685282B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310698156.7A CN103685282B (zh) 2013-12-18 2013-12-18 一种基于单点登录的身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310698156.7A CN103685282B (zh) 2013-12-18 2013-12-18 一种基于单点登录的身份认证方法

Publications (2)

Publication Number Publication Date
CN103685282A true CN103685282A (zh) 2014-03-26
CN103685282B CN103685282B (zh) 2016-08-24

Family

ID=50321596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310698156.7A Active CN103685282B (zh) 2013-12-18 2013-12-18 一种基于单点登录的身份认证方法

Country Status (1)

Country Link
CN (1) CN103685282B (zh)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092679A (zh) * 2014-07-02 2014-10-08 百度在线网络技术(北京)有限公司 登录第三方站点的方法和服务器
CN104168262A (zh) * 2014-07-02 2014-11-26 百度在线网络技术(北京)有限公司 登录第三方站点的方法和服务器
CN104468605A (zh) * 2014-12-22 2015-03-25 北京极科极客科技有限公司 一种分布式安全认证方法
CN104463584A (zh) * 2014-11-13 2015-03-25 广东优迈信息通信股份有限公司 实现移动端App安全支付的方法
CN104935435A (zh) * 2015-04-29 2015-09-23 努比亚技术有限公司 登录方法、终端及应用服务器
CN105072108A (zh) * 2015-08-04 2015-11-18 小米科技有限责任公司 用户信息的传输方法、装置及系统
CN105100107A (zh) * 2015-08-17 2015-11-25 深圳市深信服电子科技有限公司 代理客户端账号认证的方法和装置
CN105101199A (zh) * 2014-05-21 2015-11-25 西安中兴新软件有限责任公司 一种单点登录认证方法、设备及系统
CN105207782A (zh) * 2015-11-18 2015-12-30 上海爱数软件有限公司 一种基于restful架构的身份验证方法
CN106533685A (zh) * 2015-09-09 2017-03-22 腾讯科技(深圳)有限公司 身份认证方法、装置及系统
CN106559383A (zh) * 2015-09-25 2017-04-05 北京国双科技有限公司 单点登录的登录方法及装置
CN107154935A (zh) * 2017-04-26 2017-09-12 腾讯科技(深圳)有限公司 业务请求方法及装置
CN107566323A (zh) * 2016-06-30 2018-01-09 北京金山安全软件有限公司 一种应用系统登录方法和装置
CN108111473A (zh) * 2016-11-24 2018-06-01 腾讯科技(深圳)有限公司 混合云统一管理方法、装置和系统
CN108322416A (zh) * 2017-01-16 2018-07-24 腾讯科技(深圳)有限公司 一种安全认证实现方法、装置及系统
CN108600176A (zh) * 2018-03-27 2018-09-28 中南大学 一种智能终端安全认证方法、设备、服务器及系统
CN108632241A (zh) * 2018-03-07 2018-10-09 湖南小步科技有限公司 一种多应用系统统一登录方法和装置
CN108629039A (zh) * 2018-05-11 2018-10-09 北京汉能光伏投资有限公司 一种数据处理方法及装置
CN108964885A (zh) * 2017-05-27 2018-12-07 华为技术有限公司 鉴权方法、装置、系统和存储介质
CN109155783A (zh) * 2016-05-26 2019-01-04 维萨国际服务协会 可靠的时间戳凭证
CN109190341A (zh) * 2018-07-26 2019-01-11 平安科技(深圳)有限公司 一种登录管理系统和方法
CN110213223A (zh) * 2019-03-21 2019-09-06 腾讯科技(深圳)有限公司 业务管理方法、装置、系统、计算机设备和存储介质
CN110278176A (zh) * 2018-03-14 2019-09-24 腾讯科技(深圳)有限公司 登录验证方法及登录服务器
CN110753018A (zh) * 2018-07-23 2020-02-04 北京国双科技有限公司 登录认证方法及系统
CN111107063A (zh) * 2019-12-04 2020-05-05 海南新软软件有限公司 一种登录方法及装置
CN111475523A (zh) * 2020-04-10 2020-07-31 得到(天津)文化传播有限公司 请求响应方法、装置、设备和存储介质
CN111630811A (zh) * 2017-10-19 2020-09-04 奥特海威公司 生成和寄存用于多点认证的密钥的系统和方法
CN112328991A (zh) * 2020-11-06 2021-02-05 广州朗国电子科技有限公司 基于人脸识别的跨系统单点登录方法及存储介质
CN112434339A (zh) * 2020-12-01 2021-03-02 北京五八信息技术有限公司 一种信息处理方法及装置
CN113162921A (zh) * 2021-04-07 2021-07-23 武汉光庭信息技术股份有限公司 一种智能座舱的通讯安全保护方法、服务端及系统
US11088903B2 (en) 2016-11-24 2021-08-10 Tencent Technology (Shenzhen) Company Limited Hybrid cloud network configuration management
CN113343191A (zh) * 2021-08-04 2021-09-03 广东南方电信规划咨询设计院有限公司 一种网络信息的安全保护方法及系统
CN113806704A (zh) * 2021-09-17 2021-12-17 中国人民解放军国防科技大学 一种基于c/s架构数据同步加解密鉴权方法及系统
CN114866340A (zh) * 2022-06-16 2022-08-05 中国工商银行股份有限公司 身份验证方法及装置
CN115242469A (zh) * 2022-07-07 2022-10-25 安天科技集团股份有限公司 安全访问api、安全通信的方法、电子设备及存储介质
CN116647413A (zh) * 2023-07-26 2023-08-25 深圳竹云科技股份有限公司 应用登录方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060520A (zh) * 2006-04-21 2007-10-24 盛趣信息技术(上海)有限公司 基于Token的SSO认证系统
JP4357537B2 (ja) * 2007-02-26 2009-11-04 富士通株式会社 配信経路制御装置
US20090300105A1 (en) * 2008-06-02 2009-12-03 Asustek Computer Inc. System and method for communication connection in network architecture
CN102624720A (zh) * 2012-03-02 2012-08-01 华为技术有限公司 一种身份认证的方法、装置和系统
US20120284506A1 (en) * 2010-04-30 2012-11-08 T-Central, Inc. Methods and apparatus for preventing crimeware attacks
CN103188248A (zh) * 2011-12-31 2013-07-03 卓望数码技术(深圳)有限公司 基于单点登录的身份认证系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101060520A (zh) * 2006-04-21 2007-10-24 盛趣信息技术(上海)有限公司 基于Token的SSO认证系统
JP4357537B2 (ja) * 2007-02-26 2009-11-04 富士通株式会社 配信経路制御装置
US20090300105A1 (en) * 2008-06-02 2009-12-03 Asustek Computer Inc. System and method for communication connection in network architecture
US20120284506A1 (en) * 2010-04-30 2012-11-08 T-Central, Inc. Methods and apparatus for preventing crimeware attacks
CN103188248A (zh) * 2011-12-31 2013-07-03 卓望数码技术(深圳)有限公司 基于单点登录的身份认证系统及方法
CN102624720A (zh) * 2012-03-02 2012-08-01 华为技术有限公司 一种身份认证的方法、装置和系统

Cited By (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105101199A (zh) * 2014-05-21 2015-11-25 西安中兴新软件有限责任公司 一种单点登录认证方法、设备及系统
WO2015176500A1 (zh) * 2014-05-21 2015-11-26 西安中兴新软件有限责任公司 单点登录认证方法、设备、系统及计算机存储介质
WO2016000425A1 (zh) * 2014-07-02 2016-01-07 百度在线网络技术(北京)有限公司 登录第三方站点的方法和服务器
CN104168262A (zh) * 2014-07-02 2014-11-26 百度在线网络技术(北京)有限公司 登录第三方站点的方法和服务器
CN104092679B (zh) * 2014-07-02 2017-10-03 百度在线网络技术(北京)有限公司 登录第三方站点的方法和服务器
CN104092679A (zh) * 2014-07-02 2014-10-08 百度在线网络技术(北京)有限公司 登录第三方站点的方法和服务器
CN104168262B (zh) * 2014-07-02 2017-08-18 百度在线网络技术(北京)有限公司 登录第三方站点的方法和服务器
CN104463584A (zh) * 2014-11-13 2015-03-25 广东优迈信息通信股份有限公司 实现移动端App安全支付的方法
CN104463584B (zh) * 2014-11-13 2018-08-24 广东网金控股股份有限公司 实现移动端App安全支付的方法
CN104468605A (zh) * 2014-12-22 2015-03-25 北京极科极客科技有限公司 一种分布式安全认证方法
CN104935435A (zh) * 2015-04-29 2015-09-23 努比亚技术有限公司 登录方法、终端及应用服务器
CN105072108A (zh) * 2015-08-04 2015-11-18 小米科技有限责任公司 用户信息的传输方法、装置及系统
CN105072108B (zh) * 2015-08-04 2018-10-19 小米科技有限责任公司 用户信息的传输方法、装置及系统
CN105100107A (zh) * 2015-08-17 2015-11-25 深圳市深信服电子科技有限公司 代理客户端账号认证的方法和装置
CN105100107B (zh) * 2015-08-17 2018-10-12 深信服科技股份有限公司 代理客户端账号认证的方法和装置
CN106533685A (zh) * 2015-09-09 2017-03-22 腾讯科技(深圳)有限公司 身份认证方法、装置及系统
CN106533685B (zh) * 2015-09-09 2020-12-08 腾讯科技(深圳)有限公司 身份认证方法、装置及系统
CN106559383A (zh) * 2015-09-25 2017-04-05 北京国双科技有限公司 单点登录的登录方法及装置
CN105207782B (zh) * 2015-11-18 2018-09-25 上海爱数信息技术股份有限公司 一种基于restful架构的身份验证方法
CN105207782A (zh) * 2015-11-18 2015-12-30 上海爱数软件有限公司 一种基于restful架构的身份验证方法
CN109155783A (zh) * 2016-05-26 2019-01-04 维萨国际服务协会 可靠的时间戳凭证
CN109155783B (zh) * 2016-05-26 2022-02-25 维萨国际服务协会 可靠的时间戳凭证
CN107566323B (zh) * 2016-06-30 2020-11-20 北京金山安全软件有限公司 一种应用系统登录方法和装置
CN107566323A (zh) * 2016-06-30 2018-01-09 北京金山安全软件有限公司 一种应用系统登录方法和装置
US11088903B2 (en) 2016-11-24 2021-08-10 Tencent Technology (Shenzhen) Company Limited Hybrid cloud network configuration management
CN108111473B (zh) * 2016-11-24 2020-11-13 腾讯科技(深圳)有限公司 混合云统一管理方法、装置和系统
CN108111473A (zh) * 2016-11-24 2018-06-01 腾讯科技(深圳)有限公司 混合云统一管理方法、装置和系统
CN108322416B (zh) * 2017-01-16 2022-04-15 腾讯科技(深圳)有限公司 一种安全认证实现方法、装置及系统
CN108322416A (zh) * 2017-01-16 2018-07-24 腾讯科技(深圳)有限公司 一种安全认证实现方法、装置及系统
CN107154935B (zh) * 2017-04-26 2020-09-11 腾讯科技(深圳)有限公司 业务请求方法及装置
CN107154935A (zh) * 2017-04-26 2017-09-12 腾讯科技(深圳)有限公司 业务请求方法及装置
US11336631B2 (en) 2017-05-27 2022-05-17 Huawei Technologies Co., Ltd. Authorization method
CN108964885A (zh) * 2017-05-27 2018-12-07 华为技术有限公司 鉴权方法、装置、系统和存储介质
CN111630811A (zh) * 2017-10-19 2020-09-04 奥特海威公司 生成和寄存用于多点认证的密钥的系统和方法
CN108632241A (zh) * 2018-03-07 2018-10-09 湖南小步科技有限公司 一种多应用系统统一登录方法和装置
CN108632241B (zh) * 2018-03-07 2021-05-25 湖南小步科技有限公司 一种多应用系统统一登录方法和装置
CN110278176A (zh) * 2018-03-14 2019-09-24 腾讯科技(深圳)有限公司 登录验证方法及登录服务器
CN110278176B (zh) * 2018-03-14 2021-09-14 腾讯科技(深圳)有限公司 登录验证方法及登录服务器
CN108600176A (zh) * 2018-03-27 2018-09-28 中南大学 一种智能终端安全认证方法、设备、服务器及系统
CN108629039A (zh) * 2018-05-11 2018-10-09 北京汉能光伏投资有限公司 一种数据处理方法及装置
CN108629039B (zh) * 2018-05-11 2021-02-19 北京汉能光伏投资有限公司 一种数据处理方法及装置
CN110753018A (zh) * 2018-07-23 2020-02-04 北京国双科技有限公司 登录认证方法及系统
CN109190341A (zh) * 2018-07-26 2019-01-11 平安科技(深圳)有限公司 一种登录管理系统和方法
CN109190341B (zh) * 2018-07-26 2024-03-15 平安科技(深圳)有限公司 一种登录管理系统和方法
CN110213223B (zh) * 2019-03-21 2022-03-01 腾讯科技(深圳)有限公司 业务管理方法、装置、系统、计算机设备和存储介质
CN110213223A (zh) * 2019-03-21 2019-09-06 腾讯科技(深圳)有限公司 业务管理方法、装置、系统、计算机设备和存储介质
CN111107063A (zh) * 2019-12-04 2020-05-05 海南新软软件有限公司 一种登录方法及装置
CN111107063B (zh) * 2019-12-04 2022-04-22 海南新软软件有限公司 一种登录方法及装置
CN111475523A (zh) * 2020-04-10 2020-07-31 得到(天津)文化传播有限公司 请求响应方法、装置、设备和存储介质
CN112328991A (zh) * 2020-11-06 2021-02-05 广州朗国电子科技有限公司 基于人脸识别的跨系统单点登录方法及存储介质
CN112434339A (zh) * 2020-12-01 2021-03-02 北京五八信息技术有限公司 一种信息处理方法及装置
CN113162921A (zh) * 2021-04-07 2021-07-23 武汉光庭信息技术股份有限公司 一种智能座舱的通讯安全保护方法、服务端及系统
CN113343191A (zh) * 2021-08-04 2021-09-03 广东南方电信规划咨询设计院有限公司 一种网络信息的安全保护方法及系统
CN113343191B (zh) * 2021-08-04 2022-05-27 广东南方电信规划咨询设计院有限公司 一种网络信息的安全保护方法及系统
CN113806704A (zh) * 2021-09-17 2021-12-17 中国人民解放军国防科技大学 一种基于c/s架构数据同步加解密鉴权方法及系统
CN114866340A (zh) * 2022-06-16 2022-08-05 中国工商银行股份有限公司 身份验证方法及装置
CN115242469A (zh) * 2022-07-07 2022-10-25 安天科技集团股份有限公司 安全访问api、安全通信的方法、电子设备及存储介质
CN116647413A (zh) * 2023-07-26 2023-08-25 深圳竹云科技股份有限公司 应用登录方法、装置、计算机设备和存储介质
CN116647413B (zh) * 2023-07-26 2023-10-13 深圳竹云科技股份有限公司 应用登录方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN103685282B (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
CN103685282A (zh) 一种基于单点登录的身份认证方法
CN101507233B (zh) 用于提供对于应用程序和基于互联网的服务的可信单点登录访问的方法和设备
CN102217277B (zh) 基于令牌进行认证的方法和系统
EP2020797B1 (en) Client-server Opaque token passing apparatus and method
CN101192926B (zh) 帐号保护的方法及系统
US20130145447A1 (en) Cloud-based data backup and sync with secure local storage of access keys
CN111615105B (zh) 信息提供、获取方法、装置及终端
CN102377788B (zh) 单点登录系统及其单点登录方法
CN109510802B (zh) 鉴权方法、装置及系统
EP2251810B1 (en) Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method
CN105430014B (zh) 一种单点登录方法及其系统
CN102685086A (zh) 一种文件访问方法和系统
CN108809633B (zh) 一种身份认证的方法、装置及系统
CN111030814A (zh) 秘钥协商方法及装置
EP3513539B1 (en) User sign-in and authentication without passwords
JP5452192B2 (ja) アクセス制御システム、アクセス制御方法およびプログラム
KR102012262B1 (ko) 키 관리 방법 및 fido 소프트웨어 인증장치
CN110891065A (zh) 一种基于Token的用户身份辅助加密的方法
CN116244750A (zh) 一种涉密信息维护方法、装置、设备及存储介质
KR101510290B1 (ko) Vpn에서 이중 인증을 구현하기 위한 장치 및 이의 동작 방법
CN102025748A (zh) 获取Kerberos认证方式的用户名的方法、装置和系统
CN108881153B (zh) 用于登入的认证方法
US8307209B2 (en) Universal authentication method
CA2553081A1 (en) A method for binding a security element to a mobile device
CN102629928A (zh) 一种基于公共密钥的互联网彩票系统安全链路实施方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant