CN101236587B - 基于脆弱水印的外包数据库查询验证方法 - Google Patents

基于脆弱水印的外包数据库查询验证方法 Download PDF

Info

Publication number
CN101236587B
CN101236587B CN2008100336163A CN200810033616A CN101236587B CN 101236587 B CN101236587 B CN 101236587B CN 2008100336163 A CN2008100336163 A CN 2008100336163A CN 200810033616 A CN200810033616 A CN 200810033616A CN 101236587 B CN101236587 B CN 101236587B
Authority
CN
China
Prior art keywords
watermark
candidate
value
data
attribute
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.)
Expired - Fee Related
Application number
CN2008100336163A
Other languages
English (en)
Other versions
CN101236587A (zh
Inventor
朱勤
陈建平
王杰华
陈继红
陆建新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nantong University
Original Assignee
Nantong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nantong University filed Critical Nantong University
Priority to CN2008100336163A priority Critical patent/CN101236587B/zh
Publication of CN101236587A publication Critical patent/CN101236587A/zh
Application granted granted Critical
Publication of CN101236587B publication Critical patent/CN101236587B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于脆弱水印的外包数据库查询验证方法,该方法为:数据拥有者利用密钥,对需要存储或更新的数据运行脆弱水印算法在数据中嵌入脆弱水印,然后把嵌入有脆弱水印的数据提交给外包数据库服务器存储;数据库用户向外包数据库服务器提交查询请求后,利用数据拥有者提供的密钥,对返回的查询数据运行脆弱水印检测算法,验证数据的真实性。这种基于脆弱水印的外包数据库查询验证方法具有冗余存储量与网络附加负载小、验证信息隐蔽性好且难以删除、篡改定位粒度小等优点,可以克服运用冗余控制信息进行外包数据库查询验证的不足。

Description

基于脆弱水印的外包数据库查询验证方法
技术领域
本发明属于计算机信息安全技术领域,涉及外包数据库查询验证方法,尤其涉及基于脆弱水印的外包数据库查询验证方法,广泛应用于电子政务、电子商务的信息发布系统中对重要信息内容进行完整性保护。
背景技术
外包数据库(Outsourced database)亦称“作为服务的数据库”(Databaseas a service),其概念由美国加州大学Irvine分校的Hakan Hacigumus在2002年ICDE会议上首次提出。在外包数据库模型中,组织将自己的数据库业务外包给远程的数据库服务提供者运行,外包服务提供者为数据拥有者及数据库用户提供远程的数据库创建、存储、更新、查询,及数据库服务器软硬件维护与升级等服务。在某种程度上,外包数据库模型可以实现数据库管理的专业技术对整个社会的共享服务,从而避免了各个组织在数据库管理方面重复的人力和物力投资,并且具有更高的运行维护水平和更好的可扩展性。
由于第三方提供的外包数据库服务器并非完全可信,因此,这种运行模式带来一系列的安全挑战,包括数据的存储安全、数据的完整性检验、数据内容的隐私保护、数据库的版权保护等。服务提供者作为数据库系统的管理者,可以从服务器内部复制、备份数据,以维护数据库系统的可用性和可靠性,这使得数据库文件有可能被攻击者或恶意的管理员从服务器端拷贝、篡改、重新发布,攻击者还有可能直接对数据库添加虚假记录,或者篡改已有记录。因此,除了要保证客户端与服务器之间的安全通信外,还必须在客户端提供有效机制,对外包数据库的查询响应进行数据真实性与完整性验证。
目前,实现数据验证的主要技术是添加攻击者所不能控制的冗余信息,可以通过综合运用消息认证码(Message Authentication Code,简称MAC)、数字签名及具有验证功能的数据结构等技术来实现。但是,外包数据库的查询验证显然不能简单地通过添加冗余控制信息来实现。数据库查询一般会返回很大的数据量,对整个查询结果进行摘要计算和数字签名所引起的运算开销有时会是灾难性的。而更为关键的是,由于外包数据库服务器是不可信的,不能将报文摘要、数字签名等计算任务让服务器端来完成,数据拥有者在存储数据时就必须考虑对数据查询的验证问题。
自2000年以来,研究者们积极探索,陆续提出了一些有效的解决方案。P.Devanbu等在2000年DBSec会议上首次提出了数据发布模式的查询验证问题,并给出了基于Merkle Hash Tree(MHT)数据结构的解决方案,这也是目前主流的查询验证算法的基础。H.Pang等基于MHT算法,引入访问控制条件,改进了服务器端验证对象的生成算法。C.Martel等建立了数据发布模式查询验证的通用模型,基于搜索有向无环图(Directed Acyclic Graph,DAG),取得了比MHT方法更高的运算效率,同时支持多个维度的范围查询验证。H.Pang等将MHT结构融合入B-Tree结构,命名为VB-Tree结构,使用累加及交换的Hash函数对所有内结点及叶子结点进行签名存储;F.Li等在MHT结构的基础上提出了Merkle B+-Tree索引结构,使得查询验证更适应数据库的动态更新。
也有一些学者另辟蹊径,尝试采用硬件方法解决查询验证中安全性与可用性之间的突出矛盾。L.Bouganim等先后报告了基于专用芯片及智能卡进行查询验证的系统开发,获得了良好的运算性能和更高的安全性。
从目前的研究与应用来看,运用冗余控制信息的外包数据库查询验证主要有以下不足:
1)冗余验证信息一般涉及比较复杂的数据结构与签名运算,添加于有效数据后的冗余验证信息增加了额外的网络通信负载;
2)运用冗余验证信息一旦验证到数据完整性已遭到破坏,只能放弃当前的被检测数据,而不能进一步实现对篡改的定位、定性乃至数据复原;
3)当数据即使有微小更新时,也必须重新计算完整的冗余验证信息,开销巨大;
4)冗余验证信息与被验证数据是可拆分的两个部分,而冗余验证信息一旦丢失,数据不再会被验证。
发明内容
本发明的所要解决的技术问题是提供一种基于脆弱水印的外包数据库查询验证方法,以克服现有技术存在的不足。
为了解决上述技术问题,本发明采用如下的技术方案:
一种基于脆弱水印的外包数据库查询验证方法,其特征为:
数据拥有者利用密钥,对需要存储或更新的数据运行脆弱水印算法在数据中嵌入脆弱水印,然后把嵌入有脆弱水印的数据提交给外包数据库服务器存储;
数据库用户向外包数据库服务器提交查询请求后,利用数据拥有者提供的密钥,对返回的查询数据运行脆弱水印检测算法,验证数据的真实性;
所述运行脆弱水印算法在数据中嵌入脆弱水印为在满足σij≤δj误差控制的要求下,通过修改数值型属性低位数字的奇偶性嵌入水印,其中,
σ ij = | r i . A j ′ - r i . A j | | r j . A j | × 100 % - - - ( 1 ) ,
(1)式中,Aj为关系数据集R(A1,...Aj,...Av)中候选属性,其中1≤j≤v;ri为R中元组,其中1≤i≤n;ri.Aj为元组ri中候选属性Aj的取值;ri.Aj’为嵌入水印后的取值;σij为ri.Aj的相对误差;
所述Aj为候选属性是指:Aj为R中的数值型属性,且Aj的取值精度在数值低位存在一定的冗余;
δj为候选属性Aj在可用性范围内所能容忍的误差百分比。
所述修改数值型属性低位数字的奇偶性嵌入水印为以随机二值序偶(w1,w2)作为水印信号并以(2)式作为嵌入方式,水印嵌入每个元组各候选属性的候选位:
Figure G2008100336163D00032
(2)式中,d为所述候选属性Aj的候选位,WL(d)为候选位的取值;所述d为候选属性Aj的候选位是指:
称所述候选属性Aj中存在精度冗余的10进制低位为候选位d,其余各高位为非候选位,设Aj中10进制位数为s(j),其中候选位位数为ξ(j),则Aj中各候选位由高到低分别为dξ(j),dξ(j)-1,...,d1,各非候选位由高到低分别为ds(j),ds(j)-1,...,dξ(j)+1
所述随机二值序偶(w1,w2)由混沌方程式在密钥K和候选属性Aj的非候选位的参与下产生,混沌方程式如下:
xn+1=cos(4cos-1xn),xn∈[-1,1],n=0,1,2,...(3),
(3)式中,初始值x0的取值范围为[-1,1]区间,由式(3)得到的x1、x2的取值范围亦为[-1,1]区间,对(x1,x2)中小于0的值取0,反之取1,生成随机二值序偶(w1,w2);
具体地,所述脆弱水印算法为:
1)输入密钥K;输入各候选属性的候选位位数数组ξ[v];
输入各候选属性的允许误差数组δ[v];
2)对R中每个元组ri,其中1≤i≤n,重复:
3)对ri中每个候选属性值ri.Aj,其中1≤j≤v,若ri.Aj *δ(j)≥10ξ(j)-1,重复:
4)取ri.Aj的最高候选位序号ξ’(j)=Ceil(Log(ri.Aj*δ(j)));
5)H=Hash(CAT(VAL(ds(j),ds(j)-1,...,dξ(j)+1)));
6)k=Hmod ξ’(j);
7)x0=NRM(KoH);
8)以x0为初值,由式(3)求x1、x2,(w1,w2)=(x1,x2);
9)根据(2)嵌入方式修改候选位dk的值,并更新ri.Aj
其中:函数CAT(VAL(ds(j),ds(j)-1,...,dξ(j)+1))取当前元组属性非候选位的字符连接;函数Hash()为自定义的散列函数或为标准安全Hash函数;函数NRM(KoH)取密钥K与H的位连接,并作归一化处理。
所述运行脆弱水印检测算法,验证数据的真实性为对查询返回的关系数据集中的每个元组属性值,在密钥的参与下,由各非候选位经散列运算,得到预期的水印信号及其嵌入位置并将各预期水印位置的数值奇偶性映射为二值矩阵,得到水印的实际检测值。
所述脆弱水印检测算法为:
1)输入密钥K;输入各候选属性的候选位位数数组ξ[v];
输入各候选属性的允许误差数组δ[v];
2)对Q中每个元组ri,其中1≤i≤p,重复:
3)对ri中每个候选属性值ri.Aj,其中1≤j≤q,若ri.Aj *δ(j)≥10ξ(j)-1,重复:
4)取ri.Aj的最高候选位序号ξ’(j)=Ceil(Log(ri.Aj*δ(j)));
5)H=Hash(CAT(VAL(ds(j),ds(j)-1,...,dξ(j)+1)));
6)k=Hmodξ’(j);
7)x0=NRM(KoH);
8)以x0为初值,由式(3)求x1,w1=x1
9)w’(i,j)=w1
10)if  VAL(dk)mod 2=0
11)   w(i,j)=0;
12)else
13)   w(i,j)=1;
其中:关系数据集Q(A1,...Aj,...Aq)为关系数据集R的投影-选择类查询结果,包含q个属性和p个元组,Aj为Q中候选属性,其中1≤j≤q,ri为Q中元组,其中1≤i≤p,ri.Aj为元组ri中属性Aj的取值,
然后,对于关系数据集Q的预期水印矩阵w〔p,q〕,及预期水印位置实际检测值矩阵w’〔p,q〕,根据(4)式进行数据真实性验证:
A ( Q ) = true , ∀ w ( i , j ) = w ′ ( i , j ) , ( 1 ≤ i ≤ p , 1 ≤ j ≤ q ) false , ∃ w ( i , j ) ≠ w ′ ( i , j ) , ( 1 ≤ i ≤ p , 1 ≤ j ≤ q ) - - - ( 4 ) ,
其中,逻辑值true表示验证通过,false表示检测到篡改。
采用上述技术方案,本发明的基于脆弱水印的外包数据库查询验证方法具有冗余存储量与网络附加负载小、验证信息隐蔽性好且难以删除、篡改定位粒度小等优点,可以克服运用冗余控制信息查询验证外包数据库的不足。
附图说明
下面结合附图和具体实施方式对本实用新型进行详细说明:
图1为基于脆弱水印的外包数据库查询验证基本结构;
图2为对数据篡改攻击的查询验证模拟图;
图3为对元组添加攻击的查询验证模拟图。
具体实施方式
如图1所示,这是本发明的基于脆弱水印的外包数据库查询验证方法的基本结构模型。该模型中最为关键的两个部件是水印嵌入器和水印检测器,它们分别为运行脆弱水印嵌入算法和脆弱水印检测算法的程序,分别位于数据拥有者客户端和数据库用户客户端。根据该结构模型,本发明的基于脆弱水印的外包数据库查询验证方法为:
数据拥有者首先利用密钥,对需要存储或更新的数据运行脆弱水印嵌入算法在数据中嵌入脆弱水印,然后将已嵌入有脆弱水印的数据提交给外包数据库服务器存储;
数据库用户在使用数据时,首先向外包数据库服务器提交查询请求,然后再利用数据拥有者提供的密钥,对返回的查询结果运行脆弱水印检测算法,进行数据真实性验证。
从上述结构模型表示的本发明的基于脆弱水印的外包数据库查询验证方法可知,查询验证的应用对外包数据库是完全透明的,不需要额外占用服务器的存储空间和运算资源,也几乎没有附加的网络通信流量。
为了有利于技术领域中相关人员更透彻的理解本发明,下面通过具体的实施例予以说明:
一、脆弱水印嵌入
1、定义
定义1:设关系数据集为R(A1,...Aj,...Av),其中,Aj(1≤j≤v)为R中属性,ri(1≤i≤n)为R中元组,ri,Aj为元组ri中属性Aj的取值。
定义2:若Aj(1≤j≤v)为R中的数值型属性,且Aj的取值精度在数值低位存在一定的冗余,称Aj为候选属性。
为简化问题的描述,以下假定R中的所有属性Aj(1≤j≤v)均为正整数型候选属性。
定义3:称候选属性Aj(1≤j≤v)中存在精度冗余的10进制低位为候选位,其余各高位为非候选位。设Aj中10进制位数为s(j),其中候选位位数为ξ(j),则各候选位由高到低分别为dξ(j),dξ(j)-1,...,d1,各非候选位由高到低分别为ds(j),ds(j)-1,...dξ(j)+1
由以上定义可知,关系数据集R(A1,...Aj,...Av)中实际可用于嵌入水印的载体,是候选属性Aj(1≤j≤v)的10进制候选位dk(1≤k≤ξ(j))。
定义4:候选属性Aj(1≤j≤v)在可用性范围内所能容忍的误差百分比称为Aj的允许误差,以δj表示。
定义5:设候选属性值ri.Aj(1≤i≤n,1≤j≤v)在嵌入水印后的取值为ri.Aj’,定义
σ ij = | r i . A j ′ - r i . A j | | r i . A j | × 100 % - - - ( 1 )
为ri.Aj的相对误差。
2、水印嵌入方法
在满足误差控制规则1的要求下,通过修改数值型属性低位数字的奇偶性嵌入水印。修改数值型属性低位数字的奇偶性嵌入水印为以随机二值序偶(w1,w2)作为水印信号并以规则2作为嵌入方式,水印嵌入每个元组各候选属性的候选位。随机二值序偶(w1,w2)由混沌方程在密钥和该属性的非候选位的参与下产生。
其中,规则1:
元组候选属性值ri.Aj(1≤i≤n,1≤j≤v)用于嵌入水印的必要条件是:ri.Aj中存在候选位,且ri.Aj的相对误差不大于其允许误差,即:σij≤δj。由规则1可知,根据ri.Aj与δj的乘积可以判断ri.Aj是否可以嵌入水印,及可嵌入水印的最高标记位。若ri.Aj与δj的乘积在100与999之间,且ξ(j)不小于3,则ri.Aj可嵌入水印的最高标记位为d3;若乘积在10与99之间,且ξ(j)不小于2,则最高标记位为d2;依此类推,当乘积小于1时,ri.Aj不可用于嵌入水印。因此,ri.Aj的最高候选位序号可由下式计算:
dj=Ceil(Log(ri.Aj×δj))
设其中的ri.Aj*δ(j)为x,函数Log(x)取x以10为底的常用对数;函数Ceil(Log(x))取不小于Log(x)的最小整数。
规则2:
设二值序偶(w1,w2)为水印及嵌入控制信号,对于候选位d,其取值VL(d)以下式所示规则嵌入水印:
Figure G2008100336163D00081
混沌方程为下(3)式所示,
xn+1=cos(4cos-1xn),x∈[-1,1],n=0,1,2,...(3)
式中,初始值x0的取值范围为[-1,1]区间,得到的序列xn的取值范围亦为[-1,1]区间。对序列中小于0的值取0,反之取1,生成伪随机二值序偶。
3、具体的脆弱水印嵌入算法:
1)输入密钥K;输入各候选属性的候选位位数数组ξ[v];
输入各候选属性的允许误差数组δ[v];
2)对R中每个元组ri(1≤i≤n),重复:
3)对ri中每个候选属性值ri.Aj(1≤j≤v),若ri.Aj*δ(j)≥10ξ(j)-1,重复:
4)取ri.Aj的最高候选位序号ξ’(j)=Ceil(Log(ri.Aj*δ(j)));
5)H=Hash(CAT(VAL(ds(j),ds(j)-1,...,dξ(j)+1)));
6)k=Hmodξ’(j);
7)x0=NRM(KoH);
8)以x0为初值,由式(3)求x1、x2,(w1,w2)=(x1、x2);
9)根据(2)嵌入方式修改候选位dk的值,并更新ri.Aj
其中,函数CAT(VAL(ds(j),ds(j)-1,...,dξ(j)+1))取当前元组属性非候选位的字符连接;函数Hash()为自定义的散列函数,亦可取标准安全Hash函数,如MD5,SHA等;函数(KoH)取密钥K与H的位连接,并作归一化处理;数组ξ[v]、δ[v]与K共同组成了输入参数,其组合形成系统的完整密钥。
二、脆弱水印检测
1、查询验证
对外包数据库进行查询验证的过程即为水印检测的过程。水印的检测与水印嵌入过程类似。对查询返回的关系数据集中的每个元组属性值,在密钥的参与下,由各非候选位经散列运算,得到预期的水印信号及其嵌入位置。将各预期水印位置的数值奇偶性映射为二值矩阵,即得到水印的实际检测值。
对于以上述脆弱水印嵌入算法嵌入水印的数据库,其投影-选择类查询可以通过检测水印实现对查询结果真实性的验证。
2、定义
设关系数据集为R(A1,...Aj,...Av),Aj(1≤j≤v)为R中属性。R在Aj上的投影查询用πi1,...,im(R)表示;R关于公式F的选择查询用σF(R)表示。对R的投影-选择类查询的形式定义如下:
σF.πi1,...,im(R)={t|t=<ti1,...,tim>∧<t1,...,tv>∈R∧F(t)=true}。
设对关系数据集R的投影-选择类查询结果为关系数据集Q(A1,...Aj,...Aq),其中,Aj(1≤j≤q)为Q中候选属性,ri(1≤i≤p)为Q中元组,ri.Aj为元组ri中属性Aj的取值。运行水印检测算法,将关系数据集Q的预期水印信号组成二值矩阵w〔p,q〕,预期水印嵌入候选位的实际检测值组成二值矩阵w’〔p,q〕。
3、具体的脆弱水印检测算法
1)输入密钥K;输入各候选属性的候选位位数数组ξ[v];
输入各候选属性的允许误差数组δ[v];
2)对Q中每个元组ri(1≤i≤p),重复:
3)对ri中每个候选属性值ri.Aj(1≤j≤q),其中1≤j≤v,若ri.Aj*δ(j)≥10ξ(j)-1,重复:
4)取ri.Aj的最高候选位序号ξ’(j)=Ceil(Log(ri.Aj*δ(j)));
5)H=Hash(CAT(VAL(ds(j),ds(j)-1,...,dξ(j)+1)));
6)k=Hmodξ’(j);
7)x0=NRM(KoH);
8)以x0为初值,由式(3)求x1,w1=x1
9)w’(i,j)=w1
10)if  VAL(dk)mod 2=0
11)  w(i,j)=0;
12)else
13)  w(i,j)=1;
4、检测规则
对于关系数据集Q的预期水印矩阵w〔p,q〕,及预期水印位置实际检测值矩阵w’〔p,q〕,根据下式进行数据真实性验证:
A ( Q ) = true , &ForAll; w ( i , j ) = w &prime; ( i , j ) , ( 1 &le; i &le; p , 1 &le; j &le; q ) false , &Exists; w ( i , j ) &NotEqual; w &prime; ( i , j ) , ( 1 &le; i &le; p , 1 &le; j &le; q ) . - - - ( 4 )
逻辑值true表示验证通过,false表示检测到篡改。对于检测值A(Q)为false的关系数据集,根据w’中不同于w的比特下标,即可定位遭篡改的原数据关系元组属性。
三、算法分析
下面分别从水印隐蔽性、安全性、篡改敏感性、计算复杂度及水印动态更新能力等方面对算法进行分析。
从水印隐蔽性考察:本发明以对低位数据的奇偶性进行修改嵌入水印,代替了对二进制码位的修改,从而克服了因数据库类型不同、数据字长定义不同而容易引起的病态现象。算法利用混沌方程确定水印信号及水印嵌入位置,使水印分布具有随机性。同时,通过随机性的加1或减1来标记数据,使数据平均值与方差的改变很小,进一步提高了水印信号的隐蔽性。
从安全性考察:水印的嵌入与检测均在密钥参与下进行,系统的安全性依赖于密钥搜索空间的大小。而密钥为不定长度不定的二进制数,理论上具有无限大的搜索空间。从概率论的角度分析,在n个候选位中检测到k个奇(偶)数的概率满足二项分布
P ( X = k ) = n k p k ( 1 - p ) n - k , k = 0,1,2 , . . . , n . - - - ( 5 )
在没有嵌入水印的情况下,数值位为奇数或偶数的概率均为0.5,水印匹配率(k/n)的概率密度函数在0.5处取得最大值。嵌入水印的实质则是改变水印匹配率的概率分布,使其分布于二项分布的小概率区间。在密钥未知的情况下,对于攻击者而言,这种小概率与对水印攻击成功的概率成正比。
从篡改敏感性考察:攻击者对数据的篡改可以视为对水印信号所在候选位的重置。对于一个10进制位数为s、候选位位数为ξ的含水印元组属性值,假设攻击者仅修改其一个数值位,则数据被篡改后保持水印信号不变的概率为:
p r = &xi; s &CenterDot; 1 &xi; &CenterDot; 1 2 = 1 2 s . - - - ( 6 )
假设关系数据集中每个元组属性值被攻击者重置的概率是相等的。对于投影-选择类查询,若查询结果集Q(q个属性,p个元组)中每个元组都被攻击者任意篡改了一个数位,则查询验证能检测出Q被篡改的概率(亦为查询验证准确率)为:
p s = 1 - &Pi; j = 1 q &Pi; i = 1 p p rpq = 1 - &Pi; j = 1 q &Pi; i = 1 p 1 2 s pq . - - - ( 7 )
可知,系统的查询验证能力随着查询集中数据元素数值位数及数据元素个数的增多而提高。同样,对于攻击者添加的元组属性值,在密钥未知的情况下,被添加的元组属性值恰好含预期水印的概率同式(6),查询验证能检测出Q被篡改的概率同式(7)。
从计算复杂度考察:在本算法中,水印嵌入和水印检测的运算过程是对称的,它们的计算复杂与数据库或投影-选择类查询结果集的元组属性数目成线性关系,均为O(n)。
从水印动态更新能力考察:本算法以密钥与当前元组属性值作为水印信号生成与水印嵌入位置的唯一依据,使得水印信号只与其宿主元组属性值相关,不依赖于其它元组及其它属性,也与元组顺序、属性顺序等无关。因此,数据拥有者在对数据库进行修改或插入操作的时候,可以对每个元组属性值同步运行水印嵌入算法,动态实现水印与数据存储的同步更新。
四、实验
实验采用美国California大学Irvine分校(UCI)提供的ForestCoverType数据集。该数据集以二维表的形式描述了1999年美国的森林覆盖情况,分辨率为30平方米,共有581012个观测点,54个属性,均为数值型。
实验以该数据集的前10个属性作为候选属性,取前10000条记录作为仿真数据,转换存入MS SQL Server2000数据库。取数据集各候选属性允许误差均为3%,考察水印引入的数据误差情况、系统对不同类型水印攻击的查询数据真实性验证能力。
实验1:误差分析。以脆弱水印嵌入算法对10000条仿真数据元组嵌入水印,表1显示了嵌入水印后数据集的平均值与方差的变化。可见,由于匹配奇偶性的加1或减1操作满足随机性与均衡性,水印的嵌入对原数据集的平均值及方差的影响很小。
表1嵌入水印后仿真数据集的平均值与方差变化
Figure G2008100336163D00121
实验2:模拟数据篡改攻击。对实验1所得水印数据集的每个元组,随机修改其一个属性值的一个数值位。以投影-选择类查询分别返回不同属性数、不同元组数的查询数据,查询结果中均含被篡改元组属性值,考察系统对查询数据真实性的验证能力。实验自动重复100次,取查询验证准确率的平均值(下同)。实验结果如图2所示。
实验3:模拟元组添加攻击。对实验1所得水印数据集添加10个随机值元组,以投影-选择类查询分别返回不同属性数、不同元组数的添加数据,考察系统对查询数据真实性的验证能力。实验结果如图4所示。
由实验结果可知,系统对数据篡改及元组添加两类攻击具有较高的查询验证能力。对于单个元组、单个属性的查询验证准确率均在0.75以上。随着含水印攻击的元组数及属性数的增多,查询验证准确率随之上升,一般当返回数据元素在5个以上时,查询验证准确率达到100%。
综上所述,本发明的基于脆弱水印的外包数据库查询验证方法是一种可行、有效的外包数据库查询验证解决方案,并具有验证准确率高、冗余存储量与网络附加负载小、易于实现等优点。
但是,本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例的变化、变型都将落在本发明的权利要求范围。

Claims (5)

1.一种基于脆弱水印的外包数据库查询验证方法,其特征为:
数据拥有者利用密钥,对需要存储或更新的数据运行脆弱水印算法在数据中嵌入脆弱水印,然后把嵌入有脆弱水印的数据提交给外包数据库服务器存储;
数据库用户向外包数据库服务器提交查询请求后,利用数据拥有者提供的密钥,对返回的查询数据运行脆弱水印检测算法,验证数据的真实性;
所述运行脆弱水印算法在数据中嵌入脆弱水印为在满足σij≤δj误差控制的要求下,通过修改数值型属性低位数字的奇偶性嵌入水印,其中,
&sigma; ij = | r i . A j &prime; - r i . A j | | r i . A j | &times; 100 % - - - ( 1 ) ,
(1)式中,Aj为关系数据集R(A1,...Aj,...Av)中候选属性,其中1≤j≤v;ri为R中元组,其中1≤i≤n;ri.Aj为元组ri中候选属性Aj的取值;ri.Aj’为嵌入水印后的取值;σij为ri.Aj的相对误差;
所述Aj为候选属性是指:Aj为R中的数值型属性,且Aj的取值精度在数值低位存在一定的冗余;
δj为候选属性Aj在可用性范围内所能容忍的误差百分比。
2.根据权利要求1所述的基于脆弱水印的外包数据库查询验证方法,其特征在于:
所述修改数值型属性低位数字的奇偶性嵌入水印为以随机二值序偶(w1,w2)作为水印信号并以(2)式作为嵌入方式,水印嵌入每个元组各候选属性的候选位:
Figure F2008100336163C00012
(2)式中,d为所述候选属性Aj的候选位,VL(d)为候选位的取值;所述d为候选属性Aj的候选位是指:
称所述候选属性Aj中存在精度冗余的10进制低位为候选位d,其余各高位为非候选位,设Aj中10进制位数为s(j),其中候选位位数为ξ(j),则Aj中各候选位由高到低分别为dξ(j),dξ(j)-1,...,d1,各非候选位由高到低分别为ds(j),ds(j)-1,...,dξ(j)+1
3.根据权利要求2所述的基于脆弱水印的外包数据库查询验证方法,其特征在于:
所述随机二值序偶(w1,w2)由混沌方程式在密钥K和候选属性Aj的非候选位的参与下产生,混沌方程式如下:
xn+1=cos(4cos-1xn),xn∈[-1,1],n=0,1,2,...(3),
(3)式中,初始值x0的取值范围为[-1,1]区间,由式(3)得到的x1、x2的取值范围亦为[-1,1]区间,对(x1,x2)中小于0的值取0,反之取1,生成随机二值序偶(w1,w2);
所述脆弱水印算法为:
1)输入密钥K;输入各候选属性的候选位位数数组ξ[v];
输入各候选属性的允许误差数组δ[v];
2)对R中每个元组ri,其中1≤i≤n,重复:
3)对ri中每个候选属性值ri.Aj,其中1≤j≤v,若ri.Aj*δ(j)≥10ξ(j)-1,重复:
4)取ri.Aj的最高候选位序号ξ’(j)=Ceil(Log(ri.Aj*δ(j)));
5)H=Hash(CAT(VAL(ds(j),ds(j)-1,...,dξ(j)+1)));
6)k=Hmodξ’(j);
7)x0=NRM(KoH);
8)以x0为初值,由式(3)求x1、x2,(w1,w2)=(x1,x2);
9)根据(2)嵌入方式修改候选位dk的值,并更新ri.Aj
其中:函数CAT(VAL(ds(j),ds(j)-1,...,dξ(j)+1))取当前元组属性非候选位的字符连接;函数Hash()为自定义的散列函数或为标准安全Hash函数;函数NRM(KoH)取密钥K与H的位连接,并作归一化处理。
4.根据权利要求1所述的基于脆弱水印的外包数据库查询验证方法,其特征在于:
所述运行脆弱水印检测算法,验证数据的真实性为对查询返回的关系数据集中的每个元组属性值,在密钥的参与下,由各非候选位经散列运算,得到预期的水印信号及其嵌入位置并将各预期水印位置的数值奇偶性映射为二值矩阵,得到水印的实际检测值。
5.根据权利要求3所述的基于脆弱水印的外包数据库查询验证方法,其特征在于:
所述脆弱水印检测算法为:
1)输入密钥K;输入各候选属性的候选位位数数组ξ[v];输入各候选属性的允许误差数组δ[v];
2)对Q中每个元组ri,其中1≤i≤p,重复:
3)对ri中每个候选属性值ri.Aj,其中1≤j≤q,若ri.Aj*δ(j)≥10ξ(j)-1,重复:
4)取ri.Aj的最高候选位序号ξ’(j)=Ceil(Log(ri.Aj*δ(j)));
5)H=Hash(CAT(VAL(ds(j),ds(j)-1,...,dξ(j)+1)));
6)k=Hmodξ’(j);
7)x0=NRM(KoH);
8)以x0为初值,由式(3)求x1,w1=x1
9)w’(i,j)=w1
10)if VAL(dk)mod 2=0
11)w(i,j)=0;
12)else
13)w(i,j)=1;
其中:关系数据集Q(A1,...Aj,....Aq)为关系数据集R的投影-选择类查询结果,包含q个属性和p个元组,Aj为Q中候选属性,其中1≤j≤q,ri为Q中元组,其中1≤i≤p,ri.Aj为元组ri中属性Aj的取值;
然后,对于关系数据集Q的预期水印矩阵w〔p,q〕,及预期水印位置实际检测值矩阵w’〔p,q〕,根据(4)式进行数据真实性验证:
A ( Q ) = true , &ForAll; w ( i , j ) = w &prime; ( i , j ) , ( 1 &le; i &le; p , 1 &le; j &le; q ) false , &Exists; w ( i , j ) &NotEqual; w &prime; ( i , j ) , ( 1 &le; i &le; p , 1 &le; j &le; q ) - - - ( 4 ) ,
其中,逻辑值true表示验证通过,false表示检测到篡改。
CN2008100336163A 2008-02-15 2008-02-15 基于脆弱水印的外包数据库查询验证方法 Expired - Fee Related CN101236587B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100336163A CN101236587B (zh) 2008-02-15 2008-02-15 基于脆弱水印的外包数据库查询验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100336163A CN101236587B (zh) 2008-02-15 2008-02-15 基于脆弱水印的外包数据库查询验证方法

Publications (2)

Publication Number Publication Date
CN101236587A CN101236587A (zh) 2008-08-06
CN101236587B true CN101236587B (zh) 2010-06-02

Family

ID=39920198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100336163A Expired - Fee Related CN101236587B (zh) 2008-02-15 2008-02-15 基于脆弱水印的外包数据库查询验证方法

Country Status (1)

Country Link
CN (1) CN101236587B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5858292B2 (ja) * 2010-11-09 2016-02-10 日本電気株式会社 匿名化装置及び匿名化方法
CN107451281B (zh) * 2017-08-08 2020-09-29 东北大学 基于ads的外包数据库sql查询完整性验证系统及方法
CN110866858B (zh) * 2018-08-27 2022-05-10 浙江大学 水印嵌入和查询数据提供方法、装置和数据处理方法
CN110134647B (zh) * 2019-04-01 2021-08-06 中国科学院信息工程研究所 一种支持云端数据去重的数字水印方法和系统
CN111125750B (zh) * 2019-11-25 2021-02-26 中国科学院信息工程研究所 一种基于双层椭圆模型的数据库水印嵌入、检测方法及系统
CN112597456A (zh) * 2020-12-30 2021-04-02 绿盟科技集团股份有限公司 数据库的水印添加与验证方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021941A (zh) * 2007-03-23 2007-08-22 北京理工大学 一种基于多通道滤波器组的多功能数字水印方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021941A (zh) * 2007-03-23 2007-08-22 北京理工大学 一种基于多通道滤波器组的多功能数字水印方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
YingJiu Li等.Tamper Detection and Localization for Categorical DataUsing Fragile Watermarks.Proceedings of the 4th ACM workshop on Digital rights management.2004,73-82. *
朱勤等.外包数据库系统安全机制研究.计算机科学34 2.2007,34(2),152-156、195.
朱勤等.外包数据库系统安全机制研究.计算机科学34 2.2007,34(2),152-156、195. *
朱勤等.数据库水印研究与进展.计算机工程与应用 29.2006,(29),198-201.
朱勤等.数据库水印研究与进展.计算机工程与应用 29.2006,(29),198-201. *

Also Published As

Publication number Publication date
CN101236587A (zh) 2008-08-06

Similar Documents

Publication Publication Date Title
KR101873946B1 (ko) 난독 데이터 생성
Papamanthou et al. Time and space efficient algorithms for two-party authenticated data structures
CN101236587B (zh) 基于脆弱水印的外包数据库查询验证方法
CN117611146A (zh) 将未确定来源的未确定数据安全地提供到区块链事务的锁定脚本中
Miao et al. Decentralized and privacy-preserving public auditing for cloud storage based on blockchain
CN110413652A (zh) 一种基于边缘计算的大数据隐私化检索方法
Hu et al. VERDICT: Privacy-preserving authentication of range queries in location-based services
Khan et al. OTIT: Towards secure provenance modeling for location proofs
Miao et al. Blockchain assisted multi-copy provable data possession with faults localization in multi-cloud storage
Xiong et al. Electronic evidence preservation model based on blockchain
Wang et al. Data Security Storage Model of the Internet of Things Based on Blockchain.
Chen et al. Bpvse: Publicly verifiable searchable encryption for cloud-assisted electronic health records
Di Battista et al. Authenticated relational tables and authenticated skip lists
Du et al. Privacy-preserving searchable encryption scheme based on public and private blockchains
Loporchio et al. Authenticating spatial queries on blockchain systems
Guo et al. LuxGeo: Efficient and Security-Enhanced Geometric Range Queries
CN105791283A (zh) 一种针对加密的空间数据的圆形范围搜索方法
Halder et al. Persistent watermarking of relational databases
CN101355428B (zh) 采用增量检验来保护数据完整性的方法
CN116484399A (zh) 构建密文范围检索结果完备性验证数据结构的方法及系统
Du et al. Secure and verifiable keyword search in multiple clouds
Wang et al. Secure and distributed IoT data storage in clouds based on secret sharing and collaborative blockchain
CN113010878A (zh) 一种基于区块链的角色与权限管理方法
Chaudhari et al. Secure outsourcing of geospatial vector data
Huang et al. Efficient fuzzy keyword search over encrypted medical and health data in hybrid cloud

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602

Termination date: 20120215