通过数字水印技术保护用户被遗忘权的方法与流程

文档序号:15462742发布日期:2018-09-18 18:33阅读:237来源:国知局

本发明涉及数字水印和密码学技术领域,尤其涉及一种通过数字水印技术保护用户被遗忘权的方法。



背景技术:

随着数据量的迅速增长,人们对存储空间的需求量也随之急剧增长。云存储技术在这情况下应运而生,提出存储即服务的概念。云存储为用户提供了即廉价又充足的存储空间。人们将本地数据存储在云端,相应地就失去了对其的数据的控制权。某天一位用户不需要存储在云端的重要数据,便要求云服务器彻底删除他的这些数据。云回应用户它已经删除了数据,但是用户无法确信云真的彻底删除他的数据。而且现在流行的云存储结构对数据进行了备份,以防止灾难意外的发生。最终,被备份的数据被分布到不同线上或线下的存储服务器中。所以即使云删除了当前存储空间的数据,也可能没有删除相应数据的所有的备份。

为了保证用户在请求云删除数据后,云端真的彻底删除了该数据,一些学者提出上传密文数据,用户自己保存加密的密钥,当用户想要删除自己的数据时,用户便删除了加密的密钥,使存储在云端的数据成为杂乱的密文,他人即使获得了该密文也无法读懂文中的内容。但是目前更多的服务商需要收集大众的数据,进行数据分析和挖掘,对密文数据不进行接收。

外包明文数据,使得用户可以快捷的使用云计算服务,例如以图搜图,图像编辑等服务。然而当用户上传明文数据时,该用户需要云将会按照自己的请求彻底删除了自己不需要的数据,从而维护了自己的被遗忘权。但目前还没有针对外包明文形式的数据,保护用户被遗忘权的方案。



技术实现要素:

本发明的目的是提供一种通过数字水印技术保护用户被遗忘权的方法。

本发明的目的是通过以下技术方案实现的:

一种通过数字水印技术保护用户被遗忘权的方法,包括:

数据上传阶段:通过数据所有者的所有权水印OW以及水印认证中心产生的唯一的用来标记云端身份的水印WC对数据X进行处理后,发送给云端进行存储;

数据取回阶段:通过水印认证中心产生的唯一的用来标记数据所有者身份的水印WO对存储在云端中待取回的数据进行处理后,发送给数据所有者;

数据删除阶段:在数据上传时、数据上传完成后、数据取回时或者数据取回完成后,由水印认证中心根据数据所有者的发送的数据删除命令,向云端发送相应的数据删除命令,使云端删除相应的数据;

仲裁阶段:数据所有者完成数据上传后,如果发现数据X的一个疑似副本Y,则根据从疑似副本Y中提取的所有权水印O'W与数据所有者的所有权水印OW之间匹配度,来判定疑似副本Y是否属于数据X;若是,则由水印认证中心提取疑似副本Y中用来标记云端身份的水印W'C以及用来标记数据所有者身份的水印W'O,并结合数据上传阶段和/或数据取回阶段产生的水印WC和/或WO来判定疑似副本Y是否由云端泄漏,从而保护用户的被遗忘权。

由上述本发明提供的技术方案可以看出,支持用户外包明文数据,同时保证云端在收到用户的请求时,删除用户数据,否则云端的不诚实行为将被追溯到,进而维护了用户的被遗忘权。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种通过数字水印技术保护用户被遗忘权的方法的流程图;

图2为本发明实施例提供的数据上传阶段的流程图;

图3为本发明实施例提供的数据取回阶段的流程图;

图4为本发明实施例提供的不同m下的系统容量示意图;

图5为本发明实施例提供的不同W下的系统容量示意图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明实施例提供一种通过数字水印技术保护用户被遗忘权的方法,如图1所示,其主要包括:

数据上传阶段:通过数据所有者的所有权水印OW以及水印认证中心产生的唯一的用来标记云端身份的水印WC对数据X进行处理后,发送给云端进行存储;

数据取回阶段:通过水印认证中心产生的唯一的用来标记数据所有者身份的水印WO对存储在云端中待取回的数据进行处理后,发送给数据所有者;

数据删除阶段:在数据上传时、数据上传完成后、数据取回时或者数据取回完成后,由水印认证中心根据数据所有者的发送的数据删除命令,向云端发送相应的数据删除命令,使云端删除相应的数据;

仲裁阶段:如果数据所有者发现数据X的一个疑似副本Y,则根据从疑似副本Y中提取的所有权水印O'W与数据所有者的所有权水印OW之间匹配度,来判定疑似副本Y是否属于数据X;若是,则由水印认证中心提取疑似副本Y中用来标记云端身份的水印W'C以及用来标记数据所有者身份的水印W'O,并结合数据上传阶段和/或数据取回阶段产生的水印WC和/或WO来判定疑似副本Y是否由云端泄漏,从而保护用户的被遗忘权。

本发明实施例中,基于公共密钥基础设施,提出的云端与用户之间的水印协议,其中包含三个不同的角色:数据所有者、云端和诚实的水印认证中心,分别简记为O、C和WCA。本发明实施例所涉及的数据可以有多种形式,比如,图像、音频和文档等。

数据所有者在本地存储了大量的数据,这些数据占据了本地大量的存储空间。由于数据所有者是云存储服务的用户,可以享受云存储服务,因此数据所有者可以将本地的数据上传到云端服务器存储,以减少本地的存储量。数据所有者拥有已被认证的公私钥对,记为(pkO,skO),数据所有者的身份号记为IDO。

云服务商提供并管理许多云存储服务器,为用户提供大量的存储空间。云端拥有的公私钥对,记为(pkC,skC),云端C的身份号记为IDC。

水印认证中心是一个诚实的第三方,负责产生水印、嵌入水印并通过检测提取水印验证是否有水印的存在,水印认证中心被分配的公私钥对,记为(pkWCA,skWCA)。

下面针对各个阶段做详细的介绍。

一、数据上传阶段。

如图2所示,为数据上传阶段的流程图,主要过程如下:

1、数据所有者O在上传数据X之前,发送自身的身份号IDO和一个奇数编号n给云端C,表示数据所有者O要向云端C上传数据X。

本发明实施例中,奇数编号n代表用户要上传数据,当然也可以直接发送上传命令。

2、云端C在接收到数据所有者O的身份号IDO和奇数编号n后,发送云端C的身份号IDC与奇数编号n给数据所有者O,表示云端已经准备好接收数据X。

3、数据所有者O接收到云端C返回的数据后,在数据X中嵌入一个所有权水印OW,获得数据并利用云端公钥pkC进行加密,获得密文数据之后,将密文数据数据所有者O的身份号IDO、奇数编号n、云端C的身份号IDC,以及数据所有者O与云端的签名发送给水印认证中心WCA。

4、水印认证中心WCA接收到上述数据后,对签名进行验证,如果验证通过,则产生一个唯一的用来标记云端身份的水印WC,并使用云端公钥pkC加密水印WC,获得密文水印然后,将密文水印嵌入至密文数据中,获得密文水印数据其中,代表水印嵌入操作;之后,水印认证中心WCA将密文水印数据奇数编号n、数据所有者O的身份号IDO、以及水印认证中心WCA与云端C之间的签名发送给云端。

本领域技术人员可以理解,在加密域E中同态可以实现操作。

同时,水印认证中心WCA在自身的表格中记录数据上传阶段所涉及的信息,如表1所示,主要包括:数据所有者O的身份号IDO、奇数编号n、云端C的身份号IDC、唯一的用来标记云端身份的水印WC、以及水印认证中心WCA与云端C之间的签名

表1数据上传阶段所涉及的信息

5、云端接收到水印认证中心WCA发送的信息后,验证签名的完整性和正确性,如果通过验证,则利用自身的私钥skC对密文水印数据进行解密,获得明文形式的且带有水印WC的水印数据并存储。

本领域技术人员可以理解,云端所存储的水印数据与数据所有者最初上传的数据X的内容基本相同,区别仅在于水印数据还嵌入了数据所有者的所有权水印OW,以及用来标记云端身份的水印WC。

二、数据取回阶段。

如图3所示,为数据上传阶段的流程图,主要过程如下:

1、数据所有者O在取回数据X之前,发送自身的身份号IDO和一个偶数编号n’=n+1给云端C,表示数据所有者O向云端C取回数据X。

本发明实施例中,偶数编号n’代表用户要取回数据,当然也可以直接发送取回命令。

2、云端C在接收到数据所有者O的身份号IDO和偶数编号n’后,发送云端C的身份号IDC与偶数编号n’给数据所有者O,表示云端已经准备好下传数据X。

3、云端C利用数据所有者O的公钥pkO对相应的水印数据进行加密,获得密文水印数据之后,将偶数编号n’、密文水印数据云端C的身份号IDC、数据所有者O的身份号IDO,以及数据所有者O与云端的签名发送给水印认证中心WCA。

4、水印认证中心WCA接收到上述数据后,对签名进行验证,如果验证通过,则产生一个唯一的用来标记数据所有者身份的水印WO,并使用数据所有者的公钥pkO加密水印WO,获得的密文水印然后,将密文水印嵌入至密文水印数据获得新的密文水印数据其中,代表水印嵌入操作;之后,水印认证中心WCA将偶数编号n’、新的密文水印数据数据所有者O的身份号IDO、以及水印认证中心WCA与数据所有者O之间的签名发送给数据所有者O。

同时,水印认证中心WCA在自身的表格中记录数据取回阶段所涉及的信息,如表2所示,主要包括:数据所有者O的身份号IDO、偶数编号n’、云端C的身份号IDC、唯一的用来标记云端身份的水印WC、唯一的用来标记数据所有者身份的水印WO、水印认证中心WCA与云端C之间的签名以及水印认证中心WCA与数据所有者O之间的签名

表2数据取回阶段所涉及的信息

5、数据所有者接收到水印认证中心WCA发送的信息后,验证签名的完整性和正确性,如果通过验证,则利用自身的私钥skO解密获得明文形式的且带有水印WO的数据

本领域技术人员可以理解,数据所有者最终获得的数据与云端所存储的水印数据的内容基本相同,区别仅在于,数据中嵌入了用来标记数据所有者身份的水印WO。也就是说,数据与数据所有者最初上传的数据X相比,仅嵌入了数据所有者的所有权水印OW、用来标记云端身份的水印WC,以及用来标记数据所有者身份的水印WO,主要的数据内容并未发生变化。

三、数据删除阶段。

数据所有者可以在任何时刻删除其存储在云端的数据,例如,数据上传时、数据上传完成后、数据取回时或者数据取回完成后等。

数据删除阶段的过程如下:

1、如果数据所有者需要删除云端存储的数据X,则发送奇数编号n、数据所有者O的身份号IDO、云端C的身份号IDC、以及删除命令给水印认证中心WCA;

2、水印认证中心WCA发送奇数编号n、数据所有者O的身份号IDO和删除命令给云端C;

3、云端删除存储的数据X的所有副本,并返回已全部删除答复给水印认证中心WCA。

同时,水印认证中心WCA在自身的表格中记录数据删除阶段所涉及的信息,如表3所示,主要包括:数据所有者O的身份号IDO、奇数编号n、云端C的身份号IDC、唯一的用来标记云端身份的水印WC、唯一的用来标记数据所有者身份的水印WO、水印认证中心WCA与云端C之间的签名水印认证中心WCA与数据所有者O之间的签名以及数据X是否已经删除的标记。

表3数据删除阶段所涉及的信息

四、仲裁阶段。

当数据所有者完成数据上传后,都有可能进行仲裁阶段。

如果发现数据X的一个疑似副本Y,数据所有者O和水印认证中心WCA通过一下方式鉴别不可信的云端。

1、数据所有者O从疑似副本Y中提取的所有权水印O'W,若所有权水印O'W与数据所有者的所有权水印OW之间匹配度超过一定阈值,超过一定阈值,则判定疑似副本Y属于数据X,并进一步由水印认证中心WCA进行判定;否则,终止流程。

2、由水印认证中心WCA提取疑似副本Y中用来标记云端身份的水印W'C以及用来标记数据所有者身份的水印W'O,并结合数据上传阶段与数据取回阶段产生的水印WC与WO以及自身表格中记录的信息来判定疑似副本Y是否由云端泄漏,从而保护用户的被遗忘权。当水印W'C与表格中的相应条目中所记录唯一的用来标记云端身份的水印WC匹配程度超过阈值时,如下三种情况:

1)如果表格中的相应条目中没有记录唯一的用来标记数据所有者身份的水印WO,且记录了删除命令,则认为数据所有者没有发出取回命令,仅发出了删除命令,但是云端没有按照要求删除相应的数据并泄漏了相应数据;

2)如果表格中的相应条目中没有记录唯一的用来标记数据所有者身份的水印WO,且没有记录删除命令,则认为数据所有者没有发出取回命令与删除命令,但云端泄漏了相应数据;

3)如果水印W'O与如果表格中的相应条目中所记录唯一的用来标记数据所有者身份的水印WO匹配程度超过阈值,则认为疑似副本Y来自于数据所有者;此时,无论数据是否已经删除,或者数据是否泄漏都与云端无关。

下面结合一具体的示例进行介绍。

本示例中,具体的加密方案和水印方案只要能满足要求,即可使用。

本示例中的数据以图像为例,选用1000幅不同灰度图像,图像的大小都为512×512,作为本示例的图像库,使用峰值信噪比PSNR测试嵌入水印后图像的质量,使用正确率BCR测试提取水印的质量。

同态加密方法采用Paillier加密,密钥长度超过1024比特。考虑同态加密中没有小数,量化小数为整数的量化因子S=216

数据所有者O的所有权水印OW,采用与第二代水印嵌入相似的方法,α为水印嵌入强度,现将所有权水印OW嵌入到3次小波变换后的低频区,在进行一次逆小波变换在进行一次傅里叶变换提取低频区的正负号作为图像的特征,记为Key。将提取的图形特征Key与嵌入的原水印OW异或,得到复合特征V。数据所有者O在上传图像时将OW与V同时传送给WCA。仲裁阶段,数据所有者O提取图像特征Key’,若Key’与V异或后的水印O'W与原水印OW的匹配度超过一定的阈值,这证明数据所有者O确实是图像的所有者。

身份水印W,即WC和WO,采用带抖动的量化步长的嵌入方法。质量因子q控制嵌入水印后图像的质量,在被选中的用来嵌入身份水印的8×8块,嵌入水印的个数,记为NEB。

每个测试的图像被分割为不重叠的8×8的块,随机选择一半用来嵌入图像所有权水印OW,一半用来嵌入云和数据所有者的身份水印,即WC和WO,统称为身份水印W。此处,所有权水印OW的正确提取率记为BCRO,身份水印的正确提取率记为BCRI。最终水印的正确提取率记为Prosuc=BCRO×BCRI。当α=0.05,q=55,NEB=2时,该协议在无攻击和有攻击下的实验效果如下表4所示:

表4不同测试下的PSNR和BCR

测试本发明能支持的用户数量与云服务商的数量,被别记为NU和NC。由于嵌入的水印为二值水印,则用户身份水印也是数据所有者身份水印WO的长度为log2(NU),云端身份水印WC的长度为log2(NU)。每个测试的图像的大小为W×H,被分割为不重叠的8×8的块,结合所有权水印嵌入的方案与身份水印嵌入方案,该协议能容纳的NU和NC满足如下关系式:

在实际应用中,NU远远多于NC,本示例中,假设则上式简化为:

当NEB=2,W=H,时,最大用户量NUmax在不同W下关于m变化的对数曲线,如图4所示。当W=H,m=1000时,NEB在1到4的该范围内,在最大用户量NUmax关于W变化的对数曲线如图5所示。

结合图4与图5可知,m对最大用户数量NUmax的影响较小,而图像的大小对NUmax有指数级的影响。当W=210,m=1000,NEB=2时,最大用户数量NUmax可达28442

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

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