一种视频资源文件的获取方法和管理系统转让专利

申请号 : CN201810837250.9

文献号 : CN108989848B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林艺玲曾旭陈东毅

申请人 : 网宿科技股份有限公司

摘要 :

本发明公开了一种视频资源文件的获取方法和管理系统,属于视频加密技术领域。所述方法包括:终端从密钥管理服务器获取目标视频的资源解密密钥;所述终端向所述目标视频的资源服务器发送所述目标视频的资源下载请求;在接收所述目标视频的资源下载请求之后,所述资源服务器从所述密钥管理服务器获取所述目标视频的资源加密密钥;所述资源服务器通过所述资源加密密钥加密所述目标视频的资源文件,并向所述终端反馈加密后的资源文件;在接收所述加密后的资源文件之后,所述终端通过所述资源解密密钥解密所述加密后的资源文件。采用本发明,可以提高视频资源的安全性。

权利要求 :

1.一种视频资源文件的获取方法,其特征在于,所述方法包括:终端从密钥管理服务器获取目标视频的资源解密密钥;

所述终端向所述目标视频的资源服务器发送所述目标视频的资源下载请求;

在接收所述目标视频的资源下载请求之后,所述资源服务器从所述密钥管理服务器获取所述目标视频的资源加密密钥;

所述资源服务器通过所述资源加密密钥加密所述目标视频的资源文件,并向所述终端反馈加密后的资源文件;

在接收所述加密后的资源文件之后,所述终端通过所述资源解密密钥解密所述加密后的资源文件;

其中,所述终端从密钥管理服务器获取所述目标视频的资源解密密钥,包括:终端向密钥管理服务器发送所述目标视频的密钥信息获取请求,所述密钥信息获取请求中携带有所述终端的设备标识和请求发送时间及所述目标视频的标识信息;

所述密钥管理服务器基于所述目标视频的标识信息确定所述目标视频的资源解密密钥,并通过所述设备标识和请求发送时间,对所述资源解密密钥进行加密生成所述目标视频的密钥信息;

所述密钥管理服务器向所述终端反馈所述目标视频的密钥信息;

所述终端接收所述密钥信息并进行解密得到所述目标视频的资源解密密钥。

2.根据权利要求1所述的方法,其特征在于,所述密钥管理服务器向所述终端反馈所述目标视频的密钥信息,包括:所述密钥管理服务器通过加密传输的方式向所述终端反馈所述目标视频的密钥信息。

3.根据权利要求1或2所述的方法,其特征在于,所述终端向所述目标视频的资源服务器发送所述目标视频的资源下载请求之后,还包括:CDN集群接收所述目标视频的资源下载请求,查找是否已存储有所述目标视频的资源文件;

如果是,所述CDN集群则向所述终端反馈已存储的所述目标视频的资源文件,否则向所述目标视频的资源服务器发送所述目标视频的资源下载请求。

4.根据权利要求3所述的方法,其特征在于,所述资源服务器向所述终端反馈加密后的资源文件之后,还包括:所述CDN集群接收并存储所述加密后的资源文件,且将所述加密后的资源文件发送给所述终端。

5.根据权利要求3所述的方法,其特征在于,所述密钥管理服务器确定所述目标视频的资源解密密钥之后,还包括:如果本次确定的所述目标视频的资源解密密钥与上一次确定的所述目标视频的资源解密密钥不同,所述密钥管理服务器则向所述终端发送密钥更新消息;

所述终端向所述目标视频的资源服务器发送所述目标视频的资源下载请求之前,还包括:所述终端在生成的所述目标视频的资源下载请求中添加密钥更新标志。

6.根据权利要求5所述的方法,其特征在于,所述CDN集群接收所述目标视频的资源下载请求,查找是否已存储有所述目标视频的资源文件,包括:所述CDN集群接收所述目标视频的资源下载请求,如果所述资源下载请求中携带有所述密钥更新标志,则向所述目标视频的资源服务器发送所述目标视频的资源下载请求,否则查找是否已存储有所述目标视频的资源文件。

7.根据权利要求1所述的方法,其特征在于,所述目标视频的播放指令和所述目标视频的资源下载请求中均携带有所述目标视频的数据范围标识;

所述资源服务器通过所述资源加密密钥加密所述目标视频的资源文件,包括:所述资源服务器通过所述资源加密密钥加密所述目标视频中所述数据范围标识对应的资源文件。

8.一种视频资源文件管理系统,其特征在于,所述系统包括终端、资源服务器和密钥管理服务器,所述终端、所述资源服务器和所述密钥管理服务器共同实现如权利要求1所述的方法。

9.根据权利要求8所述的系统,其特征在于,所述系统还包括权利要求3至6中所述的CDN集群;所述终端、所述资源服务器和所述密钥管理服务器共同实现如权利要求2-7任一项所述的方法。

10.根据权利要求8所述的系统,其特征在于,所述终端通过预设解密模块与所述密钥管理服务器进行数据传输,所述资源服务器通过预设加密模块与所述密钥管理服务器进行数据传输。

说明书 :

一种视频资源文件的获取方法和管理系统

技术领域

[0001] 本发明涉及视频加密技术领域,特别涉及一种视频资源文件的获取方法和管理系统。

背景技术

[0002] 随着信息时代人们对隐私保护及数据安全意识不断提高,越来越多的用户开始使用加密技术对一些重要的数据资料进行保护。其中,视频加密是一种针对于视频资源的加密技术,可以有效避免视频中的数据资料泄露。
[0003] 一般情况下,视频提供方对视频的资源文件进行加密后,可以将解密用的密钥单独存储,然后生成记录有资源文件存储地址和密钥存储地址的索引文件。这样,当需要播放某视频时,终端可以先获取相应的索引文件的存储地址,并根据该存储地址获取相应的索引文件,之后由索引文件获取加密后的资源文件和密钥,再使用密钥对加密后的资源文件进行解密,最后播放解密得到的视频资源文件。
[0004] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005] 终端在获取索引文件的过程中,索引文件很容易被第三方截获,进而第三方可以通过截获到的索引文件实现对视频资源文件的非法破解,故而,视频资源的安全性较差。

发明内容

[0006] 为了解决现有技术的问题,本发明实施例提供了一种视频资源文件的获取方法和管理系统。所述技术方案如下:
[0007] 第一方面,提供了一种视频资源文件的获取方法,所述方法包括:
[0008] 终端从密钥管理服务器获取目标视频的资源解密密钥;
[0009] 所述终端向所述目标视频的资源服务器发送所述目标视频的资源下载请求;
[0010] 在接收所述目标视频的资源下载请求之后,所述资源服务器从所述密钥管理服务器获取所述目标视频的资源加密密钥;
[0011] 所述资源服务器通过所述资源加密密钥加密所述目标视频的资源文件,并向所述终端反馈加密后的资源文件;
[0012] 在接收所述加密后的资源文件之后,所述终端通过所述资源解密密钥解密所述加密后的资源文件。
[0013] 可选的,所述终端从密钥管理服务器获取所述目标视频的资源解密密钥,包括:
[0014] 终端向密钥管理服务器发送所述目标视频的密钥信息获取请求,所述密钥信息获取请求中携带有所述终端的设备标识和请求发送时间及所述目标视频的标识信息;
[0015] 所述密钥管理服务器基于所述目标视频的标识信息确定所述目标视频的资源解密密钥,并通过所述设备标识和请求发送时间,对所述资源解密密钥进行加密生成所述目标视频的密钥信息;
[0016] 所述密钥管理服务器通过加密传输的方式向所述终端反馈所述目标视频的密钥信息;
[0017] 所述终端接收所述密钥信息并进行解密得到所述目标视频的资源解密密钥。
[0018] 可选的,所述终端向所述目标视频的资源服务器发送所述目标视频的资源下载请求之后,还包括:
[0019] CDN集群接收所述目标视频的资源下载请求,查找是否已存储有所述目标视频的资源文件;
[0020] 如果是,所述CDN集群则向所述终端反馈已存储的所述目标视频的资源文件,否则向所述目标视频的资源服务器发送所述目标视频的资源下载请求。
[0021] 可选的,所述资源服务器向所述终端反馈加密后的资源文件之后,还包括:
[0022] 所述CDN集群接收并存储所述加密后的资源文件,且将所述加密后的资源文件发送给所述终端。
[0023] 可选的,所述密钥管理服务器确定所述目标视频的资源解密密钥之后,还包括:
[0024] 如果本次确定的所述目标视频的资源解密密钥与上一次确定的所述目标视频的资源解密密钥不同,所述密钥管理服务器则向所述终端发送密钥更新消息;
[0025] 所述终端向所述目标视频的资源服务器发送所述目标视频的资源下载请求之前,还包括:
[0026] 所述终端在生成的所述目标视频的资源下载请求中添加密钥更新标志。
[0027] 可选的,所述CDN集群接收所述目标视频的资源下载请求,查找是否已存储有所述目标视频的资源文件,包括:
[0028] 所述CDN集群接收所述目标视频的资源下载请求,如果所述资源下载请求中携带有所述密钥更新标志,则向所述目标视频的资源服务器发送所述目标视频的资源下载请求,否则查找是否已存储有所述目标视频的资源文件。
[0029] 可选的,所述目标视频的播放指令和所述目标视频的资源下载请求中均携带有所述目标视频的数据范围标识;
[0030] 所述资源服务器通过所述资源加密密钥加密所述目标视频的资源文件,包括:
[0031] 所述资源服务器通过所述资源加密密钥加密所述目标视频中所述数据范围标识对应的资源文件。
[0032] 基于上述方法,终端从密钥管理服务器处获取资源解密密钥,并向资源服务器请求资源文件。资源服务器从密钥管理服务器处获取资源加密密钥,通过资源加密密钥对资源文件进行加密,再将加密后的资源文件传输给终端。最后终端通过获取到的资源解密密钥解密资源文件。资源文件在外网内传输的过程中,始终处于加密状态,且资源文件和资源解密密钥分别是通过不同的交互流程到达终端,两者被同时截获的概率较低,故而可以一定程度上提高视频资源的安全性。
[0033] 进一步的,密钥管理服务器在向终端传输资源解密密钥时,可以基于终端标识和时间对资源解密密钥进一步加密,并采用加密传输的方式传输,这样,降低了资源解密密钥被破解的可能,提高了视频资源的安全性。
[0034] 第二方面,提供了一种视频资源文件的管理系统,所述系统包括终端、资源服务器和密钥管理服务器,所述终端、所述资源服务器和所述密钥管理服务器共同实现如上述实施例所述的方法。
[0035] 可选的,所述系统还包括上述实施例中所述的CDN集群。
[0036] 可选的,所述终端通过预设解密模块与所述密钥管理服务器进行数据传输,所述资源服务器通过预设加密模块与所述密钥管理服务器进行数据传输。

附图说明

[0037] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038] 图1是本发明实施例提供的一种视频资源文件的获取方法流程图;
[0039] 图2是本发明实施例提供的一种视频资源文件的管理系统框架图;
[0040] 图3是本发明实施例提供的一种视频资源文件的管理系统框架图。

具体实施方式

[0041] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0042] 本发明实施例提供了一种视频资源文件的获取方法,该方法可以由资源服务器、终端和密钥管理服务器共同实现,其中,资源服务器可以是存储有大量视频的资源文件,并向终端提供视频下载功能的服务器,可以是实体服务器也可以是云服务器,资源服务器对应的客户端程序可以安装在终端上,用户也可直接通过终端上浏览器对资源服务器进行访问。
[0043] 终端可包含手机、平板电脑、个人计算机、智能电视、数字机顶盒等,用户可以通过终端上安装的上述客户端程序获取资源服务器存储的资源文件。
[0044] 密钥管理服务器可以是用于生成并存储视频资源文件对应的密钥的服务器,该密钥可以分为用于对资源文件进行加密的资源加密密钥和用于对资源文件进行解密的资源解密密钥,当然,资源加密密钥和资源解密密钥相同。密钥管理服务器可以和资源服务器建立有通信连接,密钥管理服务器可以支持终端的访问。
[0045] 上述资源服务器、终端以及密钥管理服务器中均可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的播放视频的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。
[0046] 下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:
[0047] 步骤101,终端从密钥管理服务器获取目标视频的资源解密密钥。
[0048] 在实施中,用户想要使用终端播放某个视频时,可以打开终端上安装的视频播放类应用(即上述客户端程序),搜索查找该视频的播放页面,当用户点击了该视频的播放按键时,终端则可以接收到相应的播放指令。以目标视频为例,终端在接收到目标视频的播放指令之后,可以调取预先缓存的密钥管理服务器的访问地址,然后可以基于该访问地址,从密钥管理服务器处获取用于对目标视频的资源文件进行解密的资源解密密钥。
[0049] 可选的,资源解密密钥由密钥管理服务器生成,并经过加密后,传输给终端,相应的,终端获取资源解密密钥的处理可以具体如下:
[0050] 终端向密钥管理服务器发送目标视频的密钥信息获取请求,密钥信息获取请求中携带有终端的设备标识和请求发送时间及目标视频的标识信息,其中设备标识可以是终端的mac地址或直接从密钥管理服务器获取的token信息,可以唯一识别终端;目标视频的标识信息可用于唯一确定目标视频。
[0051] 密钥管理服务器基于目标视频的标识信息确定目标视频的资源解密密钥,并通过设备标识和请求发送时间,对资源解密密钥进行加密生成目标视频的密钥信息。更进一步的,密钥管理服务器可通过加密传输的方式向终端反馈目标视频的密钥信息。
[0052] 终端接收密钥信息并进行解密得到目标视频的资源解密密钥。
[0053] 在实施中,终端在接收到目标视频的播放指令之后,可以向密钥管理服务器发送针对目标视频的密钥信息获取请求,该密钥信息获取请求中携带有终端的设备标识和本次密钥信息获取请求的请求发送时间及目标视频的标识信息。密钥管理服务器接收到目标视频的密钥信息获取请求后,可以先根据目标视频的标识信息确定目标视频的资源解密密钥。此处的资源解密密钥可以是密钥管理服务器提前生成并存储在本地的,也可以是密钥管理服务器在接收到密钥信息获取请求后临时生成的。资源解密密钥的生成规则需要符合一定的安全性级别,比如长度要求至少为8位,由数字、大小写字母组合而成等,同时,为了确保不同视频的资源解密密钥的互不相同,可以在生成目标视频的资源解密密钥时代入目标视频的标识信息。
[0054] 继而,密钥管理服务器可以通过上述终端的设备标识和请求发送时间,加密资源解密密钥以生成目标视频的密钥信息。具体的,可以采用密钥信息=BASE64编码(终端token+资源解密密钥+MD5(请求发送时间))的方式,这样,不同终端请求同一视频资源或者同一终端在不同时刻请求同一视频资源时,所生成的密钥信息均不相同,可以有效降低资源解密密钥被破解的可能性。
[0055] 之后,密钥管理服务器可以通过加密传输的方式向终端反馈目标视频的密钥信息,此处加密传输的方式可以采用现有的非对称加密(如RSA加密算法)的传输方法,本实施例不进行具体限定。
[0056] 终端在接收到密钥信息后,可以对密钥信息进行逆向解析,从而得到目标视频的资源解密密钥。
[0057] 步骤102,终端向目标视频的资源服务器发送目标视频的资源下载请求。
[0058] 在实施中,终端在接收到目标视频的播放指令之后,还可以确定目标视频的资源服务器的访问地址,然后可以基于该访问地址,向目标视频的资源服务器发送目标视频的资源下载请求。需要说明的是,在一般情况下,步骤102中发送资源下载请求的处理与步骤101中获取资源解密密钥的处理没有必然的先后顺序。
[0059] 可选的,资源服务器还可以开启了CDN加速业务,相应的,终端向资源服务器发送资源下载请求后,可以存在以下处理:CDN集群接收目标视频的资源下载请求,查找是否已存储有目标视频的资源文件;如果是,CDN集群则向终端反馈已存储的目标视频的资源文件,否则向目标视频的资源服务器发送目标视频的资源下载请求。
[0060] 在实施中,目标视频的资源服务器可以开启了CDN加速业务,这样,用户可以通过CDN集群更快速地获取目标视频的资源文件。具体的,终端在向资源服务器发送资源下载请求后,CDN集群可以接收到终端发送的目标视频的资源下载请求,然后可以查找集群中是否已存储有目标视频的资源文件。如果是,CDN集群则可以向终端反馈已存储的目标视频的资源文件,如果否,CDN集群则可以向目标视频的资源服务器发送目标视频的资源下载请求。
[0061] 步骤103,在接收目标视频的资源下载请求之后,资源服务器从密钥管理服务器获取目标视频的资源加密密钥。
[0062] 在实施中,终端向资源服务器发送目标视频的资源下载请求后,如果资源服务器接收到了相应的资源下载请求,资源服务器则可以从密钥管理服务器处获取用于对目标视频的资源文件进行加密的资源加密密钥。当然,在获取资源加密密钥之前,资源服务器可以对终端的播放权限进行认证,如果目标终端具备对于目标视频的播放权限,则资源服务器可以进行后续处理,否则资源服务器则可以向终端反馈视频播放失败提示。
[0063] 资源服务器获取资源加密密钥的处理具体参考上述终端获取资源解密密钥的过程,其中,由于资源服务器和密钥管理服务器之间的组网完全可控,故而密钥管理服务器无需对生成的资源加密密钥进行进一步的加密处理,并可以直接通过HTTPS的方式将资源加密密钥传输给资源服务器。当然也可以采用类似101中的加密方式对密钥的传输进行加密。这里不做限制。
[0064] 步骤104,资源服务器通过资源加密密钥加密目标视频的资源文件,并向终端反馈加密后的资源文件。
[0065] 在实施中,资源服务器在获取到目标视频的资源加密密钥之后,可以调取本地存储的目标视频的资源文件,然后通过资源加密密钥按照预设的资源加密算法对该资源文件进行加密处理。接下来,资源服务器可以将加密后的资源文件基于TCP传输协议反馈给终端。
[0066] 可选的,终端可以请求目标视频的部分资源文件,相应的,目标视频的播放指令和目标视频的资源下载请求中均携带有目标视频的数据范围标识,步骤104的处理可以如下:资源服务器通过资源加密密钥加密目标视频中数据范围标识对应的资源文件。
[0067] 在实施中,用户在控制终端播放目标视频时,还可以指定要播放的部分内容,如需要播放10min到20min的内容,此时,终端接收到的目标视频的播放指令中可以携带有相应的目标视频的数据范围标识。之后,终端在向目标视频的资源服务器发送资源下载请求时,也可以在资源下载请求中添加该数据范围标识。进一步的,资源服务器在通过资源加密密钥对目标视频的资源文件进行加密时,也可以仅加密数据范围标识对应的资源文件。
[0068] 可选的,基于上述资源服务器开启了CDN加速业务的情况,步骤104中可以存在以下处理:CDN集群接收并存储加密后的资源文件,且将加密后的资源文件发送给终端。
[0069] 在实施中,资源服务器在向终端反馈加密后的资源文件时,如果资源服务器开启了CDN加速业务,则CDN集群可以接收到上述加密后的资源文件,这样,CDN集群可以先存储加密后的资源文件,便于响应后续其他终端对于目标视频的资源文件的获取请求,同时,CDN集群可以将加密后的资源文件发送给终端。可以理解,CDN集群中存储的资源文件是由资源加密密钥加密后的,而不同终端均可以从密钥管理服务器获取到相同的资源解密密钥,故而,任意终端从CDN集群获取到加密后的资源文件后,均可以使用从密钥管理服务器处获取的资源解密密钥对其进行解密播放。
[0070] 步骤105,在接收加密后的资源文件之后,终端通过资源解密密钥解密加密后的资源文件。
[0071] 在实施中,终端在接收到加密后的目标视频的资源文件之后,可以通过步骤101获取的资源解密密钥,按照预设的资源解密算法(与步骤104中预设的资源加密算法相对应)对加密后的资源文件进行解密,并对解密得到的资源文件进行解码,得到目标视频的资源文件,从而实现对目标视频的播放或下载。
[0072] 可选的,基于资源服务器开启了CDN加速业务的情况,密钥管理服务器确定目标视频的资源解密密钥之后,还包括以下处理:如果本次确定的目标视频的资源解密密钥与上一次确定的目标视频的资源解密密钥不同,密钥管理服务器则向终端发送密钥更新消息;进一步的,终端在发送资源下载请求之前,还可以在生成的目标视频的资源下载请求中添加密钥更新标志。
[0073] 在实施中,如果资源服务器开启了CDN加速业务,密钥管理服务器确定目标视频的资源解密密钥之后,需要判断目标视频的资源解密密钥是否发生了更新,具体的,密钥管理服务器可以判断本次确定的目标视频的资源解密密钥与上一次确定的目标视频的资源解密密钥是否相同。此处,“上一次确定”是指密钥管理服务器上一次接收到任意终端发来的目标视频的密钥信息获取请求后,对目标视频的资源解密密钥进行的确定处理。如果二者相同,则在两次确定动作发生的时段内,目标视频的资源解密密钥未发生变化,也说明目标视频的资源加密密钥未发生变化,密钥管理服务器则可以按照前述过程执行后续处理;而如果二者不同,则说明在两次确定动作发生的间隔时间内,目标视频的资源解密密钥和资源加密密钥已经更新,密钥管理服务器则可以向终端发送密钥更新消息,以告知终端目标视频的资源加/解密密钥已经更新。进而,终端在获知目标视频的资源加/解密密钥已经更新后,可在发送目标视频的资源下载请求前,在该资源下载请求中添加密钥更新标志。值得一提的是,密钥管理服务器如果之前未确定过目标视频的资源解密密钥,则可以按照资源加密密钥未发生变化的情况执行后续处理。
[0074] 可选的,CDN集群接收目标视频的资源下载请求,如果资源下载请求中携带有密钥更新标志,则向目标视频的资源服务器发送目标视频的资源下载请求,否则查找是否已存储有目标视频的资源文件。
[0075] 在实施中,CDN集群在接收到目标视频的资源下载请求后,可以检测资源下载请求中是否携带有密钥更新标志,如果是,CDN集群则可以向目标视频的资源服务器发送目标视频的资源下载请求,如果否,CDN集群则可以查找是否已存储目标视频的资源文件。可以理解,目标视频的资源加/解密密钥更新后,CDN集群中缓存的目标视频的资源文件是基于更新前的资源加密密钥进行加密的,如果终端获取了CDN集群中缓存的加密后的资源文件,将无法通过获取到的更新后的资源解密密钥成功解密资源文件,故而CDN集群需要从目标视频的资源服务器处重新获取基于最新的资源加密密钥加密得到的目标视频的资源文件,并且覆盖已存储的目标视频的资源文件。
[0076] 基于相同的技术构思,本发明实施例还提供了一种视频资源文件的管理系统,如图2所示,所述系统包括终端、资源服务器和密钥管理服务器,所述终端、所述资源服务器和所述密钥管理服务器共同实现如上述实施例所述的方法。
[0077] 可选的,如图3所示,所述系统还包括上述实施例中所述的CDN集群。
[0078] 可选的,所述终端通过预设解密模块与所述密钥管理服务器进行数据传输,所述资源服务器通过预设加密模块与所述密钥管理服务器进行数据传输。
[0079] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0080] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。