CN104836656B - 一种视频文件的存储和传输方法 - Google Patents
一种视频文件的存储和传输方法 Download PDFInfo
- Publication number
- CN104836656B CN104836656B CN201510232208.0A CN201510232208A CN104836656B CN 104836656 B CN104836656 B CN 104836656B CN 201510232208 A CN201510232208 A CN 201510232208A CN 104836656 B CN104836656 B CN 104836656B
- Authority
- CN
- China
- Prior art keywords
- video file
- file
- key
- storage
- server cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了一种视频文件的存储方法,是将视频文件进行分段,采用存储密钥对分段进行异或方式的数据加密,并随机均匀地存储在集群的各个资源硬盘上,产生大量随机的文件分段名,引入组合复杂性。上述存储的视频文件在传输时,先将待传输的文件分段进行再次加密,然后通过双传输通道分别传输视频文件的分段密文和解密密钥及相关信息,客户端根据获得的解密密钥对下载文件分段进行解密。本发明的方法实现方便高效,解密难度高,可以同时保证文件资源在服务器端和传输过程的安全。
Description
技术领域
本发明涉及网络安全技术,特别是涉及一种视频文件的存储和传输方法。
背景技术
高清视频点播需要高稳定性、高带宽的网络和存储设备的传输性能,对于全高清和超高清视频的点播尤其如此。目前,在广域网上大规模地开展真正的高清视频点播服务不现实。一种解决方案是,采用“服务器前置方案”,即将视频服务器集群部署在每个居民小区的交换机房或者ADSL局域网内,所有这些前置服务器集群组成一个分布式服务器集群,使绝大部分视频流量限制在局域网内,避开广域网的带宽限制。但是,服务器前置方案存在两个与资源安全相关的问题。
一是由于视频服务器的分散放置而增加失窃的风险。一个前置的视频服务器集群存放大量的视频文件,这些文件要比服务器本身贵重得多。因此需要一种可靠的方法加密存放视频文件,即使万一视频服务器被盗,也很难获取其中的视频文件明文。
再就是视频文件在传输过程中必须避免数据被非法窃取,因此必须对网络中的传输文件进行加密传输。由于高清视频文件数据传输量巨大,如果网络传输数据采用SSL连接方式,那么在服务器和客户端需要对每秒几百MB的数据进行SSL的加密和解密运算,会消耗大量的系统资源。因此需要一种快速可靠的加密方法安全地传输数据。
发明内容
本发明的目的在于克服现有技术之不足,提供一种视频文件的安全存储和传输方法。
本发明解决其技术问题所采用的技术方案是:
一种视频文件的存储方法,包括以下步骤:
1)将一视频文件按固定长度进行物理切割,形成N个文件分段;
2)为该视频文件随机生成一个存储密钥,以该存储密钥对该N个文件分段分别以按位异或的方式进行加密;
3)随机生成各文件分段的文件名及在前置服务器集群的资源硬盘上的存放位置;
4)将该视频文件的信息记录于服务器集群的资源列表上。
优选的,步骤1)中,所述最后一个文件分段的长度小于固定长度时,采用随机产生的数据补齐。
优选的,步骤4)中,所述视频文件的信息包括长度、码率、存储密钥,和所述文件的各文件分段的文件名、分段顺序号及存放的磁盘标识。
优选的,所述各服务器集群的资源列表统一存放在中心服务器中。
一种视频文件的传输方法,所述视频文件是由上述存储方法存储于服务器集群中,包括以下步骤:
1)服务器集群为客户端发起的视频文件点播请求随机生成一个会话密钥,会话密钥的长度与所述存储密钥相同;
2)服务器集群根据资源列表读取该视频文件的文件分段,并使用该会话密钥对该视频文件的每个传输的文件分段以按位异或的方式再次加密;
3)将该视频文件的存储密钥与会话密钥按位异或,生成解密密钥;
4)服务器集群向客户端传送该视频文件的解密密钥、所述资源列表中视频文件的信息及再次加密后的文件分段;
5)客户端使用解密密钥对接收到的文件分段按位异或进行解密,获取所述视频文件的明文。
优选的,所述服务器集群及所述客户端之间建立SSL安全传输通道和TCP连接通道,其中所述视频文件的解密密钥及所述资源列表中视频文件的信息通过SSL安全传输通道传输,所述再次加密后的文件分段通过TCP连接通道传输。
优选的,所述各服务器集群的资源列表存放于中心服务器中,所述服务器集群通过与中心服务器之间的SSL安全传输通道获取加密过的资源列表,解密后获得所述视频文件的信息。
本发明的有益效果在于:
通过对每个视频文件进行分段,产生大量随机的文件分段名,使用很长的随机密钥对视频文件的分段进行异或方式的快速数据加密,并随机均匀地存储在集群的各个资源硬盘上,引入组合复杂性。服务器集群采用SSL安全传输通道和普通TCP连接通道的双传输通道方式,向客户端传输信息。在SSL安全传输通道传送文件分段的“解密密钥”以及其他明文信息,在普通TCP连接通道传输加密的视频文件分段。客户端根据获得解密密钥,对下载文件分段进行解密。
因为所有视频文件的分段长度全部一样,它们的文件名是随机产生的,存储位置也是随机产生的且散布在前置视频服务器集群的所有资源硬盘上,分段经过加密且数量巨大,存储密钥长度很长且每个视频文件的都不相同,所以,如果没有“资源列表”的明文,重新正确组装视频文件几乎不可能。因此,即使万一视频服务器被盗,也很难获取其中的视频文件明文。该技术实现方便高效,解密难度高,可以同时保证文件资源在服务器端和传输过程的安全。
以下对本发明作进一步详细说明;但本发明的一种视频文件的存储和传输方法不局限于实施例。
具体实施方式
视频文件在存储于前置服务器集群时,是对每个视频文件按照固定大小(命其长度为s,s必须足够大,至少是KB的整数倍,如s可取值50MB)进行物理切割,形成N个文件分段;如果最后的分段长度小于s,则使用随机产生的数据补齐长度到s。
为每一个视频文件随机生成一个长度为m的“存储密钥”(长度是KB的整数倍,典型地,m等于文件分段长度s),用这个密钥对该文件的每个分段,以按位异或的方式进行加密。视频文件的每一个加密分段的文件名是随机生成的,该加密分段在前置服务器集群的资源硬盘上的存放位置也是随机生成的。在确定分段在磁盘上的存储位置时,可能还要考虑其他的约束条件,如负载均衡等。
每个前置视频服务器集群均有一个“资源列表”,其中记录存储在该集群中每个视频文件的长度、码率、存储密钥,以及该视频文件的各个分段的文件名字、分段顺序号、长度、所在磁盘标识。各个前置服务器集群的资源列表统一存放在一个安全环境良好的服务器(称之为“中心服务器”)中。
一个前置服务器集群通过与中心服务器之间的SSL安全传输通道获得自己的加密过的资源列表。对资源列表解密后,密文删除,明文存放在前置服务器集群的内存中。因此一旦断电,就不再存在。
当客户端发起连接请求时,前置服务器集群与该客户端之间建立SSL安全传输通道和普通TCP连接通道。
当一个客户端发起一个视频文件的点播请求时,前置服务器集群为这个点播请求执行如下动作:
随机地产生一个长度与存储密钥长度m相同的“会话密钥”。
一个视频文件的存储密钥与会话密钥按位异或,生成该文件的“解密密钥”。
前置服务器集群根据资源列表,获得被点播的视频文件的长度、码率、存储密钥、所在磁盘标识,以及其他必需的相关信息。
前置服务器集群通过SSL安全传输通道,向客户端传送被点播的视频文件的长度、码率、解密密钥等明文信息。
一个视频文件的点播由该文件分段的下载请求集合所组成。当客户端发起一个文件分段的下载请求时,前置服务器集群为这个请求完成如下动作:
根据资源列表获得该视频分段的文件名字和所在磁盘标识,从磁盘中读取这个加密的文件分段。
将这个文件分段使用会话密钥,再次以按位异或的方式进行加密。
在普通TCP连接通道向客户端传输经过会话密钥加密后的文件分段。
客户端在收到数据后,使用解密密钥对接收到的文件分段,按位异或进行解密,得到视频文件分段的明文。
作为一个实施例,考虑一个二进制数串(代表一个视频文件,文件名为x):
101100011100000111100001110000111
视频文件存储
(1)设分段长度为5,这个数串被切割成如下长度为5的数串(代表文件分段):
10110,00111,00000,11110,00011,10000,11101
最后一个数串原来是“111”,为了补齐,随机填入“01”后变为“11101”。
(2)随机产生一个“存储密钥”(长度与分段长度一样或足够长):01110。
(3)将文件分段与存储密钥按位异或,得到如下数串(加密分段):
11000,01001,01110,10000,01101,11110,10011
(4)将步骤(3)得到的各个加密分段随机地存储在集群的资源硬盘上,存储的文件名也是随机生成的。考虑到负载均衡,文件x的分段可以按所在集群的各个服务器的带宽比例均匀地分布。
(5)在资源列表中文件x的名下记录:文件x的长度(33个二进字数),码率,存储密钥(01110),每个加密分段的文件名字、分段顺序号、所在资源硬盘的标识等信息。
2、视频文件传输
(1)当客户端点播文件x时,服务器根据资源列表文件x名下的信息,获得文件x的长度,码率和存储密钥(01110)。
(2)服务器随机生成“会话密钥”:01010。将存储密钥与会话密钥按位异或得到“解密密钥”:00100
(3)服务器通过SSL连接通道将文件x的长度,码率,分段长度,解密密钥等明文信息传输给客户端。
(4)客户端根据视频播放的时间点、码率和文件长度,计算出点播的分段顺序号,比如是分段4。客户端将文件x的分段4请求发送给服务器。
(5)服务器根据资源列表文件x名下的信息,获得分段4的文件名和存储硬盘,从而得到分段4密文为“10000”。
(6)服务器用会话密钥“01010”与分段4密文“10000”按位异或得到再次加密的密文:11010。通过普通TCP连接通道将“11010”传输到客户端。
(7)客户端将密文“11010”与解密密钥“00100”按位异或,得到分段4明文:11110。
(8)对于最后一段,根据文件x的长度(33)和分段长度(5)可知,最后分段长度是3,补齐的最后两位无效。
(9)客户端播放完一个分段后,可以根据后继的播放时间点(不一定是顺序的,因为可以跳转),继续向服务器申请后继的文件分段。
上述实施例仅用来进一步说明本发明的一种视频文件的存储和传输方法,但本发明并不局限于实施例,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均落入本发明技术方案的保护范围内。
Claims (6)
1.一种视频文件的存储方法,其特征在于包括以下步骤:
1)对存储于前置服务器集群的每一视频文件按固定长度进行物理切割,形成若干个文件分段;
2)为该视频文件随机生成一个存储密钥,以该存储密钥对该若干个文件分段分别以按位异或的方式进行加密;
3)随机生成各文件分段的文件名及在前置服务器集群的资源硬盘上的存放位置;
4)将该视频文件的信息记录于前置服务器集群的资源列表上;将各前置服务器集群的资源列表统一存放在中心服务器中。
2.根据权利要求1所述的视频文件的存储方法,其特征在于:步骤1)中,所述视频文件的最后一个文件分段的长度小于固定长度时,采用随机产生的数据补齐。
3.根据权利要求1所述的视频文件的存储方法,其特征在于:步骤4)中,所述视频文件的信息包括长度、码率、存储密钥,和该视频文件各文件分段的文件名、分段顺序号及存放的磁盘标识。
4.一种视频文件的传输方法,所述视频文件是由权利要求1-3任一项所述之存储方法存储于前置服务器集群中,其特征在于包括以下步骤:
1)前置服务器集群为客户端发起的每个视频文件点播请求随机生成一个会话密钥,会话密钥的长度与所述存储密钥相同;
2)前置服务器集群根据资源列表读取该视频文件的文件分段,并使用该会话密钥对该视频文件的每个传输的文件分段以按位异或的方式再次加密;
3)将该视频文件的存储密钥与会话密钥按位异或,生成解密密钥;
4)前置服务器集群向客户端传送该视频文件的解密密钥、所述资源列表中视频文件的信息及再次加密后的文件分段;
5)客户端使用解密密钥对接收到的文件分段按位异或进行解密,获取所述视频文件的明文。
5.根据权利要求4所述的视频文件的传输方法,其特征在于:所述前置服务器集群及所述客户端之间建立SSL安全传输通道和TCP连接通道,其中所述视频文件的解密密钥及所述资源列表中视频文件的信息通过SSL安全传输通道传输,所述再次加密后的文件分段通过TCP连接通道传输。
6.根据权利要求4所述的视频文件的传输方法,其特征在于:所述前置服务器集群通过与中心服务器之间的SSL安全传输通道获取加密过的资源列表,解密后获得所述视频文件的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510232208.0A CN104836656B (zh) | 2015-05-08 | 2015-05-08 | 一种视频文件的存储和传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510232208.0A CN104836656B (zh) | 2015-05-08 | 2015-05-08 | 一种视频文件的存储和传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104836656A CN104836656A (zh) | 2015-08-12 |
CN104836656B true CN104836656B (zh) | 2018-04-10 |
Family
ID=53814313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510232208.0A Active CN104836656B (zh) | 2015-05-08 | 2015-05-08 | 一种视频文件的存储和传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104836656B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3031407A1 (en) * | 2016-08-12 | 2018-05-17 | 7Tunnels, Inc. | Systems and methods for secure communication using random cipher pad cryptography |
CN106775463B (zh) * | 2016-11-30 | 2019-08-13 | Oppo广东移动通信有限公司 | 数据存储方法、装置及移动终端 |
CN107613317A (zh) * | 2017-09-08 | 2018-01-19 | 康佳集团股份有限公司 | 一种播放本地加密媒体的方法、存储介质及智能电视 |
CN108235022A (zh) * | 2018-01-29 | 2018-06-29 | 苏州南尔材料科技有限公司 | 一种计算机视频数据处理方法 |
CN108882030A (zh) * | 2018-06-12 | 2018-11-23 | 成都三零凯天通信实业有限公司 | 一种基于时域信息的监控视频分级加解密方法和系统 |
CN111049777A (zh) * | 2018-10-12 | 2020-04-21 | 中国移动通信集团广西有限公司 | 文件推送、下载、播放方法、装置、设备及介质 |
CN112182512A (zh) * | 2020-09-01 | 2021-01-05 | 北京幻想纵横网络技术有限公司 | 一种信息处理方法、装置及存储介质 |
CN114640867A (zh) * | 2022-05-20 | 2022-06-17 | 广州万协通信息技术有限公司 | 一种基于视频流认证的视频数据处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572805A (zh) * | 2009-06-05 | 2009-11-04 | 中山大学 | 一种安全的视频传输系统及其应用方法 |
CN102148835A (zh) * | 2011-04-27 | 2011-08-10 | 许式伟 | 一种电子文档传递和分享的方法和系统 |
CN102193877A (zh) * | 2011-04-15 | 2011-09-21 | 北京邮电大学 | 一种基于三维空间结构的数据拆分置乱和恢复方法 |
CN102402670A (zh) * | 2011-08-03 | 2012-04-04 | 广东欧珀移动通信有限公司 | 一种文件加解密方法 |
CN102624708A (zh) * | 2012-02-23 | 2012-08-01 | 浙江工商大学 | 一种面向云存储的高效数据加密、更新和访问控制方法 |
CN103825699A (zh) * | 2014-02-13 | 2014-05-28 | 南京邮电大学 | 云计算环境中对存储文件的并行混沌加密方法 |
CN103944988A (zh) * | 2014-04-22 | 2014-07-23 | 南京邮电大学 | 一种适用于云存储的重复数据删除系统和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011010613B4 (de) * | 2011-02-08 | 2020-09-10 | Fujitsu Ltd. | Verfahren zum Speichern und Wiederherstellen von Daten, Verwendung der Verfahren in einer Storage Cloud, Speicherserver und Computerprogrammprodukt |
MY164087A (en) * | 2012-09-11 | 2017-11-30 | Mimos Berhad | Management of storage encryption over network-based elastic block store volume |
-
2015
- 2015-05-08 CN CN201510232208.0A patent/CN104836656B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572805A (zh) * | 2009-06-05 | 2009-11-04 | 中山大学 | 一种安全的视频传输系统及其应用方法 |
CN102193877A (zh) * | 2011-04-15 | 2011-09-21 | 北京邮电大学 | 一种基于三维空间结构的数据拆分置乱和恢复方法 |
CN102148835A (zh) * | 2011-04-27 | 2011-08-10 | 许式伟 | 一种电子文档传递和分享的方法和系统 |
CN102402670A (zh) * | 2011-08-03 | 2012-04-04 | 广东欧珀移动通信有限公司 | 一种文件加解密方法 |
CN102624708A (zh) * | 2012-02-23 | 2012-08-01 | 浙江工商大学 | 一种面向云存储的高效数据加密、更新和访问控制方法 |
CN103825699A (zh) * | 2014-02-13 | 2014-05-28 | 南京邮电大学 | 云计算环境中对存储文件的并行混沌加密方法 |
CN103944988A (zh) * | 2014-04-22 | 2014-07-23 | 南京邮电大学 | 一种适用于云存储的重复数据删除系统和方法 |
Non-Patent Citations (2)
Title |
---|
P2P高清流媒体系统中数据存储策略的研究与实现;孙锦培;《中国优秀硕士学位论文全文数据库信息科技辑》;20131215;第I137-102页 * |
Scheduling Policy Analysis of Cloud Video Service;Zhen Zhao;《IEEE》;20141212;第1329-1335页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104836656A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104836656B (zh) | 一种视频文件的存储和传输方法 | |
CN112910840B (zh) | 一种基于联盟区块链的医疗数据存储共享方法及系统 | |
CN108259169B (zh) | 一种基于区块链云存储的文件安全分享方法及系统 | |
AU2015243877B2 (en) | Secure storage and accelerated transmission of information over communication networks | |
US9245148B2 (en) | Secure storage and accelerated transmission of information over communication networks | |
CN109194466A (zh) | 一种基于区块链的云端数据完整性检测方法及系统 | |
CN109768987A (zh) | 一种基于区块链的数据文件安全隐私存储和分享方法 | |
US8401186B2 (en) | Cloud storage data access method, apparatus and system based on OTP | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
CN106453612B (zh) | 一种数据存储与共享系统 | |
CN111523133B (zh) | 一种区块链与云端数据协同共享方法 | |
CN105681273B (zh) | 客户端重复数据删除方法 | |
CN111526197B (zh) | 一种云端数据安全共享方法 | |
CN106899406B (zh) | 一种云端数据存储完整性的证明方法 | |
CN106612320A (zh) | 云存储中一种加密数据的去重方法 | |
CN109151507B (zh) | 视频播放系统及方法 | |
CN105812366A (zh) | 服务器、反爬虫系统和反爬虫验证方法 | |
CN109547198A (zh) | 网络传输视频文件的方法与系统 | |
CN110932854A (zh) | 一种面向物联网的区块链密钥分发系统及其方法 | |
CN115225409B (zh) | 基于多备份联合验证的云数据安全去重方法 | |
KR20110028968A (ko) | 원격 컴퓨팅 환경에서 사용자 데이터의 무결성 검증 방법 및 그 시스템 | |
CN112422287B (zh) | 基于密码学的多层级角色权限控制方法和装置 | |
CN105072134A (zh) | 一种基于三级密钥的云盘系统文件安全传输方法 | |
US20110154015A1 (en) | Method For Segmenting A Data File, Storing The File In A Separate Location, And Recreating The File | |
CN106888213B (zh) | 云密文访问控制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |