首页> 中国专利> 一种采用SDN技术改善内容分发网络安全性的方法及系统

一种采用SDN技术改善内容分发网络安全性的方法及系统

摘要

本发明提出一种采用SDN技术改善内容分发网络安全性的方法及系统,该系统包括多个CDN服务器,多个缓存服务器,多个SDN交换机,SDN控制器,多个SDN交换机;SDN控制器接收用户访问原文件的访问请求,生成CDN服务器地址消息,将CDN服务器地址消息通过私钥进行加密并发送给用户,并生成访问请求消息,通过私钥将访问请求消息进行加密,CDN服务器接收加密后的访问请求消息,CDN服务器将加密后的访问请求消息进行解析,获取解析后的信息与原加密前的访问请求消息中的信息进行比较,若相同,CDN服务器从缓存服务器获取原文件;用户将CDN服务器地址消息进行解析,获取解析后的信息与原加密前的CDN服务器地址消息中的信息进行比较,若相同,从CDN服务器获取原文件。

著录项

  • 公开/公告号CN106027555A

    专利类型发明专利

  • 公开/公告日2016-10-12

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN201610515220.7

  • 发明设计人 孙毅;丁东辉;邓波;

    申请日2016-06-30

  • 分类号H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构11006 北京律诚同业知识产权代理有限公司;

  • 代理人祁建国;梁挥

  • 地址 100190 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-06-19 00:41:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-29

    授权

    授权

  • 2016-11-09

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20160630

    实质审查的生效

  • 2016-10-12

    公开

    公开

说明书

技术领域

本发明涉及计算机领域,特别涉及一种采用SDN技术改善内容分发网络安全性的方法及系统。

背景技术

内容分发网络(Content Delivery Network,CDN)是一种将视频、网页等文件,从位于远程的中心服务器发送至多个CDN服务器的技术。用户通过DNS等方式连接至最近的CDN服务器,从而减轻中心服务器的负载,并增强用户可感知的服务质量,然而,在内容分发网络中,仍需要考虑安全性问题,如果单个CDN服务器与用户之间的传输路径受到攻击,则很容易导致传输文件的泄露。

一种常用的保证文件安全性的技术为Shamir门限技术,假设存在n个参与者,所述参与者可以是存储文件的缓存服务器,门限值为t,其中t<n,系统将文件拆分为n个片段,分别存储在n台缓存服务器内,其中,任意t台缓存服务器提供的文件片段,均可以恢复出原文件,但当获取的文件片段数少于t时,则无法恢复原文件,当请求者试图访问被拆分的文件时,需要从任意t个服务器中获取文件片段,并在本地恢复出原文件。

传统的Shamir门限技术具有如下优点,第一,能够在一定程度上保证系统的可靠性,当少于t台服务器泄露,或者少于t条传输路径被攻破后,攻击者仍无法恢复出原文件,更进一步地,可以将一个私钥进行拆分,各个服务器利用拆分后的私钥对文件片段分别加密,只有文件请求者才持有完整的私钥,这可以更好地提升系统安全性;第二,每台缓存服务器可以只持有文件的部分片段,从而节省服务器的存储空间。

然而,简单的Shamir门限技术并不能直接应用于内容分发网络中,这是因为客户端需要在t个文件片段全部下载到本地后才能完全恢复出原文件,因而,如果缓存服务器与客户端主机之间传输的为视频或网页文件,将无法支持“边下载边播放”或“边下载边解析”模式。

经过研究,我们认为,原有Shamir门限技术仅仅考虑了文件的可靠存储 与传输,而并未考虑文件请求者恢复原文件的代价,为了解决上述问题,可以只在存储时对原文件进行拆分,发送前,在发送方临时组装出原文件,从而使文件请求者能够直接收到完整的文件,但是,有以下两点必须予以保证:1.文件的请求者与发送者必须确认彼此的身份;2.必须保证完整的文件在传输过程中难以受到攻击。

近年来,软件定义网络(Software Defined Network,SDN)日益成为工业界与学术界的研究热点,SDN的核心理念为控制平面与转发平面的分离,控制平面可以依据业务需求,实时调整网络状态,而转发平面只专注于数据包的转发。

在处理上述问题时,SDN控制器可以协助发送者与请求者识别彼此身份,也能够为原文件的传输指定专属的转发路径,当文件传输完毕后,专属的转发路径将被清除,从而降低转发路径泄露的可能性。

发明内容

针对现有技术的不足,本发明提出一种采用SDN技术改善内容分发网络安全性的方法及系统。

本发明提出一种采用SDN技术改善内容分发网络安全性的系统,包括:

多个CDN服务器,多个缓存服务器,多个SDN交换机,SDN控制器,所述SDN控制器持有一个私钥,多个SDN交换机组成SDN网络;

所述SDN控制器接收用户访问原文件的访问请求,生成CDN服务器地址消息CDN_IP_MESSAGE,将所述CDN服务器地址消息CDN_IP_MESSAGE通过所述私钥进行加密并发送给用户,并生成访问请求消息FILE_REQUEST_MESSAGE,通过所述私钥将所述访问请求消息FILE_REQUEST_MESSAGE进行加密,CDN服务器接收加密后的所述访问请求消息FILE_REQUEST_MESSAGE,所述CDN服务器通过公钥将加密后的所述访问请求消息FILE_REQUEST_MESSAGE进行解析,获取解析后的信息与原加密前的所述访问请求消息FILE_REQUEST_MESSAGE中的信息进行比较,若相同,则所述CDN服务器从所述缓存服务器获取原文件;

用户通过公钥将CDN服务器地址消息CDN_IP_MESSAGE进行解析,获取解析后的信息与原加密前的所述CDN服务器地址消息CDN_IP_MESSAGE中的信息进行比较,若相同,则从所述CDN服务器获取原文件。

根据用户的地理位置与CDN服务器的地理位置,选择离用户最近的CDN服务器作为选中CDN服务器。

还包括向SDN网络下发流表项,为用户与所述选中CDN服务器,以及所述选中CDN服务器与多个所述缓存服务器分别指定一组转发路径。

所述访问请求包括所述原文件的唯一标识符FILE_ID与发送访问请求时的时间戳TIME_STAMP。

对所述唯一标识符FILE_ID与所述时间戳TIME_STAMP进行哈希变换,生成CDN服务器的IP地址CDN_IP,根据所述IP地址CDN_IP与时间戳TIME_STAMP,计算消息摘要CDN_RA。

所述CDN服务器地址消息CDN_IP_MESSAGE包括所述IP地址CDN_IP、所述时间戳TIME_STAMP、消息摘要CDN_RA。

根据所述IP地址CDN_IP、用户的IP地址CLIENT_IP,以及所述唯一标识符FILE_ID,计算消息摘要FILE_RA。

所述访问请求消息FILE_REQUEST_MESSAGE包括所述IP地址CDN_IP、所述IP地址CLIENT_IP、所述唯一标识符FILE_ID、所述消息摘要FILE_RA。

所述CDN服务器通过公钥将加密后的所述访问请求消息FILE_REQUEST_MESSAGE进行解析,获取解析后的信息与原加密前的所述访问请求消息FILE_REQUEST_MESSAGE中的信息进行比较,其中比较的信息为消息摘要FILE_RA;

用户通过公钥将CDN服务器地址消息CDN_IP_MESSAGE进行解析,获取解析后的信息与原加密前的所述CDN服务器地址消息CDN_IP_MESSAGE中的信息进行比较,其中比较的信息为所述消息摘要CDN_RA与时间戳TIME_STAMP。

本发明还提出一种利用所述采用SDN技术改善内容分发网络安全性的系统的方法。

由以上方案可知,本发明的优点在于:

1.CDN服务器的IP地址通过文件标识符与时间戳计算获得,因而是不固定的,而且在非SDN网络中是不可路由的,只能通过SDN控制器指定路径的方式“强制”转发,外部用户不知道所述CDN服务器的真实地址。因而,CDN服务器的真实位置将被隐藏起来,非法用户难以访问所述CDN服务器。

2.通过Shamir门限技术将原文件分开存储,而且原文件在传输完成后, 会从CDN服务器中立即删除,从而在一定程度上提高了文件的安全性。

3.转发路径由SDN控制器指定,每次指定的转发路径均不相同,当客户端与CDN结点之间文件传输的时间较长时,转发路径可以定期改变。文件传输完成后,缓存服务器、CDN服务器、客户端之间的路径均被清除,从而提高了传输路径的安全性。

与传统Shamir门限技术方案的不同之处在于,文件片段在CDN服务器完成组合,而不在于客户端,因而,会减少客户端并发的连接数,并支持“边下载边播放”的视频下载方式。

附图说明

图1为一个实施例的系统结构图;

图2为客户端发送文件请求后,SDN控制器所执行的步骤图;

图3为CDN服务器从n个缓存服务器获取文件时所执行的步骤图;

图4为客户端从CDN服务器获取所需文件时所执行的步骤图(图4并没有在说明书其他地方出现)。

具体实施方式

鉴于以上所述的一个或多个问题,本发明提供了一种采用SDN技术改善内容分发网络安全性的方法及系统。

本发明包含m个CDN服务器,n个缓存服务器,一个SDN网络,一个SDN控制器。所述SDN网络包含多条由SDN交换机互联组成的路径,SDN交换机通过OpenFlow协议与SDN控制器通信,而CDN服务器与缓存服务器均接入SDN网络。

所述SDN控制器持有一个私钥,用以加密发出的消息,而所述m个CDN服务器以及接入SDN网络的客户端则持有与之配对的公钥。

本发明使用Shamir门限技术,将原文件拆分至n台缓存服务器中,当客户端试图通过SDN网络访问原文件时,发出的请求将被转发至SDN控制器,请求中包含原文件的唯一标识符FILE_ID和发送请求时的时间戳TIME_STAMP,SDN服务器收到来自客户端的请求后,执行如下步骤。

1.根据用户的地理位置与CDN服务器的地理位置,选择离用户最近的CDN 服务器;

2.以FILE_ID与TIME_STAMP为输入,采用哈希函数,为CDN服务器生成一个IP地址CDN_IP,该地址在非SDN网络中是不可路由的;

3.向SDN网络下发流表项,为客户端与选中的CDN服务器,以及CDN服务器与n个缓存服务器分别指定一组转发路径;

4.利用CDN_IP及TIME_STAMP,通过哈希函数计算消息摘要CDN_RA;

5.生成CDN服务器地址消息CDN_IP_MESSAGE,其中包含CDN服务器的IP地址CDN_IP,时间戳TIME_STAMP,以及消息摘要CDN_RA;将所述CDN服务器地址消息通过自身持有的密钥加密后,发往客户端。

6.利用CDN服务器的IP地址CDN_IP,客户端IP地址CLIENT_IP,以及所述原文件的唯一标识符FILE_ID,通过哈希函数计算消息摘要FILE_RA;

7.生成访问请求消息FILE_REQUEST_MESSAGE,其中包含CDN服务器的IP地址CDN_IP,客户端IP地址CLIENT_IP,文件的唯一标识符FILE_ID,消息摘要FILE_RA;将所述消息通过自身持有的私钥加密后,发往选中的CDN服务器。

通过上述CDN_IP_MESSAGE以及FILE_REQUEST_MESSAGE,SDN控制器可以协助CDN服务器以及客户端识别彼此身份;同时,临时生成的CDN_IP可以隐藏CDN服务器的真实位置。

CDN服务器接收到加密的FILE_REQUEST_MESSAGE后,先通过配对的公钥解析出原始的FILE_REQUEST_MESSAGE,然后对CDN_IP,CLIENT_IP以及FILE_ID重新计算消息摘要,并与收到的FILE_RA相比较,以验证消息的完整性;如果验证通过,那么将CDN_IP设置为自身的IP地址;随后,通过自身与n个缓存服务器之间的转发路径,向n个缓存服务器发送文件获取请求。

n个缓存服务器在收到文件获取请求后,将自身存储的文件片段分别发送至所述CDN服务器;所述CDN服务器接收前t个缓存服务器发来的文件片段,然后采用Shamir门限技术,恢复出原文件。

当文件片段在CDN服务器与缓存服务器之间传输完成后,清除CDN服务器与n个缓存服务器之间的转发路径。

客户端接收到经过加密的CDN_IP_MESSAGE后,首先利用配对的公钥解析 出原始的CDN_IP_MESSAGE,然后对CDN_IP,时间戳TIME_STAMP重新计算消息摘要,并与收到的CDN_RA相比较,以验证消息的完整性;随后,比较收到的时间戳TIME_STAMP与自己原先发送请求时的时间戳,如果二者相等,则验证通过。

随后,客户端以解析出的CDN_IP为目的地址,通过客户端到CDN服务器的转发路径,建立HTTP连接,并发送HTTP请求。

CDN服务器收到HTTP请求后,将恢复出的原文件发往客户端。

当所述连接为HTTP长连接,且传输文件的时间较长时,每隔一段固定时间,SDN控制器重新为所述CDN服务器与客户端计算一组转发路径。

原文件传输完毕后,CDN服务器删除原文件;客户端与CDN服务器之间的转发路径也被清除。

如果传输的文件为视频文件,CDN服务器可以将原文件分割为若干片段;CDN服务器上只存放固定时长的视频片段,过期的视频片段将被删除;当所有视频文件片段传输完成后,所有视频片段都会从CDN服务器中删除。通过这种方式,实现了视频文件的“边下载边播放”。

以下为本发明的具体实施例,如下所示:

下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明不限于下面所提出的任何具体配置和算法,而是在不脱离本发明基本思想的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。

图1所示的实施例中,设Shamir门限机制中存在n个参与者,门限值为t。

该系统包含m个CDN服务器,n个缓存服务器,一个SDN网络,一个SDN控制器。所述SDN网络包含多条由SDN交换机组成的路径,SDN交换机通过OpenFlow协议与SDN控制器通信。所述CDN服务器与缓存服务器均接入SDN网络。

所述n个缓存服务器均持有一个私钥,用以加密发出的消息。而所述m个CDN服务器以及接入SDN网络的客户端则持有与之配对的公钥。

原文件经过加密后,使用Shamir门限技术,拆分至n台缓存服务器中。这里的原文件可以是视频、网页等。

在当客户端试图通过SDN网络访问某一文件时,客户端发出的请求将首先被转发至SDN控制器。所述请求包含原文件的唯一标识符FILE_ID和发送请求时的时间戳TIME_STAMP。

所述SDN控制器存储各CDN服务器的地理位置。图2给出了SDN控制器在收到客户端请求后执行的流程。

S201.依据各个CDN服务器的地理位置,为所述客户端指定一个CDN服务器。

S202.从客户端请求中获取所述文件标识符FILE_ID和时间戳TIME_STAMP。

S203.采用哈希函数,以文件标识符FILE_ID和时间戳TIME_STAMP为输入,为所述CDN服务器生成一个IP地址。在非SDN网络中,该IP地址是不可路由的,如采用RFC1918规定的私有地址。

S204.向所述SDN网络下发流表项,为客户端与所述CDN服务器指定一组转发路径。

S205.向所述SDN网络下发流表项,为所述CDN服务器与所述n个缓存服务器指定另一组转发路径。

S207.以CDN服务器的指定IP地址CDN_IP,以及从请求中解析出的时间戳TIME_STAMP为输入,通过Hash函数,计算消息摘要CDN_RA。然后构造一个CDN服务器地址消息CDN_IP_MESSAGE,其中包含CDN_IP,TIME_STAMP以及消息摘要CDN_RA。将CDN服务器地址消息通过自身持有的私钥加密后,发往所述客户端。

S208.以CDN服务器的指定IP地址CDN_IP,客户端IP地址CLIENT_IP,以及所述文件的唯一标识符FILE_ID为输入,计算消息摘要FILE_RA。然后构造一个访问请求消息FILE_REQUEST_MESSAGE,其中包含CDN_IP,CLIENT_IP,FILE_ID以及消息摘要FILE_RA。将访问请求消息通过自身持有的私钥加密后,发往选中的CDN服务器。

CDN服务器在接收到所述访问请求消息FILE_REQUEST_MESSAGE后,执行如图3所示的步骤。

S301.通过配对的公钥解析加密后的访问请求消息,获取所述客户端的IP地址CLIENT_IP,所述文件的唯一标识符FILE_ID,SDN控制器为CDN服务器分配的IP地址CDN_IP,以及消息摘要FILE_RA;

S302.利用解析出的CLIENT_IP,FILE_ID,以及CDN_IP,重新计算消息摘要,并与收到的消息摘要FILE_RA相对比,以验证消息的完整性;

S303.如果验证通过,则将CDN_IP设置为自身的IP地址;

S304.通过CDN服务器与缓存服务器之间的转发路径,向n个缓存服务器发送文件获取请求。所述n个缓存服务器收到文件获取请求后,将自身存储的文件片段分别发送至所述CDN服务器。

S305.所述CDN服务器接收到前t个缓存服务器发来的文件片段,采用Shamir门限技术,恢复出原文件。

S306.当所述文件片段在CDN服务器与缓存服务器之间传输完毕后,所述CDN服务器与n个缓存服务器之间的转发路径被清除。在OpenFlow协议中,可以通过删除交换机中流表项的方式清除转发路径。如,在OpenFlow 1.30及以上协议中,可以设置流表项的Timeouts字段,当所述转发路径维持的时间超过某一阈值后,负责在该路径上转发数据的流表项将被自动删除。也可以通过SDN控制器直接向所述路径上的SDN交换机下发Flow-Mod消息,从而删除转发文件片段的所述流表项。

客户端在收到CDN_IP_MESSAGE后,执行如图4所述的步骤。

S401.利用公钥解析加密后的所述CDN服务器地址消息,获得所述为CDN服务器指定的IP地址CDN_IP,时间戳TIME_STAMP以及消息摘要CDN_RA。

S402.利用CDN_IP,以及TIME_STAMP重新计算消息摘要,并与收到的消息摘要CDN_RA对比,以验证消息的完整性。

S403.比较从CDN服务器地址消息中解析出的时间戳TIME_STAMP与自身发送请求时的时间戳,如果二者相等,则信任接收到的CDN服务器地址消息。

S404.以解析出的CDN服务器IP地址CDN_IP为目的地址,通过由客户端到CDN服务器的转发路径,建立HTTP连接。

S405.向所述CDN服务器发送HTTP请求。

S406.当所述HTTP请求通过SDN网络中指定的路径抵达CDN服务器后,所述CDN服务器将恢复出的原文件传输给所述客户端。

可选地,当所述连接为HTTP长连接,且传输文件所需时间较长时,每隔一段固定时间t,控制器重新为所述CDN服务器与客户端计算一组转发路径,并更新至SDN交换机。

当原文件传输完毕后,系统将执行以下步骤。

S407.所述CDN服务器删除原文件。

S408.清除所述客户端与CDN服务器之间的转发路径。与上文类似,该步骤可以通过设置流表项的Timeouts字段实现,也可以通过SDN控制器下发Flow-Mod消息实现。

可选地,当传输的文件为视频文件时,所述CDN服务器可以将原文件分割为若干片段。CDN服务器上只存放固定时长的视频片段(如5分钟),过期的视频片段将被删除。当所有视频文件片段传输完成后,所有视频片段都会被从CDN服务器中删除。通过这种方式,实现了视频文件的“边下载边播放”。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号