CN114491427A - 一种将单个数据水印嵌入多个数据库表的方法 - Google Patents
一种将单个数据水印嵌入多个数据库表的方法 Download PDFInfo
- Publication number
- CN114491427A CN114491427A CN202210123854.3A CN202210123854A CN114491427A CN 114491427 A CN114491427 A CN 114491427A CN 202210123854 A CN202210123854 A CN 202210123854A CN 114491427 A CN114491427 A CN 114491427A
- Authority
- CN
- China
- Prior art keywords
- watermark
- database table
- embedding
- name
- database
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000001514 detection method Methods 0.000 claims abstract description 20
- 238000012795 verification Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 8
- 239000000969 carrier Substances 0.000 claims description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Editing Of Facsimile Originals (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种将单个数据水印嵌入多个数据库表的方法,涉及数据水印安全技术领域;获取参与水印嵌入的数据库表,作为水印载体,根据数据库表名称生成伪随机序列,遍历每个所述数据库表内元祖及每个所述数据库表,基于水印嵌入算法通过所述伪随机序列获得所述数据库表的嵌入位置,根据所述嵌入位置随机分散嵌入所述水印,基于水印检测算法根据数据库表名称验证所述水印。
Description
技术领域
本发明公开一种方法,涉及数据水印安全技术领域,具体地说是一种将单个数据水印嵌入多个数据库表的方法。
背景技术
数字水印技术是指通过某种特定的算法将有意义的信息直接嵌入到载体数据中,并能通过相应的算法进行检测或者提取的一种技术手段。传统的水印载体一般是视频、图片、声音、文档等,随着大数据的发展,出现了数据库水印,有时简称数据水印或关系水印,数字水印一般用于版权保护、盗版追踪、数据完整性、数据来源认证等。
在某些业务场景下,数据库中表较多,在这种情况下,现有数据库水印嵌入算法很难在保证数据失真较小的情况下,嵌入到这类数据库表中。
发明内容
本发明针对现有技术的问题,提供一种将单个数据水印嵌入多个数据库表的方法,本发明提出的具体方案是:
一种将单个数据水印嵌入多个数据库表的方法,获取参与水印嵌入的数据库表,作为水印载体,
根据数据库表名称生成伪随机序列,
遍历每个所述数据库表内元祖及每个所述数据库表,基于水印嵌入算法通过所述伪随机序列获得所述数据库表的嵌入位置,根据所述嵌入位置随机分散嵌入所述水印,
基于水印检测算法根据数据库表名称验证所述水印。
进一步,所述的一种将单个数据水印嵌入多个数据库表的方法中所述获取参与水印嵌入的数据库表,作为水印载体,包括:
根据所述参与水印嵌入的数据库表,获取每个所述数据库表的主键以及参与水印嵌入的属性列。
进一步,所述的一种将单个数据水印嵌入多个数据库表的方法中所述根据数据库表名称生成伪随机序列,包括:
利用伪随机序列生成算法生成伪随机序列,公式如下:
S(K,R,r.P)=H(K‖H(K‖R.Name‖r.P))
其中R.Name表示数据库表名称,K表示密钥,R表示数据库表,r.P表示所述数据库表的主键。
进一步,所述的一种将单个数据水印嵌入多个数据库表的方法中所述基于水印检测算法根据数据库表名称验证所述水印,包括:
比对基于水印检测算法获得的数据库表名称与原数据库表名称是否一致,是则所述水印通过验证。
本发明还提供一种将单个数据水印嵌入多个数据库表的装置,包括载体模块、分析嵌入模块及验证模块,
所述载体模块获取参与水印嵌入的数据库表,作为水印载体,
所述分析嵌入模块根据数据库表名称生成伪随机序列,遍历每个所述数据库表内元祖及每个所述数据库表,基于水印嵌入算法通过所述伪随机序列获得所述数据库表的嵌入位置,根据所述嵌入位置随机分散嵌入所述水印,
所述验证模块基于水印检测算法根据数据库表名称验证所述水印。
进一步,所述的一种将单个数据水印嵌入多个数据库表的装置中所述载体模块获取参与水印嵌入的数据库表,作为水印载体,包括:
根据所述参与水印嵌入的数据库表,获取每个所述数据库表的主键以及参与水印嵌入的属性列。
进一步,所述的一种将单个数据水印嵌入多个数据库表的装置中所述分析嵌入模块根据数据库表名称生成伪随机序列,包括:
利用伪随机序列生成算法生成伪随机序列,公式如下:
S(K,R,r.P)=H(K‖H(K‖R.Name‖r.P))
其中R.Name表示数据库表名称,K表示密钥,R表示数据库表,r.P表示所述数据库表的主键。
进一步,所述的一种将单个数据水印嵌入多个数据库表的装置中所述验证模块基于水印检测算法根据数据库表名称验证所述水印,包括:
比对基于水印检测算法获得的数据库表名称与原数据库表名称是否一致,是则所述水印通过验证。
本发明的有益之处是:
本发明提供一种将单个数据水印嵌入多个数据库表的方法,支持多个数据库表的水印嵌入和检测,分散型水印嵌入,使得水印信息在单个数据库表中变得稀疏,更不容易被觉察,对数据修改引起的失真更小。尤其适合数据库中表较多,但每个表中数据量较少的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法流程示意图。
具体实施方式
元组(Tuple):指表中的一行数据,有的文献中叫向量。如三元组(a,b,c)指a,b,c三个变量按固定顺序组成的元素。
关系(Relation):指关系数据库中的数据库表。
参数符号:
η表示关系数据库中的元组总数,即数据库表的行数。
ν表示关系数据库中的属性总数且不含主键,即非主键列数。
ξ可用来标记属性的最低有效位(LSB)。
1/γ表示被标记的元组百分比,如γ=4表示某元组有25%的概率被选中。
K表示商家密钥。
L表示水印长度(比特数)。
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提供一种将单个数据水印嵌入多个数据库表的方法,获取参与水印嵌入的数据库表,作为水印载体,
根据数据库表名称生成伪随机序列,
遍历每个所述数据库表内元祖及每个所述数据库表,基于水印嵌入算法通过所述伪随机序列获得所述数据库表的嵌入位置,根据所述嵌入位置随机分散嵌入所述水印,
基于水印检测算法根据数据库表名称验证所述水印。
本发明方法根据多个数据库表的情况,将数据库表名称作为输入进行密码伪随机序列生成,并改进了水印嵌入算法,除进行数据库表内元祖的遍历还增加了数据库表间的外循环遍历,便于随机分散嵌入水印,并利用水印检测算法进行水印的检测。
具体应用中,在本发明方法的一些实施例中,进行多个数据库表的水印嵌入时,获取参与水印嵌入的数据库表,作为水印载体,包括:
根据所述参与水印嵌入的数据库表,获取每个所述数据库表的主键以及参与水印嵌入的属性列。还可以获取每个属性可以占用LSB中几个比特等信息。
根据数据库表名称生成伪随机序列,包括:
利用伪随机序列生成算法生成伪随机序列,公式如下:
S(K,R,r.P)=H(K‖H(K‖R.Name‖r.P))
其中R.Name表示数据库表名称,K表示密钥,R表示数据库表,r.P表示所述数据库表的主键。其中伪随机序列生成算法增加了R.Name作为输入参数,与其他输入参数密钥和数据库表主键一起计算哈希值,生成伪随机序列。
利用多表循环的方式遍历每个所述数据库表内元祖及每个所述数据库表,例如存在q个数据库表,用R1,R2,...,Rq表示,主键用Pi表示,1≤i≤q,假定Ri(1≤i≤q)有νi个属性列可以参与水印嵌入,用A1,0,...,Aq,νi-1(1≤j≤νi)表示该属性,则在R内利用foreach循环遍历R的所有元组,增加foreach循环遍历所有q个数据库表R1,R2,...,Rq,
基于水印嵌入算法通过所述伪随机序列获得所述数据库表的嵌入位置,根据所述嵌入位置随机分散嵌入所述水印,可参考代码如下:
S1(K,R,r.P)=S2(K,R,r.P)=S3(K,R,r.P)=S1(K,R,r.P)=S4(K,R,r.P)=S5(K,R,r.P)=H(K‖H(K‖R.Name‖r.P)),R.Name是数据库表名称。
基于水印检测算法根据数据库表名称验证所述水印,包括:
比对基于水印检测算法获得的数据库表名称与原数据库表名称是否一致,是则所述水印通过验证,代码可参考如下:
S1(K,R',r.P)=S2(K,R',r.P)=S3(K,R',r.P)=S1(K,R',r.P)=S4(K,R',r.P)=S5(K,R',r.P)=H(K‖H(K‖R'.Name‖r.P))。其中R'.Name是计算得到数据库表名称,与原始R.Name相同,则水印通过验证。
本发明还提供一种将单个数据水印嵌入多个数据库表的装置,包括载体模块、分析嵌入模块及验证模块,
所述载体模块获取参与水印嵌入的数据库表,作为水印载体,
所述分析嵌入模块根据数据库表名称生成伪随机序列,遍历每个所述数据库表内元祖及每个所述数据库表,基于水印嵌入算法通过所述伪随机序列获得所述数据库表的嵌入位置,根据所述嵌入位置随机分散嵌入所述水印,
所述验证模块基于水印检测算法根据数据库表名称验证所述水印。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
同样地,本发明装置支持多个数据库表的水印嵌入和检测,分散型水印嵌入,使得水印信息在单个数据库表中变得稀疏,更不容易被觉察,对数据修改引起的失真更小。尤其适合数据库中表较多,但每个表中数据量较少的情况。
需要说明的是,上述各流程和各装置结构中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (8)
1.一种将单个数据水印嵌入多个数据库表的方法,其特征是获取参与水印嵌入的数据库表,作为水印载体,
根据数据库表名称生成伪随机序列,
遍历每个所述数据库表内元祖及每个所述数据库表,基于水印嵌入算法通过所述伪随机序列获得所述数据库表的嵌入位置,根据所述嵌入位置随机分散嵌入所述水印,
基于水印检测算法根据数据库表名称验证所述水印。
2.根据权利要求1所述的一种将单个数据水印嵌入多个数据库表的方法,其特征是所述获取参与水印嵌入的数据库表,作为水印载体,包括:
根据所述参与水印嵌入的数据库表,获取每个所述数据库表的主键以及参与水印嵌入的属性列。
3.根据权利要求1或2所述的一种将单个数据水印嵌入多个数据库表的方法,其特征是所述根据数据库表名称生成伪随机序列,包括:
利用伪随机序列生成算法生成伪随机序列,公式如下:
S(K,R,r.P)=H(K‖H(K‖R.Name‖r.P))
其中R.Name表示数据库表名称,K表示密钥,R表示数据库表,r.P表示所述数据库表的主键。
4.根据权利要求1所述的一种将单个数据水印嵌入多个数据库表的方法,其特征是所述基于水印检测算法根据数据库表名称验证所述水印,包括:
比对基于水印检测算法获得的数据库表名称与原数据库表名称是否一致,是则所述水印通过验证。
5.一种将单个数据水印嵌入多个数据库表的装置,其特征是包括载体模块、分析嵌入模块及验证模块,
所述载体模块获取参与水印嵌入的数据库表,作为水印载体,
所述分析嵌入模块根据数据库表名称生成伪随机序列,遍历每个所述数据库表内元祖及每个所述数据库表,基于水印嵌入算法通过所述伪随机序列获得所述数据库表的嵌入位置,根据所述嵌入位置随机分散嵌入所述水印,
所述验证模块基于水印检测算法根据数据库表名称验证所述水印。
6.根据权利要求5所述的一种将单个数据水印嵌入多个数据库表的装置,其特征是所述载体模块获取参与水印嵌入的数据库表,作为水印载体,包括:
根据所述参与水印嵌入的数据库表,获取每个所述数据库表的主键以及参与水印嵌入的属性列。
7.根据权利要求5或6所述的一种将单个数据水印嵌入多个数据库表的装置,其特征是所述分析嵌入模块根据数据库表名称生成伪随机序列,包括:
利用伪随机序列生成算法生成伪随机序列,公式如下:
S(K,R,r.P)=H(K‖H(K‖R.Name‖r.P))
其中R.Name表示数据库表名称,K表示密钥,R表示数据库表,r.P表示所述数据库表的主键。
8.根据权利要求5所述的一种将单个数据水印嵌入多个数据库表的装置,其特征是所述验证模块基于水印检测算法根据数据库表名称验证所述水印,包括:
比对基于水印检测算法获得的数据库表名称与原数据库表名称是否一致,是则所述水印通过验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210123854.3A CN114491427A (zh) | 2022-02-10 | 2022-02-10 | 一种将单个数据水印嵌入多个数据库表的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210123854.3A CN114491427A (zh) | 2022-02-10 | 2022-02-10 | 一种将单个数据水印嵌入多个数据库表的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114491427A true CN114491427A (zh) | 2022-05-13 |
Family
ID=81479129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210123854.3A Pending CN114491427A (zh) | 2022-02-10 | 2022-02-10 | 一种将单个数据水印嵌入多个数据库表的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114491427A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795419A (zh) * | 2023-02-06 | 2023-03-14 | 山东正中信息技术股份有限公司 | 一种无损的数据库鲁棒数字水印方法及系统 |
-
2022
- 2022-02-10 CN CN202210123854.3A patent/CN114491427A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795419A (zh) * | 2023-02-06 | 2023-03-14 | 山东正中信息技术股份有限公司 | 一种无损的数据库鲁棒数字水印方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4406642B2 (ja) | データのフィンガプリント方法 | |
Li et al. | Tamper detection and localization for categorical data using fragile watermarks | |
Provos | Defending against statistical steganalysis | |
JP3749884B2 (ja) | 電子透かし埋め込み装置、電子透かし解析装置、電子透かし埋め込み方法、電子透かし解析方法及びプログラム | |
Chang et al. | Four-scanning attack on hierarchical digital watermarking method for image tamper detection and recovery | |
Li et al. | Constructing a virtual primary key for fingerprinting relational data | |
US6807634B1 (en) | Watermarks for customer identification | |
CN107992726B (zh) | 一种基于伪行伪列的水印处理和数据溯源方法 | |
US7730037B2 (en) | Fragile watermarks | |
CN102609890A (zh) | 一种图像数字水印嵌入及检测系统 | |
CN114491427A (zh) | 一种将单个数据水印嵌入多个数据库表的方法 | |
Rashidi | A novel watermarking scheme for detecting and recovering distortions in database tables | |
CN111241576A (zh) | 一种用于数据库分发保护的零水印方法 | |
Wu et al. | Sepmark: Deep separable watermarking for unified source tracing and deepfake detection | |
Constantin et al. | Watermill: an optimized fingerprinting system for highly constrained data | |
Shah et al. | Query preserving relational database watermarking | |
Mohanpurkar et al. | Applying watermarking for copyright protection, traitor identification and joint ownership: A review | |
Li | Database watermarking: A systematic view | |
Pleşca et al. | Efficient and robust perceptual hashing using log-polar image representation | |
Zaharis et al. | Lightweight steganalysis based on image reconstruction and lead digit distribution analysis | |
Tsolis et al. | Copyright and IPR management for cultural heritage digital content in peer-to-peer networks | |
CN114564704B (zh) | 一种基于位隐藏的最小化失真关系型数据库水印方法 | |
JP2020184663A (ja) | 高耐性電子透かし法 | |
KR102578606B1 (ko) | 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법 | |
CN114124393B (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 |