一种向关系数据库嵌入和提取数字水印的方法

文档序号:6420857阅读:177来源:国知局
专利名称:一种向关系数据库嵌入和提取数字水印的方法
技术领域
本发明涉及一种向关系数据库嵌入和提取数字水印的方法,属于信息隐藏技术领域。
背景技术
目前,数字水印技术作为解决数字产品版权保护问题的一种有效手段,日益成为人们研究的焦点。数字水印技术的研究大多集中于对图像、音频、视频、软件和一般电子文档的版权保护。而随着因特网技术的飞速发展,在因特网上允许授权用户远程查询和访问数据库已成为普遍要求,但是数据提供者担心数据被窃取、非法拷贝,版权得不到有效保护。因此要有一种机制来表明数据库数据的侵权拷贝。可以通过向关系数据库数据上添加水印来解决这种问题。通过水印对关系数据库数据版权进行管理,已经成为数据库管理系统研究和研制的一个崭新课题,但目前还没有受到普遍重视。
关系数据库数字水印技术的研究较少,IBM阿尔马登研究中心的Agrawal等人提出的通过水印标记匹配判断的关系数据库水印技术只能够检测到有没有水印标记,而不能够嵌入或提取到有意义的水印信息;美国普渡大学的R.Sion博士提出的一种基于元组划分集合的方式嵌入数字水印技术方案,始终没有完全公开他的方法,并且其方法中元组所划分集合大小的确定和元组的排序始终没有给出明确的说法。
关系数据库数据与图像、音频、视频等多媒体数据存在着许多不同。它们之间的不同主要有①图像是由大量的位组成的,并且许多位都是可有可无的,即冗余信息,水印容易隐藏其中;而关系属数据库数据是由元组组成,每个元组表示一个单独的对象,水印需要遍布这些单独的对象;②图像中各个像素点的相对位置不能变化;而关系数据库中的元组是由集合组成,它们之间没有一定的顺序,并且每个元组中的不同属性之间也是无序的;③图像的各个部分不可能随意的删除或替换;而关系数据库中的元组却可以随意的用其他元组代替或删除;④图像一般都是不需要更改的;而关系数据库数据却是需要经常刷新的。这些不同决定了关系数据库数据的数字水印技术不可能采用也不可能同于现有的任何多媒体数字水印技术。

发明内容
本发明的目的是提出一种向关系数据库嵌入和提取数字水印的方法,采用云模型将版权人图像信息转换成云特征信息,然后生成多个水印云滴嵌入到关系数据库中,实现向关系数据库中嵌入和提取版权人图像信息,并使嵌入的水印云滴具有一定的隐匿性和鲁棒性,且对关系数据库进行水印嵌入后其数据不影响正常使用。
本发明提出的向关系数据库嵌入数字水印的方法,包括以下步骤
(1)将待嵌入关系数据库中的版权人图像信息转换成云特征信息,然后根据云特征信息生成多个水印云滴;(2)从关系数据库中选择待嵌入水印云滴的元组及其属性;(3)将上述第(1)步中的一个水印云滴嵌入到上述第2步确定的元组属性中;(4)重复步骤(2)和(3)直至扫描完整个关系数据库。
上述方法中,将版权人图像信息转换成云特征信息并生成多个水印云滴的方法包括如下步骤(1)根据关系数据库中元组的个数N确定需要生成的水印云滴个数为N;(2)根据版权人图像信息确定该图像的每个像素点的灰度值;(3)将步骤(2)得到的灰度值进行归一化处理,得到一组归一化后的灰度值;(4)计算步骤(3)的归一化后灰度值的期望值Ex;(5)计算步骤(3)的归一化后灰度值的方差值En;(6)将步骤(3)的归一化后的灰度值与步骤(4)的期望值Ex相减后取绝对值,得到一组减去期望值Ex的灰度值;(7)计算步骤(6)得到的减去期望值Ex后灰度值的方差值He;(8)以步骤(5)的方差值En为期望,以步骤(7)的方差值He为标准差,生成一个正态随机数En’;(9)以步骤(4)的期望值Ex为期望,以步骤(8)的正态随机数En’为标准差,生成一个正态随机数x,x即为一个水印云滴;(10)重复步骤(8)和步骤(9),直至产生N个水印云滴。
上述方法中选择待嵌入水印云滴的元组及其属性的方法,包括如下步骤(1)确定整个关系数据库中可以嵌入水印云滴的数值型属性及数值型属性个数An;(2)将用户给定的密钥和关系数据库中一个待嵌入水印云滴的元组的主键值连接成一个字符串,通过单向哈希函数将字符串转换成一个128位的比特位序列;(3)将步骤(2)的比特位序列转换成一个正整数;(4)根据用户输入的嵌入比例将步骤(3)的正整数取模,根据得到的余数判断需要嵌入水印的元组,若为需要,则进入步骤(5),若不需要,则扫描关系数据库的下一个元组,并进行步骤(2);(5)根据步骤(1)的数值型属性个数An,将步骤(3)的正整数取模,根据得到的余数确定需要嵌入水印的元组属性。
本发明方法提出的从关系数据库提取数字水印的方法,包括以下步骤(1)从关系数据库中选择嵌入了水印云滴的元组及其属性;(2)将水印云滴从上述选择的元组属性中提取出来,并将其存储;(3)重复步骤(1)和(2),提取关系数据库中所有水印云滴,并将水印云滴还原成云特征信息eEx、eEn和eHe;
(4)将上述第(3)步还原的云特征信息eEx、eEn和eHe与由版权人图像信息生成的云特征信息进行相似性比较,若相似度大于给定阈值,则认为提取的水印云滴为版权人图像信息,否则认为关系数据库中没有版权人图像信息。
上述方法中将水印云滴还原成云特征信息的方法,包括如下步骤(1)计算提取的水印云滴的均值M,得到水印云滴的云特征信息eEx;(2)根据步骤(1)的云特征信息eEx,计算水印云滴的一阶矩M1,得到水印云滴的云特征信息eEn;(3)根据步骤(1)的云特征信息eEx,计算水印云滴的二阶矩M2,再根据步骤(2)的云特征信息eEn,得到水印云滴的云特征信息eHe。
上述方法中将还原的云特征信息与由版权人图像信息生成的云特征信息进行相似性比较的过程,包括以下步骤(1)以云特征信息eEn为期望,以云特征信息eHe为标准差生成一个正态随机数eEn’;(2)以云特征信息eEx为期望,以上述正态随机数eEn’为标准差生成一个正态随机数y,y即为一个水印云滴;(3)重复步骤(1)和步骤(2),直至产生n个水印云滴y(i),n为大于10000的自然数,i=1~n;(4)将版权人图像信息转换成n个水印云滴x(i);(5)将步骤(3)和步骤(4)产生的水印云滴y(i)和x(i)从小到大进行冒泡排序;(6)依次计算水印云滴x(i)和y(i)的对应差值并取绝对值,得到d(i);(7)计算步骤(6)的d(i)的均值,求其倒数,得到相似度。
本发明提出的向关系数据库嵌入和提取数字水印的方法,其优点是嵌入关系数据库中的数字水印具有一定的隐匿性,嵌入的数字水印不会影响嵌入数字水印后数据的使用;嵌入的数字水印有一定的鲁棒性,对于某些方式的恶意攻击,如子集更新、子集增加和子集删除等,数字水印依然存在;由于在选择元组及其属性时运用了单向哈希函数,加入了密钥,因而非授权人不可能轻易将原始数据和数字水印分离开来,因此通过该方法可有效地保护关系数据库版权人的合法权益。


图1是本发明方法中向关系数据库中嵌入版权人图像信息的流程框图。
图2是将版权人图像信息转换成水印云滴的流程框图。
图3是向关系数据库中选择待嵌入水印云滴元组属性的流程框图。
图4是本发明方法中从关系数据库中提取版权人图像信息的流程框图。
图5是将提取的水印云滴还原成云特征信息的流程框图。
图6是将提取的水印云滴还原的云特征信息与由版权人图像信息生成的云特征信息进行相似性比较的流程框图。
具体实施例方式
本发明提出的向关系数据库嵌入数字水印的方法,其流程如图1所示,首先将待嵌入关系数据库中的版权人图像信息转换成云特征信息,然后根据云特征信息生成多个水印云滴;从关系数据库中选择待嵌入水印云滴的元组及其属性;将一个水印云滴嵌入到元组属性中,重复上述过程直至扫描完整个关系数据库,最后就得到了水印关系数据库。
上述方法中的将版权人图像信息转换成云特征信息并生成多个水印云滴的方法,其流程如图2所示,首先根据关系数据库中元组的个数N确定需要生成的水印云滴个数为N;根据版权人图像信息确定该图像的每个像素点的灰度值;将灰度值进行归一化处理,得到一组归一化后的灰度值;计算归一化后灰度值的期望值Ex、方差值En,将归一化后的灰度值与灰度期望值相减后取绝对值,得到一组减去期望值Ex的灰度值,并计算其方差值He;以方差值En为期望,以方差值He为标准差,生成一个正态随机数En’;以Ex为期望,以En’为标准差,生成一个正态随机数x,x即为一个水印云滴;重复上述过程,直至产生N个水印云滴。
上述方法中的选择待嵌入水印云滴的元组及其属性的方法,其流程如图3所示,首先确定整个关系数据库中可以嵌入水印云滴的数值型属性及其个数An;将用户给定的密钥和关系数据库中一个待嵌入水印云滴的元组的主键值连接成一个字符串,通过单向哈希函数将字符串转换成一个128位的比特位序列;将比特位序列转换成一个正整数;根据用户输入的嵌入比例将该正整数取模,根据得到的余数判断需要嵌入水印的元组,若不需要,则扫描关系数据库中的下一个元组,若为需要,根据确定的An将该正整数取模,根据得到的余数确定需要嵌入水印的元组属性。
本发明提出的从关系数据库中提取数字水印的方法,其流程如图4所示,从关系数据库中选择嵌入了水印云滴的元组属性;将水印云滴从上述元组属性中提取出来,并将其存储;重复上述步骤,提取出关系数据库中所有水印云滴,并将水印云滴还原成云特征信息;将还原的云特征信息与由版权人图像信息生成的云特征信息进行相似性比较,相似度大于给定阈值时,则认为提取的水印云滴信息为版权人图像信息,否则认为关系数据库中没有版权人图像信息。
上述方法中将还原的云特征信息与由版权人图像信息生成的云特征信息进行相似性比较的过程,其流程如图5和图6所示,首先计算提取的水印云滴的均值M,得到水印云滴的云特征信息eEx;根据云特征信息eEx,计算水印云滴的一阶矩M1,得到水印云滴的云特征信息eEn;根据云特征信息eEx,计算水印云滴的二阶矩M2,再根据云特征信息eEn,得到水印云滴的云特征信息eHe;以云特征信息eEn为期望,以云特征信息eHe为标准差生成一个正态随机数eEn’;以云特征信息eEx为期望,以正态随机数eEn’为标准差生成一个正态随机数y,y即为一个水印云滴;重复上述步骤直至产生n个水印云滴y(i),n为大于10000的自然数,i=1~n;将版权人图像信息转换成n个水印云滴x(i);对产生的水印云滴x(i)和y(i)从小到大进行冒泡排序;依次计算水印云滴x(i)和y(i)的对应差值并取绝对值得d(i),计算d(i)的均值,求其倒数,得到相似度。
以下为本发明的一个实施例向关系数据库中嵌入数字水印前,首先需要将版权人图像信息转换成云特征信息并生成多个水印云滴,关系数据库中元组的个数决定生成的水印云滴的个数(假设为N个)。用(x,y,g)表示m×n大小的图像中每个像素点的灰度,其中x,y分别表示像素点的位置(x=1,2,...,m,y=1,2,...,n),g表示(x,y)处的灰度值(0~255),将灰度值g归一化到(0~1),这样就得到一组归一化后的灰度值gi(i=1...m×n),则可计算gi的均值得期望值Ex,即Ex=Σi=1m×ngi/(m×n),]]>计算gi的方差值En,即En=Σi=1m×ngi2/(m×n)-(Ex)2,]]>再将归一化后的灰度值gi分别减去Ex并求其绝对值得ggi,即ggi=|gi-Ex|,再按照前面两个公式计算ggi的方差值He。这样就可通过以下步骤生成N个水印云滴。具体生成的步骤是这样的(1)产生期望为En,标准差为He的正态随机数En’;(2)产生期望为Ex,标准差为En’的正态随机数x;(3)重复步骤(1)和(2),直至产生N个x,记作x(i),i=1,2,...,N。
然后确定关系数据库中用来嵌入水印云滴的元组属性,从关系数据库的第一个元组开始进行扫描,假定关系数据库中可以嵌入水印的数值型属性个数为An(并将其进行编号,依次为0,1...An-1),嵌入比例是1/Scale(Scale为整数,由用户输入),则将输入的密钥和关系数据库元组的主键值连接成一个字符串,作为单向哈希函数(如MD5函数)的输入参数,这样就可得出一个128位的比特位序列,将该比特位序列转换成正整数,然后将该正整数对Scale取模,如果余数不为0则跳转出去扫描关系数据库下一个元组,如果余数为0的就判定该元组需要嵌入水印云滴,再将该正整数对An取模,根据得到的余数确定将一个水印云滴嵌入到该余数编号对应的属性尾数上,这样就嵌入了一个水印云滴。继续扫描关系数据库的下一个元组,直至扫描完整个关系数据库数据。这样就将有版权人图像信息生成的水印云滴嵌入到关系数据库数值型数据中了,即该关系数据库嵌入了版权人图像信息。
从关系数据库中提取版权人图像信息的过程是这样的,首先扫描关系数据库的第一个元组,根据用户输入的密钥,关系数据库元组的主键值以及用户输入的嵌入比例1/Scale(Scale为整数)确定可能嵌入水印的元组及其属性(确定的方法同上),然后提取该元组属性值的尾数作为一个水印云滴y。接着扫描关系数据库的下一个元组,直至扫描完整个关系数据库。这样就从关系数据库数值型数据中提取到多个(假设为n个)水印云滴y(i)(i=1...n)。接着对这些提取到的n个水印云滴y(i)进行逆向还原得到其云特征信息。具体步骤是这样的(1)计算n个水印云滴y(i)(i=1,2,...,)的均值M,M=Σi=1ny(i)/n,]]>则有云特征信息eEx=M;(2)计算n个水印云滴y(i)(i=1,2,...,n)的一阶矩M1,M1=Σi=1n|y(i)-eEx|/n,]]>则有云特征信息eEn=π2×M1;]]>(3)计算n个水印云滴y(i)(i=1,2,...,n)的二阶矩M2,M2=Σi=1n(y(i)-eEx)2/(n-1),]]>则有云特征信息eHe=|(M2-eEn2|.]]>然后对版权人图像信息进行转换,首先将其转换成云特征信息。用(x,y,g)表示m×n大小的图像中每个像素点的灰度,其中x,y分别表示像素点的位置(x=1,2,...,m,y=1,2,...,n),g表示(x,y)处的灰度值(0~255),将灰度值g归一化到(0~1),这样就得到一组归一化后的灰度值gi(i=1,2,...,m×n),则可计算gi的均值得期望值Ex,即Ex=Σi=1m×ngi/(m×n),]]>计算gi的方差值En,即En=Σi=1m×ngi2/(m×n)-(Ex)2,]]>再将归一化后的灰度值gi分别减去Ex并求其绝对值得ggi,即ggi=|gi-Ex|,再按照前面两个公式计算ggi的方差值He。这样就得到版权人图像信息的云特征信息Ex,En,He。接着将提取到的多个水印云滴的云特征信息eEx,eEn,eHe和版权人图像信息的云特征信息Ex,En,He进行相似性比较,判断关系数据库中是否有版权人图像信息。具体步骤是这样的(这里的n为大于10000的自然数)(1)产生期望为En,标准差为He的一个正态随机数En’;(2)产生期望为Ex,标准差为En’的一个正态随机数x;(3)重复步骤(1)和(2),直至产生n个x,记作x(i),(i=1,2...n);(4)产生期望为eEn,标准差为eHe的一个正态随机数eEn’;(5)产生期望为eEx,标准差为eEn’的一个正态随机数y;(6)重复步骤(4)和(5),直至产生n个y,记作y(i),(i=1,2...n);(7)对x(i)和y(i)从小到大进行冒泡排序;(8)依次计算云滴x(i)和云滴y(i)的对应差值的绝对值得到d(i),即d(i)=|x(i)-y(i)|,(i=1,2...n);(9)计算d(i)的均值,求其倒数,得到相似度;(10)如果相似度>1/(3×En+30/n),则说明从关系数据库中提取出了嵌入的版权人图像信息;否则说明关系数据库中没有嵌入版权人图像信息。
权利要求
1.一种向关系数据库嵌入数字水印的方法,其特征在于该方法包括以下步骤(1)将待嵌入关系数据库中的版权人图像信息转换成云特征信息,然后根据云特征信息生成多个水印云滴;(2)从关系数据库中选择待嵌入水印云滴的元组及其属性;(3)将上述第(1)步中的一个水印云滴嵌入到上述第2步确定的元组属性中;(4)重复步骤(2)和(3)直至扫描完整个关系数据库。
2.如权利要求1所述的方法,其特征在于其中所述的将版权人图像信息转换成云特征信息并生成多个水印云滴的方法包括如下步骤(1)根据关系数据库中元组的个数N确定需要生成的水印云滴个数为N;(2)根据版权人图像信息确定该图像的每个像素点的灰度值;(3)将步骤(2)得到的灰度值进行归一化处理,得到一组归一化后的灰度值;(4)计算步骤(3)的归一化后灰度值的期望值Ex;(5)计算步骤(3)的归一化后灰度值的方差值En;(6)将步骤(3)的归一化后的灰度值与步骤(4)的期望值Ex相减后取绝对值,得到一组减去期望值Ex的灰度值;(7)计算步骤(6)得到的减去期望值Ex后灰度值的方差值He;(8)以步骤(5)的方差值En为期望,以步骤(7)的方差值He为标准差,生成一个正态随机数En’;(9)以步骤(4)的期望值Ex为期望,以步骤(8)的正态随机数En’为标准差,生成一个正态随机数x,x即为一个水印云滴;(10)重复步骤(8)和步骤(9),直至产生N个水印云滴。
3.如权利要求1所述的方法,其特征在于其中所述的选择待嵌入水印云滴的元组及其属性的方法包括如下步骤(1)确定整个关系数据库中可以嵌入水印云滴的数值型属性及数值型属性个数An;(2)将用户给定的密钥和关系数据库中一个待嵌入水印云滴的元组的主键值连接成一个字符串,通过单向哈希函数将字符串转换成一个128位的比特位序列;(3)将步骤(2)的比特位序列转换成一个正整数;(4)根据用户输入的嵌入比例将步骤(3)的正整数取模,根据得到的余数判断需要嵌入水印的元组,若为需要,则进入步骤(5),若不需要,则扫描关系数据库的下一个元组,并进行步骤(2);(5)根据步骤(1)的数值型属性个数An,将步骤(3)的正整数取模,根据得到的余数确定需要嵌入水印的元组属性。
4.一种从关系数据库提取数字水印的方法,其特征在于该方法包括以下步骤(1)从关系数据库中选择嵌入了水印云滴的元组及其属性;(2)将水印云滴从上述选择的元组属性中提取出来,并将其存储;(3)重复步骤(1)和(2),提取关系数据库中所有水印云滴,并将水印云滴还原成云特征信息eEx、eEn和eHe;(4)将上述第(3)步还原的云特征信息eEx、eEn和eHe与由版权人图像信息生成的云特征信息进行相似性比较,若相似度大于给定阈值,则认为提取的水印云滴为版权人图像信息,否则认为关系数据库中没有版权人图像信息。
5.如权利要求4所述的方法,其特征在于步骤(3)中将水印云滴还原成云特征信息的方法,包括如下步骤(1)计算提取的水印云滴的均值M,得到水印云滴的云特征信息eEx;(2)根据步骤(1)的云特征信息eEx,计算水印云滴的一阶矩M1,得到水印云滴的云特征信息eEn;(3)根据步骤(1)的云特征信息eEx,计算水印云滴的二阶矩M2,再根据步骤(2)的云特征信息eEn,得到水印云滴的云特征信息eHe。
6.如权利要求4所述的方法,其特征在于步骤(4)中将还原的云特征信息与由版权人图像信息生成的云特征信息进行相似性比较的过程,包括以下步骤(1)以云特征信息eEn为期望,以云特征信息eHe为标准差生成一个正态随机数eEn’;(2)以云特征信息eEx为期望,以上述正态随机数eEn’为标准差生成一个正态随机数y,y即为一个水印云滴;(3)重复步骤(1)和步骤(2),直至产生n个水印云滴y(i),n为大于10000的自然数,i=1~n;(4)将版权人图像信息转换成n个水印云滴x(i);(5)将步骤(3)和步骤(4)产生的水印云滴y(i)和x(i)从小到大进行冒泡排序;(6)依次计算水印云滴x(i)和y(i)的对应差值并取绝对值,得到d(i);(7)计算步骤(6)的d(i)的均值,求其倒数,得到相似度。
全文摘要
本发明涉及一种向关系数据库嵌入和提取数字水印的方法,属于信息隐藏技术领域。嵌入数字水印的方法为首先将待嵌入的版权人图像信息转换成水印云滴;选择待嵌入水印云滴的元组及其属性;将水印云滴嵌入到确定的元组属性中。提取数字水印的方法为,首先选择嵌入了水印云滴的元组属性;将水印云滴提取出来,并将其存储;提取所有水印云滴,并将水印云滴还原成云特征信息,再将其与由版权人图像信息生成的云特征信息进行相似性比较,以确定版权人图像信息。利用本发明方法嵌入的数字水印具有一定的隐匿性,不影响嵌入水印后数据的使用;嵌入的数字水印有一定的鲁棒性,在恶意攻击后数字水印依然存在;非授权人无法把原始数据和数字水印分离。
文档编号G06F17/30GK1547138SQ200310117358
公开日2004年11月17日 申请日期2003年12月12日 优先权日2003年12月12日
发明者李德毅, 张勇, 王建民, 赵东宁 申请人:中国人民解放军总参谋部第六十一研究所, 清华大学, 中国人民解放军总参谋部第六十一研究
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1