本技术涉及数据安全,尤其涉及一种水印添加方法、水印提取方法、装置、设备、存储介质和程序产品。
背景技术:
1、数据安全日益成为企业乃至国家关注的重点。
2、然而,常见的数据加密方法普遍存在主键依赖,当主键被篡改或主键缺失时,用于加密的水印就失去了作用,并且,常见的水印安全性较差。
技术实现思路
1、本技术提供一种水印添加方法、水印提取方法、装置、设备、存储介质和程序产品,用以解决现有技术中水印安全性差的问题。
2、第一方面,本技术提供一种水印添加方法,包括:
3、响应于处理指令,从所述处理指令对应的原始数据中,提取出至少一个增强水印要素;
4、基于所述增强水印要素与预先设置的至少一个原始水印要素,确定密文水印;
5、按照预先设置的水印密度和数据量值,确定所述密文水印的添加位置;所述添加位置包括所述原始数据中的伪行位置、伪列位置、插入位置中的至少一种;
6、在所述添加位置插入所述密文水印,生成标记后的原始数据。
7、在其中一个实施例中,所述基于所述增强水印要素与预先设置的至少一个原始水印要素,确定密文水印,包括:
8、对至少一个所述增强水印要素和至少一个所述原始水印要素进行单独加密;
9、基于加密后的增强水印要素和加密后的原始水印要素,确定所述密文水印。
10、在其中一个实施例中,所述基于加密后的增强水印要素和加密后的原始水印要素,确定所述密文水印,包括:
11、将加密后的增强水印要素和加密后的原始水印要素进行随机组合,得到所述密文水印;
12、或将任意一个加密后的增强水印要素作为所述密文水印;
13、或将任意一个加密后的原始水印要素作为所述密文水印。
14、在其中一个实施例中,所述原始数据包括结构化数据;
15、所述按照预先设置的水印密度和数据量值,确定所述密文水印的添加位置,包括:
16、基于所述水印密度、所述数据量值和预先设置的密度阈值,计算所述密文水印的使用次数;
17、按照所述数据量值,从所述结构化数据中读取符合所述数据量值的第一待标记数据;
18、基于所述使用次数,在所述第一待标记数据中确定出所述添加位置。
19、在其中一个实施例中,所述添加位置包括所述第一待标记数据中的伪行位置;
20、所述基于所述使用次数,在所述第一待标记数据中确定出所述添加位置,包括:
21、随机生成符合所述使用次数的行号,并基于所述行号,从所述第一待标记数据中确定出第一标记行;
22、在各所述第一标记行后分别创建伪行,作为所述伪行位置。
23、在其中一个实施例中,所述添加位置包括所述第一待标记数据中的伪列位置;
24、所述基于所述使用次数,在所述第一待标记数据中确定出所述添加位置,包括:
25、随机生成符合所述使用次数的列号,并基于所述列号从所述第一待标记数据中确定出标记列;
26、在各所述标记列后分别创建伪列,作为所述伪列位置。
27、在其中一个实施例中,所述添加位置包括所述第一待标记数据中的插入位置;
28、所述基于所述使用次数,在所述第一待标记数据中确定出所述添加位置,包括:
29、随机生成符合所述使用次数的行号,并基于所述行号,从所述第一待标记数据中确定出第二标记行;
30、将各所述第二标记行的第一预设位置作为所述插入位置。
31、在其中一个实施例中,所述基于所述水印密度、所述数据量值和预先设置的密度阈值,计算所述密文水印的使用次数的步骤,采用如下公式处理得到所述使用次数:
32、
33、其中,k表示所述使用次数;n表示所述数据量值;n表示所述水印密度;t表示所述密度阈值。
34、在其中一个实施例中,所述原始数据包括纯文本数据;
35、所述基于所述使用次数,在所述第一待标记数据中确定出所述添加位置,包括:
36、按照所述数据量值,从所述纯文本数据中读取符合所述数据量值的第二待标记数据;
37、随机在所述第二待标记数据中确定出第三标记行;
38、将所述第三标记行中的第二预设位置作为所述插入位置。
39、在其中一个实施例中,所述原始数据包括富文本数据;
40、所述基于所述使用次数,在所述第一待标记数据中确定出所述添加位置,包括:
41、按照所述数据量值,从所述富文本数据中读取符合所述数据量值的第三待标记数据;
42、随机在所述第三待标记数据中确定出第四标记行;
43、将所述第四标记行中的第三预设位置作为所述插入位置。
44、在其中一个实施例中,所述在所述添加位置插入所述密文水印,生成标记后的原始数据,包括:
45、基于所述密文水印,生成隐藏水印;
46、将所述隐藏水印插入所述添加位置,得到标记后的原始数据。
47、第二方面,本技术还提供了一种水印提取方法,包括:
48、响应于提取指令,按照预设的读取数据量值,从所述提取指令对应的待处理数据中,获取待提取数据;所述待处理数据为按照上述任一实施例中的水印添加方法、处理得到的标记后的原始数据;
49、从所述待提取数据包含的添加位置处,提取所述待提取数据携带的密文水印;
50、解密所述密文水印,得到所述密文水印对应的原始水印要素、增强水印要素中的至少一种。
51、第三方面,本技术还提供了一种水印添加装置,包括:
52、提取模块,用于响应于处理指令,从所述处理指令对应的原始数据中,提取出至少一个增强水印要素;
53、水印确定模块,用于基于所述增强水印要素与预先设置的至少一个原始水印要素,确定密文水印;
54、位置确定模块,用于按照预先设置的水印密度和数据量值,确定所述密文水印的添加位置;所述添加位置包括所述原始数据中的伪行位置、伪列位置、插入位置中的至少一种;
55、插入模块,用于在所述原始数据的添加位置插入所述密文水印,生成标记后的原始数据。
56、第四方面,本技术还提供了一种水印提取装置,包括:
57、数据读取模块,用于响应于提取指令,按照预设的读取数据量值,从所述提取指令对应的待处理数据中,获取待提取数据;所述待处理数据为按照权利要求1-11中任一项所述的水印添加方法、处理得到的标记后的原始数据;
58、水印提取模块,用于从所述待提取数据包含的添加位置处,提取所述待提取数据携带的密文水印;
59、解密模块,用于解密所述密文水印,得到所述密文水印对应的原始水印要素、增强水印要素中的至少一种。
60、第五方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的水印添加方法或水印提取方法。
61、第六方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的水印添加方法或水印提取方法。
62、第七方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序产品被处理器执行时实现上述任一实施例所述的水印添加方法或水印提取方法。
63、上述水印添加方法、水印提取方法、装置、设备、存储介质和程序产品,能够在预先设置的原始水印要素的基础上,基于原始数据生成多个特制的增强水印要素,以使最终生成的密文水印能够体现出原始数据的特征,保证了密文水印的特殊性和可辨认性,并且,能够采用在原始数据中创建伪行、伪列或直接插入的方式,对原始数据进行多样化的水印标记,无主键依赖,能够有效防止密文水印被恶意伪造和篡改,从而提高原始数据被使用过程中的安全防护能力,具有安全性能高、数据损失小且不容易被破坏等特点。