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

技术编号:16180538 阅读:28 留言:0更新日期:2017-09-12 08:12
本发明专利技术所提供的一种增加自定义可信任的根证书的方法,包括步骤:A、建立各个服务器的可信任根证书特征值的列表;B、针对每个服务器,生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组;对所述第一数组进行二次变换,得到第二数组;C、对所述变换后的第一数组进行加密运算;D、利用安全厂商证书的私钥对加密运算的结果进行签名,把签名值保存到所述列表中;E、访问服务器时,首先检测该服务器的根证书是否存于所述列表中;若存在,执行步骤F,否则无法访问该服务器;F、对该服务器的根证书进行校验,验签通过,则可以访问该服务器,否则无法访问该服务器。由上,保证根证书不被篡改或替换,实现安全访问服务器。

【技术实现步骤摘要】
一种增加自定义可信任的根证书的方法
本专利技术涉及网络安全
,特别涉及一种增加自定义可信任的根证书的方法。
技术介绍
应用程序或者终端在访问任意一个安全网站的时候,都需要验证该网站提供的根证书。如果该网站的根证书是受信任的,则信任该网站提供的数据;如果该网站的根证书不在受信任的证书范围内,则提示用户该网站目前不受信任,有安全风险。目前,应用程序或终端会把已知可信任根证书的特征值写到程序中,可信任的根证书存放在系统的可信任根证书库中。应用程序或终端验证服务器证书的流程是:1、先确认当前服务器的证书是否是一张自定义签名证书;2、如果是自定义的签名证书,验证当前证书是否在应用程序或终端的可信范围内,如果在可信范围内,则信任该服务器;如果该证书不在可信范围内,则返回该服务器不受信任;3、如果当前服务器的证书不是一张自定义签名证书,则查找当前证书的颁发者证书;4、如果当前证书的颁发者证书是一张自定义签名证书,则执行步骤2;如果不是一张自定义签名证书,则执行步骤3,直到找到自定义签名证书,然后执行步骤2。上述流程的缺陷在于:系统的证书库是公开的,黑客可以导入一张自定义签名证书,或修改应用程序或者终端中已知的某一张根证书的特征值,将其替换为用户自定义签名证书的特征值,这样应用程序或终端在验证服务器证书的时候,因为既能在证书库中查找到所导入的自定义签名证书,又能在应用程序或终端中,比对特征值的时候比对通过,就会误信任这个服务器,给用户带来风险。
技术实现思路
有鉴于此,本专利技术的主要目的在于,提供一种增加自定义可信任的根证书的方法,包括步骤:A、建立各个服务器的可信任根证书特征值的列表;B、针对每个服务器,生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组;对所述第一数组进行二次变换,得到第二数组;C、对所述变换后的第一数组进行加密运算;D、利用安全厂商证书的私钥对加密运算的结果进行签名,把签名值保存到所述列表中;E、访问服务器时,首先检测该服务器的根证书是否存于所述列表中;若存在,执行步骤F,否则无法访问该服务器;F、对该服务器的根证书进行校验,验签通过,则可以访问该服务器,否则无法访问该服务器。可选的,步骤F包括:生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组,所述随机数与步骤B中对该服务器生成的随机数相同;对所述第一数组进行加密运算;采用安全厂商证书的公钥对加密运算结果进行验签,验签通过才可以访问该服务器。由上,在程序中保存已知可信任根证书的特征值,在此基础上,对特征值进行变换,并使用安全厂商的证书对特征值进行签名,作为可信任的根证书。从而保证根证书不被篡改或替换,实现安全访问服务器。并且,在可信任根证书特征值的列表中已存有正在访问的服务器根证书的基础上,还需对正在访问的服务器根证书进行校验,从而才能确保该服务器的根证书没有被篡改或替换,以保证对服务器的安全访问。由步骤B和C可知,通过二次变换,进一步提高服务器的可信任根证书特征值的特异性和唯一性,从而保证根证书不被篡改或替换,实现安全访问服务器。可选的,所述二次变换包括:在第一数组后,增加一定数量的固定数或随机数,形成第二数组。可选的,所述二次变换包括:对各个服务器进行编号,在第一数组后增加所述服务器的编号,形成第二数组。由上,可进一步的增加可信任根证书特征值的唯一性,即仅通过本应用程序或终端编辑过的根证书具有可信任性和可识别性,而对其他客户端或程序编辑过的根证书不具有上述特点,由此实现特征值与客户端或程序一一绑定的安全效果。可选的,步骤C包括:利用安全厂商证书的特征值做密钥,使用AES算法,对所述变换后的第一数组进行加密运算,得到密文数据。由上,通过对第一数组进行加密,以提高其保密性。可选的,步骤C还包括:对所述密文数据采用SM3密码杂凑算法进行加密计算。由上,通过对密文数据进行再加密,以进一步提高其保密性。附图说明图1为本专利技术流程图。具体实施方式为克服现有技术存在的缺陷,本专利技术提供一种增加自定义可信任的根证书的方法,应用程序或终端在程序中保存已知可信任根证书的特征值,在此基础上,使用安全厂商的证书,对特征值进行签名,将签名值保存在应用程序或终端中,作为可信任的根证书。从而保证根证书不被篡改或替换,实现安全访问服务器。本实施例中,所述安全厂商的证书可以采用如北京海泰方圆科技股份有限公司的证书。如图1所示,本专利技术所述增加自定义的可信任根证书的方法包括以下步骤:S10:在程序中保存已知的可信任根证书特征值。首先建立特征值列表,所述特征值列表中保存已有的各个服务器的可信任根证书特征值。S20:依照服务器的数量,生成多个随机数组,逐一将随机数组与步骤S10中所述各个服务器可信任根证书的特征值组合得到数组A。例如,步骤S10中,第一服务器的可信任根证书的特征值是:bf89022991f238897276740319c355c6a1b1f656。本步骤中,生成一组随机数,表示为:eafd90c5a52ecf065bf664067235d39bb02eacf2。将二者进行组合,得到数组A,表示为:bf89022991f238897276740319c355c6a1b1f656eafd90c5a52ecf065bf664067235d39bb02eacf2。本步骤的目的在于,增加服务器可信任根证书特征值的不确定性和唯一性,通过随机数组的产生,使得固定的特征值变成非固定,由此增加安全系数和破解难度。S30:对数组A进行二次变换,得到数组B。本步骤中,在数组A的基础上,补充0x80、0x00两个字节,得到数组B。数组B表示为:bf89022991f238897276740319c355c6a1b1f656eafd90c5a52ecf065bf664067235d39bb02eacf28000。本步骤的目的在于:对变化后的特征值进行再变换,进一步增加可信任根证书特征值的不确定性和唯一性。本步骤中,所增补的两个字节内容为固定内容,实际使用中,可以增补随机内容。又或者,对服务器可信任根证书与随机数的组合次序进行标号,以该标号对数组A进行增补。例如,对第一服务器标号为01、对第二服务器标号为02等等,由此可进一步的增加可信任根证书特征值的唯一性,即仅通过本应用程序或终端编辑过的根证书具有可信任性和可识别性,而对其他客户端或程序编辑过的根证书不具有上述特点,由此实现特征值与客户端或程序一一绑定的安全效果。S40:对步骤S30中的所述数组B进行加密运算,得到密文数据C。用安全厂商证书的特征值做密钥,使用AES算法,对数组B进行加密运算,得到密文数据C。S50:对所述密文数据C进行二次加密,得到数据D。本步骤中,对所述密文数据C采用SM3密码杂凑算法进行加密计算,得到数据D。具体实现过程中,还可采用MD5等其他杂凑算法实现。S60:将数据D使用安全厂商证书的私钥做签名,把签名值保存到特征值列表中。S70:再次访问时,对服务器特征值进行验签,通过方可访问。本步骤包括两个子步骤,子步骤S701:判断所访问的服务器其根证书特征值是否已保存于步骤S10所建立的特征值列表中,若是,则进入子步骤S702,否则确定该服务器不可信,发出提示信息,结束步骤S70。子步骤S本文档来自技高网...
一种增加自定义可信任的根证书的方法

【技术保护点】
一种增加自定义可信任的根证书的方法,其特征在于,包括步骤:A、建立各个服务器的可信任根证书特征值的列表;B、针对每个服务器,生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组;对所述第一数组进行二次变换,得到第二数组;C、对所述变换后的第一数组进行加密运算;D、利用安全厂商证书的私钥对加密运算的结果进行签名,把签名值保存到所述列表中;E、访问服务器时,首先检测该服务器的根证书是否存于所述列表中;若存在,执行步骤F,否则无法访问该服务器;F、对该服务器的根证书进行校验,验签通过,则可以访问该服务器,否则无法访问该服务器;步骤F包括:生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组,所述随机数与步骤B中对该服务器生成的随机数相同;对所述第一数组进行加密运算;采用安全厂商证书的公钥对加密运算结果进行验签,验签通过才可以访问该服务器。

【技术特征摘要】
1.一种增加自定义可信任的根证书的方法,其特征在于,包括步骤:A、建立各个服务器的可信任根证书特征值的列表;B、针对每个服务器,生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组;对所述第一数组进行二次变换,得到第二数组;C、对所述变换后的第一数组进行加密运算;D、利用安全厂商证书的私钥对加密运算的结果进行签名,把签名值保存到所述列表中;E、访问服务器时,首先检测该服务器的根证书是否存于所述列表中;若存在,执行步骤F,否则无法访问该服务器;F、对该服务器的根证书进行校验,验签通过,则可以访问该服务器,否则无法访问该服务器;步骤F包括:生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组,所述随机数与步骤B中...

【专利技术属性】
技术研发人员:柳增寿王鹏王烨安晓江
申请(专利权)人:北京海泰方圆科技股份有限公司
类型:发明
国别省市:北京,11

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

1