数字证书处理方法、装置、计算机设备和存储介质与流程

文档序号:18639035发布日期:2019-09-11 22:44阅读:234来源:国知局
数字证书处理方法、装置、计算机设备和存储介质与流程

本申请涉及信息安全技术领域,尤其涉及一种数数字证书处理方法、装置、计算机设备和存储介质。



背景技术:

随着互联网技术的不断发展,金融类产品的安全性要求越来越高,随之而来的是对数据加密和通道加密的技术要求也逐渐提升。

在对ssl证书进行更新时,若单独使用将服务器的证书下载到本地后再进行检验的方式,则需要浪费大量的存储空间,而对从服务器下载的数字证书不进行本地检验则可能导致安全问题。



技术实现要素:

基于此,有必要针对ssl证书进行更新时使用单一验证手段无法达到快速准确进行证书更新的问题,提供一种数字证书处理方法及相关设备。

一种数字证书处理方法,所述方法应用于客户端,包括:

获取服务器的域名,遍历服务器域名列表,所述服务器域名列表包含有核心服务器的域名和非核心服务器的域名;

根据所述服务器域名列表,确定所述服务器的类型;

若所述服务器的域名为所述核心服务器的域名,则下载所述服务器的数字证书进行缓存,否则不下载;

接收数字证书更新指令,根据所述数字证书更新指令,从网络中下载更新后的数字证书;

若所述服务器为非核心服务器,则将所述更新后的数字证书作为新数字证书;调用随机函数产生一个随机数,应用所述随机数对所述新数字证书进行加密,生成密文数据;发送所述密文数据值所述服务器,接收所述服务器根据所述密文数据生成的随机数签名,应用预存的公钥对所随机数签名进行解密,若解密成功,则使用所述新数字证书进行网络连接,否则重新从所述服务器获取数字证书;

若所述服务器为核心服务器,则应用缓存的数字证书密钥对所述更新后的数字证书进行解密,若解密成功,则用更新后的数字证书替代缓存的数字证书,否则保留原缓存的数字证书。

在一个可能的实施例中,所述获取服务器的域名之前,所述方法还包括:

向所述服务器发送同步序列syn信号;

接收所述服务器对于所述同步序列编号syn的反馈信息,若所述反馈信息中包含有同步序列接收信号,确定所述服务器已经接收到所述syn信号;

向所述服务器发送确认信号ack,建立与所述服务器的连接。

在一个可能的实施例中,所述根据所述服务器域名列表,确定所述服务器的类型,包括:

获取所述服务器的域名,根据三级域名规则,将所述服务器的域名分割成三个域名子段,其中,每一个所述域名子段对应着一个级别的域名;

提取所述三级域名所在子段的首三位字母与所述核心域名列表中的域名进行比对,若一致,则所述服务器为核心服务器,否则为非核心服务器。

在一个可能的实施例中,所述应用缓存的数字证书密钥对所述更新后的数字证书进行解密,包括:

抽取所述更新后的数字证书中证书摘要,采用所述数字证书密钥对应的摘要算法对所述数字证书摘要进行解密,生成摘要解密结果;

将所述摘要解密结果与缓存的数字摘要进行比对,若一致,则应用所述数字证书密钥对所述更新后的数字证书进行解密,否则重新获取其它版本的所述数字证书密钥直到比对一致。

在一个可能的实施例中,所述接收数字证书更新指令,根据所述数字证书更新指令,从网络中下载更新后的数字证书,包括:

接收数字证书更新指令,发送数字证书更新请求至域名管理系统终端,其中,所述数字证书更新请求中携带待更新证书对应的互联网协议地址;

根据所述互联网协议地址,从所述域名管理系统终端所存储的数字证书中,获取与所述数字证书查询请求对应的所述更新后的数字证书。

在一个可能的实施例中,一种数字证书处理装置,其特征在于,包括以下模块:

处理模块,设置为获取服务器的域名,将所述服务器的域名与核心域名列表中的域名进行比对,判断所述服务器是否为核心服务器;

收发模块,设置为接接收数字证书更新指令,根据所述数字证书更新指令,从网络中下载更新后的数字证书;

若所述服务器为非核心服务器,所述处理模块将所述更新后的数字证书作为新数字证书;

若所述服务器为核心服务器,所述处理模块则应用缓存的数字证书密钥对所述更新后的数字证书进行解密,若解密成功,则用更新后的数字证书替代缓存的数字证书,否则保留原缓存的数字证书。

在一个可能的实施例中,所述收发模块还用于:

向所述服务器发送同步序列syn信号;接收所述服务器对于所述同步序列编号syn的反馈信息,若所述反馈信息中包含有同步序列接收信号,则所述服务器已经接收到所述syn信号;向所述服务器发送确认信号ack,通过所述处理模块建立与所述服务器的连接。

在一个可能的实施例中,所述处理模块还用于:

获取所述服务器的域名,根据三级域名规则,将所述服务器的域名分割成三个域名子段,其中,每一个所述域名子段对应着一个级别的域名;提取所述三级域名所在子段的首三位字母与所述核心域名列表中的域名进行比对,判断所述服务器的类型。

一种计算机设备,所述设备包括:至少一个处理器、存储器和收发器;其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行上述数字证书处理方法。

一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述数字证书处理方法的步骤。

与现有机制相比,本申请通过对发送数字证书更新的服务种类进行有效区分,并根据服务器级别的不同采用不同的更新检验方式,从而有效的提升了本地终端进行数字证书的效率,同时也提升了数字证书更新发安全性。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。

图1为本申请在一个实施例中的一种数字证书处理方法的整体流程图;

图2为本申请在一个实施例中的一种数字证书处理方法中的建立连接过程示意图;

图3为本申请在一个实施例中的一种数字证书处理方法中的确定服务器类型过程示意图;

图4为本申请在一个实施例中的一种数字证书处理方法中的证书解密过程示意图;

图5为本申请在一个实施例中的一种数字证书处理装置的结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

图1为本申请在一个实施例中的一种数字证书处理方法的整体流程图,如图1所示,一种数字证书处理方法,所述方法应用于客户端,其包括以下步骤:

s1、获取服务器的域名,遍历服务器域名列表,所述服务器域名列表包含有核心服务器的域名和非核心服务器的域名;

具体的,服务器的域名一般包括三级域名,如aa.bb.com,在对服务器进行域名区分时,可以通过对三级域名中的字段进行区分,如利用顶级域名字段“.com”、“.cn”等。将服务器域名进行划分可以对服务器的数字证书采用不同的校验方式,对于核心服务器采用强校验方式,对于非核心服务器采用弱校验方式。

强校验方式需要本地对从服务器下载的数字证书应用本地私钥进行解密,而弱检验方式则直接从服务器下载数字证书不需要进行解密。

s2、根据所述服务器域名列表,确定所述服务器的类型;若所述服务器的域名为所述核心服务器的域名,则下载所述服务器的数字证书进行缓存,否则不下载;

具体的,在服务器类型确定后,对于核心服务器的数字证书进行私钥解密,若私钥解密后得到的数字证书字段不能运行,则需要重新解密。如,私钥解密的算法为md5信息摘要算法,md5的典型应用是对一段信息产生信息摘要以防止被篡改。比如,在unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:

md5(tanajiya.tar.gz)=38b8c2c1093dd0fec383a9d9ac940515

这就是tanajiya.tar.gz文件的数字签名。md5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的md5信息摘要。文件的md5值就像是这个文件的“数字指纹”。每个文件的md5值是不同的,如果任何人对文件做了任何改动,其md5值也就是对应的“数字指纹”就会发生变化。比如下载服务器针对一个文件预先提供一个md5值,用户下载完该文件后,用我这个算法重新计算下载文件的md5值,通过比较这两个值是否相同,就能判断下载的文件是否出错,或者说下载的文件是否被篡改了。md5实际上一种有损压缩技术,压缩前文件一样md5值一定一样,反之md5值一样并不能保证压缩前的数据是一样的。

对于数字证书的缓存一般存储在本地硬盘的一个缓存文件中,当数字证书发生更新后,会保留原来的数字证书直到此服务器停用。

s3、接收数字证书更新指令,根据所述数字证书更新指令,从网络中下载更新后的数字证书;若所述服务器为非核心服务器,则将所述更新后的数字证书作为新数字证书;

具体的,在数字证书更新后,所述服务器会向所有使用所述服务器的所有客户端发送数字证书更新指令,在发送指令时可以根据各个客户端的网络地址进行指令发送。即对待接收的更新后的数字证书的客户端进行资格审查,资格审查时主要是对客户端的ip地址进行审核,若客户端的ip地址是动态ip地址,还要根据动态ip地址的切换时间来对客户端的资格进行审查。

可选的,在获取新数字证书之后,还可以包括如下步骤:

调用随机函数产生一个随机数,应用所述随机数对所述新数字证书进行加密,生成密文数据;发送所述密文数据值所述服务器,接收所述服务器根据所述密文数据生成的随机数签名,应用预存的公钥对所随机数签名进行解密,若解密成功,则使用所述新数字证书进行网络连接,否则重新从所述服务器获取数字证书;

s4、若所述服务器为核心服务器,则应用缓存的数字证书密钥对所述更新后的数字证书进行解密,若解密成功,则用更新后的数字证书替代缓存的数字证书,否则保留原缓存的数字证书。

具体的,缓存的数字证书密钥可以是哈希密钥、对称密钥等常用的密钥。其中,最常用的是哈希密钥,哈希密钥是应用哈希函数进行加密后得到的一种密钥。哈希函数,把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。不同的哈希函数值对应着不同的对应关系,通过哈希函数值就可以实现对数字证书的解密。

本实施例,通过对发送数字证书更新的服务种类进行有效区分,并根据服务器级别的不同采用不同的更新检验方式,从而有效的提升了本地终端进行数字证书的效率,同时也提升了数字证书更新发安全性。

图2为本申请在一个实施例中的一种数字证书处理方法中的建立连接过程示意图,如图所示,所述获取服务器的域名之前,所述方法还包括:

s01、向所述服务器发送同步序列syn信号;

具体的,握手协议是指主要用来让客户端及服务器确认彼此的身份的一类网络协议。除此之外,为了保护ssl记录封包中传送的数据,握手协议还能协助双方选择连接时所使用的加密算法、mac算法及相关密钥。在传送应用程序的数据前,必须使用握手协议来完成上述事项。常用的握手协议是三次握手协议。本步骤是三次握手协议中的第一次握手协议,是客户端向服务器发出的网络请求,syn是客户端与服务器建立连接时使用的握手信号,在发送syn信号后,客户端等待服务器确认,服务器确认后客户端与服务器才可以建立连接。

s02、接收所述服务器对于所述同步序列编号syn的反馈信息,若所述反馈信息中包含有同步序列接收信号,确定所述服务器已经接收到所述syn信号;

具体的,第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个syn包(syn=k),即syn+ack包,此时服务器进入syn_recv状态。即在第二次握手时,服务器确认与客户端能够建立连接,这样才能向客户端传输数据。

s03、向所述服务器发送确认信号ack,建立与所述服务器的连接。

具体的,客户端向服务器发送确认信号,以表示能够接收到服务器传输的数据,这样客户端和服务器之间便建立起交互的连接。进而客户端能够从服务器下载数字证书。

本实施例,通过三次握手协议,从而保证客户端能够正常的从服务器下载数字证书,不会因为网络问题导致无法接收到数字证书更新信息。

图3为本申请在一个实施例中的一种数字证书处理方法中的确定服务器类型过程示意图,如图所示,所述根据所述服务器域名列表,确定所述服务器的类型,包括:

s21、获取所述服务器的域名,根据三级域名规则,将所述服务器的域名分割成三个域名子段,其中,每一个所述域名子段对应着一个级别的域名;

其中,一个完整的域名(.com、.net、.cn、.top等)由二个或二个以上部分组成,各部分之间用英文的句号"."来分隔,最后一个"."的右边部分称为顶级域名(tld),顶级域名“.”的左边部分称为二级域名(sld),二级域名的左边部分称为三级域名,以此类推,每一级的域名控制它下一级域名的分配。三级域名是形如“youa.baidu.com”的域名,是二级域名的子域名,特征为域名包含两个“.”。

s22、提取所述三级域名所在子段的首三位字母与所述核心域名列表中的域名进行比对,若一致,则所述服务器为核心服务器,否则为非核心服务器。

其中,在核心域名列表中,将核心域名的首三位字母作为标志,如aaa标识该域名用于发布最新时事等。

本实施例,利用域名规则对服务器的类型进行区分,从而针对不同类型的服务器能够采用不同的数字证书更新方法。

图4为本申请在一个实施例中的一种数字证书处理方法中的证书解密过程示意图,所述应用缓存的数字证书密钥对所述更新后的数字证书进行解密,包括:

s41、抽取所述更新后的数字证书中证书摘要,采用所述数字证书密钥对应的摘要算法对所述数字证书摘要进行解密,生成摘要解密结果;

具体的,数字证书摘要是数字证书的简要说明,提取数字证书摘要时通常可以通过计算后获得。例如,可以利用md5(message-digestalgorithm5,消息摘要算法第五版)算法将数字证书的采集结果运算为一固定长度的消息摘要(例如,一固定长度的字符串),即数字证书摘要。除了md5算法外,还可以采用sha(securehashalgorithm,安全散列算法)等算法。

数字证书摘要还可以进行缓存到本地cookie文件中,用户通过浏览器在网页上每进行一个操作,浏览器都可以响应该用户的操作,向业务服务器发送相应于该操作的业务请求,浏览器可以将生成的该用户的数字证书摘要放在该请求中一起发送给业务服务器。由于浏览器的每一次请求都可以伴随cookie传递,因此,可以将生成的数字证书摘要缓存至cookie文件中,当浏览器响应于该用户的操作,向业务服务器发送与该操作相应业务请求时,就可以将包含该数字证书摘要的cookie伴随该业务请求中一起发送给业务服务器。

s42、根据所述互联网协议地址,从所述域名管理系统终端所存储的数字证书中,获取与所述数字证书查询请求对应的所述更新后的数字证书。

具体的,互联网协议地址可以是tcp/ip形式的,在域名管理系统终端中所存储的数字证书可以采用版本编号的方式进行排列。即更新后的数字证书版本编号延续前一版本的数字证书版本编号。通过对数字证书版本编号进行对照就可以得到更新后的数字证书。通常数字证书更新后,版本号会自动更新。

本实施例,通过对数字证书摘要进行计算解密,从而准确的获得了数字证书更新的信息。

在一个实施例中,提出了一种数字证书处理装置,如图5所示,所述客户端,包括以下模块:

处理模块,设置为获取服务器的域名,将所述服务器的域名与核心域名列表中的域名进行比对,判断所述服务器是否为核心服务器;

收发模块,设置为接接收数字证书更新指令,根据所述数字证书更新指令,从网络中下载更新后的数字证书;

若所述服务器为非核心服务器,所述处理模块将所述更新后的数字证书作为新数字证书;

若所述服务器为核心服务器,所述处理模块则应用缓存的数字证书密钥对所述更新后的数字证书进行解密,若解密成功,则用更新后的数字证书替代缓存的数字证书,否则保留原缓存的数字证书。

处理模块可用于控制所述收发模块的收发操作。所述数字证书处理装置具有实现对应于上述图1-图4所对应的实施例中提供的数字证书处理方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。

在一个实施例中,所述收发模块还用于:

向所述服务器发送同步序列syn信号;接收所述服务器对于所述同步序列编号syn的反馈信息,若所述反馈信息中包含有同步序列接收信号,则所述服务器已经接收到所述syn信号;向所述服务器发送确认信号ack,通过所述处理模块建立与所述服务器的连接。

本实施例,收发模块利用三次握手协议的方式建立客户端和服务器之间的连接,从而增强了客户端和服务器之间连接的准确性和稳定性。

在一个实施例中,所述处理模块还用于:

获取所述服务器的域名,根据三级域名规则,将所述服务器的域名分割成三个域名子段,其中,每一个所述域名子段对应着一个级别的域名;提取所述三级域名所在子段的首三位字母与所述核心域名列表中的域名进行比对,判断所述服务器的类型。

本实施例,处理模块利用三级域名规则对服务器的域名进行解析,从而准确的获得了服务器的归属类型,也降低了处理模块的工作负载。

在一个实施例中,所述处理模块还用于:

抽取所述更新后的数字证书中证书摘要,采用所述数字证书密钥对应的摘要算法对所述数字证书摘要进行解密,生成摘要解密结果;将所述摘要解密结果与缓存的数字摘要进行比对,若一致,则应用所述数字证书密钥对所述更新后的数字证书进行解密,否则重新获取其它版本的所述数字证书密钥直到比对一致。

本实施例,在处理模块中应用摘要算法对数字证书进行解密分析,避免了对整个数字证书所有字段进行分析,从而提升了处理效率。

在一个实施例中,所述收发模块接收数字证书更新指令,发送数字证书更新请求至域名管理系统终端,其中,所述数字证书更新请求中携带待更新证书对应的互联网协议地址;

所述处理模块根据所述互联网协议地址,从所述域名管理系统终端所存储的数字证书中,获取与所述数字证书查询请求对应的所述更新后的数字证书。

本实施例,通过互联网协议地址,有效的确定了发生数字证书更新的服务器地址,从而提升了数字证书更新到客户端的效率。

在一个实施例中,提出了一种计算机设备,至少一个处理器、存储器和收发器;

其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行上述各实施例中的所述数字证书处理方法的步骤。

在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中的所述数字证书处理方法的步骤。其中,所述存储介质可以为非易失性存储介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请一些示例性实施例,其中描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1