一种客户端认证方法、装置、设备以及存储介质制造方法及图纸

技术编号:33028055 阅读:24 留言:0更新日期:2022-04-15 09:03
本申请提供一种客户端认证方法、装置、设备以及存储介质,所述客户端认证方法,包括:从客户端发送的客户端Certificate报文中获取客户端多证书链,所述客户端多证书链包括多个客户端证书链,所述客户端证书链包括多个证书;对所述客户端多证书链进行校验,得到校验结果;若所述校验结果为校验通过,则根据所述客户端多证书链对应的证书公钥、客户端发送的加密哈希值和本地计算得到的哈希值,得到认证结果,所述加密哈希值是所述客户端通过私钥加密得到的。得到的。得到的。

【技术实现步骤摘要】
一种客户端认证方法、装置、设备以及存储介质


[0001]本申请涉及安全认证
,具体而言,涉及一种客户端认证方法、装置、设备以及存储介质。

技术介绍

[0002]随着互联网技术的不断发展,数字证书应运而生,为网络安全带来了保障。数字证书是由电子商务认证中心颁发的,用于证明身份,从而保证网络通信的安全。
[0003]现有技术中,虽然有了数字证书,但是,客户端证书容易被仿造,导致服务器可能不能很好的识别客户端的身份,导致服务器被黑客入侵。

技术实现思路

[0004]基于此,提出一种客户端认证方法、装置、设备以及存储介质。
[0005]第一方面,提供了一种客户端认证方法,包括:
[0006]从客户端发送的客户端Certificate报文中获取客户端多证书链,所述客户端多证书链包括多个客户端证书链,所述客户端证书链包括多个证书;
[0007]对所述客户端多证书链进行校验,得到校验结果;
[0008]若所述校验结果为校验通过,则根据所述客户端多证书链对应的证书公钥、客户端发送的加密哈希值和本地计算得到的哈希值,得到认证结果,所述加密哈希值是所述客户端通过私钥加密得到的。
[0009]上述客户端认证方法,从客户端发送的客户端Certificate报文中获取到了客户端多证书链,并且,客户端多证书链包括多个客户端证书链,每个客户端证书链包括多个证书,然后服务器对客户端多证书链进行校验,得到校验结果,可见,上述客户端认证方法是对多个客户端证书链进行校验,相较于对证书进行校验,或者,对证书链进行校验的方案,增大了校验力度,黑客很难仿造出如此多的证书,从而保证了客户端不容易被仿造,降低了服务器被黑客入侵的可能性,并且,校验通过时,还根据客户端多证书链对应的证书公钥、客户端发送的加密哈希值和本地计算得到的哈希值,得到认证结果,可以理解的是,由于加密哈希值需要通过客户端的私钥加密得到的,因此,如果通过客户端多证书链对应的证书公钥能够解密加密哈希值,并且,解密后的哈希值和本地计算得到的哈希值一致,才认为客户端确实拥有和证书公钥对应的私钥,才认为认证通过。
[0010]在一个实施例中,所述根据所述客户端多证书链对应的证书公钥、客户端发送的加密哈希值和本地计算得到的哈希值,得到认证结果,包括:使用所述客户端多证书链对应的证书公钥解密所述加密哈希值,得到解密哈希值;若所述解密哈希值与本地计算得到的哈希值相同,则认证结果为认证通过;若所述解密哈希值与本地计算得到的哈希值不同,则认证结果为认证失败。
[0011]上述实施例,说明了具体的认证过程,即首先解密得到解密哈希值,然后将解密哈希值与本地计算得到的哈希值进行比对,若相同,则认证通过。
[0012]在一个实施例中,所述对所述客户端多证书链进行校验,得到校验结果,包括:确定所述客户端多证书链中的证书是否在有效期内;确定所述客户端多证书链中的证书是否两两不同;确定所述客户端多证书链包含的客户端证书链的数量是否准确;确定所述客户端多证书链中的客户端证书中的公钥是否全部相同;若所述客户端多证书链中的证书均在有效期内,所述客户端多证书链中的证书两两不同、所述客户端多证书链包含的客户端证书链的数量准确并且所述客户端多证书链中的客户端证书中的公钥全部相同,则校验结果为校验通过。
[0013]上述实施例,服务器对客户端多证书链的校验,不仅需要确认证书是否在有效期内,还需要确认是否包含重复的证书,还需要确认证书链的数量是否准确以及客户端证书中的公钥是否全部相同,从而实现了对证书的加强校验,进而实现了对客户端的加强认证。
[0014]在一个实施例中,所述对所述客户端多证书链进行校验,得到校验结果,包括:确定所述客户端多证书链中的证书是否在有效期内;确定所述客户端多证书链中的证书是否两两不同;确定所述客户端多证书链包含的客户端证书链的数量是否准确;确定所述客户端多证书链中的客户端证书中的公钥是否全部相同;确定是否能够解密所述客户端多证书链中的证书的签名;确定所述客户端多证书链中的客户端证书中的域名是否全部相同;在所述客户端多证书链中的客户端证书中的域名全部相同时,确定所述客户端多证书链中的客户端证书中的域名与所述客户端在访问服务器时使用的域名是否相同;若所述客户端多证书链中的证书均在有效期内,所述客户端多证书链中的证书两两不同、所述客户端多证书链包含的客户端证书链的数量准确、所述客户端多证书链中的客户端证书中的公钥全部相同、能够解密所述客户端多证书链中的证书的签名、所述客户端多证书链中的客户端证书中的域名全部相同并且所述客户端多证书链中的客户端证书中的域名与所述客户端在访问服务器时使用的域名相同,则校验结果为校验通过。
[0015]上述实施例,在有效期、证书是否重复、证书链数量是否准确以及公钥是否全部相同基础上,还对证书的签名、证书的域名进行了校验,进一步的实现了加强校验和加强认证。
[0016]在一个实施例中,在所述从客户端发送的证书链报文中获取客户端多证书链之前,还包括:获取客户端发送的ClientHello报文,所述ClientHello报文中包括安全协议的多个版本、第一随机数和多个密码套件;根据客户端发送的ClientHello报文,向客户端发送ServerHello报文,所述ServerHello报文中包括从安全协议的多个版本中选择出来的目标版本、从多个密码套件中选择出来的目标密码套件和第二随机数;向客户端发送服务器Certificate报文、服务器ServerKeyExchange报文、Certificate Request报文和ServerHelloDone报文,所述服务器Certificate报文中包括服务器证书链,所述服务器ServerKeyExchange报文中包括签名方法以及哈希算法,所述签名方法以及哈希算法用于得到所述加密哈希值,所述Certificate Request报文用于指示客户端向服务器发送客户端多证书链,所述ServerHelloDone报文指示服务器消息发送完毕等待客户端发送消息;获取客户端发送的所述客户端Certificate报文;获取客户端发送的客户端ClientKeyExchange报文,所述客户端ClientKeyExchange报文中包括加密预主密钥,所述加密预主密钥是使用服务器的公钥对预主密钥进行加密得到的,所述服务器的公钥是通过所述服务器证书链得到的;获取客户端发送的CertificateVerify报文,所述
CertificateVerify报文中包括所述加密哈希值。
[0017]上述实施例,说明了如何得到加密哈希值,以及,客户端如何对服务器进行校验,从而保障客户端和服务器之间的安全交互。
[0018]在一个实施例中,在所述若所述校验结果为校验通过,则根据所述客户端多证书链对应的证书公钥、客户端发送的加密哈希值和本地计算得到的哈希值,得到认证结果之后,还包括:若认证结果为认证通过,则使用服务器的私钥解密所述加密预主密钥,得到预主密钥;根据所述第一随机数、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种客户端认证方法,其特征在于,包括:从客户端发送的客户端Certificate报文中获取客户端多证书链,所述客户端多证书链包括多个客户端证书链,所述客户端证书链包括多个证书;对所述客户端多证书链进行校验,得到校验结果;若所述校验结果为校验通过,则根据所述客户端多证书链对应的证书公钥、客户端发送的加密哈希值和本地计算得到的哈希值,得到认证结果,所述加密哈希值是所述客户端通过私钥加密得到的。2.根据权利要求1所述的客户端认证方法,其特征在于,所述根据所述客户端多证书链对应的证书公钥、客户端发送的加密哈希值和本地计算得到的哈希值,得到认证结果,包括:使用所述客户端多证书链对应的证书公钥解密所述加密哈希值,得到解密哈希值;若所述解密哈希值与本地计算得到的哈希值相同,则认证结果为认证通过;若所述解密哈希值与本地计算得到的哈希值不同,则认证结果为认证失败。3.根据权利要求1所述的客户端认证方法,其特征在于,所述对所述客户端多证书链进行校验,得到校验结果,包括:确定所述客户端多证书链中的证书是否在有效期内;确定所述客户端多证书链中的证书是否两两不同;确定所述客户端多证书链包含的客户端证书链的数量是否准确;确定所述客户端多证书链中的客户端证书中的公钥是否全部相同;若所述客户端多证书链中的证书均在有效期内,所述客户端多证书链中的证书两两不同、所述客户端多证书链包含的客户端证书链的数量准确并且所述客户端多证书链中的客户端证书中的公钥全部相同,则校验结果为校验通过。4.根据权利要求1所述的客户端认证方法,其特征在于,所述对所述客户端多证书链进行校验,得到校验结果,包括:确定所述客户端多证书链中的证书是否在有效期内;确定所述客户端多证书链中的证书是否两两不同;确定所述客户端多证书链包含的客户端证书链的数量是否准确;确定所述客户端多证书链中的客户端证书中的公钥是否全部相同;确定是否能够解密所述客户端多证书链中的证书的签名;确定所述客户端多证书链中的客户端证书中的域名是否全部相同;在所述客户端多证书链中的客户端证书中的域名全部相同时,确定所述客户端多证书链中的客户端证书中的域名与所述客户端在访问服务器时使用的域名是否相同;若所述客户端多证书链中的证书均在有效期内,所述客户端多证书链中的证书两两不同、所述客户端多证书链包含的客户端证书链的数量准确、所述客户端多证书链中的客户端证书中的公钥全部相同、能够解密所述客户端多证书链中的证书的签名、所述客户端多证书链中的客户端证书中的域名全部相同并且所述客户端多证书链中的客户端证书中的域名与所述客户端在访问服务器时使用的域名相同,则校验结果为校验通过。5.根据权利要求1所述的,其特征在于,在所述从客户端发送的客户端Certificate报文中获取客户端多证书链之前,还包括:
获取客户端发送的ClientHello报文,所述ClientHello报文中包括安全协议的多个版本、第一随机数和多个密码套件;根据客户端发送的ClientHello报文,向客...

【专利技术属性】
技术研发人员:杨银淼
申请(专利权)人:北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1