一种数据库安全审计记录的存储方法与流程

文档序号:20702509发布日期:2020-05-12 15:55阅读:336来源:国知局
一种数据库安全审计记录的存储方法与流程

本发明创造属于计算机应用领域,尤其是涉及一种数据库安全审计记录的存储方法。



背景技术:

中国国家标准gb/t25069-2010(信息安全技术术语)定义:安全审计是对信息系统的各种事件及行为实行检测、信息采集、分析,并针对特定事件及行为采取相应的动作。

数据库安全审计特性允许监视用户活动,发现未获授权的用户进行的任何恶意活动。只要用户知道自己的活动可能受到安全审计,数据库安全审计机制就能对那些不受欢迎的活动产生威慑。

每当数据库服务器遇到可审计的事件,就生成一条数据库安全审计记录,并记录在计算机网络中指定目录下的审计文件内。已获得授权的用户可以打开审计文件,有可能误改或损坏审计文件。



技术实现要素:

有鉴于此,本发明创造旨在克服上述现有技术中存在的缺陷,提出一种数据库安全审计记录的存储方法。

为达到上述目的,本发明创造的技术方案是这样实现的:

一种数据库安全审计记录的存储方法,包括:

s1、当数据库服务器识别出可审计事件,生成一条数据库安全审计记录时,用散列值标识该条数据库安全审计记录,使每一条数据库安全审计记录对应唯一的散列值;

s2、将多条数据库安全审计记录打包成数据库安全审计记录块;

s3、采用在两个节点之间直接进行网络通信的点对点协议对数据库安全审计记录块进行加密传输,并对数据库安全审计记录块的所有权进行验证;在生成新数据库安全审计记录块后,生成该数据库安全审计记录块的节点通过点对点网络将生成的数据库安全审计记录块广播到全网其他节点;

s4、接收数据库安全审计记录块的节点对数据库安全审计记录块进行有效性验证,将有效的数据库安全审计记录块接到数据库安全审计记录链上,并将有效的数据库安全审计记录块继续向邻近节点转发;

s5、对不同节点的数据库安全审计记录链进行一致性验证;

s6、在各个节点存储数据库安全审计记录链的完全备份,每个数据库安全审计记录块以平衡二叉树结构存储多条数据库安全审计记录。

进一步的,所述步骤s1中数据库安全审计记录的数据结构包括:

散列值,该数据库安全审计记录的唯一标识;

审计事件,用于标识事件代码;

时间戳,用于标识发生审计事件的时间;

主机名,用于标识执行审计事件的主机名称;

数据库服务器名,用于标识审计事件运行在其上的数据库服务器名称;

用户名,用于标识请求审计事件的用户登录名称;

附加字段,用于标识数据库、表等的任意字段,用于数据库安全审计分析。

进一步的,所述步骤s2中数据库安全审计记录块的具体生成方法如下:

s21、数据库安全审计记录块由数据库安全审计记录块头和数据库安全审计记录块体组成;数据库安全审计记录块头包含本数据库安全审计记录块的散列值、时间戳、平衡二叉树根、以及前一数据库安全审计记录块的散列值;数据库安全审计记录块体包含若干条数据库安全审计记录;

s22、将若干条数据库安全审计记录以一棵平衡二叉树的结构存储在数据库安全审计记录块体中,平衡二叉树的每个叶子都是一条数据库安全审计记录的散列值;

s23、递归地对每两个数据库安全审计记录的散列值进行散列运算,得到一个新的散列值,并将新的散列值存入平衡二叉树中,直到两两结合最终只有一个散列值,即平衡二叉树根为止。

进一步的,所述步骤s4中,数据库安全审计记录链是按数据库安全审计记录块产生时间的先后顺序,将数据库安全审计记录块从后向前有序连接起来的一种数据结构。

进一步的,所述步骤s4中数据库安全审计记录块的验证方法如下:

s41、采用非对称加密算法进行数据库安全审计记录块的所有权认证;非对称加密算法需要公开密钥和私有密钥两个密钥,即一个节点的公开密钥是对外公开的,私有密钥是保密的,其他节点不能通过公开密钥推算出对应的私有密钥;

s42、按照预定义的标准对新数据库安全审计记录块的时间戳、数据库安全审计记录结构进行校验。

进一步的,所述步骤s5中数据库安全审计记录链的验证方法如下:采用权益证明共识算法对不同节点的数据库安全审计记录链进行一致性验证。

相对于现有技术,本发明创造具有以下优势:

本发明创造的有益效果为:点对点网络中的多个节点共同存储数据库安全审计记录,每一个节点都存储完整的数据库安全审计记录链,都可以参与数据库安全审计记录块的有效性验证,对单个节点上数据库安全审计记录链的修改是无效的,且权益证明共识算法确保这个节点的错误会被其他节点共同修正;采用非对称加密算法进行数据库安全审计记录块的所有权认证,确保数据库安全审计记录块传输和访问的安全性。本发明创造通过加密机制和共识机制,在点对点网络中实现数据库安全审计记录的存储,保证数据库安全审计记录不可篡改、不可伪造。

附图说明

构成本发明创造的一部分的附图用来提供对本发明创造的进一步理解,本发明创造的示意性实施例及其说明用于解释本发明创造,并不构成对本发明创造的不当限定。在附图中:

图1为本发明创造实施例所述数据库安全审计记录的存储流程图;

图2为本发明创造实施例中数据库安全审计记录的数据结构示意图;

图3为本发明创造实施例中数据库安全审计记录链的结构示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明创造中的实施例及实施例中的特征可以相互组合。

在本发明创造的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明创造和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明创造的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明创造的描述中,除非另有说明,“多个”的含义是两个或两个以上。

在本发明创造的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明创造中的具体含义。

下面将参考附图并结合实施例来详细说明本发明创造。

本发明创造提出了一种数据库安全审计记录的存储方法,如图1至图3所示,用于保证数据库安全审计记录不可篡改、不可伪造,为了达到上述目的,本发明创造提供的技术方案是:采用点对点传输、共识算法、加密算法技术,实现数据库安全审计记录(以下简称“审计记录”)的存储。

(1)数据库安全审计记录块(以下简称“审计记录块”)是打包的若干条审计记录。数据库安全审计记录链(以下简称“审计记录链”)是按审计记录块产生时间的先后顺序,将审计记录块从后向前有序连接起来的一种数据结构。

(2)采用在两个节点之间直接进行网络通信的点对点协议,网络中无中心节点,每个节点都对等地传输审计记录块。

(3)采用非对称加密算法进行审计记录块的所有权认证,保证审计记录块传输的安全。

(4)每一节点都存有审计记录链的完全备份,以平衡二叉树结构存储审计记录。

(5)采用权益证明共识算法,对不同节点的审计记录链进行一致性验证。

具体的,一种数据库安全审计记录的存储方法,如图1所示,包括:

s1、当数据库服务器识别出可审计事件,生成一条审计记录时,用散列值标识该条审计记录,使每一条审计记录对应唯一的散列值;

s2、将多条审计记录打包成审计记录块;当审计记录条数达到上限时,或者,当达到打包时限时,打包成新的审计记录块;通过审计记录打包机制,可以有效降低点对点网络节点的加密、传播和验证处理的频度;

s3、采用在两个节点之间直接进行网络通信的点对点协议对审计记录块进行加密传输,并对审计记录块的所有权进行验证;在生成新审计记录块后,生成该审计记录块的节点通过点对点网络将生成的审计记录块广播到全网其他节点;在点对点网络中,没有中心节点,每个节点都是对等的,共同为全网提供服务,每个节点都可以作为服务端响应请求,也可以作为客户端使用其他节点提供的服务,每个节点都承担网络路由,具有验证审计记录块和传播审计记录块的功能;通过使每个节点都参与审计记录块的有效性验证,保证审计记录的不可篡改性;

s4、接收审计记录块的节点对审计记录块进行有效性验证,将有效的审计记录块接到审计记录链上,并将有效的审计记录块继续向邻近节点转发;具体的,审计记录链由连接起来的审计记录块组成;如果审计记录块有效,则将其接到审计记录链上,并继续向邻近节点转发;如果审计记录块无效,则立即废弃;

s5、对不同节点的审计记录链进行一致性验证;

s6、在各个节点存储审计记录链的完全备份,并以平衡二叉树结构存储多条审计记录。

所述步骤s1中审计记录的数据结构,如图2所示,包括:散列值,该审计记录的唯一标识;审计事件,用于标识事件代码;时间戳,用于标识发生审计事件的时间;主机名,用于标识执行审计事件的主机名称;数据库服务器名,用于标识审计事件运行在其上的数据库服务器名称;用户名,用于标识请求审计事件的用户登录名称;附加字段,用于标识数据库、表等的任意字段,用于数据库安全审计分析;采用上述审计记录数据结构,既利于将多条审计记录组织成审计记录块体,也利于收集数据库可审计事件的信息,开展数据库安全审计分析。

所述步骤s2中审计记录块的具体生成方法如下:

s21、一段时间后便会对多条审计记录进行打包;审计记录块由审计记录块头和审计记录块体组成;审计记录块头包含本审计记录块的散列值、时间戳、平衡二叉树根、以及前一审计记录块的散列值;审计记录块体包含若干条审计记录;

s22、将若干条审计记录以一棵平衡二叉树的结构存储在审计记录块体中,平衡二叉树的每个叶子都是一条审计记录的散列值;

s23、递归地对每两个审计记录的散列值进行散列运算,得到一个新的散列值,并将新的散列值存入平衡二叉树中,直到两两结合最终只有一个散列值(即平衡二叉树根)为止,平衡二叉树根就是这些审计记录的数字指纹;如果两棵平衡二叉树的根一致,则这两棵树必然相同;散列算法把任意长度的输入变换成固定长度的散列值输出,散列值的空间通常远小于输入的空间,且根据散列值无法反推出输入的内容;散列算法不仅利于提高存储和传输效率,也利于提高之后验证处理的效率。

所述步骤s4中,如图3所示,审计记录链是按审计记录块产生时间的先后顺序,将审计记录块从后向前有序连接起来的一种数据结构。

所述步骤s4中审计记录块的验证方法如下:

s41、采用非对称加密算法进行审计记录块的所有权认证;非对称加密算法需要公开密钥和私有密钥两个密钥,即一个节点的公开密钥是对外公开的,私有密钥是保密的,其他节点不能通过公开密钥推算出对应的私有密钥;例如,如果使用公开密钥加密明文,则只有对应的私有密钥才能解密密文;如果使用私有密钥加密明文,则只有对应的公开密钥才能解密密文;非对称加密算法可使两个节点在不安全的网络中交换信息,安全地达成信息的一致,提高了点对点网络传输的安全性。

s42、按照预定义的标准对新审计记录块的时间戳、审计记录结构进行校验。

所述步骤s5中审计记录链的验证方法如下:采用权益证明共识算法对不同节点的审计记录链进行一致性验证。共识机制就是在不同节点之间建立信任,获取权益的数学算法;在点对点网络中,每个节点都存有审计记录链的完全备份,采用权益证明共识算法对不同节点的审计记录链进行一致性验证;点对点网络中的所有节点将持有的权益放入共识机制中,成为验证者;权益证明共识算法在这些验证者中根据验证者投入权益的多少选中节点,使之有权利产生下一个审计记录块。

本发明创造的有益效果为:点对点网络中的多个节点共同存储审计记录,每一个节点都存储完整的审计记录链,都可以参与审计记录块的有效性验证,对单个节点上审计记录链的修改是无效的,且权益证明共识算法确保这个节点的错误会被其他节点共同修正;采用非对称加密算法进行审计记录块的所有权认证,确保审计记录块传输和访问的安全性。本发明创造通过加密机制和共识机制,在点对点网络中实现审计记录的存储,保证审计记录不可篡改、不可伪造。

以上所述仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明创造的保护范围之内。

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