客户端证书认证方法、服务器、客户端及系统的利记博彩app

文档序号:9219743阅读:875来源:国知局
客户端证书认证方法、服务器、客户端及系统的利记博彩app
【技术领域】
[0001]本发明涉及通信技术领域,特别涉及一种客户端证书认证方法、服务器、客户端及系统。
【背景技术】
[0002]随着互联网技术的快速发展,互联网应用中身份认证技术也更加多样化。其中,数字证书认证是一种安全性能较高的身份认证技术,数字证书认证通过数字证书(License)来完成客户端身份的认证,License是由权威机构一证书授权(Certificate Authority,简称“CA”)中心发行的。
[0003]具体地,数字证书认证过程如下:CA中心制作License,随客户端或产品一起发布,并将License授权相关信息保存在数据库中;在服务使用前,服务使用者安装客户端及License ;客户端向服务器发出认证请求,该认证请求中包括License信息;服务器根据License信息向CA中心查询验证客户端身份;服务器将认证结果返回给客户端。
[0004]发明人发现现有技术至少存在以下问题:
[0005]如果CA中心的查询服务不可用、CA中心故障或者服务器与CA中心间网络故障,会因为无法进行查询验证,而影响客户端认证,进而导致服务无法正常使用。

【发明内容】

[0006]为了解决现有技术中因CA中心的查询服务不可用、CA中心故障或者服务器与CA中心间网络故障,而导致服务无法正常使用的问题,本发明实施例提供了一种客户端证书认证方法、服务器、客户端及系统。所述技术方案如下:
[0007]第一方面,本发明实施例提供了一种客户端证书认证方法,由服务器执行,所述方法包括:
[0008]接收客户端发送的认证请求,所述认证请求包括:认证参数、服务过期时间、客户端当前时间和第一验证码,所述认证参数包括客户名称、序列号、业务标识、型号和版本中的至少一个,所述第一验证码是所述客户端根据第一密钥和所述客户端当前时间生成的,所述第一密钥是由证书授权中心根据所述认证参数和所述服务过期时间生成的;
[0009]获取所述服务器收到所述认证请求时的系统时间;
[0010]采用所述服务过期时间和所述认证参数生成第二密钥,生成所述第二密钥采用的算法与所述证书授权中心生成所述第一密钥的算法相同;
[0011]采用所述第二密钥和所述客户端当前时间生成第二验证码,生成所述第二验证码采用的算法与所述客户端生成所述第一验证码的算法相同;
[0012]比较所述第二验证码与所述第一验证码是否相同;
[0013]如果所述第二验证码与所述第一验证码相同,根据所述第二密钥和所述系统时间生成第三验证码,生成所述第三验证码采用的算法与所述客户端生成所述第一验证码的算法相同;
[0014]比较所述第三验证码与所述第一验证码是否相同;
[0015]如果所述第三验证码与所述第一验证码相同,判定所述客户端认证结果为成功。
[0016]结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述第二密钥和所述客户端当前时间生成第二验证码,包括:
[0017]判断所述客户端当前时间所在的时间窗口 ;
[0018]确定所述时间窗口内的第一时间T ;
[0019]采用code=genCode (Key, T)计算所述第二验证码,其中,code为所述第二验证码,所述genCode算法为验证码生成算法,Key为所述第二密钥。
[0020]结合第一方面,在第一方面的第二种可能的实现方式中,在所述根据所述服务过期时间和所述认证参数生成第二密钥之前,还包括:
[0021]确定出所述系统时间未超过所述服务过期时间。
[0022]结合第一方面,在第一方面的第三种可能的实现方式中,如果所述第三验证码与所述第一验证码不相同,所述方法还包括:
[0023]以所述系统时间所在的时间窗口为基准,在预定范围内移动所述时间窗口 ;
[0024]采用所述第二密钥和移动后的时间窗口生成第四验证码;
[0025]比较所述第四验证码与所述第一验证码是否相同;
[0026]如果所述第四验证码与所述第一验证码相同,判断所述客户端认证结果为成功。
[0027]结合第一方面,在第一方面的第四种可能的实现方式中,所述方法还包括:
[0028]将认证结果返回给所述客户端。
[0029]结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,当所述认证结果为成功时,所述认证结果包括所述系统时间与所述客户端当前时间的时间差值。
[0030]第二方面,本发明实施例还提供了一种客户端证书认证方法,由客户端执行,所述方法包括:
[0031]获取第一密钥,以及服务过期时间和认证参数,所述认证参数包括客户名称、序列号、业务标识、型号和版本中的至少一个,所述第一密钥是由证书授权中心根据所述认证参数和所述服务过期时间生成的;
[0032]采用所述第一密钥和所述客户端当前时间生成第一验证码;
[0033]生成认证请求,并将所述认证请求发送给服务器,所述认证请求携带:所述认证参数、所述服务过期时间、所述客户端当前时间和所述第一验证码。
[0034]结合第二方面,在第二方面的第一种可能的实现方式中,所述采用所述第一密钥和所述客户端当前时间生成第一验证码,包括:
[0035]判断所述客户端当前时间所在的时间窗口 ;
[0036]确定所述时间窗口内的第一时间T ;
[0037]采用code=genCode (Key, T)计算所述第一验证码,其中,code为所述第一验证码,所述genCode算法为验证码生成算法,Key为所述第一密钥。
[0038]结合第二方面,在第二方面的第二种可能的实现方式中,所述将所述认证请求发送给服务器之后,所述方法还包括:
[0039]接收所述服务器发送的认证结果。
[0040]结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,当所述认证结果为成功时,所述认证结果包括所述服务器接收到所述认证请求时的系统时间与所述客户端当前时间的时间差值。
[0041]第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
[0042]接收模块,用于接收客户端发送的认证请求,所述认证请求包括:认证参数、服务过期时间、客户端当前时间和第一验证码,所述认证参数包括客户名称、序列号、业务标识、型号和版本中的至少一个,所述第一验证码是所述客户端根据第一密钥和所述客户端当前时间生成的,所述第一密钥是由证书授权中心根据所述认证参数和所述服务过期时间生成的;
[0043]获取模块,用于获取所述服务器收到所述认证请求时的系统时间;
[0044]处理模块,用于采用所述服务过期时间和所述认证参数生成第二密钥,采用所述第二密钥和所述客户端当前时间生成第二验证码,生成所述第二密钥采用的算法与所述证书授权中心生成所述第一密钥的算法相同,生成所述第二验证码采用的算法与所述客户端生成所述第一验证码的算法相同;
[0045]比较所述第二验证码与所述第一验证码是否相同,如果所述第二验证码与所述第一验证码相同,根据所述第二密钥和所述系统时间生成第三验证码,比较所述第三验证码与所述第一验证码是否相同,如果所述第三验证码与所述第一验证码相同,判定所述客户端认证结果为成功,生成所述第三验证码采用的算法与所述客户端生成所述第一验证码的算法相同。
[0046]结合第三方面,在第三方面的第一种可能的实现方式中,所述处理模块,包括:
[0047]判断单元,用于判断所述客户端当前时间所在的时间窗口 ;
[0048]查找单元,用于确定所述时间窗口内的第一时间T ;
[0049]计算单元,用于采用code=genCode (Key, T)计算所述第二验证码,
[0050]其中,code为所述第二验证码,所述genCode算法为验证码生成算法,Key为所述第二密钥。
[0051]结合第三方面,在第三方面的第二种可能的实现方式中,所述处理模块,还用于在所述根据所述服务过期时间和所述认证参数生成第二密钥之前,确定出所述系统时间未超过所述服务过期时间。
[0052]结合第三方面,在第三方面的第三种可能的实现方式中,所述处理模块,还用于当所述第三验证码与所述第一验证码不相同时,以所述系统时间所在的时间窗口为基准,在预定范围内移动所述时间窗口 ;;采用所述第二密钥和移动后的时间窗口生成第四验证码;比较所述第四验证码与所述第一验证码是否相同;如果所述第四验证码与所述第一验证码相同,判断所述客户端认证结果为成功。
[0053]结合第三方面,在第三方面的第四种可能的实现方式中,所述服务器还包括:
[0054]发送模块,用于将认证结果返回给所述客户端。
[0055]第四方面,本发明实施例还提供了一种客户端,所述客户端包括:
[0056]获取模块,用于获取第一密钥,以及服务过期时间和认证参数,所述认证参数包括客户名称、序列号、业务标识、型号和版本中的至少一个,所述第一密钥是由证书授权中心根据所述认证参数和所述服务过期时间生成的;
[0057]处理模块,用于采用所述第一密钥和所述客户端当前时间生成第一验证码;
[0058]生成认证请求,所述认证请求携带:所述认证参数、所述服务过期时间、所述客户端当前时间和所述第一验证码;
[0059]发送模块,用于将将所述认证请求发送给服务器。
[0060]所述处理模块,包括:
[0061]结合第四方面,在第四方面的第一种可能的实现方式中,判断单元,用于判断所述客户端当前时间所在的时间窗口;
[0062]查找单元,用于确定所述时间窗口内的第一时间T ;
[0063]计算单元,用于采用code=genCode (Key, T)计算所述第一验证码,其中,code为所述第一验证码,所述genCode算法为验证码生成算法,Key为所述第一密钥。
[0064]结合第四方面,在第四方面的第二种可能的实现方式中,所述客户端还包括:
[0065]接收模块,用于接收所述服务器发送的认证结果。
[0066]第五方面,本发明实施例还提供了一种客户端证书认证系统,所述客户端系统:
[0067]证
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1