一种增加自定义可信任的根证书的方法

文档序号:9846706阅读:1227来源:国知局
一种增加自定义可信任的根证书的方法
【技术领域】
[0001]本发明涉及网络安全技术领域,特别涉及一种增加自定义可信任的根证书的方法。
【背景技术】
[0002]应用程序或者终端在访问任意一个安全网站的时候,都需要验证该网站提供的根证书。如果该网站的根证书是受信任的,则信任该网站提供的数据;如果该网站的根证书不在受信任的证书范围内,则提示用户该网站目前不受信任,有安全风险。
[0003]目前,应用程序或终端会把已知可信任根证书的特征值写到程序中,可信任的根证书存放在系统的可信任根证书库中。应用程序或终端验证服务器证书的流程是:
[0004]1、先确认当前服务器的证书是否是一张自定义签名证书;
[0005]2、如果是自定义的签名证书,验证当前证书是否在应用程序或终端的可信范围内,如果在可信范围内,则信任该服务器;如果该证书不在可信范围内,则返回该服务器不受?目任;
[0006]3、如果当前服务器的证书不是一张自定义签名证书,则查找当前证书的颁发者证书;
[0007]4、如果当前证书的颁发者证书是一张自定义签名证书,则执行步骤2;如果不是一张自定义签名证书,则执行步骤3,直到找到自定义签名证书,然后执行步骤2。
[0008]上述流程的缺陷在于:系统的证书库是公开的,黑客可以导入一张自定义签名证书,或修改应用程序或者终端中已知的某一张根证书的特征值,将其替换为用户自定义签名证书的特征值,这样应用程序或终端在验证服务器证书的时候,因为既能在证书库中查找到所导入的自定义签名证书,又能在应用程序或终端中,比对特征值的时候比对通过,就会误信任这个服务器,给用户带来风险。

【发明内容】

[0009]有鉴于此,本发明的主要目的在于,提供一种增加自定义可信任的根证书的方法,包括步骤:
[0010]Α、建立各个服务器的可信任根证书特征值的列表;
[0011 ] B、针对每个服务器,生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组;
[0012]C、对所述第一数组进行加密运算;
[0013]D、利用安全厂商证书的私钥对加密运算的结果进行签名,把签名值保存到所述列表中;
[0014]Ε、访问服务器时,首先检测该服务器的根证书是否存于所述列表中;若存在,执行步骤F,否则无法访问该服务器;
[0015]F、对该服务器的根证书进行校验,验签通过,则可以访问该服务器,否则无法访问该服务器。
[0016]由上,在程序中保存已知可信任根证书的特征值,在此基础上,对特征值进行变换,并使用安全厂商的证书对特征值进行签名,作为可信任的根证书。从而保证根证书不被篡改或替换,实现安全访问服务器。
[0017]可选的,步骤F包括:
[0018]生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组,所述随机数与步骤B中对该服务器生成的随机数相同;
[0019]对所述第一数组进行加密运算;
[0020]采用安全厂商证书的公钥对加密运算结果进行验签,验签通过才可以访问该服务器。
[0021]由上,在可信任根证书特征值的列表中已存有正在访问的服务器根证书的基础上,还需对正在访问的服务器根证书进行校验,从而才能确保该服务器的根证书没有被篡改或替换,以保证对服务器的安全访问。
[0022]可选的,在步骤B后,还包括步骤:对所述第一数组进行二次变换,得到第二数组;
[0023]所述步骤C中,对所述第二数组进行加密运算。
[0024]由上,通过二次变换,进一步提高服务器的可信任根证书特征值的特异性和唯一性,从而保证根证书不被篡改或替换,实现安全访问服务器。
[0025]可选的,所述二次变换包括:在第一数组后,增加一定数量的固定数或随机数,形成第二数组。
[0026]可选的,所述二次变换包括:对各个服务器进行编号,在在第一数组后增加所述服务器的编号,形成第二数组。
[0027]由上,可进一步的增加可信任根证书特征值的唯一性,即仅通过本应用程序或终端编辑过的根证书具有可信任性和可识别性,而对其他客户端或程序编辑过的根证书不具有上述特点,由此实现特征值与客户端或程序一一绑定的安全效果。
[0028]可选的,步骤C包括:利用安全厂商证书的特征值做密钥,使用AES算法,对所述第一数组进行加密运算,得到密文数组。
[0029]由上,通过对第一数组进行加密,以提高其保密性。
[0030]可选的,步骤C还包括:对所述密文数据采用SM3密码杂凑算法进行加密计算。
[0031 ]由上,通过对密文数据进行再加密,以进一步提高其保密性。
【附图说明】
[0032]图1为本发明流程图。
【具体实施方式】
[0033]为克服现有技术存在的缺陷,本发明提供一种增加自定义可信任的根证书的方法,应用程序或终端在程序中保存已知可信任根证书的特征值,在此基础上,使用安全厂商的证书,对特征值进行签名,将签名值保存在应用程序或终端中,作为可信任的根证书。从而保证根证书不被篡改或替换,实现安全访问服务器。本实施例中,所述安全厂商的证书可以采用如北京海泰方圆科技股份有限公司的证书。
[0034]如图1所示,本发明所述增加自定义的可信任根证书的方法包括以下步骤:
[0035]S10:在程序中保存已知的可信任根证书特征值。
[0036]首先建立特征值列表,所述特征值列表中保存已有的各个服务器的可信任根证书特征值。
[0037]S20:依照服务器的数量,生成多个随机数组,逐一将随机数组与步骤SlO中所述各个服务器可信任根证书的特征值组合得到数组A。
[0038]例如,步骤SlO中,第一服务器的可信任根证书的特征值是:bf 89 02 29 91 f238 89 72 76 74 03 19 c3 55 c6 al bl f6 56。
[0039]本步骤中,生成一组随机数,表示为:ea fd 90 c5 a5 2e cf 06 5b f6 64 06 7235 d3 9b bO 2e ac f2o
[0040]将二者进行组合,得到数组A,表示为:bf 89 02 29 91 f2 38 89 72 76 74 0319 c3 5
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1