一种数据库加密后的审计处理方法和装置与流程

文档序号:27234686发布日期:2021-11-03 18:18阅读:339来源:国知局
一种数据库加密后的审计处理方法和装置与流程

1.本技术涉及到数据处理领域,具体而言,涉及一种数据库加密后的审计处理方法和装置。


背景技术:

2.在一些数据库中支持高级加密,例如,在oracle中明数据加密包括列加密和表空间加密,这就是一种高级加密。在高级加密中,表空间加密可以加密整个表空间,该表空间里创建的对象加密和自动解密,加密表空间里的所有数据以加密的格式被存储在磁盘上;有必要的权限来查看或修改的授权用户可以透明解密数据。表空间的密钥单独保存。
3.另外,还有一种情况,是在数据传输过程中还有可能进行的加密,上述加密方式,对于数据库来说是比较安全的,但是对于数据审计来说在现有技术中没有获取高级加密密钥的方式,因此,无法对于高级加密的数据库内容进行审计。


技术实现要素:

4.本技术实施例提供了一种数据库加密后的审计处理方法和装置,以至少解决现有技术中无法对高级加密的数据库中的数据进行审计的问题。
5.根据本技术的一个方面,提供了一种数据库加密后的审计处理方法,包括:从待审计的会话中抓取与数据库进行交互的数据包,其中,抓取到数据包用于审计;判断所述数据包中的数据是否为加密数据,如果是加密数据则获取所述会话的标识信息;在所述数据库存储密钥的空间中查找该标识信息所对应的密钥;使用所述会话的标识信息对应的密钥对抓取到的基于所述会话的数据包进行解密;将解密后的所述数据包发往审计功能进行审计。
6.进一步地,在所述数据库存储密钥的空间中查找该标识信息所对应的密钥包括:使用预先配置的账号在所述数据库存储密钥的空间中查找所述标识信息对应的密钥,其中,所述预先配置的账号是配置在所述数据库上的,所述预先配置的账号与所述数据库为互信账号,其中,所述互信账号具有查找密钥的权限。
7.进一步地,在所述数据库存储密钥的空间为数据库中的一张表的情况下,所述预先配置的账号预先被赋予读取所述表的权限。
8.进一步地,还包括:将未解密的所述数据包和所述密钥发往所述审计功能进行保存。
9.根据本技术的另一个方面,还提供了一种数据库加密后的审计处理装置,包括:抓取模块,用于从待审计的会话中抓取与数据库进行交互的数据包,其中,抓取到数据包用于审计;判断模块,用于判断所述数据包中的数据是否为加密数据,如果是加密数据则获取所述会话的标识信息;查找模块,用于在所述数据库存储密钥的空间中查找该标识信息所对应的密钥;解密模块,用于使用所述会话的标识信息对应的密钥对抓取到的基于所述会话的数据包进行解密;发送模块,用于将解密后的所述数据包发往审计功能进行审计。
10.进一步地,所述查找模块用于:使用预先配置的账号在所述数据库存储密钥的空间中查找所述标识信息对应的密钥,其中,所述预先配置的账号是配置在所述数据库上的,所述预先配置的账号与所述数据库为互信账号,其中,所述互信账号具有查找密钥的权限。
11.进一步地,在所述数据库存储密钥的空间为数据库中的一张表的情况下,所述预先配置的账号预先被赋予读取所述表的权限。
12.进一步地,所述发送模块还用于:将未解密的所述数据包和所述密钥发往所述审计功能进行保存。
13.根据本技术的另一个方面,还提供了一种处理器,用于运行软件,所述软件用于执行上述的方法。
14.根据本技术的另一个方面,还提供了一种存储器,用于存储软件,所述软件用于执行上所述的方法。
15.在本技术实施例中,采用了从待审计的会话中抓取与数据库进行交互的数据包,其中,抓取到数据包用于审计;判断所述数据包中的数据是否为加密数据,如果是加密数据则获取所述会话的标识信息;在所述数据库存储密钥的空间中查找该标识信息所对应的密钥;使用所述会话的标识信息对应的密钥对抓取到的基于所述会话的数据包进行解密;将解密后的所述数据包发往审计功能进行审计。通过本技术解决了现有技术中无法对高级加密的数据库中的数据进行审计的问题,为审计数据库中高级加密的数据提供了可能。
附图说明
16.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是根据本技术实施例的数据库加密后的审计处理方法的流程图。
具体实施方式
17.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
18.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
19.在本实施例中提供了一种数据库加密后的审计处理方法,图1是根据本技术实施例的数据库加密后的审计处理方法的流程图,如图1所示,该流程包括如下步骤:步骤s102,从待审计的会话中抓取与数据库进行交互的数据包,其中,抓取到数据包用于审计;步骤s104,判断所述数据包中的数据是否为加密数据,如果是加密数据则获取所述会话的标识信息;步骤s106,在所述数据库存储密钥的空间中查找该标识信息所对应的密钥;在一个可选的实施方式中,可以使用预先配置的账号在所述数据库存储密钥的空间中查找所述标识信息对应的密钥,其中,所述预先配置的账号是配置在所述数据库上的,所述预先配置的账号与所述数据库为互信账号,其中,所述互信账号具有查找密钥的权限。
20.存储密钥的空间可能存在多种方式,在所述数据库存储密钥的空间为数据库中的一张表的情况下,所述预先配置的账号预先被赋予读取所述表的权限。
21.步骤s108,使用所述会话的标识信息对应的密钥对抓取到的基于所述会话的数据包进行解密;由于解密的过程会消耗资源,在一个可以选择增加的实施方式中,抓取数据包使用第一进程,对抓取到的数据进行解密可以使用第二进程,其中,所述第一进程和所述第二进程为不同的进程。这样可以有效提高解密速度。可选地,还可判断所述第二进程占用的资源的情况,如果所述第二进程占用的计算资源大于阈值,则说明解密消耗了大量的资源,此时可以将未解密的数据包发往另一个服务器中的解密服务,在发送未解密数据包的时候,将获取到的密钥也发往所述另一个服务器中的解密服务。这样可以使用单独的服务器进行解密提高解密速度。
22.使用默认的解密算法进行解密,其中,所述解密算法是预先从所述数据库获取到的。在使用所述默认的解密算法解密失败的情况下,获取所述会话信息中会话标识,根据所述会话标识从所述数据库中获取解密算法,如果获取到对应的解密算法,则使用该解密算法进行解密。
23.在无法获取到解密算法、或者无法获取到解密秘钥、或者解密失败的情况下,从所述会话中获取访问数据库的访问方,并将所述访问方的信息(例如,所述访问方发起访问所使用的网络地址信息、所述访问方访问所述数据库使用的用户名和密码等)发送至所述审计功能进行保存。
24.作为另一个可选的实施方式,在所述数据库中可能会使用跟访问用户相关的秘钥。例如,预设待加密的数据库表的加密密钥,该数据库表中的数据在传输时可能会被加密密钥加密,其中,待加密的数据库表对应多个用户,每个用户对应一个用户密钥,每个用户的用户密钥通过每个用户的解密参数与加密密钥关联,每个用户的解密参数根据每个用户的用户密钥与加密密钥确定;根据加密密钥,确定待加密的数据库表中每个数据项的第一数据密钥和第二数据密钥;根据第一数据密钥和第二数据密钥,基于3des加密算法,对待加密的数据库表的每个数据项进行加密处理。
25.在这种方式中,需要从所述会话中获取该用户的标识信息,然后使用用户的标识信息从所述数据库中获取该用户对应的用户密钥,再结合上述获取到的会话标识对应的秘钥,对数据进行解密处理。
26.或者如果在数据库中无法查找到该用户对应的用户密钥的情况下,抓取访问数据库的访问方向数据库发送的请求消息,对请求消息进行协议解析,从解析结果中获取该用户对应的用户密钥。
27.在另外一种情况下,如果数据库加密使用了库外密码,则对所述访问方与所述数据库进行数据交互所有消息进行协议解析,从所述协议解析中获取库外密码获取的地址,根据所述地址获取所述库外面。
28.在另一种加密方式中,数据库加密方法包括如下步骤:至少部分基于所述数据表的元信息获得列密钥的步骤;至少部分基于在数据块上记录所述数据值的位置获得行标识符的步骤;至少部分基于所述数据值和所述数据值的位置信息生成用于验证所述加密数据值的解密数据值的完整性的与所述加密数据值匹配的哈希值的步骤;以及决定将所述加密
数据值和所述哈希值记录的步骤,所述数据值的位置信息包括所述行标识符和所述列密钥中的至少一种。在该可选的实施方式中,使用了表秘钥对表进行了加密。在该加密方式中还使用了列秘钥,对于这种数据的审计根据session获取到的表对应的密钥之后,从数据库中获取表的标识,然后根据表的标识从数据库中获取该表的标识对应的所有的列密钥。获取到列密钥和表密钥之后,对表密钥和列密钥对数据包进行解锁。
29.步骤s110,将解密后的所述数据包发往审计功能进行审计。
30.作为一个可选的实施方式,还可以将未解密的所述数据包和所述密钥发往所述审计功能进行保存。
31.通过上述步骤,解决了现有技术中无法对高级加密的数据库中的数据进行审计的问题,为审计数据库中高级加密的数据提供了可能。在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
32.这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
33.在本实施例中就提供了这样的一种装置,该装置被称为是数据库加密后的审计处理装置,该装置包括:抓取模块,用于从待审计的会话中抓取与数据库进行交互的数据包,其中,抓取到数据包用于审计;判断模块,用于判断所述数据包中的数据是否为加密数据,如果是加密数据则获取所述会话的标识信息;查找模块,用于在所述数据库存储密钥的空间中查找该标识信息所对应的密钥;解密模块,用于使用所述会话的标识信息对应的密钥对抓取到的基于所述会话的数据包进行解密;发送模块,用于将解密后的所述数据包发往审计功能进行审计。
34.该装置用于实现上述方法中的功能,该装置中的每个模块与方法实施例中的每个步骤相对应,已经进行过说明的,在此不再赘述。
35.例如,所述查找模块用于:使用预先配置的账号在所述数据库存储密钥的空间中查找所述标识信息对应的密钥,其中,所述预先配置的账号是配置在所述数据库上的,所述预先配置的账号与所述数据库为互信账号,其中,所述互信账号具有查找密钥的权限。可选地,在所述数据库存储密钥的空间为数据库中的一张表的情况下,所述预先配置的账号预先被赋予读取所述表的权限。
36.又例如,所述发送模块还用于:将未解密的所述数据包和所述密钥发往所述审计功能进行保存。
37.本实施例可以应用在各种数据库中,例如,orcale 高级安全加密之后,进行审计的时候需要进行解密。在数据库上建立一个账号,让数据库与该账号建立数据互信。数据库中存在一个方式,拿到数据库解析所需要的真实密钥,然后使用真实密钥对加密数据进行解密。取得真实密钥的方式有很多中,在本实施例中使用session 的标志信息去数据库中查询该会话的密钥,使用该密钥可以对流量进行解密,从而进行操作。建立互信之后能访问数据中的保存真实密钥的表格,从而才能找到会话对应的密钥。
38.上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读
介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd

rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
39.以上仅为本技术的实施案例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1