CDN服务器及其与客户端连接方法、私钥服务器及系统与流程

文档序号:12490983阅读:307来源:国知局
CDN服务器及其与客户端连接方法、私钥服务器及系统与流程

本发明涉及内容分发网络领域,特别是涉及一种CDN服务器及其与客户端连接方法、私钥服务器及系统。



背景技术:

内容分发网络(Content Delivery Network,CDN),通过在网络各处放置缓存服务器,在现有的互联网基础之上构建一层智能虚拟网络,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,以缓解网络拥挤的状况,提高网站的响应速度。

为了确保通信安全,CDN网络中一般采用加密算法对传输的数据进行加密和解密。其中,加密算法一般包括对称加密算法和非对称加密算法。对称加密算法在加密和解密时使用的是同一个秘钥,而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥中,一个是公开密钥(public key,简称RSA公钥),另一个是私有密钥(private key,简称RSA私钥)。

其中,非对称加密算法中的RSA私钥需要绝对的保密,不能外泄,而对于一些特殊的场景,如需要接入CDN服务的客户端在与CDN服务器建立加密连接时,需要使用对应的RSA私钥信息方可与客户端之间完成加密连接,此时,CDN服务器则必须获取客户的RSA私钥信息,因此,请求接入CDN服务的客户端在与CDN服务器建立加密连接时,存在着安全性差的问题。



技术实现要素:

本发明实施例解决的问题是如何提高客户端与CDN服务器之间建立加密连接的安全性。

为解决上述问题,本发明实施例提供了一种CDN服务器与客户端连接方法,所述方法包括:当与客户端建立加密连接时,将所接收的客户端发送的加密数据发送至对应的私钥服务器;所述加密数据为所述客户端采用公钥进行加密得到;接收所述私钥服务器采用对应的私钥对所述加密数据进行解密得到的解密数据;使用所述解密数据对与所述客户端之间的交互数据进行加密和解密。

可选地,所述将所接收的客户端采用公钥加密的数据发送至对应的私钥服务器,包括:采用异步非阻塞方式将所接收的客户端采用公钥加密的加密数据发送至对应的私钥服务器。

可选地,所述解密数据为共享秘密数据。

可选地,所述私钥服务器中存储有一个以上的客户的私钥信息。

本发明实施例还提供了一种CDN服务器与客户端连接方法,所述方法包括:当接收到CDN服务器发送的加密数据时,采用对应的私钥对所述加密数据进行解密得到的解密数据;所述加密数据为请求与CDN服务器建立加密连接的客户端采用公钥进行加密得到;将所述解密数据发送至所述CDN服务器,以使得所述CDN服务器使用所述解密数据对与所述客户端之间的交互数据进行加密和解密。

本发明实施例还提供了一种CDN服务器,所述CDN服务器包括:第一发送单元,适于当与客户端建立加密连接时,将所接收的客户端发送的加密数据发送至对应的私钥服务器;所述加密数据为所述客户端采用公钥进行加密得到;接收单元,适于接收所述私钥服务器采用对应的私钥对所述加密数据进行解密得到的解密数据;加解密单元,适于使用所述解密数据对与所述客户端之间的交互数据进行加密和解密。

可选地,所述发送单元,适于采用异步非阻塞方式将所接收的客户端采用RSA公钥加密的加密数据发送至对应的私钥服务器。

可选地,所述解密数据为共享秘密数据。

可选地,所述私钥服务器中存储有一个以上的客户的私钥信息。

本发明实施例还提供了一种私钥服务器,所述私钥服务器包括:解密单元,适于当接收到CDN服务器发送的加密数据时,采用对应的私钥对所述加密数据进行解密得到的解密数据;所述加密数据为请求与CDN服务器建立加密连接的客户端采用公钥进行加密得到;第二发送单元,适于将所述解密数据发送至所述CDN服务器,以使得所述CDN服务器使用所述解密数据对与所述客户端之间的交互数据进行加密和解密。

本发明实施例还提供了一种CDN系统,所述CDN系统包括客户端、上述的CDN服务器、上述的私钥服务器和客户源站;所述CDN服务器分别与所述客户端和所述私钥服务器耦接。

与现有技术相比,本发明的技术方案具有以下的优点:

上述的方案,在与客户端之间建立加密连接,且接收到的客户端发送的采用公钥加密的加密数据时,将所述加密数据发送至对应的私钥服务器进行解密,并从所述私钥服务器接收对应的解密数据,在不需要获取对应的客户的私钥的情况下,即可与客户端之间建立加密连接,因而可以提高CDN服务器与客户端之间建立加密连接的安全性。

附图说明

图1是本发明实施例中的一种CDN服务器与客户端连接方法的流程图;

图2是本发明实施例中的另一种CDN服务器与客户端连接方法的流程图;

图3是本发明实施例中的一种CDN系统的结构示意图;

图4是本发明实施例中的一种CDN服务器与客户端连接方法的信令流程图;

图5是本发明实施例中的一种CDN服务器的结构示意图;

图6是本发明实施例中的一种私钥服务器的结构示意图。

具体实施方式

为解决现有技术中存在的上述问题,本发明实施例采用的技术方案通过将所接收到的请求建立加密连接的客户端发送的采用RSA公钥加密的加密数据时,将所述加密数据发送至对应的私钥服务器进行解密,并从所述私钥服务器接收对应的解密数据,以与客户端之间建立加密连接,可以提高CDN服务器与客户端之间建立加密连接的安全性。

为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1示出了本发明实施例中的一种CDN服务器与客户端连接方法的流程图。参见图1,在具体实施中,本发明实施例中的CDN服务器与客户端连接方法,可以包括如下的步骤:

步骤S101:当与客户端建立加密连接时,将所接收的客户端发送的加密数据发送至对应的私钥服务器。

在具体实施中,所述加密数据为所述客户端采用RSA公钥进行加密得到。

步骤S102:接收所述私钥服务器采用对应的私钥对所述加密数据进行解密得到的解密数据。

在具体实施中,所述私钥服务器中存储有与所述客户端所使用的所述RSA公钥对应的RSA私钥的信息,以对RSA公钥加密的数据进行解密。

步骤S103:使用所述解密数据对与所述客户端之间的交互数据进行加密和解密。

其中,所述解密数据,也即CDN服务器与客户端之间进行数据交互所使用的共享秘密数据,也即premaster数据。在具体实施中,可以采用随机数作为premaster数据。

图2示出了本发明实施例中的另一种CDN服务器与客户端连接方法的流程。参见图2,本发明实施例中的CDN服务器与客户端连接方法可以包括:

步骤S201:当接收到CDN服务器发送的加密数据时,采用对应的RSA私钥对所述加密数据进行解密得到的解密数据。

在具体实施中,所述加密数据为请求与CDN服务器建立加密连接的客户端采用RSA公钥进行加密得到。

步骤S202:将所述解密数据发送至所述CDN服务器,以使得所述CDN服务器使用所述解密数据对与所述客户端之间的交互数据进行加密和解密。

在具体实施中,私钥服务器可以采用异步非阻塞的方式将所述解密数据发送至所述CDN服务器,以提高资源的利用效率。

下面将对本发明实施例中的CDN服务器与客户端连接方法进行详细的描述。

为了便于理解,首先对本发明实施例中的CDN系统进行介绍。

参见图3,本发明实施例中的一种CDN系统可以包括客户端301、一个以上的CDN服务器3021~302n和一个以上的私钥服务器3031~303m。其中,CDN服务器3021~302n分别与客户端301和私钥服务器3031~303m耦接。

参见图4,本发明实施例中的一种CDN服务器与客户端连接方法,适于客户端与CDN服务器之间建立加密连接,具体可以采用如下的步骤实现:

步骤S401:客户端将采用公钥解密得到的加密数据发送至CDN服务器。

在具体实施中,客户端在需要接入CDN网络,使用CDN网络所提供的加速服务时,首先可以生成对应的加密连接请求并发送至CDN服务器。其中,所述加密连接请求中包括采用相应的RSA公钥进行加密得到的加密数据。

在本发明一实施例中,客户端在向CDN服务器发送对应的加密连接请求时,可以将对应的加密连接请求信息采用事先与CDN服务器协商好的加密算法进行相应的加密处理,以提高数据传输的安全性。其中,客户端与CDN服务器协商确定的加密算法可以根据实际的需要进行设置,本发明在此不做限制。

步骤S402:所述CDN服务器将所接收的加密数据发送至私钥服务器。

在具体实施中,CDN服务器可以接收客户端发送的加密连接请求,并通过对应设置的接口从所接收的加密连接请求中解析出对应的加密数据并发送至私钥服务器。其中,CDN服务器可以采用异步非阻塞的方式将对应的加密数据并发送至私钥服务器,以提高资源的利用率。

在本发明一实施例中,为了提高数据传输的安全性,CDN服务器和私钥服务器之间的数据交互也采用双方实现约定的加密算法进行加密。

步骤S403:所述私钥服务器采用对应的私钥对所接收的加密数据进行解密得到对应的解密数据并发送至所述CDN服务器。

在具体实施中,所述私钥服务器中存储有对应的RSA私钥的信息,当接收到CDN服务器发送的加密数据时,私钥服务器可以采用对应的RSA私钥对所接收的所述加密数据进行解密,从而得到对应的解密数据并发送至CDN服务器,以使得CDN服务器获取对应的解密数据,或者称为共享秘密(premaster)数据。

在具体实施中,私钥服务器可以由客户部署,也即相应客户的RSA私钥信息仅为客户所知晓,CDN网络提供商并不知晓私钥服务器中的RSA私钥的信息,从而可以确保RSA私钥信息的安全性。当然根据实际的需要,也可以由CDN网络提供商部署私钥服务器,并提供对应的接口接收由客户提交自身的RSA私钥信息并存储,且提交至私钥服务器中的客户的私钥信息也采取了相应的手段进行加密,以使得CDN服务器无法获取客户的私钥信息,以对客户的私钥信息加以保护。

步骤S404:所述CDN服务器接收所述解密数据。

步骤S405:所述CDN服务器重新驱动与所述客户端之间的握手流程。

在具体实施中,CDN服务器在接收到所述解密数据时,重新驱动与所述客户端之间的握手流程,直至与客户端的加密连接完成。具体地,CDN服务器在接收到所述解密数据时,与客户端使用所述解密数据进行后续的数据的加密和解密操作,直至本次的加密连接结束。

上述的方法对应的流程采用表格进行描述如表1所示。

表1

其中,“过程名称”表明CDN服务器与客户端的连接过程相应的步骤的名称,“说明”用于对相应步骤进行补充说明。

在本发明一实施例中,上述的CDN服务器与客户端的连接过程,可以采用openssl的握手阶段的状态机完成。具体而言,通过为openssl的握手阶段的状态机添加一数据发送状态,当接收到私钥服务器发送的解密数据时,CDN服务器将所接收的解密数据代入openssl的握手阶段的状态机,从而驱动openssl的握手阶段的状态机继续运行,直至CDN服务器与客户端的加密连接完成。

上述对本发明实施例中的方法进行了详细的描述,下面将对上述的方法对应的装置做介绍。

图5示出了本发明实施例中的一种CDN服务器的结构。参见图5,一种CDN服务器500可以包括第一发送单元501、接收单元502和加解密单元503,其中:

第一发送单元501,适于当与客户端建立加密连接时,将所接收的客户端发送的加密数据发送至对应的私钥服务器;所述加密数据为所述客户端采用RSA公钥进行加密得到。

接收单元502,适于接收所述私钥服务器采用对应的RSA私钥对所述加密数据进行解密得到的解密数据。其中,所述解密数据为共享秘密数据。

加解密单元503,适于使用所述解密数据对与所述客户端之间的交互数据进行加密和解密。

在本发明一实施例中,所述第一发送单元501,适于采用异步非阻塞方式将所接收的客户端采用RSA公钥加密的加密数据发送至对应的私钥服务器。

在具体实施中,所述私钥服务器中存储有一个以上的客户的RSA私钥信息。

图6示出了本发明实施例中的一种私钥服务器的结构。参见图6,所述私钥服务器600可以包括解密单元601和第二发送单元602,其中:

解密单元601,适于当接收到CDN服务器发送的加密数据时,采用对应的RSA私钥对所述加密数据进行解密得到的解密数据;所述加密数据为请求与CDN服务器建立加密连接的客户端采用RSA公钥进行加密得到。

第二发送单元602,适于将所述解密数据发送至所述CDN服务器,以使得所述CDN服务器使用所述解密数据对与所述客户端之间的交互数据进行加密和解密。

采用本发明实施例中的上述方案,在接收到请求建立加密连接的客户端发送的采用RSA公钥加密的加密数据时,通过将所述加密数据发送至对应的私钥服务器进行解密,并从所述私钥服务器接收对应的解密数据,从而可以使用所述解密数据与客户端之间建立加密连接,在不需要获取对应的客户的RSA私钥的情况下,即可与客户端之间建立加密连接,因而可以提高CDN服务器与客户端之间建立加密连接的安全性和便利性。

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

以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

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