CN1304914C - 用于数据存储库的数字水印的系统和方法 - Google Patents

用于数据存储库的数字水印的系统和方法 Download PDF

Info

Publication number
CN1304914C
CN1304914C CNB038085798A CN03808579A CN1304914C CN 1304914 C CN1304914 C CN 1304914C CN B038085798 A CNB038085798 A CN B038085798A CN 03808579 A CN03808579 A CN 03808579A CN 1304914 C CN1304914 C CN 1304914C
Authority
CN
China
Prior art keywords
watermark
gulp
attribute
bit
tagged
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
CNB038085798A
Other languages
English (en)
Other versions
CN1647008A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1647008A publication Critical patent/CN1647008A/zh
Application granted granted Critical
Publication of CN1304914C publication Critical patent/CN1304914C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Storage Device Security (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

一种使用秘密信息建立比特模式增强数据库安全的方法和系统,只有使用秘密信息,才能在数据库的复制本(许可的或未许可的)中检测该模式建立的水印。

Description

用于数据存储库的数字水印的系统和方法
技术领域
本发明涉及数据存储库的安全性。
背景技术
诸如软件、图像、视频、音频、和文本等数字资产的非法复制,长期以来是这些资产拥有者关心的问题。这些资产的保护通常是以插入数据中的水印为基础。水印软件把小的错误引入被加水印的对象中。这些故意的错误被称为标记,而所有这些标记共同构成水印。这些标记必须对数据的使用没有显著冲击,且它们的安排应使恶意的用户在不让数据失去效用的情况下不能破坏它们。因此水印不阻止复制,但它通过提供一种建立重新分布的复制本的原始所有权手段,制止非法复制。
在“防火墙后数据处理”之外的应用程序中,数据库使用的增长,正在建立类似的、对数据库加水印的需求。例如,在半导体工业,半导体零件的参数数据主要由三家公司提供:Aspect、IHS、和IC Master。他们雇佣大量人力,从数据表中人工抽取部分技术要求,并建立参数数据库。然后,他们以高价向设计工程师发许可证。像Acxiom那样的公司,已经汇编了大量消费者和商业数据。在生命科学工业,诸如Celera那样的公司的主要资产是生物信息数据库。互连网正在向这些数据供应商施加巨大的压力,要他们建立服务(常常称为e实用程序或网络服务)允许用户远程搜索并接入数据库。虽然这种趋势对终端用户是种恩惠,但它却使数据供应商遭受数据窃贼的威胁。
就数据库方面,制作水印提出挑战,因为对多媒体数据加水印的技术不一定存在,大多数水印在开始时是对静态图像研发的,其后推广到视频和音频源。两种应用程序的差别就本文的理解,包括如下方面:
1.多媒体对象包括大量比特,有颇大的冗余度。因此,水印有大的覆盖区可以隐藏。相反,数据库关系由字节组构成,每一字节组代表分离的对象。水印必须散布在这些分离的对象上。
2.多媒体对象各个片段的空间/时间定位,一般不改变。相反,某种关系的字节组构成一个集合,其它们之间不蕴涵次序。
3.多媒体对象各部分在不引起对象中感觉上变化的情形下,不能丢失或置换。但是,关系的非法复制能够简单地使一些字节组丢失,或以另一种关系取代它们。
由于这些差别,为多媒体数据研发的技术,不能直接用于水印关系。同样,用于文本的水印技术,利用格式化文本的特殊性质,不能容易地应用于数据库。此外,对软件加水印的技术已经取得有限的成功,因为计算机程序中的指令常常能够重新排列而不改变程序的语义。但是,这种重新排序能够破坏水印。
发明内容
因此,本发明提供一种计算机,用于对有字节组(tuple)的数据存储库添加水印,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该计算机包括至少一个处理器,该处理器执行的方法的作用包括:根据保密信息,对至少一些字节组的至少一种属性的至少一个比特位置建立水印值,以便建立水印。
本发明优选用于识别数据的非法复制。
能够加水印的数据库关系最好有如下的属性,它们的一些值的改变不影响该应用程序。真正的数据集能容许少量错误而不使它们的可用性降质。例如,用于建立天气预报模型的ACARS气象数据,有风矢量和温度精度估计,分别在1.8m/3s和0.5℃之内。按照一个优选实施例的本发明,认识到水印引进的误差,能够限制在该数据的测量容差之内。作为另一个例子,考虑实验上获得的基因表达数据集,是用各种数据开发技术分析的。还有,按照一个优选实施例的本发明,认识到数据收集和分析技术的本性,在于少量数据值的改变,不可能影响结果。类似地,如果补充数据的外部供应商从少量交易中增加或减去一些量,消费者商品公司的顾客程序分段结果将不受影响。最后,考虑上述半导体零件的参数数据。对许多参数,因水印引进的误差,可以限制在测量容差之内。
数据存储库例如可以是文件系统、数据库、或其他记录存储器。计算机最好根据保密信息,对一些字节组一些属性中的比特位置建立水印值,以便建立定义水印的比特模式。
在一个优选实施例中,只有数值属性中的比特位置必须是水印的一部分。水印值最好至少部分根据至少保密信息的单向散列函数建立。
按照一个优选实施例,该计算机能够确定,被怀疑已经从有水印的数据库中被复制的测试数据库,是否事实上含有该水印。使用保密信息,计算机最好在预定的概率内确定,该水印是否存在于该测试数据结构中。
最好提供通用的计算机,用于确定有字节组的测试数据存储库中,是否存在水印。最好用保密信息来确定该水印是否存在于测试数据结构中。
在一个实施例中,要加标记的字节组、字节组内要加标记的属性、属性中要加标记的比特位置、和特定的比特水印值,以上至少一种是根据保密信息确定的。
在一个实施例中,要加标记的字节组、字节组内要加标记的属性、属性中要加标记的比特位置、和特定的比特水印值,以上至少两种是根据保密信息确定的。
在一个实施例中,要加标记的字节组、字节组内要加标记的属性、属性中要加标记的比特位置、和特定的比特水印值,以上所有各个都是根据保密信息确定的。
最好是,只有数值属性中的比特位置是水印的一部分。
最好是,水印值至少部分根据至少保密信息的单向散列函数建立。
最好是,能够接收测试数据结构;并至少部分使用保密信息,确定该水印是否存在于测试数据结构中。
最好能在预定概率内确定,该水印是否存在于测试数据结构中。
在一个实施例中,要加标记的字节组、字节组内要加标记的属性、属性中要加标记的比特位置、和特定的比特水印值,以上至少一个、至少两个、或所有各个,是根据保密信息确定的。
按照一个方面,本发明提供一种计算机,用于确定有字节组的数据存储库中是否存在水印,其中,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该计算机包括至少一个处理器,该处理器执行的方法的作用包括:接收测试数据结构;并至少部分使用保密信息确定该水印是否存在于测试数据结构中。
最好是在预定的概率内确定,该水印是否存在于该测试数据结构中。
最好是,对导出测试数据结构的数据存储库,根据保密信息对一些字节组一些属性的至少一些比特位置建立水印值。
按照一个优选实施例,提供一种计算机程序装置,该计算机程序装置包括:可由数字处理设备读出的计算机程序存储装置;和在该程序存储装置上的程序与可由数字处理设备执行的指令,以便改进数据存储库的安全性,该程序包括:根据保密信息确定多个要加标记的字节组的装置;确定每一个要标记的字节组中至少要标记的一种属性的装置;确定每一个要标记的属性中至少要标记的一个比特的装置;和对至少每一个要标记的非无用比特建立水印值,以便建立水印的装置。
按照一个优选实施例,提供一种提高数据存储库的安全性的方法,包括:使用秘密信息建立遍及数据存储库的比特值的模式。
最好是,要标记的数据存储库中的多个字节组根据保密信息确定。
最好是,确定要标记的每一字节组中至少一种要标记的属性。
最好是,确定要标记的每一种属性中至少一个要标记的比特。
最好是,对至少每一个要标记的非无用(non-null)比特建立水印值,以便建立水印。
按照一个优选实施例,是提供一种计算机程序装置,该计算机程序装置包括:可由数字处理设备读出的计算机程序存储装置;和在该程序存储装置上的程序与可由数字处理设备执行的指令,该程序包括:接收有字节组的测试数据结构的装置;对每一字节组确定该字节组是否已经根据保密信息标记的装置;至少对已经标记的每一字节组中一种属性,确定该属性是否已经标记的装置;对已经标记的每一属性中至少一个比特,确定该比特是否已经标记的装置;和对已经标记的每一比特确定水印值,以便确定测试数据结构是否包含水印的装置。
最好是,只有数值属性中的比特位置被作为水印的一部分测试。
最好是,能够保持对校正的比特值计数,并根据该计数确定,该水印是否存在于测试数据结构中。
最好是,水印值至少部分根据至少保密信息的单向散列函数确定。
按照一个优选实施例,提供一种方法,包括:使用秘密信息确定,是否在测试数据结构中存在某种值的模式。
最好是,对测试数据结构中每一字节组确定,该字节组是否已经根据保密信息标记。
最好是,对每一已经标记的字节组中至少一种属性确定,该属性是否已经标记。
最好是,对每一已经标记的属性中至少一个比特确定,该比特是否已经标记。
最好是,对已经标记的每一比特确定水印值,以便确定测试数据结构是否包含水印。
在一个实施例中,至少一些属性有主密钥(primary key),且用某一属性的主密钥来建立水印值。
在一个实施例中,至少第一属性没有主密钥,且用分割第一属性中的比特来建立水印值。
在一个实施例中,至少一些属性有主密钥,且用某一属性中的主密钥来建立比特值。
按照一个方面,是提供一种对有字节组的数据存储库加水印的方法,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该方法包括如下步骤:根据保密信息,对至少一些字节组至少一种属性至少一个比特位置,建立水印值,以便建立水印。
按照另一个方面,是提供一种计算机程序,用于确定有字节组的数据存储库中,是否存在水印,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该计算机程序包括程序码单元,当该程序码在计算机上执行时,实施如下步骤:接收测试数据结构;并至少部分使用保密信息,确定该水印是否存在于测试数据结构中。
按照另一个方面,是提供一种方法,用于确定有字节组的数据存储库中,是否存在水印,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该方法包括如下步骤:接收测试数据结构;并至少部分使用保密信息,确定该水印是否存在于测试数据结构中。
按照另一个方面,是提供一种计算机程序,用于在有字节组的数据存储库中制作水印,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该计算机程序包括程序码单元,当该程序码在计算机上执行时,实施如下步骤:根据保密信息,对至少一些字节组至少一种属性至少一个比特位置,建立水印值,以便建立水印。
按照另一个方面,是提供一种数据存储库,该数据存储库包括:多个字节组,每一字节组至少有一种属性,每一属性至少有一个有比特值的比特;根据秘密信息建立的比特之间的值模式。
附图说明
现在将参照以举例的方式说明本发明的优选实施例。
图1按照本发明的一个优选实施例,画出一种系统的示意图;
图2按照本发明的一个优选实施例,画出在数据库中用于建立水印的逻辑的流程图;和
图3按照本发明的一个优选实施例,画出在测试数据结构中用于确定是否存在水印的逻辑的流程图。
具体实施方式
现在首先参考图1,图上画出一种系统,一般以10表示。如图所示,系统10包括计算机12,该计算机接入诸如文件系统的数据结构或存储库,或如图1举出的实施例所示,接入关系数据库14。因此,计算机12能作为关系数据库管理系统的主机。水印应用程序16能够在计算机12上执行,承担图2和3所示的逻辑。
在一个示例的非限制性实施例中,水印应用程序16可以是用户定义的用JavaTM写的函数。计算机可以是Windows NTVersion 4.00工作站,用JavaTM Database Connectivity(JDBCTM连通性)执行DB2 UniversalDatabaseTM(UDB)Version 7。其他类型的计算机,包括不受主机架限制的计算机、膝上型、桌面型、和笔记本型计算机,均可使用,包括其他类型的数据库。(Java,全部基于Java的商标和JDBC都是SunMicrosystem Inc在美国、其他国家的注册商标;Windows NT是MicrosoftCorporation在美国、其他国家的注册商标;DB2和DB2 UniversalDatabase是International Business Machine Corporation在美国、其他国家的注册商标)。
为说明的目的,图1画出的数据存储库(如数据库14)包含字节组18,每一字节组18包含一种或多种属性20。而每一属性20又可以包括一个或多个数据比特22,每一数据比特有值24,该值例如不是“0”便是“1”(或在一些情形中,是无用比特)。在该优选实施例中,利用秘密信息建立一种值的模式,诸如比特值的模式,或较不可取的数据库属性值的模式,该秘密信息在此后不能被检测到,除非通过该秘密信息接入。
借助以上概述的本体系结构,应当了解本逻辑是在如图1所示的体系结构中,按照下面讨论的流程图执行的。本文的流程图说明,优选实施例的逻辑结构,体现在计算机的程序软件中。本领域熟练人员应当明白,流程图说明的逻辑单元结构,诸如计算机程序码单元,或电子逻辑电路,按照本优选实施例起作用。最好是用一种机器部件,指令数字处理设备(即计算机)实施一系列与图示对应的那些功能步骤,再现该逻辑单元。
换句话说,该逻辑可以用计算机程序体现,该计算机程序由处理器作为一系列计算机可执行指令执行。这些指令,例如可以驻留在RAM或硬盘或光盘上,或者,这些指令可以存储在磁带、电子只读存储器、或其他适当的数据存储装置上。在本发明的一个示例性实施例中,该计算机可执行指令可以是多行Java或汇编C++兼容码。
现在参考图2,可以从图中看到数据库14中用于建立水印的逻辑。流程从方框26开始,对每一字节组18的循环语句进入数据库14,在该循环语句中使用了保密信息。虽然优选的保密信息可以是“密钥”,如一对公用密钥-专用密钥的专用密钥,但任何合适的保密信息,诸如一串机密的号码,也可以使用。
为较好地了解图2,首先给出下面的定义。
假定数据库14能够被认为是数据库关系R,它的模式是R(P,A0,...,Av-1),这里P是主密钥属性。为了说明,假定所有v种属性A0,...,Av-1都是作标记的候选者。就是说,数据库14有η字节组,而v是关系中可用于作标记的属性数,以ξ为一种属性中可用于作标记的最低有效比特数。还有,1/γ粗略代表将要作标记的字节组的百分数,
Figure C0380857900111
代表在图2逻辑之后已被标记的字节组数,α代表为确定测试数据结构中是否存在水印时测试的显著水平,关于该测试数据结构,下面还要结合图3说明,最后,如下面在图3公开的,τ是指示存在水印所必需的正确标记的字节组最小数。最好是,所有用于标记的候选属性都是数值属性,且它们的值在ξ最低有效比特中的变化,对它们全部都是难以察觉的。符号r.Ai是指属性Ai在字节组r∈R,即可用属性集合中的值。
除上述定义外,下面给出某些功能的解释。目前优选的非限制性实施方案,使用单向散列函数H操作任意长度的输入消息M,且H返回固定长度的散列值h,即h=H(M)。优选的散列函数的附加特征是,i)给定M,容易计算h,ii)给定h,难以从H(M)=h计算M,和iii)给定M,难以找到另一个消息M′,使H(M)=H(M′)。Message Digest 5和SHA是对H的好的选择。
消息鉴别码(MAC)是依赖于密钥的单向散列函数。假定F是一MAC,它使字节组r主密钥属性r.P随机化并返回一大范围的整数值。F能够作为种子,以专用密钥K播下,该专用密钥K只有数据库14的拥有者了解。在该优选实施例中,可以用如下的安全MAC:
F(r.P)=H(K○H(K○r.P)),其中的○表示并置。
记住上面的定义,图2的说明可以结束。逻辑移动到判定菱形28,其中,在一个优选的、非限制性实施例中确定,被测试的字节组是否应如下所述作标记。如果F(r.P)modγ等于0,该字节组被指定用于标记。显而易见,只有具备秘密信息K知识的用户,才容易知道什么字节组要作标记,从而知道什么字节组已经作了标记。
如果对标记的测试在判定菱形28不被满足,循环回到获得下一个字节组。否则,如果该字节组已被标记,逻辑前进至方框30,在方框30确定字节组的什么属性被作标记。为此,在一个优选的、非限制性实施方案中,选择第i种属性用于标记,这里,属性索引(attribute_index)i=F(r.P)mod v。然后,移动到方框32,对选择的属性确定哪一个(些)比特要作标记。为此,在一个优选的、非限制性实施方案中,选择属性的第j个比特用于标记,这里,比特索引(bit_index)j=F(r.P)modξ。没有必要使用连续ξ个最低有效比特作标记。例如,那些比特值分布被歪斜的比特位置,必要时可以略去。
之后,在方框34,用散列函数确定选择的比特值。该值可以称为“水印值”。在一个优选的、非限制性实施方案中,如果H(K○pk)为偶,则第j个最低有效比特的值被置为“0”,否则该比特值是“1”,其中的“pk”是属性的主密钥。
下面的伪码是上面逻辑的一个例子。应当指出,该伪码是按简化公开的内容的形式,而不是按计算上最有效的形式写的。
//保密密钥(private key)K仅对于数据库的拥有者是公知的。
//参数γ、v、和ξ对于拥有者也是保密的。
1)for each tuple r∈R do
2)if(F(r.P)mod
Figure C0380857900121
equals 0)then//标记字节组
3)attribute_index i=F(r.P)mod V/标记属性Ai
4)bit_index j=F(r.P)modξ//标记第j比特
5)r.Ai=mark(r.P,r.Ai,j)
6)mark(primary key pk,number v,bit index j)return number
7)first_hash=H(K○pk)
8)if(first_hash is even)then
9)set the jth least significant bit of v to 0
10)else
11)set the jth least significant bit of v to 1
12)return V
根据以上内容,现在可以明白,作标记是把某一属性的一些值降低,同时增加一些其他的值并保留一些不变。数据库提出允许属性采取无效值。如果遇到一个无效属性值的同时,对一字节组作标记,该标记最好不加在无效值上,保留它不变。无论如何,在一个优选的、非限制性实施方案中,在方框36,可以用SQL更新函数把水印值插入该比特中。然后,逻辑取来下一个字节组,并循环回到判定菱形28。
如在一个非限制性实施例中所给出的,不论字节组是被标记或与它的主密钥属性无关。结果是,能够插入一字节组,无需考察任何其他字节组的标记。类似地,可以简单地删除一个字节组。当更新一字节组的主密钥属性时,在把该字节组存储进数据库前,可以重新计算它的标记。当更新非主密钥属性时,如果算法没有选择该属性用于标记,那么什么事都不必做。相反,如果该属性是标记的候选者,则最好在属性值存储进数据库之前加上该标记。
可能有这样的情形,在要加水印的关系中不存在主密钥。如果是这样,并假定该关系R包括单个数值属性A,则属性A的比特能够分割为两组。值r.A的“X”比特用作字节组“r”的“主密钥属性”,而剩余的ξ比特用作标记。如果该关系有多于一个属性,其中一个可以用作替代者,其余则用作标记。选择有最小重复的属性作为主密钥的替代者,该替代者还能够在多于一个的属性上展开,以便降低重复性。
现在参照图3,从图上可见,通过该逻辑,一种测试数据结构能够确定,例如数据库的全部还是一部分已经被复制。下面将看到,该逻辑是统计性的。
流程在方框38开始,由于有保密信息K可供使用,进入循环语句用于测试数据结构中的每一字节组。作为鉴别水印的一部分,判定菱形40确定,待测试的字节组是否已经加标记。为此,在一个优选的、非限制性实施方案中确定,F(r.P)modγ是否等于0。如果是,该字节组应当已经被加标记,它已经通过图2的算法处理。如果在判定菱形38,对标记的测试没有被满足,方法循环回到获得下一个字节组。
否则,如果该字节组已经被加标记,逻辑前进至方框42,在方框42确定,字节组的哪一种(些)属性已经被加标记,图2的加水印已经实施。为此,在一个优选的、非限制性实施方案中,指定第i种属性已经被选择用于标记,这里,属性索引(attributr_index)i=F(r.P)mod v。还有,指定属性的第j个比特已经被选择用于标记,这里,比特索引(bit_index)j=F(r.P)modξ。
于是前进到判定菱形44,方框42选择的比特的实际值,与用保密信息K加了水印的数据结构应当有的值比较。如果在方框46是符合的,计数递增。在判定菱形48确定,最后的字节组是否已经测试。如果否,逻辑循环回到判定菱形40,检索下一个字节组。否则,循环前进至判定菱形50,确定计数是否超过 如果否,在方框52发回“未发现水印”。否则,在方框54发回“已发现水印(怀疑非法复制)”。
下面的伪码表明一种水印检测逻辑的非限制性实施方案。
//K、γ、v、ξ具有与水印插入所用的值相同的值。
//α为检测器预选的测试显著度。
1)totalcount=matchcount=0
2)foreach tuple s in the test data structure S do
3)if(F(s.P)mod γequals 0)then//标记字节组
4)attribute_index i=F(s.P)mod v//标记属性Ai
5)bit_index j=F(s.P)modξ//标记第j比特
6)totalcount=totalcount+1
7)matchcount=matchcount+match(s,P,s.Ai,j)
8)τ=threshold(totalcount,α)//
9)set the jth least significant bit of v to 0
10)i(matchcount≥τ)then suspect piracy
11)first_hash=H(K○pk)
12)i(first hash is even)then
13)return 1 if the jth least significant bit of v is 0 else return 0
14)else
15)return 1 if the jth least significant bit of v is 1 else return 0
图3的检测逻辑能够用用户定义的集合函数,按照图3所示逻辑实现,该检测函数如果发现水印,发回“1”,否则发回“0”。
在上面的伪码中,第8行使用的阈值子程序,可以说明如下。假定图3的逻辑从“疑似”(测试)数据库中测试ω个字节组。可以认为这些测试是Bernoulli试验,该逻辑在特定比特位置成功发现查找值的概率是1/2。第8行的子程序发回一极小值τ,使得ω次试验至少τ次成功而发回正确结果的概率小于α。α的显著性确定该系统没有命中有多少依据,α越小,不正确地把无辜的测试数据库识别为有水印的机会越小。
在图3的逻辑中,如果已经作标记的字节组属性被省略,该字节组就被忽略。同样,如果发现一字节组本应作标记,但其属性有无效的值,该字节组就被忽略。无论如何,匹配计数和总计数不受影响。
应当指出,检测算法是盲目(blind)的,因为它简单地从数据抽取信息比特,不要求接入原始数据或水印来作出判定。这一点对数据库关系是重要的,因为关系常常更新。不用该盲目的检测,关系的每一版本必须保持,因为要求检测原来版本的水印。
在一个特定的非限制性实施方案中,如上所述,借助选择表中指定的属性P、A,能够通过首先检索R的字节组插入水印。选择的陈述包含附加的子句“对A的更新”,该子句能使数据库引擎了解选择的“r”字节组将被更新。对这样取数据的每一字节组“r”,如果水印算法确定该“r”不在间隙之中并需要改变r.A的值,那么可以向标记r.A发出更新的陈述。该更新陈述(statement)可以有“当前光标”的子句,该子句能使数据库引擎了解要更新的字节组是r。
前面已经公开,水印检测可以用选择的陈述实现,以便取出怀疑的数据库关系S的字节组,指定选择表中的属性P、A。如果得到的字节组“s”不在间隙中,“总计数”的计数递增。如果“s”包含标记,“匹配计数”的计数也递增。当已经处理了所有的字节组,检测算法确定,在“总计数”字节组中发现“匹配计数”标记的概率是否在显著水平之内。如果是,则已经检测到水印。
与数据能允许的误差有关,选择所谓“间隙”γ的值,迫使不小心的复制者在试图擦除水印中犯下大的错误,令该复制者的数据不合用。间隙γ是个控制参数,它以ω≈η/γ确定标记的字节组数。可以定出一种γ对ξ的折衷方案,该方案确定引进属性值的范围。就是说,如果作标记的字节组越少,则被标记属性值的改变范围越大。还有,选择ξ,使不小心的复制者猜测该值太高,会导致大的误差,而如果他低估该值,他破坏水印的成功机会则降低。类似地,v的建立是为挫败不小心复制者的攻击。
概括地说,α值的降低,降低了命中失败的机会,但在复制、可能的数据库改变中,增加了水印丢失的机会。降低γ值,增加系统对抗攻击的牢固度,但增加了水印数据中的数据错误。增加v和ξ值,则增加牢固度,但对ξ来说,也增加数据中的错误。

Claims (8)

1.一种计算机,用于对数据存储库加水印,该数据存储库有字节组,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该计算机包括至少一个执行包括下述的方法动作的处理器:
根据保密信息,对至少一些字节组的至少一种属性的至少一个比特位置建立水印值,以便建立水印,其中,要加标记的字节组、字节组内要加标记的属性、属性中要加标记的比特位置、和特定的比特水印值中的至少两个是根据保密信息确定的,其中通过设置所述要加标记的属性的所述比特值为所述水印值,来建立水印。
2.按照权利要求1的计算机,其中只有数值属性中的比特位置是水印的一部分。
3.按照权利要求1的计算机,其中的水印值至少部分根据所述保密信息的单向散列函数建立。
4.一种计算机,用于确定数据存储库中是否有水印存在,该数据存储库有字节组,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该计算机包括至少一个执行包括下述的方法动作的处理器:
接收有字节组的测试数据结构;和
至少部分使用保密信息确定测试数据结构中是否存在水印,包括:
对每一字节组确定该字节组是否已经加标记;
对每一已经加标记的字节组中至少一种属性确定该属性是否已经加标记;
对每一已经加标记的属性中至少一个比特确定该比特是否已经加标记;和
对每一已经加标记的比特确定水印值,以便确定该测试数据结构是否包含水印。
5.按照权利要求4的计算机,其中所述的确定测试数据结构中是否存在水印是在预定概率内确定测试数据结构中是否存在水印。
6.一种对数据存储库加水印的方法,该数据存储库有字节组,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该方法包括如下步骤:
根据保密信息,对至少一些字节组的至少一种属性的至少一个比特位置建立水印值,以便建立水印,其中,要加标记的字节组、字节组内要加标记的属性、属性中要加标记的比特位置、和特定的比特水印值中的至少两个是根据保密信息确定的,其中通过设置所述要加标记的属性的所述比特值为所述水印值,来建立水印。
7.按照权利要求6的方法,其中建立水印值的步骤还包括:
根据保密信息,确定该数据存储库中要加标记的多个字节组;
在每一要加标记的字节组中,确定至少一种要加标记的属性;
在每一要加标记的属性中,确定至少一个要加标记的比特;和
对要加标记的至少每一非无效比特建立水印值,以便建立水印。
8.一种用于确定数据存储库中是否有水印存在的方法,该数据存储库有字节组,每一字节组与一个或多个属性相关,每一属性有一个或多个比特位置,至少一些比特位置有比特值,该方法包括如下步骤:
接收有字节组的测试数据结构;和
至少部分使用保密信息确定测试数据结构中是否存在水印,包括:
对每一字节组确定该字节组是否已经加标记;
对每一已经加标记的字节组中至少一种属性确定该属性是否已经加标记;
对每一已经加标记的属性中至少一个比特确定该比特是否已经加标记;和
对每一已经加标记的比特确定水印值,以便确定该测试数据结构是否包含水印。
CNB038085798A 2002-05-15 2003-05-14 用于数据存储库的数字水印的系统和方法 Expired - Fee Related CN1304914C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/147,741 2002-05-15
US10/147,741 US7752446B2 (en) 2002-05-15 2002-05-15 System and method for digital watermarking of data repository

Publications (2)

Publication Number Publication Date
CN1647008A CN1647008A (zh) 2005-07-27
CN1304914C true CN1304914C (zh) 2007-03-14

Family

ID=29419095

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038085798A Expired - Fee Related CN1304914C (zh) 2002-05-15 2003-05-14 用于数据存储库的数字水印的系统和方法

Country Status (13)

Country Link
US (1) US7752446B2 (zh)
EP (1) EP1506467B1 (zh)
JP (1) JP4726482B2 (zh)
KR (1) KR100602339B1 (zh)
CN (1) CN1304914C (zh)
AT (1) ATE336037T1 (zh)
AU (1) AU2003227934A1 (zh)
BR (1) BR0310002A (zh)
CA (1) CA2483992A1 (zh)
DE (1) DE60307454T2 (zh)
ES (1) ES2268361T3 (zh)
IL (2) IL164721A0 (zh)
WO (1) WO2003098406A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4370800B2 (ja) * 2003-04-21 2009-11-25 ヤマハ株式会社 音楽コンテンツ利用装置及びプログラム
CN100437560C (zh) * 2003-12-12 2008-11-26 中国人民解放军总参谋部第六十一研究所 一种向关系数据库嵌入和提取数字水印的方法
US7539870B2 (en) * 2004-02-10 2009-05-26 Microsoft Corporation Media watermarking by biasing randomized statistics
US8473451B1 (en) 2004-07-30 2013-06-25 At&T Intellectual Property I, L.P. Preserving privacy in natural language databases
US8234638B2 (en) * 2004-12-28 2012-07-31 Hercules Software, Llc Creating a relatively unique environment for computing platforms
CN100369039C (zh) * 2005-06-15 2008-02-13 武汉大学 一种用数字水印技术保护数据库数据版权的方法及其应用
US7877398B2 (en) 2007-11-19 2011-01-25 International Business Machines Corporation Masking related sensitive data in groups
US9990478B2 (en) 2012-11-30 2018-06-05 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxiliary data into relational database keys and methods, apparatus, and articles of manufacture to obtain encoded data from relational database keys
US9087459B2 (en) 2012-11-30 2015-07-21 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
US9042554B2 (en) 2012-11-30 2015-05-26 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
US20140157440A1 (en) * 2012-11-30 2014-06-05 Nikolay Georgiev Methods, apparatus, and articles of manufacture to encode auxiliary data into numeric data and methods, apparatus, and articles of manufacture to obtain encoded data from numeric data
US20140365230A1 (en) * 2013-06-11 2014-12-11 Thomson Licensing Method and apparatus for maximizing a limited set of identifiers for audio watermarking
US9948655B1 (en) * 2016-04-15 2018-04-17 AtScale, Inc. Data access authorization for dynamically generated database structures
CN108614961B (zh) * 2017-12-21 2020-09-04 神龙汽车有限公司 一种数据库数字水印嵌入和保护方法
CN111125750B (zh) * 2019-11-25 2021-02-26 中国科学院信息工程研究所 一种基于双层椭圆模型的数据库水印嵌入、检测方法及系统
CN111177786A (zh) * 2020-01-02 2020-05-19 合肥工业大学 基于随机响应机制本地差分隐私的数据库水印系统
US11216581B1 (en) * 2021-04-30 2022-01-04 Snowflake Inc. Secure document sharing in a database system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001059705A2 (en) * 2000-02-07 2001-08-16 Koninklijke Philips Electronics N.V. Protecting content from illicit reproduction by proof of existence of a complete data set via self-referencing sections
CN1386341A (zh) * 2000-07-21 2002-12-18 皇家菲利浦电子有限公司 通过组合信号的水印与特性标识的多媒体监视

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69636084T2 (de) * 1995-09-28 2006-09-14 Nec Corp. Verfahren und Vorrichtung zum Einfügen eines Spreizspektrumwasserzeichens in Multimediadaten
US7107451B2 (en) * 1996-07-02 2006-09-12 Wistaria Trading, Inc. Optimization methods for the insertion, protection, and detection of digital watermarks in digital data
US6031914A (en) * 1996-08-30 2000-02-29 Regents Of The University Of Minnesota Method and apparatus for embedding data, including watermarks, in human perceptible images
US6061793A (en) * 1996-08-30 2000-05-09 Regents Of The University Of Minnesota Method and apparatus for embedding data, including watermarks, in human perceptible sounds
US6282299B1 (en) * 1996-08-30 2001-08-28 Regents Of The University Of Minnesota Method and apparatus for video watermarking using perceptual masks
US5915027A (en) * 1996-11-05 1999-06-22 Nec Research Institute Digital watermarking
CA2329315A1 (en) 1998-04-21 1999-10-28 Solana Technology Development Corporation Multimedia adaptive scrambling system (mass)
US6330673B1 (en) * 1998-10-14 2001-12-11 Liquid Audio, Inc. Determination of a best offset to detect an embedded pattern
US6320965B1 (en) * 1998-10-14 2001-11-20 Liquid Audio, Inc. Secure watermark method and apparatus for digital signals
JP2000209097A (ja) 1999-01-14 2000-07-28 Sony Corp 信号処理装置とその方法、信号記録装置、信号再生装置および記録媒体
US6813368B1 (en) * 1999-12-15 2004-11-02 Lucent Technologies Inc. Methods and apparatus for watermarking maps and other structured data
US6865676B1 (en) * 2000-03-28 2005-03-08 Koninklijke Philips Electronics N.V. Protecting content from illicit reproduction by proof of existence of a complete data set via a linked list
JP4649760B2 (ja) * 2000-05-31 2011-03-16 ソニー株式会社 コンテンツ・コピー管理システム及び方法、情報処理装置及び方法、並びに、記憶媒体
US20010054144A1 (en) * 2000-06-16 2001-12-20 Michael Epstein Confirming the existence of a complete data set under multiple control scenarios
US7616776B2 (en) * 2005-04-26 2009-11-10 Verance Corproation Methods and apparatus for enhancing the robustness of watermark extraction from digital host content
US7369677B2 (en) * 2005-04-26 2008-05-06 Verance Corporation System reactions to the detection of embedded watermarks in a digital host content
US20060239501A1 (en) * 2005-04-26 2006-10-26 Verance Corporation Security enhancements of digital watermarks for multi-media content
US7720250B2 (en) * 2005-05-23 2010-05-18 George Mason University Method and apparatus for watermarking stream data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001059705A2 (en) * 2000-02-07 2001-08-16 Koninklijke Philips Electronics N.V. Protecting content from illicit reproduction by proof of existence of a complete data set via self-referencing sections
CN1386341A (zh) * 2000-07-21 2002-12-18 皇家菲利浦电子有限公司 通过组合信号的水印与特性标识的多媒体监视

Also Published As

Publication number Publication date
WO2003098406A2 (en) 2003-11-27
CA2483992A1 (en) 2003-11-27
IL164721A0 (en) 2005-12-18
WO2003098406A3 (en) 2004-03-18
AU2003227934A1 (en) 2003-12-02
EP1506467A2 (en) 2005-02-16
JP2005531828A (ja) 2005-10-20
IL164721A (en) 2010-06-16
ES2268361T3 (es) 2007-03-16
BR0310002A (pt) 2005-02-15
KR20040105871A (ko) 2004-12-16
US7752446B2 (en) 2010-07-06
JP4726482B2 (ja) 2011-07-20
CN1647008A (zh) 2005-07-27
DE60307454T2 (de) 2007-08-16
EP1506467B1 (en) 2006-08-09
ATE336037T1 (de) 2006-09-15
US20030217272A1 (en) 2003-11-20
DE60307454D1 (de) 2006-09-21
KR100602339B1 (ko) 2006-07-18

Similar Documents

Publication Publication Date Title
CN1304914C (zh) 用于数据存储库的数字水印的系统和方法
Yan et al. Graph indexing based on discriminative frequent structure analysis
Yan et al. Graph indexing: a frequent structure-based approach
CN1777853A (zh) 基于内容寻址中的附加散列函数
US9304980B1 (en) Identifying versions of file sets on a computer system
CN1146178C (zh) 用于数据处理的方法和装置
US10296534B2 (en) Storing and searching fingerprints derived from media content based on a classification of the media content
US9245007B2 (en) Dynamically detecting near-duplicate documents
WO2009158691A2 (en) Patch-based texture histogram coding for fast image similarity search
Yandrapally et al. Near-duplicate detection in web app model inference
Chong et al. Self-identifying sensor data
CN111241576B (zh) 一种用于数据库分发保护的零水印方法
Fang et al. Semi-supervised malware clustering based on the weight of bytecode and api
Yang et al. Near-duplicate detection for images and videos
US20230315846A1 (en) System and method for detecting leaked documents on a computer network
Shah et al. Query preserving relational database watermarking
Chai et al. A robust and reversible watermarking technique for relational dataset based on clustering
US11699209B2 (en) Method and apparatus for embedding and extracting digital watermarking for numerical data
Olliaro et al. Empirical analysis of the impact of queries on watermarked relational databases
Chawathe Effective whitelisting for filesystem forensics
Romaric et al. Robust XML watermarking using fuzzy queries
Cui et al. The approach for optimization in watermark signal of relational databases by using genetic algorithms
US20090287647A1 (en) Method and apparatus for detection of data in a data store
Wu et al. A study in watermarking relational databases based on genetic algorithms
CN109067696B (zh) 基于图相似度分析的webshell检测方法及系统

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
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: 20070314

Termination date: 20200514