技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种事务日志密钥的管理方法、存储介质与设备与流程  >  正文

一种事务日志密钥的管理方法、存储介质与设备与流程

  • 国知局
  • 2024-09-14 14:49:20

本发明涉及数据库技术,特别是涉及一种事务日志密钥的管理方法、存储介质与设备。

背景技术:

1、在kingbasees数据库(简称kes数据库)中,事务日志其实指的是xlog日志(或称为wal日志),数据库系统会将所有事务对kes数据库的所有更新操作均记录下来,并在其被应用前写入xlog日志文件。如果kes数据库中未对xlog日志进行加密,在非法人员拿到了含有敏感用户数据的xlog日志的情况下,非法人员可以通过简单的xlog日志回放操作,即可获得敏感的用户数据,从而导致用户信息泄漏。因此,为了防止从xlog日志泄漏用户信息,需要xlog日志密钥对xlog日志进行加密,以保护用户信息。

2、然而,现有的xlog日志加密方法使用了一个固定的xlog密钥对xlog日志进行加密,以及使用固定的一级密钥对固定的xlog密钥进行加密。安全情况是只有用户自己知道一级密钥,其他人只能看到用一级密钥加密的xlog密钥密文。不过,一旦一级密钥和xlog密钥明文二者中的一个存在泄密风险,那么xlog日志中的用户数据就不再安全。

技术实现思路

1、本发明的一个目的是要提供一种事务日志密钥的管理方法,可以更新事务日志密钥明文或一级密钥,以提高事务日志密钥的安全性。

2、本发明一个进一步的目的是要实现在数据库集群内和集群外均能获取到事务日志密钥信息。

3、本发明另一个进一步的目的是要提高事务日志密钥信息更新的效率。

4、特别地,本发明提供了一种事务日志密钥的管理方法,包括:

5、为事务日志密钥预设版本信息,其中,版本信息包括事务日志密钥明文版本号和一级密钥版本号,事务日志密钥明文版本号与事务日志密钥对应设置,一级密钥版本号与用于加密事务日志密钥的一级密钥对应设置;

6、根据事务日志密钥明文和一级密钥的变动情况,判断版本信息是否变化;

7、若是,则根据变化后的版本信息更新事务日志密钥信息,其中,事务日志密钥信息包括事务日志密钥的版本信息和事务日志密钥密文。

8、可选地,在为事务日志密钥预设版本信息的步骤之后,管理方法还包括:

9、在事务日志的写流程,在确定事务日志需要加密的情况下,在事务日志内增设用于存储事务日志密钥信息的第一数据区域,其中,第一数据区域在对事务日志进行加密操作时无需加密;

10、将用于加密事务日志的事务日志密钥的事务日志密钥信息存储在事务日志的第一数据区域中。

11、可选地,根据变化后的版本信息更新事务日志密钥信息的步骤包括:

12、获取密钥文件内预先创建的多个数据行的数据,其中,密钥文件的每个数据行存储一组事务日志密钥信息;

13、以预设标记方法对与变化后的版本信息匹配的数据行进行标记;

14、将与被标记的数据行内存储的事务日志密钥信息作为数据库集群使用的事务日志密钥信息,以完成对事务日志密钥信息的更新操作。

15、可选地,密钥文件的每个数据行还存储有使用标记;并且

16、以预设标记方法对与变化后的版本信息匹配的数据行进行标记的步骤包括:

17、将与变化后的版本信息匹配的数据行内的使用标记置为true。

18、可选地,密钥文件的每个数据行还存储有crc校验值,crc校验值通过其所在数据行的版本信息以及和版本信息对应的一级密钥计算得到;并且

19、在根据变化后的版本信息更新事务日志密钥信息的步骤之后,管理方法还包括:

20、在数据库启动时,获取输入的一级密钥;

21、根据密钥文件内被标记的数据行内存储的版本信息和crc校验值,对输入的一级密钥进行检查。

22、可选地,在根据变化后的版本信息更新事务日志密钥信息的步骤之后,管理方法还包括:

23、获取需要更新事务日志密钥的事务日志段文件集合;

24、读取事务日志段文件集合中的每条已加密的事务日志及其中存储的第一事务日志密钥信息;

25、根据更新后的事务日志密钥信息和第一事务日志密钥信息,重新加密每条已加密的事务日志,并将更新后的事务日志密钥信息覆盖每条已加密的事务日志的第一数据区域内的内容,以完成对事务日志段文件集合的事务日志密钥更新操作。

26、可选地,根据更新后的事务日志密钥信息和第一事务日志密钥信息,重新加密每条已加密的事务日志的步骤包括:

27、根据与第一事务日志密钥信息中的第一一级密钥版本号对应的第一一级密钥,解密第一事务日志密钥信息中的第一事务日志密钥密文,得到与第一事务日志密钥信息中的第一事务日志密钥明文版本号对应的第一事务日志密钥明文;

28、根据第一事务日志密钥明文,解密每条已加密的事务日志,得到每条已加密的事务日志的明文;

29、根据与更新后的事务日志密钥信息中的事务日志密钥明文版本号对应的第二事务日志密钥明文,加密每条已加密的事务日志的明文,以完成对每条已加密的事务日志的重新加密操作。

30、可选地,根据事务日志密钥明文和一级密钥的变动情况,判断是否版本信息是否变化的步骤包括:

31、在一级密钥存在变动的情况下,更新一级密钥版本号;

32、在事务日志密钥明文存在变动的情况下,更新事务日志密钥明文版本号;以及

33、判断一级密钥版本号和事务日志密钥明文版本号中的任一个是否更新;

34、若是,则确定版本信息变化;

35、若否,则确定版本信息未变化。

36、根据本发明的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种的事务日志密钥的管理方法。

37、根据本发明的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的事务日志密钥的管理方法。

38、本发明的事务日志密钥的管理方法,通过为事务日志密钥预设版本信息,以为事务日志密钥明文和用于加密事务日志密钥明文的一级密钥均设置了对应的版本号,实现了清楚地区分变化前后的事务日志密钥明文和一级密钥。在此基础上,本发明的事务日志密钥的管理方法通过根据事务日志密钥明文和一级密钥的变动情况,判断版本信息是否变化,并在版本信息变化的情况下,根据变化后的版本信息更新事务日志密钥信息,以完成对kes集群内的事务日志密钥信息的切换,从而实现了在事务日志密钥明文和一级密钥出现定期或强制变动的情况下,更新kes集群使用的事务日志密钥明文和一级密钥,进而提高了事务日志密钥的安全性。

39、进一步地,本发明的事务日志密钥的管理方法,通过在事务日志的写流程中,在确定事务日志需要加密的情况下,在事务日志内增设无需加密的且用于存储事务日志密钥信息的第一数据区域,并将用于加密事务日志的事务日志密钥的事务日志密钥信息存储在事务日志的第一数据区域中,实现了使已加密的事务日志随身携带有事务日志密钥信息,并且实现了在可定期或强制更新kes集群使用的事务日志密钥明文和一级密钥的同时,在数据库集群内和集群外均能获取到事务日志密钥信息,提高了后续获取事务日志密钥的便捷性。

40、更进一步地,本发明的事务日志密钥的管理方法,通过获取密钥文件内预先创建的多个数据行中存储的事务日志密钥信息,再以预设标记方法对与变化后的版本信息匹配的数据行进行标记,并将与被标记的数据行内存储的事务日志密钥信息作为数据库集群使用的事务日志密钥信息,以完成对事务日志密钥信息的更新操作,实现了在线切换kes数据库集群中正在使用的事务日志密钥信息,无需停机,从而提高了事务日志密钥信息更新的效率。

41、根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

本文地址:https://www.jishuxx.com/zhuanli/20240914/296049.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。