关系型数据库水印嵌入、溯源方法与流程

文档序号:36478921发布日期:2023-12-25 06:57阅读:55来源:国知局
关系型数据库水印嵌入的制作方法

本发明属于数据库安全,具体涉及一种关系型数据库水印嵌入、溯源方法。


背景技术:

1、随着数据作为生产要素的重要性凸显,数据安全的地位不断提升,尤其随着《数据安全法》的正式颁布,数据安全在国家安全体系中的重要地位得到了进一步明确。发展数字经济、加快培育发展数据要素市场,必须把保障数据安全放在突出位置。保障数据安全方法有多种,数据加密、数据脱敏、数据沙箱等技术手段都能有效提供数据安全保障;但对于数据分发与共享这类场景,有时需要提供明文数据,不能利用已有数据加密、脱敏,甚至数据沙箱技术,或者加密脱敏数据也需要禁止随意外流,这些场景如何保障数据被泄漏后能进行溯源取证,而数据水印提供了一种较好的解决方法;关系型数据作为最常见的数据类型之一,如何通过数据水印进行确权和溯源,是迫切需要研究的课题。

2、相关技术中,现有不少常用关系型数据库水印嵌入方法,包括伪行、伪列、更改字段数据内容等;伪行需要新增一行记录,影响数据记录总数;伪列需要新增列,较为明显;因此,伪行、伪列这两种方案虽然很简单易操作,但都很容易被发现,从而水印信息易被破坏,失去溯源追责功能。更改字段数据内容,如果只是简单的嵌入水印信息会很容易发现内容变化了,而且表字段众多,字段嵌入水印时需要人工根据具体表具体字段情况确定哪些字段可以嵌入水印,每个表都需要单独逐字段判断、操作,比较麻烦,操作性和通用性较弱。


技术实现思路

1、有鉴于此,本发明的目的在于克服现有技术的不足,提供一种关系型数据库水印嵌入、溯源方法,以解决现有技术中字段嵌入水印时操作比较麻烦的问题。

2、为实现以上目的,本发明采用如下技术方案:一种关系型数据库水印嵌入、溯源方法,包括:

3、接收明文水印信息、关系型数据库连接信息及表名;

4、根据所述关系型数据库连接信息及表名连接数据库,获取数据库表字段定义并识别所述表字段定义的字符字段;

5、对识别出来的字符字段,抽样获取出数据值,逐个依据识别规则,识别字段类别;

6、依据识别出的字段类别,判断是否为关键字段,识别出其中的非关键字段作为水印可嵌入字段;

7、将需要添加的明文水印信息通过国密算法加密成密文信息;

8、根据水印可嵌入字段的总数量n,将密文信息拆分成n份,再分别将n份水印信息转码为不可见的字符串;其中,不可见的字符串为零宽度字符串;

9、将获得的n份不可见字符串,分别追加到n个可嵌入水印的字段值后面,完成水印嵌入;

10、将加密水印信息上传区块链平台保存。

11、进一步的,所述明文水印信息,包括标识数据所属权限或数据当前责任人的明文信息;

12、所述关系型数据库连接信息,包括连接关系型数据库使用的连接地址、用户、密码等必须信息;

13、所述表名,包括需要增加水印信息的表的英文名称。

14、进一步的,所述连接数据库,获取数据库表字段定义,并识别所述表字段定义的字符字段,包括:

15、连接到关系型数据库,

16、根据需要添加水印的表名,获取数据库表对应的表字段及字段类型定义;

17、从获取的数据库表字段及字段类型定义中选择所有字符类型的字段。

18、进一步的,所述对识别出来的字符字段,抽样获取出数据值,逐个依据识别规则,识别字段类别,包括:

19、查询选择的所有字符类型的字段的字段值,并在每个字段抽样一条非空数据值;

20、建立并初始化定义识别规则库;其中,所述识别规则库包含数据类别、识别规则;数据类别包括作为主键或用于数据条件查询或关联查询的字段类别;识别规则是识别所述数据类别的算法定义;

21、利用所述识别规则库,识别抽样获取出的所述非空数据值,判定所属的字段类别。

22、进一步的,所述判断是否为关键字段,包括:

23、通过识别规则识别出的字段为可能的关键字段,不可以作为水印可嵌入字段,其他剩余字段作为可嵌入水印字段。

24、进一步的,所述将加密水印信息上传区块链平台保存,包括:

25、将完整加密水印信息上传到区块链平台保存留痕,保证数据的真实不可篡改,并作为泄密溯源的依据。

26、本技术实施例提供一种关系型数据库水印溯源方法,包括:

27、获取泄漏后需要溯源的数据内容,从所述数据内容中提取出包含的不可见字符串;

28、将提取出来的多个所述不可见字符串转化成加密字符串;

29、将每个加密字符串和区块链上保存的完整加密水印信息比对,获取到符合匹配预设值的水印信息和匹配度;

30、解密获取到的所述水印信息,获得明文水印信息,确定相应版权信息或泄密用户信息,结合所述匹配度,确定最终可信度;完成溯源。

31、进一步的,所述从所述数据内容中提取出包含的不可见字符串,包括:

32、从泄密的数据内容中,提取出含有的零宽度字符串,可能存在多个这样的字符串;

33、其中,所述提取为从数据内容中匹配零宽度字符串的特定字符标识,匹配上则是零宽度字符串,截取出作为水印内容,同一字段内容中获取的连续零宽度字符串作为一个整体形成一个水印片段;如果待提取内容中含多个字段内容,则可能提取出多份水印片段。

34、进一步的,所述将每个加密字符串和区块链上保存的完整加密水印信息比对,获取到符合匹配预设值的水印信息和匹配度,包括:

35、利用区块链平台保存的完整加密水印信息作为依据,将提取出来的多份水印片段与之比对,获取出一份匹配度最高的区块链上保存的加密水印信息;其中,所述匹配度最高,是指包含的本次提取出来的水印片段最多;并依据区块链上保存的加密水印信息的字符长度,和能匹配上的提取出来的加密水印片段的字符长度计算出匹配度。

36、进一步的,所述解密获取到的所述水印信息,获得明文水印信息,包括:

37、利用国密sm4对称加密算法解密密文,获得明文水印信息。

38、本技术实施例提供一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项水印嵌入方法的步骤或任一项溯源方法的步骤。

39、本技术实施例还提供一种计算机存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述任一项水印嵌入方法的步骤或任一项溯源方法的步骤。

40、本发明采用以上技术方案,能够达到的有益效果包括:

41、本发明提供一种关系型数据库水印嵌入、溯源方法,通过该方法可自动识别数据库表中可嵌入水印的字段,并自动完成水印以不可见字符方式嵌入。通过本方法只需传入明文水印信息和连接数据库的信息、表名,即可自动完成水印添加,具有非常强的通用性和可操作性;并且是以不可见字符,拆分成多个片段分别嵌入多个字段,具有不易被发现,不易被破坏的特性,即使局部被破坏也不影响溯源。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1