CN110134647A - 一种支持云端数据去重的数字水印方法和系统 - Google Patents
一种支持云端数据去重的数字水印方法和系统 Download PDFInfo
- Publication number
- CN110134647A CN110134647A CN201910255662.6A CN201910255662A CN110134647A CN 110134647 A CN110134647 A CN 110134647A CN 201910255662 A CN201910255662 A CN 201910255662A CN 110134647 A CN110134647 A CN 110134647A
- Authority
- CN
- China
- Prior art keywords
- original
- user terminal
- watermark
- file
- cloud server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 claims abstract description 26
- 230000009467 reduction Effects 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 50
- 230000006835 compression Effects 0.000 claims description 20
- 238000007906 compression Methods 0.000 claims description 20
- 230000009466 transformation Effects 0.000 claims description 16
- 238000003780 insertion Methods 0.000 claims description 11
- 230000037431 insertion Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000009833 condensation Methods 0.000 claims description 2
- 230000005494 condensation Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000000844 transformation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Library & Information Science (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Editing Of Facsimile Originals (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种支持云端数据去重的数字水印方法和系统。该方法包括:用户端向云服务器端提出上传某原文件的请求;若原文件为第一次上传,用户端对原文件使用数字水印生成水印文件,根据数字水印的水印嵌入位置和水印内容生成原文件的所有权证明,将所有权证明和水印文件一同上传至云服务器端;若原文件为非第一次上传,用户端利用水印信息证明对原文件的所有权,如果具有所有权则云服务器端将用户端纳入所有者列表,否则拒绝将用户端加入所有者列表。进一步可以实现文件分发和文件还原。所述数字水印优选使用频域数字水印。本发明能够在保护用户所有权的前提下兼顾云存储服务的质量,大大提升云存储空间的利用率。
Description
技术领域
本发明涉及密码领域和图像处理领域,特别涉及一种支持云存储环境的数据去重的数字水印方法和系统。
背景技术
高效低价的云存储服务作为云计算的重要组成部分已经得到了广泛运用,尤其随着近年来社交媒体的迅速发展,爆炸式增长的数据量驱动着数据存储由传统繁杂昂贵的本地存储管理向云存储转移。大量资源文件,包括多媒体文件,可以通过云存储和云计算服务便捷地进行公开传播和分发。如何持续维护文件的所有权以防止其在资源共享过程中被盗用及滥用已逐步成为许多云存储用户关心的问题。大部分云存储厂商已向用户提供加密服务,用户通过管理密钥自主控制数据流向,但这并不能从根本上杜绝所有权的流失。特别地,多媒体文件有着另一种数字版权保护方法,即在文件中添加数字水印(watermarking)。全球最大的云计算服务提供商亚马逊向用户提供了数字水印接口以保证用户对其上传文件的所有权。
现存的数字水印多基于用户指定的特定秘密信息对文件进行一定的变换处理,该变换几乎不影响原文件的可用性和正常传播。根据不同的性质和特征数字水印有着众多分类方式。根据叠加位置可以将数字水印分为空域数字水印和频域数字水印。直接叠加在文件上的数字水印称为空域数字水印;使用各种变换(如离散傅里叶变换)对文件进行预处理再叠加水印的方案则称为频域数字水印。频域数字水印较之空域数字水印有着更强的鲁棒性。
在云存储中广泛存在不同用户可能持有并上传内容相同或重复度较高的文件的情况。对此,云服务提供商采取了一定的数据去重(deduplication)技术缓解云端存储冗余。根据操作发生位置,数据去重可以分为服务器端去重(server-side deduplication)和客户端去重(client-side deduplication)。服务器去重方案中云存储用户均需上传文件,由云存储服务器判断数据重复并删除冗余;客户端去重方案则是在用户上传文件之前先预判冗余是否存在。若存在则由云端验证用户是否为真实文件拥有者。由于客户端去重方案简省了用户数据上传的步骤,极大减少了带宽浪费,提升用户体验,在生产实际中得到了广泛运用。主流的云存储提供商皆默认部署了数据去重。
但当内容相同的文件或文件块经过加密或增添数字水印后变为内容迥然不同的文件时,传统数据去重方案将不再适用。对数据的处理明显增加了数据去重的难度,所造成的存储空间和资源浪费将会在一定程度上会降低了云存储的服务质量。这一冲突目前未得到足够的关注和良好的解决。
发明内容
为了能够在保护用户所有权的前提下兼顾云存储服务的质量,本发明提供一种支持数据去重的数字水印方法和系统。
本发明的原理是:拥有相同内容文件或文件块的用户可以仅基于文件本身和一个随机值对相同内容的文件生成相同的数字水印,其中水印的分布使用文件内容直接导出,借鉴Converge Encryption(CE)方案的思想(Storer M W,Greenan K,Long D D E,etal.Secure data deduplication[C]//Proceedings of the 4th ACM internationalworkshop on Storage security and survivability.ACM,2008:1-10.),相同内容的文件将会得到相同的水印分布。水印内容则由一串随机比特串指定,该串由第一个上传该文件的用户产生,后续拥有者通过对比水印文件与本地原文件获取该比特串。只有真正拥有文件的用户才可以提取或移除相应的数字水印,提取出的水印信息可以作为向云端和公众证明其所有权的证据。同时,将原文件处理为带有相同数字水印的文件使得云存储服务器可以执行数据去重,大大提升了云存储空间的利用率。不具有原始文件的其他用户,如该资源文件的使用者,以及云服务提供商只能通过暴力破解的方式猜测水印内容及其分布,完全猜中方可记为攻击成功,其理论概率几乎可以忽略不计。
本发明的一种支持云端数据去重的数字水印方法,包括以下步骤:
用户端向云服务器端提出上传某原文件的请求;
若所述原文件为第一次上传,所述用户端对所述原文件使用数字水印生成水印文件,根据所述数字水印的水印嵌入位置和水印内容生成所述原文件的所有权证明,将所述所有权证明和所述水印文件一同上传至所述云服务器端;
若所述原文件为非第一次上传,所述用户端利用水印信息证明对所述原文件的所有权,如果具有所有权则所述云服务器端将所述用户端纳入所有者列表,否则拒绝将所述用户端加入所有者列表。
进一步地,采用以下方式判断所述原文件是否为第一次上传:
用户端使用Hash函数计算原文件的Hash值并发送至云服务器端;或者云服务器端公开Hash函数,用户端通过公开渠道获取该Hash函数;
云服务器端通过检索Hash值间接检索原文件是否为第一次上传。
进一步地,所述数字水印优选使用频域数字水印(可以提高鲁棒性和应用范围),也可以使用空域数字水印以及其他使用叠加方式实现水印嵌入的数字水印方案。
在上面步骤实现了文件初传、文件去重的基础上,进一步可以实现文件分发和文件还原。具体来说,优选地,本发明可分为五个操作阶段,分别为系统初始化、文件初传、文件去重、文件分发和文件还原,技术方案实现如下:
1系统初始化
云存储服务器根据安全等级随机生成一个大素数乘法群的生成元g和公开Hash函数,云存储用户通过公开渠道获取该生成元和公开Hash函数,并根据需求选定数字水印模式。本发明优选使用频域数字水印,相应的变换算法也需要在初始化阶段被选定并公开。
2文件初传
初次上传该文件时,系统进入文件初传阶段:
步骤2.1用户使用公开Hash函数计算原文件的Hash值并发送至云端;
步骤2.2云端通过检索Hash值间接检索原文件是否第一次上传,若是,继续该阶段其他步骤,否则跳转到阶段3继续执行;
步骤2.3用户使用离散傅里叶变换(或其他初始化时选定的变换)将原文件从空域映射到频域;
步骤2.4用户使用CE算法从原文件导出嵌入数字水印的矩阵坐标,随机生成一串满足安全要求长度的比特串并将该比特串依次叠加到选定的坐标上,生成水印文件;
步骤2.5用户使用逆离散傅里叶变换(或其他逆变换)将处理后的矩阵映射回空域以还原文件的可用性;
步骤2.6用户使用CE算法导出的矩阵坐标和随机比特串产生文件所有权证明,连同水印文件一同上传至云端;
步骤2.7用户本地保存CE算法导出的矩阵坐标和随机比特串,删除本地原文件(即将本地文件存放至云端,客户端无需存储,以节省存储空间)。
3文件去重
本阶段接续阶段2的步骤2.2执行,即当文件已存在时,后续用户无需上传文件,但需要在该阶段获取相应秘密信息并自证对文件的所有权。
步骤3.1云端给当前用户返回水印文件和本轮所有权验证的挑战值c,该挑战值是大素数乘法交换群上的一个元素;
步骤3.2用户使用离散傅里叶变换(或其他初始化时选定的变换)分别将水印文件和原文件从空域映射到频域;
步骤3.3用户使用CE算法从原文件导出嵌入数字水印的矩阵坐标,通过对比水印文件和原文件中这些坐标的数值提取一串比特串,该比特串即为第一个上传者指定的随机比特串;
步骤3.4用户使用CE算法获取的坐标导出一个大整数并计算一个新的生成元gm,用得到的比特串导出另一个大整数nwm,并计算本轮挑战的响应发回给云端;
步骤3.5云端使用c、当前用户返回的响应和第一个上传者上传的所有权证明,判断当前用户对文件是否具有所有权,若是则将用户纳入所有者列表,否则拒绝该用户;
步骤3.6合法用户完成身份自证后将CE算法导出的矩阵坐标和与第一个上传者保持一致的比特串存储在本地并删除本地原文件。
4文件分发
该阶段是一个长期持续的阶段,即网络中的普通用户可以下载或浏览由其他用户上传的资源文件。特别地,该阶段用户获取到的文件都是经过数字水印处理的文件而非原始文件。
步骤4.1普通用户通过各种公开渠道获取文件检索的Hash值,连同读取等操作请求发送给云端;
步骤4.2云端接收到读取数据的请求后,给用户返回水印文件。
5文件还原
该阶段设计满足了持有文件所有权的用户可能有还原文件的需求。
步骤5.1用户向云端发送带有文件Hash值的还原文件请求;
步骤5.2云端收到请求后给用户返回完整的水印文件;
步骤5.3用户使用离散傅里叶变换(或其他初始化时选定的变换)将文件从空域映射到频域,根据存储的CE比特串确定数字水印叠加坐标并将对应叠加的比特串移除;
步骤5.4用户使用逆离散傅里叶变换(或其他逆变换)将处理后的矩阵映射回空域以还原文件的可用性,用户可以对还原后的原始文件执行后续操作。
为了保证实用性,本发明还针对通信开销做出了相应优化,即在文件去重阶段,云服务器在向用户回传水印文件前先按照一定规则压缩该文件,文件所有者可以基于接收到的压缩文件和本地存储的原文件完成数字水印的提取和所有权证明。其他操作保持不变。
基于同一发明构思,本发明还提供一种实现上面所述方法的用户端,其包括以下模块中的至少一个:
数字水印嵌入模块,负责在向云服务器端第一次上传某个原文件时,对所述原文件使用数字水印生成水印文件,根据所述数字水印的水印嵌入位置和水印内容生成所述原文件的所有权证明,将所述所有权证明和所述水印文件一同上传至所述云服务器端;
所有权证明模块,负责在向云服务器端非第一次上传所述原文件时,利用水印信息证明对所述原文件的所有权。
基于同一发明构思,本发明还提供一种实现上面所述方法的云服务器端,其包括:
接收模块,负责接收第一次上传某个原文件的用户端发来的所有权证明和水印文件;
所有权判定模块,负责对非第一次上传所述原文件的用户端对所述原文件的所有权,如果具有所有权则将所述用户端纳入所有者列表,否则拒绝将所述用户端纳入所有者列表。
基于同一发明构思,本发明还提供一种支持云端数据去重的数字水印系统,其包括上面所述的用户端和云服务器端。
本发明的优点和有益效果是:
本发明的支持数据去重的数字水印方法,拥有相同内容文件或文件块的用户可以仅基于文件本身和一个随机值对相同内容的文件生成相同的数字水印,只有真正拥有文件的用户才可以提取或移除相应的数字水印,提取出的水印信息可以作为向云端和公众证明其所有权的证据。本发明能够在保护用户所有权的前提下兼顾云存储服务的质量,大大提升了云存储空间的利用率;不具有原始文件的其他用户只能通过暴力破解的方式猜测水印内容及其分布,完全猜中方可记为攻击成功,其理论概率几乎可以忽略不计。
附图说明
图1.本发明嵌入数字水印流程图。
图2.本发明文件初传阶段的流程图。
图3.本发明文件去重阶段的流程图。
图4.本发明优化算法的设计图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰,以下参照附图并举实施例,对本发明作进一步详细说明。
参数说明:
G1是系统初始化时需要生成一个大素数乘法交换群,g和gm都表示该群的生成元;
KCE是CE算法导出的一串比特串(密钥),用于指定数字水印嵌入位置;
Iwm是第一个文件上传者生成的一串随机比特串,即为数字水印的内容;
·表示普通数乘;
+和⊕表示按位加操作;
||表示信息拼接;
e(·,·)表示一个双线性映射上的配对计算;
H(·)表示系统选定的密码杂凑函数。
图1为本实施例中嵌入数字水印的流程,依据图示执行步骤具体如下(各步骤的标号如2.3、2.4等与前文发明内容中一致):
步骤2.3用户使用离散傅里叶变换(或其他初始化时选定的变换)将文件从空域映射到频域,如图1中①所示,此时文件是一个维度与原文件一致的复数矩阵,每个矩阵元素具有唯一的矩阵下标。图1中“频域”处的1、2、3、4表示原文件关于中心两两共轭对称的四个部分。
步骤2.4用户使用CE算法由原文件内容直接导出KCE,按照矩阵维度对比特串进行切分,对应为矩阵的元素下标,这些下标即为数字水印嵌入的位置,用户另外随机生成一串满足安全要求长度(如1024比特)的比特串Iwm,按照顺序分别将比特0或者比特1按位加到对应位置的元素上(图1中②~④示意了更新坐标为6的元素内容),生成水印文件ft。特别地,由于傅里叶变换的对称性,所有发生变化的元素对应的共轭对称元素也要叠加相应的变化。
步骤2.5用户使用逆离散傅里叶变换(或其他逆变换)将处理后的矩阵映射回空域以还原文件的可用性,如图1中⑤所示。
图2为本实施例中文件初传的流程图,依据图示执行步骤具体如下:
步骤2.6用户使用CE算法导出的比特串新生成一个G1的生成元gm,同时使用随机比特串导出一个大整数nwm以及一个随机大整数r1,计算作为文件所有权证明,连同水印文件一同上传至云服务器端。可以通过切分或者模运算的方式将字符串映射为数值。在工程实现中开发者可以直接调用PBC或者JPBC库封装的函数来完成映射。
图3为本实施例中文件去重流程图,依据图示执行步骤具体如下:
步骤3.1云服务器给当前用户返回文件已存在的通知消息(图3中用“√”表示)、水印文件和本轮所有权验证的挑战值c,该挑战值是由云服务器随机生成的一个G1上的存在逆元c-1的元素;
步骤3.2与步骤2.3类似,用户使用离散傅里叶变换(或其他初始化时选定的变换)分别将水印文件和原文件从空域映射到频域;
步骤3.3用户使用KCE确定嵌入数字水印的矩阵坐标,通过对比水印文件和原文件中这些坐标的数值提取一串比特串,该比特串若正确提取则与第一个上传者指定的随机串Iwm一致;
步骤3.4用户再次使用KCE指定一个大整数并计算一个新的生成元用得到的比特串导出另一个大整数nwm,并随机生成一个大整数ri。用户使用gm、nwm、ri和挑战值c计算本轮挑战的响应发回给云服务器;
步骤3.5云服务器使用c的逆元c-1和当前用户返回的响应提取出并计算与是否相等,其中和提取自第一个上传者上传的所有权证明。若结果相等,则云服务器将当前用户纳入所有者列表,否则拒绝该用户请求;
步骤3.6合法用户完成身份自证后本地存储KCE以及Iwm,并删除本地原文件。
针对回传水印文件而造成的带宽消耗,本发明提出了一个技术优化,可以在保证不影响数字水印正常提取的情况下压缩数据,有效改善方案的通信开销。图4为本发明方案优化的展示,依据图示具体操作步骤如下:
步骤1云服务器在系统初始化阶段指定压缩后的行列矩阵的维度m,如图示分别指定压缩后的矩阵维度为8×n和n×8,其中n为原文件矩阵的维度;
步骤2云服务器对文件频域矩阵沿着行顺序方向按照每m列(图例为8)将对应位置元素相加,得到一个n×8的压缩列矩阵。类似地,云服务器对文件频域矩阵沿着列顺序方向按照每m行(图例为8)将对应位置元素相加,生成一个8×n的压缩行矩阵。云服务器将这两个压缩矩阵发回给请求用户;
步骤3用户在本地对原文件做同样的压缩操作,生成一个n×8的压缩列矩阵和一个8×n的压缩行矩阵;
步骤4用户对比原文件和压缩的水印文件的压缩行矩阵和压缩列矩阵的元素,提取出发生变化(即至少发生一次比特1嵌入)的位置;
步骤5用户由KCE确定数字水印嵌入位置,对被选中元素(被KCE指定矩阵坐标对应的元素)的列坐标做模m(图例为8)运算,确定被选中元素在压缩行列矩阵对应行中的相对位置。若计算的相对位置上只发生一次比特1嵌入(如图例中黑色小块所示),则对应的原文件矩阵中的该位置被嵌入比特1的水印信息;若计算的相对位置上发生多次比特1嵌入(如图例中浅灰色小块所示),则继续对选中元素的行坐标做模m(图例为8)运算,通过比对该元素在压缩行矩阵中被嵌入比特的情况判断压缩列矩阵比特1的嵌入分布,仍存在不确定情况的,用户向云服务器直接请求追回对应元素的值以确定该元素是否存在比特1嵌入;其余未检测到比特嵌入的位置(如图例中深灰色表明0的小块所示)则记为嵌入比特0;
步骤6用户反复执行步骤5直到所有数字水印比特位确定,按照下标从小到大的顺序将所有比特连接起来,还原Iwm。
该优化理论上将通信开销由O(n2)降为O(n),提升了该方法的实用性。
以上实施例中使用了频域水印,本发明可以推广应用至空域水印以及其他使用叠加方式实现水印嵌入的水印方案。
本发明另一实施例提供一种实现上面所述方法的用户端,其包括以下模块中的至少一个:
数字水印嵌入模块,负责在向云服务器端第一次上传某个原文件时,对所述原文件使用数字水印生成水印文件,根据所述数字水印的水印嵌入位置和水印内容生成所述原文件的所有权证明,将所述所有权证明和所述水印文件一同上传至所述云服务器端;
所有权证明模块,负责在向云服务器端非第一次上传所述原文件时,利用水印信息证明对所述原文件的所有权。
本发明另一实施例提供一种实现上面所述方法的云服务器端,其包括:
接收模块,负责接收第一次上传某个原文件的用户端发来的所有权证明和水印文件;
所有权判定模块,负责对非第一次上传所述原文件的用户端对所述原文件的所有权,如果具有所有权则将所述用户端纳入所有者列表,否则拒绝将所述用户端纳入所有者列表(或拒绝将所述用户端纳入所有者列表的请求)。
本发明另一实施例提供一种支持云端数据去重的数字水印系统,其包括上面所述的用户端和云服务器端。
以上实施仅用以说明本发明的技术方案而非对其进行限制,例如本发明也适用于在空域上嵌入数字水印以及文件块级别的数据去重,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换而不脱离本发明的精神和范围,本发明的保护范围以权利要求书所述为准。
Claims (13)
1.一种支持云端数据去重的数字水印方法,其特征在于,包括以下步骤:
用户端向云服务器端提出上传某原文件的请求;
若所述原文件为第一次上传,所述用户端对所述原文件使用数字水印生成水印文件,根据所述数字水印的水印嵌入位置和水印内容生成所述原文件的所有权证明,将所述所有权证明和所述水印文件一同上传至所述云服务器端;
若所述原文件为非第一次上传,所述用户端利用水印信息证明对所述原文件的所有权,如果具有所有权则所述云服务器端将所述用户端加入所有者列表,否则拒绝将所述用户端加入所有者列表。
2.根据权利要求1所述的方法,其特征在于,采用以下方式判断所述原文件是否为第一次上传:
用户端使用Hash函数计算原文件的Hash值并发送至云服务器端;或者云服务器端公开Hash函数,用户端通过公开渠道获取该Hash函数;
云服务器端通过检索Hash值间接检索原文件是否为第一次上传。
3.根据权利要求1所述的方法,其特征在于,所述数字水印为频域数字水印或者空域数字水印;所述用户端对所述原文件使用频域数字水印生成水印文件的步骤包括:
用户端使用选定的变换算法将原文件从空域映射到频域;
用户端使用CE算法从原文件导出嵌入数字水印的矩阵坐标,随机生成一串满足安全要求长度的比特串并将该比特串依次叠加到选定的坐标上,生成水印文件;
用户端使用逆变换将矩阵映射回空域以还原文件的可用性。
4.根据权利要求3所述的方法,其特征在于,用户端使用CE算法导出的矩阵坐标和随机比特串产生原文件的所有权证明,连同水印文件一同上传至云服务器端;用户端本地保存CE算法导出的矩阵坐标和随机比特串,删除本地原文件。
5.根据权利要求3所述的方法,其特征在于,所述用户端利用水印信息证明对所述原文件的所有权,包括:
云服务器端给当前用户端返回水印文件和本轮所有权验证的挑战值,该挑战值是大素数乘法交换群上的一个元素;
用户端使用选定的变换算法分别将水印文件和原文件从空域映射到频域;
用户端使用CE算法从原文件导出嵌入数字水印的矩阵坐标,通过对比水印文件和原文件中这些坐标的数值提取一串比特串,该比特串即为第一个上传者指定的随机比特串;
用户端使用CE算法获取的坐标导出一个大整数并计算一个新的生成元,用得到的比特串导出另一个大整数,并计算本轮挑战的响应发回给云服务器端;
云服务器端使用所述挑战值、当前用户端返回的响应和第一个上传者上传的所有权证明,判断当前用户端对文件是否具有所有权,若是则将用户端加入所有者列表,否则拒绝该用户端。
6.根据权利要求5所述的方法,其特征在于,合法用户端完成身份证明后本地存储CE算法导出的矩阵坐标和与第一个上传者保持一致的比特串并删除本地原文件。
7.根据权利要求1所述的方法,其特征在于,不具有所有权的普通用户端通过以下步骤从云服务器端获取水印文件:
普通用户端通过公开渠道获取文件检索的Hash值,连同读取操作请求发送给云服务器端;
云服务器端接收到读取数据的请求后,给普通用户端返回水印文件。
8.根据权利要求3所述的方法,其特征在于,具有所有权的用户端通过以下步骤还原文件:
用户端向云服务器端发送带有文件Hash值的还原文件请求;
云服务器端收到请求后给用户端返回完整的水印文件;
用户端使用选定的变换将文件从空域映射到频域,根据存储的比特串确定数字水印叠加坐标并将对应叠加的比特串移除;
用户端使用逆变换将处理后的矩阵映射回空域以还原文件的可用性。
9.根据权利要求1至8中任一权利要求所述的方法,其特征在于,云服务器端在向用户端回传水印文件前先按照一定规则压缩水印文件以降低通信开销,用户端基于接收到的压缩文件和本地存储的原文件完成数字水印的提取和所有权证明。
10.根据权利要求9所述的方法,其特征在于,所述压缩水印文件,包括:
云服务器在系统初始化阶段指定压缩后的行列矩阵的维度m;
云服务器对文件频域矩阵沿着行顺序方向按照每m列将对应位置元素相加,得到压缩列矩阵,并类似地生成压缩行矩阵,将这两个压缩矩阵发回给用户端;
用户端在本地对原文件做同样的压缩操作,压缩列矩阵和压缩行矩阵;
用户端对比原文件和压缩的水印文件的压缩行矩阵和压缩列矩阵的元素,提取出发生变化的位置;
用户端确定数字水印嵌入位置,对被选中元素的列坐标做模m运算,确定被选中元素在压缩行列矩阵对应行中的相对位置;若计算的相对位置上只发生一次比特1嵌入,则对应的原文件矩阵中的该位置被嵌入比特1的水印信息;若计算的相对位置上发生多次比特1嵌入,则继续对选中元素的行坐标做模m运算,通过比对该元素在压缩行矩阵中被嵌入比特的情况判断压缩列矩阵比特1的嵌入分布,仍存在不确定情况的,用户端向云服务器直接请求取回对应元素的值以确定该元素是否存在比特1嵌入;其余未检测到比特嵌入的位置则记为嵌入比特0;
用户端反复执行上述步骤直到所有数字水印比特位确定,按照下标从小到大的顺序将所有比特连接起来,还原第一个文件上传者生成的随机比特串。
11.一种实现权利要求1所述方法的用户端,其特征在于,包括以下模块中的至少一个:
数字水印嵌入模块,负责在向云服务器端第一次上传某个原文件时,对所述原文件使用数字水印生成水印文件,根据所述数字水印的水印嵌入位置和水印内容生成所述原文件的所有权证明,将所述所有权证明和所述水印文件一同上传至所述云服务器端;
所有权证明模块,负责在向云服务器端非第一次上传所述原文件时,利用水印信息证明对所述原文件的所有权。
12.一种实现权利要求1所述方法的云服务器端,其特征在于,包括:
接收模块,负责接收第一次上传某个原文件的用户端发来的所有权证明和水印文件;
所有权判定模块,负责对非第一次上传所述原文件的用户端对所述原文件的所有权,如果具有所有权则将所述用户端加入所有者列表,否则拒绝所述用户端的上传所述原文件的请求。
13.一种支持云端数据去重的数字水印系统,其特征在于,包括权利要求11所述的用户端和权利要求12所述的云服务器端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910255662.6A CN110134647B (zh) | 2019-04-01 | 2019-04-01 | 一种支持云端数据去重的数字水印方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910255662.6A CN110134647B (zh) | 2019-04-01 | 2019-04-01 | 一种支持云端数据去重的数字水印方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110134647A true CN110134647A (zh) | 2019-08-16 |
CN110134647B CN110134647B (zh) | 2021-08-06 |
Family
ID=67569101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910255662.6A Expired - Fee Related CN110134647B (zh) | 2019-04-01 | 2019-04-01 | 一种支持云端数据去重的数字水印方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134647B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292438A (zh) * | 2022-10-10 | 2022-11-04 | 日照蓝鸥信息科技有限公司 | 一种电子文档的存储方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236587A (zh) * | 2008-02-15 | 2008-08-06 | 南通大学 | 基于脆弱水印的外包数据库查询验证方法 |
CN101882297A (zh) * | 2010-06-02 | 2010-11-10 | 青岛理工大学 | 数字水印方法 |
CN103700059A (zh) * | 2013-12-19 | 2014-04-02 | 南京信息工程大学 | 基于多功能数字水印的云存储图像数据持有性证明方法 |
-
2019
- 2019-04-01 CN CN201910255662.6A patent/CN110134647B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236587A (zh) * | 2008-02-15 | 2008-08-06 | 南通大学 | 基于脆弱水印的外包数据库查询验证方法 |
CN101882297A (zh) * | 2010-06-02 | 2010-11-10 | 青岛理工大学 | 数字水印方法 |
CN103700059A (zh) * | 2013-12-19 | 2014-04-02 | 南京信息工程大学 | 基于多功能数字水印的云存储图像数据持有性证明方法 |
Non-Patent Citations (2)
Title |
---|
刘亚芳: "《基于感知哈希的图像重复数据删除技术的研究》", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
许良玉 等: "《基于MPEG-2扩展性的视频认证方法与实现》", 《计算机应用研究》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292438A (zh) * | 2022-10-10 | 2022-11-04 | 日照蓝鸥信息科技有限公司 | 一种电子文档的存储方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110134647B (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang | Inverted pattern approach to improve image quality of information hiding by LSB substitution | |
Lin et al. | Invertible secret image sharing with steganography | |
CN111639361A (zh) | 一种区块链密钥管理方法、多人共同签名方法及电子装置 | |
CN110610105B (zh) | 一种云环境下基于秘密共享的三维模型文件的认证方法 | |
CN104967693B (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN110932854B (zh) | 一种面向物联网的区块链密钥分发系统及其方法 | |
CN108123934A (zh) | 一种面向移动端的数据完整性校验方法 | |
CN112104454B (zh) | 一种数据安全传输方法及系统 | |
CN112861109B (zh) | 一种基于ctid平台和前置系统生成的数字身份码及交互方法 | |
CN105025102B (zh) | 一种3d打印模型文件的网络存储调用方法和存储系统 | |
CN104881838B (zh) | 一种基于gf(23)的(k,n)有意义无扩张图像分存和重构方法 | |
CN109643324A (zh) | 加密消息搜索方法、消息发送接收系统、服务器、终端、程序 | |
CN112035827A (zh) | 密码数据处理方法、装置、设备以及可读存储介质 | |
CN106712942A (zh) | 基于秘密共享的sm2数字签名生成方法及系统 | |
Pandey | Implementation of DNA cryptography in cloud computing and using Huffman algorithm, socket programming and new approach to secure cloud data | |
CN110048833B (zh) | 基于量子卫星密钥网络的电力业务加密方法及装置 | |
US20150023498A1 (en) | Byzantine fault tolerance and threshold coin tossing | |
CN116383837A (zh) | 一种图像隐藏方法、系统及设备 | |
Ren | A novel raster map exchange scheme based on visual cryptography | |
CN110134647A (zh) | 一种支持云端数据去重的数字水印方法和系统 | |
CN117951754A (zh) | 一种基于深度学习的电子印章加解密方法、装置及介质 | |
CN114286131A (zh) | 直播连麦中主播形象模型文件的传输方法及装置 | |
CN117235342A (zh) | 基于同态哈希函数和虚拟索引的动态云审计方法 | |
Li et al. | Ftpe-Bc: Fast Thumbnail-Preserving Image Encryption Using Block-Churning | |
CN116155612A (zh) | 一种码本旋转角度扰动方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210806 |