CN108446407B - 基于区块链的数据库审计方法和装置 - Google Patents

基于区块链的数据库审计方法和装置 Download PDF

Info

Publication number
CN108446407B
CN108446407B CN201810325766.5A CN201810325766A CN108446407B CN 108446407 B CN108446407 B CN 108446407B CN 201810325766 A CN201810325766 A CN 201810325766A CN 108446407 B CN108446407 B CN 108446407B
Authority
CN
China
Prior art keywords
information
database
audit information
database audit
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810325766.5A
Other languages
English (en)
Other versions
CN108446407A (zh
Inventor
赖宝华
周坤龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810325766.5A priority Critical patent/CN108446407B/zh
Publication of CN108446407A publication Critical patent/CN108446407A/zh
Application granted granted Critical
Publication of CN108446407B publication Critical patent/CN108446407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提出一种基于区块链的数据库审计方法和装置。该方法包括:获取数据库审计信息;将数据库审计信息存储到指定文件系统;计算数据库审计信息的摘要信息;将所述数据库审计信息的摘要信息和文件信息,按照区块链存储规则存储到区块链集群中,所述文件信息为所述数据库审计信息在所述指定文件系统中存储的相关信息。将数据库审计信息存储到指定文件系统,将数据库审计信息的摘要信息存入区块链集群,存入区块链集群中的数据量小,并且利用区块链集群的共识机制,可以防止篡改审计信息的摘要信息和文件信息,达到防止审计信息及其摘要信息被篡改的目的,有利于对数据库进行安全管理。

Description

基于区块链的数据库审计方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于区块链的数据库审计方法和装置。
背景技术
传统的数据库审计信息,例如用户登录、数据库访问及操作等信息,通常是记录到文件或者存储到另一个数据库中。
以文件或者数据库记录形式存储数据库审计信息,被篡改的风险较大不利于对数据库进行安全管理。
发明内容
本发明实施例提供一种基于区块链的数据库审计方法和装置,以解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种基于区块链的数据库审计方法,包括:
获取数据库审计信息,所述数据库审计信息是审计服务器对数据库服务器的用户行为数据进行监测而生成的信息;
将数据库审计信息存储到指定文件系统;
计算数据库审计信息的摘要信息;
将所述数据库审计信息的摘要信息和文件信息,按照区块链存储规则存储到区块链集群中,所述文件信息为所述数据库审计信息在所述指定文件系统中存储的相关信息。
结合第一方面,本发明实施例在第一方面的第一种实现方式中,计算数据库审计信息的摘要信息,包括:
采用哈希算法计算数据库审计信息的哈希值,将所述数据库审计信息的哈希值作为所述数据库审计信息的摘要信息。
结合第一方面的第一种实现方式,本发明实施例在第一方面的第二种实现方式中,将所述数据库审计信息的摘要信息和文件信息,按照区块链存储规则存储到区块链集群中,包括:
如果新区块未存满,则将所述数据库审计信息的哈希值和文件信息存储到所述新区块的默克尔树中。
结合第一方面的第一种实现方式,本发明实施例在第一方面的第三种实现方式中,将所述数据库审计信息的摘要信息和文件信息,按照区块链存储规则存储到区块链集群中,包括:
如果新区块已存满,则将新区块加入所述区块链集群的链尾,并向所述区块链集群中的其他区块广播所述新区块的哈希值,所述新区块中记录与所述新区块连接的前一区块的哈希值、所述新区块的哈希值和所述新区块的生成时间。
结合第一方面,本发明实施例在第一方面的第四种实现方式中,还包括:
如果接收到来自外部的审计信息查询请求,则对所述区块链集群的至少一个区块进行有效性检查;
从有效性检查成功的区块中,根据查询条件查询对应的数据库审计信息的摘要信息和文件信息;
根据查找到的数据库审计信息的文件信息从指定文件系统中读取所述数据库审计信息;
对从指定文件系统中读取的数据库审计信息进行哈希运算,将运算得到的哈希值与从区块中读取的摘要信息进行比较,以确定从指定文件系统中读取的数据库审计信息是否准确;
如果从指定文件系统中读取的数据库审计信息准确,根据从指定文件系统中读取的数据库审计信息生成审计报告。
结合第一方面或第一方面的任意一种实现方式,本发明实施例在第一方面的第六种实现方式中,还包括:
如果收到对数据库审计信息的修改请求,则启动共识机制,向所述区块链集群中的各节点发出修改请求,所述修改请求中包括需要修改的数据库审计信息的摘要信息和位置信息,所述区块链集群中的各节点包括审计节点、内部安全部门节点、内部审查节点、外部审查节点中的至少一种;
如果所述区块链集群中同意所述修改请求的节点的比例小于设定阈值,则拒绝所述修改请求。
第二方面,本发明实施例提供了一种基于区块链的数据库审计装置,包括:
获取模块,用于获取数据库审计信息,所述数据库审计信息是审计服务器对数据库服务器的用户行为数据进行监测而生成的信息;
第一存储模块,用于将数据库审计信息存储到指定文件系统;
计算模块,用于计算数据库审计信息的摘要信息;
第二存储模块,用于将所述数据库审计信息的摘要信息和文件信息,按照区块链存储规则存储到区块链集群中,所述文件信息为所述数据库审计信息在所述指定文件系统中存储的相关信息。
结合第二方面,本发明实施例在第二方面的第一种实现方式中,所述计算模块还用于采用哈希算法计算数据库审计信息的哈希值,将所述数据库审计信息的哈希值作为所述数据库审计信息的摘要信息。
结合第二方面的第一种实现方式,本发明实施例在第二方面的第二种实现方式中,所述第二存储模块还用于如果新区块未存满,则将所述数据库审计信息的哈希值和文件信息存储到所述新区块的默克尔树中。
结合第二方面的第一种实现方式,本发明实施例在第二方面的第三种实现方式中,所述第二存储模块还用于如果新区块已存满,则将新区块加入所述区块链集群的链尾,并向所述区块链集群中的其他区块广播所述新区块的哈希值,所述新区块中记录与所述新区块连接的前一区块的哈希值、所述新区块的哈希值和所述新区块的生成时间。
结合第二方面,本发明实施例在第二方面的第四种实现方式中,还包括:
检查模块,用于如果接收到来自外部的审计信息查询请求,则对所述区块链集群的至少一个区块进行有效性检查;
查询模块,用于从有效性检查成功的区块中,根据查询条件查询对应的数据库审计信息的摘要信息和文件信息;
读取模块,用于根据查找到的数据库审计信息的文件信息从指定文件系统中读取所述数据库审计信息;
比较模块,用于对从指定文件系统中读取的数据库审计信息进行哈希运算,将运算得到的哈希值与从区块中读取的摘要信息进行比较,以确定从指定文件系统中读取的数据库审计信息是否准确;
报表模块,用于如果从指定文件系统中读取的数据库审计信息准确,根据从指定文件系统中读取的数据库审计信息生成审计报告。
结合第二方面或第二方面的任意一种实现方式,本发明实施例在第二方面的第六种实现方式中,还包括:
共识模块,用于如果收到对数据库审计信息的修改请求,则启动共识机制,向所述区块链集群中的各节点发出修改请求,所述修改请求中包括需要修改的数据库审计信息的摘要信息和位置信息,所述区块链集群中的各节点包括审计节点、内部安全部门节点、内部审查节点、外部审查节点中的至少一种;
拒绝模块,用于如果所述区块链集群中同意所述修改请求的节点的比例小于设定阈值,则拒绝所述修改请求。
第三方面,本发明实施例提供了一种基于区块链的数据库审计设备,所述设备包括:
所述设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,基于区块链的数据库审计设备的结构中包括处理器和存储器,所述存储器用于存储支持基于区块链的数据库审计设备执行上述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述基于区块链的数据库审计设备还可以包括通信接口,用于与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储基于区块链的数据库审计设备所用的计算机软件指令,其包括用于执行上述方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:将数据库审计信息存储到指定文件系统,将数据库审计信息的摘要信息存入区块链集群,存入区块链集群中的数据量小,并且利用区块链集群的共识机制,可以防止篡改审计信息的摘要信息和文件信息,达到防止审计信息及其摘要信息被篡改的目的,有利于对数据库进行安全管理。
上述技术方案中的另一个技术方案具有如下优点或有益效果:利用区块链能够记录新区块的生成时间等信息,可以实现对数据库审计信息的溯源。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1示出根据本发明一实施例的基于区块链的数据库审计方法的流程图。
图2示出数据库审计信息生成过程的示意图。
图3示出区块链网络的示意图。
图4示出将数据库审计信息的哈希值存入区块链集群的示意图。
图5示出区块链的区块中默克尔树的示意图。
图6示出区块链的各区块的存储关系的示意图。
图7示出根据本发明另一实施例的基于区块链的数据库审计方法的流程图。
图8示出根据本发明一实施例的基于区块链的数据库审计装置的框图。
图9示出根据本发明一实施例的基于区块链的数据库审计装置的框图。
图10示出根据本发明一实施例的基于区块链的数据库审计设备的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1示出根据本发明一实施例的基于区块链的数据库审计方法的流程图。如图1所示,该基于区块链的数据库审计方法包括以下步骤:
101、获取数据库审计信息,所述数据库审计信息是审计服务器对数据库服务器的用户行为数据进行监测而生成的信息;
102、将数据库审计信息存储到指定文件系统;
103、计算数据库审计信息的摘要信息;
104、将所述数据库审计信息的摘要信息和文件信息,按照区块链存储规则存储到区块链集群中,所述文件信息为所述数据库审计信息在所述指定文件系统中存储的相关信息。
如图2所示,在数据库客户端(database client)使用数据库服务器(databaseserver)时,会产生用户行为数据。所述用户行为数据包括但不限于数据库客户端对所述数据库服务器的登陆、访问、读写、删除和修改等的至少一种操作进行监测得到的数据。审计服务器(audit server)既可以将登陆、访问、读写、删除和修改的所有操作的数据都作为审计信息,也可以只将异常操作的数据作为审计信息。例如,登陆、访问、读数据等不改变数据内容的操作的数据,不作为审计信息;而写数据、删除、修改、更新等涉及对数据库的内容进行了改变的操作的数据,作为审计信息。以下为几个具体的示例。
示例一,用户登陆数据库时,可以记录用户输入的用户名、登陆状态(如成功或失败)、登陆时间等用户登陆操作对应的行为数据。既可以将每一条用户登陆操作对应的行为数据作为审计信息,也可以在监测到异常登陆时,将异常登陆操作对应的行为数据作为审计信息。例如,监测到某一用户名短时间频繁登陆数据库很多次,可以记录该用户名以及登陆的时间或频率等作为审计信息。再如,某一用户名登陆时输入密码错误的次数超过设定次数,可以记录该用户名以及密码错误的次数等作为审计信息。再如,如果监测到某一用户名正常登陆,则不将该用户名此次登陆的信息作为审计信息。
示例二,用户请求删除数据库中的某些条目时,可以记录该用户的用户名、删除的条目的位置、删除数量等用户删除操作对应的行为数据。既可以将每一条用户删除操作对应的行为数据作为审计信息,也可以在监测到异常删除时,将异常删除操作对应的行为数据作为审计信息。例如,监测到某一用户名一次性删除的条目数量巨大如超过1000条,可以记录该用户名以及删除的位置、删除数量等。
在审计服务器生成审计日志(audit log)等审计信息后,根据审计日志可以生成审计报告。
如图3所示,为一种区块链网络的示意图。区块链是一个通过去中心化和去信任的分布式数据库,通过共识机制和加密算法可以有效杜绝记录的信息被篡改。并且,可以追溯到任意时刻。
可以将数据库审计信息存储到其他的指定文件系统中。例如本地的分布式文件系统或云端的分布式文件系统中。然后,将数据库审计信息的摘要信息和数据库审计信息在指定文件系统中存储的文件信息存储到区块链集群中。文件信息可以包括数据库审计信息在指定文件系统中的ID(标识)、时间戳、文件大小等信息。文件系统根据ID可以查找到数据库审计信息的存储位置。将数据库审计信息的摘要信息和文件信息存入区块链集群,可以确保数据库审计信息(例如用户登录、数据库访问及操作等信息)一经记录无法篡改,并且做到可追溯。因此,将审计信息的摘要信息保存到区块链集群中,后续生成的审计报告更加真实可靠。
在一种可能的实现方式中,步骤103包括:采用哈希算法计算数据库审计信息的哈希值,将所述数据库审计信息的哈希值作为所述数据库审计信息的摘要信息。
如图4所示,从审计服务器获取这些审计信息后,可以对这些审计信息进行哈希运算,将得到的哈希值发送至区块链集群中存储。区块链收到审计信息的哈希值后,可以将收到的哈希值先保存到区块链的某一区块中,然后发布到全网。
在一种可能的实现方式中,步骤104包括:
如果新区块未存满,则将所述数据库审计信息的哈希值和文件信息存储到所述新区块的默克尔树中。
例如,如果新区块的存储空间未满,可以在新区块的默克尔树(Merkle Tree)的叶子节点中保存收到的审计信息的哈希值,如图5所示。默克尔树的特点包括:叶子节点N1存储原始数据例如上述审计信息的摘要信息;叶子节点N1上层的子节点计算并保存该叶子节点的数据块的哈希值;再上层的子节点计算并保存与其连接的下层子节点的数据的哈希值,根节点计算并保存与其连接的子节点的数据的哈希值。根据默克尔树的特点,每次向新区块的默克尔树的叶子节点中添加新的审计信息的哈希值时,重新计算默克尔树中与新增叶子节点关联的各级子节点和根节点保存的哈希值。
在一种可能的实现方式中,步骤104还包括:
如果新区块已存满,则将新区块加入所述区块链集群的链尾,并向所述区块链集群中的其他区块广播所述新区块的哈希值,所述新区块中记录与所述新区块连接的前一区块的哈希值、所述新区块的哈希值和所述新区块的生成时间。
再如,如果新区块的存储空间已满,可以将该新区块作为一个整体加入区块链的链尾。并且,该新区块向区块链集群中所有的区块广播自身的哈希值,例如广播自身的默克尔树的根节点的数据。并且,还可以获取与该新区块连接的前一区块的哈希值。然后,在新区块中可以记录该新区块连接的前一区块的哈希值、该新区块的哈希值,并且还可以记录该新区块的生成时间等信息,如图6所示。
本发明实施例将数据库审计信息存储到指定文件系统,将数据库审计信息的摘要信息存入区块链集群,存入区块链集群中的数据量小,并且利用区块链集群的共识机制,可以防止篡改审计信息的摘要信息和文件信息,达到防止审计信息及其摘要信息被篡改的目的,有利于对数据库进行安全管理。此外,还可以利用区块链能够记录新区块的生成时间等信息,可以实现对数据库审计信息的溯源。例如,本发明实施例可以应用于百度云数据库RDS(Relational Database Service,关系型数据库服务),通过将云数据库的审计信息的摘要信息和文件信息存储到区块链系统中,确保数据库系统的审计信息无法篡改,可追溯。
图7示出根据本发明另一实施例的基于区块链的数据库审计方法的流程图。在上一实施例的基础上,如图7所示,该基于区块链的数据库审计方法还包括以下步骤:
201、如果接收到来自外部的审计信息查询请求,则对所述区块链集群的至少一个区块进行有效性检查;
202、从有效性检查成功的区块中,根据查询条件查询对应的数据库审计信息的摘要信息和文件信息;
203、根据查找到的数据库审计信息的文件信息从指定文件系统中读取所述数据库审计信息;
204、对从指定文件系统中读取的数据库审计信息进行哈希运算,将运算得到的哈希值与从区块中读取的摘要信息进行比较,以确定从指定文件系统中读取的数据库审计信息是否准确;
205、如果从指定文件系统中读取的数据库审计信息准确,根据从指定文件系统中读取的数据库审计信息生成审计报告。
在一种可能的实现方式中,所述查询条件包括需要查询的审计信息的时间范围、用户信息、地址信息和数据库信息中的至少一项。
例如,可以在查询请求中携带需要查询的审计信息的时间范围,例如:XX年X月至YY年Y月。然后可以在区块链集群中查询这个时间范围内的审计信息。其他的查询条件也是类似的,在此不再赘述。
在区块链集群中查询到符合条件的审计信息的摘要信息后,可以根据该摘要信息关联的文件信息,在指定文件系统中查找该摘要信息对应的审计信息。然后,计算查找到的审计信息的哈希值,再将计算的哈希值与从区块链集群中读取的该摘要信息进行比较。如果二者相同或者相似度大于阈值,可以表示该审计信息没有被篡改,属于真实可靠的审计信息。如果二者的不同或相似度小于阈值,表示该审计信息可能被篡改,不一定可靠。最后,数据库服务器可以根据真实可靠的审计信息审计报告,或者外部审查服务器可以根据真实可靠的审计信息对收到的审计报告进行检验。
在一种可能的实现方式中,该方法还包括:
301、如果收到对数据库审计信息的修改请求,则启动共识机制,向所述区块链集群中的各节点发出修改请求,所述修改请求中包括需要修改的数据库审计信息的摘要信息和位置信息,所述区块链集群中的各节点包括审计节点、内部安全部门节点、内部审查节点、外部审查节点中的至少一种;每个节点中可以包括多个区块。
302、如果所述区块链集群中同意所述修改请求的节点的比例小于设定阈值,则拒绝所述修改请求。
区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识机制。区块链共识机制的目标是使所有的诚实节点保存一致的区块链视图,同时满足一致性和有效性。其中,一致性是指所有诚实节点保存的区块链的前缀部分完全相同。有效性是指由某诚实节点发布的信息终将被其他所有诚实节点记录在自己的区块链集群中。
区块链集群的共识机制,可以要求必须大于一定比例,例如达到51%的节点同意,才能对某一信息进行修改。由于区块链集群中的各个节点的控制权可能分布在许多不同的使用者中,因此,想要许多节点共同同意修改是非常困难的。因此,记录到区块链集群中的信息通常是难以篡改,存储到区块链集群中的审计信息的摘要信息无法被篡改,安全性高。
图8示出根据本发明一实施例的基于区块链的数据库审计装置的框图。如图8所示,该基于区块链的数据库审计装置可以包括:
获取模块41,用于获取数据库审计信息,所述数据库审计信息是审计服务器对数据库服务器的用户行为数据进行监测而生成的信息;
第一存储模块42,用于将数据库审计信息存储到指定文件系统;
计算模块43,用于计算数据库审计信息的摘要信息;
第二存储模块45,用于将所述数据库审计信息的摘要信息和文件信息,按照区块链存储规则存储到区块链集群中,所述文件信息为所述数据库审计信息在所述指定文件系统中存储的相关信息。
在一种可能的实现方式中,所述计算模块还用于采用哈希算法计算数据库审计信息的哈希值,将所述数据库审计信息的哈希值作为所述数据库审计信息的摘要信息。
在一种可能的实现方式中,所述第二存储模块还用于如果新区块未存满,则将所述数据库审计信息的哈希值和文件信息存储到所述新区块的默克尔树中。
在一种可能的实现方式中,所述第二存储模块还用于如果新区块已存满,则将新区块加入所述区块链集群的链尾,并向所述区块链集群中的其他区块广播所述新区块的哈希值,所述新区块中记录与所述新区块连接的前一区块的哈希值、所述新区块的哈希值和所述新区块的生成时间。
图9示出根据本发明一实施例的基于区块链的数据库审计装置的框图。如图9所示,该基于区块链的数据库审计装置可以包括:
检查模块51,用于如果接收到来自外部的审计信息查询请求,则对所述区块链集群的至少一个区块进行有效性检查;
查询模块53,用于从有效性检查成功的区块中,根据查询条件查询对应的数据库审计信息的摘要信息和文件信息;
读取模块55,用于根据查找到的数据库审计信息的文件信息从指定文件系统中读取所述数据库审计信息;
比较模块57,用于对从指定文件系统中读取的数据库审计信息进行哈希运算,将运算得到的哈希值与从区块中读取的摘要信息进行比较,以确定从指定文件系统中读取的数据库审计信息是否准确;
报表模块58,用于如果从指定文件系统中读取的数据库审计信息准确,根据从指定文件系统中读取的数据库审计信息生成审计报告。
在一种可能的实现方式中,还包括:
共识模块61,用于如果收到对数据库审计信息的修改请求,则启动共识机制,向所述区块链集群中的各节点发出修改请求,所述修改请求中包括需要修改的数据库审计信息的摘要信息和位置信息,所述区块链集群中的各节点包括审计节点、内部安全部门节点、内部审查节点、外部审查节点中的至少一种;
拒绝模块63,用于如果所述区块链集群中同意所述修改请求的节点的比例小于设定阈值,则拒绝所述修改请求。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
图10示出根据本发明一实施例的基于区块链的数据库审计设备的框图。如图10所示,该基于区块链的数据库审计设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的基于区块链的数据库审计方法。所述存储器910和处理器920的数量可以为一个或多个。
该基于区块链的数据库审计设备还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种基于区块链的数据库审计方法,其特征在于,包括:
获取数据库审计信息,所述数据库审计信息是审计服务器对数据库服务器的用户行为数据进行监测而生成的信息;
将所述数据库审计信息存储到指定文件系统,得到所述数据库审计信息在所述指定文件系统中存储的文件信息;
计算所述数据库审计信息的摘要信息;
将所述数据库审计信息的摘要信息和与所述摘要信息关联的文件信息,按照区块链存储规则存储到区块链集群中,所述文件信息为所述数据库审计信息在所述指定文件系统中存储的相关信息,所述文件信息用于查找所述数据库审计信息在所述指定文件系统的存储位置;
所述方法还包括:
如果接收到来自外部的审计信息查询请求,则对所述区块链集群的至少一个区块进行有效性检查;
从有效性检查成功的区块中,根据查询条件查询对应的数据库审计信息的摘要信息和文件信息;
根据查找到的数据库审计信息的文件信息从指定文件系统中读取所述数据库审计信息;
对从指定文件系统中读取的数据库审计信息进行哈希运算,将运算得到的哈希值与从区块中读取的摘要信息进行比较,以确定从指定文件系统中读取的数据库审计信息是否准确;
如果从指定文件系统中读取的数据库审计信息准确,根据从指定文件系统中读取的数据库审计信息生成审计报告。
2.根据权利要求1所述的方法,其特征在于,计算数据库审计信息的摘要信息,包括:
采用哈希算法计算数据库审计信息的哈希值,将所述数据库审计信息的哈希值作为所述数据库审计信息的摘要信息。
3.根据权利要求2所述的方法,其特征在于,将所述数据库审计信息的摘要信息和文件信息,按照区块链存储规则存储到区块链集群中,包括:
如果新区块未存满,则将所述数据库审计信息的哈希值和文件信息存储到所述新区块的默克尔树中。
4.根据权利要求2所述的方法,其特征在于,将所述数据库审计信息的摘要信息和文件信息,按照区块链存储规则存储到区块链集群中,还包括:
如果新区块已存满,则将新区块加入所述区块链集群的链尾,并向所述区块链集群中的其他区块广播所述新区块的哈希值,所述新区块中记录与所述新区块连接的前一区块的哈希值、所述新区块的哈希值和所述新区块的生成时间。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
如果收到对数据库审计信息的修改请求,则启动共识机制,向所述区块链集群中的各节点发出修改请求,所述修改请求中包括需要修改的数据库审计信息的摘要信息和位置信息,所述区块链集群中的各节点包括审计节点、内部安全部门节点、内部审查节点、外部审查节点中的至少一种;
如果所述区块链集群中同意所述修改请求的节点的比例小于设定阈值,则拒绝所述修改请求。
6.一种基于区块链的数据库审计装置,其特征在于,所述装置包括:
获取模块,用于获取数据库审计信息,所述数据库审计信息是审计服务器对数据库服务器的用户行为数据进行监测而生成的信息;
第一存储模块,用于将所述数据库审计信息存储到指定文件系统,得到所述数据库审计信息在所述指定文件系统中存储的文件信息;
计算模块,用于计算所述数据库审计信息的摘要信息;
第二存储模块,用于将所述数据库审计信息的摘要信息和与所述摘要信息关联的文件信息,按照区块链存储规则存储到区块链集群中,所述文件信息为所述数据库审计信息在所述指定文件系统中存储的相关信息,所述文件信息用于查找所述数据库审计信息在所述指定文件系统的存储位置;
所述装置还包括:
检查模块,用于如果接收到来自外部的审计信息查询请求,则对所述区块链集群的至少一个区块进行有效性检查;
查询模块,用于从有效性检查成功的区块中,根据查询条件查询对应的数据库审计信息的摘要信息和文件信息;
读取模块,用于根据查找到的数据库审计信息的文件信息从指定文件系统中读取所述数据库审计信息;
比较模块,用于对从指定文件系统中读取的数据库审计信息进行哈希运算,将运算得到的哈希值与从区块中读取的摘要信息进行比较,以确定从指定文件系统中读取的数据库审计信息是否准确;
报表模块,用于如果从指定文件系统中读取的数据库审计信息准确,根据从指定文件系统中读取的数据库审计信息生成审计报告。
7.根据权利要求6所述的装置,其特征在于,所述计算模块还用于采用哈希算法计算数据库审计信息的哈希值,将所述数据库审计信息的哈希值作为所述数据库审计信息的摘要信息。
8.根据权利要求7所述的装置,其特征在于,所述第二存储模块还用于如果新区块未存满,则将所述数据库审计信息的哈希值和文件信息存储到所述新区块的默克尔树中。
9.根据权利要求7所述的装置,其特征在于,所述第二存储模块还用于如果新区块已存满,则将新区块加入所述区块链集群的链尾,并向所述区块链集群中的其他区块广播所述新区块的哈希值,所述新区块中记录与所述新区块连接的前一区块的哈希值、所述新区块的哈希值和所述新区块的生成时间。
10.根据权利要求6至9中任一项所述的装置,其特征在于,还包括:
共识模块,用于如果收到对数据库审计信息的修改请求,则启动共识机制,向所述区块链集群中的各节点发出修改请求,所述修改请求中包括需要修改的数据库审计信息的摘要信息和位置信息,所述区块链集群中的各节点包括审计节点、内部安全部门节点、内部审查节点、外部审查节点中的至少一种;
拒绝模块,用于如果所述区块链集群中同意所述修改请求的节点的比例小于设定阈值,则拒绝所述修改请求。
11.一种基于区块链的数据库审计设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的方法。
12.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的方法。
CN201810325766.5A 2018-04-12 2018-04-12 基于区块链的数据库审计方法和装置 Active CN108446407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810325766.5A CN108446407B (zh) 2018-04-12 2018-04-12 基于区块链的数据库审计方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810325766.5A CN108446407B (zh) 2018-04-12 2018-04-12 基于区块链的数据库审计方法和装置

Publications (2)

Publication Number Publication Date
CN108446407A CN108446407A (zh) 2018-08-24
CN108446407B true CN108446407B (zh) 2021-04-30

Family

ID=63199734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810325766.5A Active CN108446407B (zh) 2018-04-12 2018-04-12 基于区块链的数据库审计方法和装置

Country Status (1)

Country Link
CN (1) CN108446407B (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965474B (zh) * 2018-08-27 2021-08-13 百度在线网络技术(北京)有限公司 基于区块链的题目生产方法和装置
CN109300033A (zh) * 2018-08-27 2019-02-01 百度在线网络技术(北京)有限公司 基于区块链的题目交易方法和装置
CN109327512B (zh) * 2018-09-19 2021-04-13 广东微链科技有限公司 基于区块链hash寻址和重加密的游戏数据分区储存方法
CN109190410B (zh) * 2018-09-26 2020-05-19 华中科技大学 一种云存储环境下的基于区块链的日志行为审计方法
CN109308287A (zh) * 2018-09-26 2019-02-05 南京荣链科技有限公司 一种基于区块链的文件分区存储方法、终端及介质
CN111008264A (zh) * 2018-10-10 2020-04-14 腾讯科技(深圳)有限公司 审计项存储方法、装置、电子设备及介质
CN111045855B (zh) * 2018-10-12 2024-01-26 伊姆西Ip控股有限责任公司 备份数据的方法、装置和计算机程序产品
CN111045856A (zh) * 2018-10-12 2020-04-21 伊姆西Ip控股有限责任公司 用于管理应用系统的方法、设备和计算机程序产品
CN109522270A (zh) * 2018-10-19 2019-03-26 平安科技(深圳)有限公司 基于区块链的文件存读方法、电子装置及可读存储介质
CN109582473A (zh) 2018-10-26 2019-04-05 阿里巴巴集团控股有限公司 基于区块链的跨链数据访问方法和装置
CN109614806A (zh) * 2018-12-03 2019-04-12 北京工业大学 基于区块链的日志管理系统
CN109726997A (zh) * 2019-01-09 2019-05-07 广州闪链区块链科技有限公司 一种基于区块链的黄金注册簿审计方法、装置及存储介质
CN109886037B (zh) * 2019-01-21 2023-06-09 江汉大学 一种基于区块链的电子证据审计方法
EP3706011A1 (en) 2019-03-05 2020-09-09 Siemens Aktiengesellschaft Computer implemented method and processing device for processing maintenance information in a distributed database system using a storage client unit
EP3742367A1 (en) * 2019-05-21 2020-11-25 Obook Inc. Method for determining information integrity and computer system using the same
CN110278211B (zh) * 2019-06-24 2023-04-07 深圳前海微众银行股份有限公司 一种基于区块链的数据检验方法及装置
CN112131041A (zh) * 2019-06-24 2020-12-25 伊姆西Ip控股有限责任公司 用于管理数据放置的方法、设备和计算机程序产品
CN111092745A (zh) * 2019-10-12 2020-05-01 深圳壹账通智能科技有限公司 基于区块链的日志处理方法、装置、计算机设备及存储介质
JP6836643B1 (ja) * 2019-11-27 2021-03-03 株式会社スカイコム 管理サーバ、文書ファイル管理システム、文書ファイル管理方法、および文書ファイル管理プログラム
CN111125776A (zh) * 2019-12-12 2020-05-08 成都四方伟业软件股份有限公司 一种基于区块链的操作数据防篡改方法
CN111143837A (zh) * 2019-12-25 2020-05-12 天津南大通用数据技术股份有限公司 一种数据库安全审计记录的存储方法
CN111177272B (zh) * 2019-12-31 2023-09-08 杭州趣链科技有限公司 一种基于区块链的大数据可信审计方法
CN111786792A (zh) * 2020-06-16 2020-10-16 杭州溪塔科技有限公司 一种基于区块链的数据变更记录方法和装置
CN112487483B (zh) * 2020-12-14 2024-05-03 深圳昂楷科技有限公司 一种加密数据库流量审计方法及装置
CN112800132B (zh) * 2021-01-12 2023-08-08 东北大学 一种电子档案的区块链存储方法
CN113094753B (zh) * 2021-05-08 2023-02-24 重庆银行股份有限公司 基于区块链的大数据平台hive数据修改方法以及系统
CN113094754B (zh) * 2021-05-08 2022-11-01 重庆银行股份有限公司 大数据平台数据修改系统及修改、响应、缓存、校验方法
CN113704176B (zh) * 2021-07-09 2023-10-31 奇安信科技集团股份有限公司 文件扫描方法、装置、电子设备及存储介质
CN113836237A (zh) * 2021-09-30 2021-12-24 北京中经惠众科技有限公司 对数据库的数据操作进行审计的方法及装置
CN113835931B (zh) * 2021-10-11 2022-08-26 长春嘉诚信息技术股份有限公司 一种应用于区块链的数据修改发现方法
CN117978555A (zh) * 2024-04-01 2024-05-03 天津南大通用数据技术股份有限公司 一种新石器时代考古学文化数据字典的存储方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480451A (zh) * 2017-08-15 2017-12-15 济南浪潮高新科技投资发展有限公司 基于区块链技术的快速验证电子病历完整性的解决方法
CN107592318A (zh) * 2017-09-22 2018-01-16 深圳中迈数字医疗技术有限公司 一种通过区块链实现临床数据共享的方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488665A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法
US10475030B2 (en) * 2016-02-22 2019-11-12 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
CN106452785B (zh) * 2016-09-29 2019-05-17 财付通支付科技有限公司 区块链网络、分支节点及区块链网络应用方法
CN107193490B (zh) * 2017-05-16 2020-04-17 北京中星仝创科技有限公司 一种基于区块链的分布式数据存储系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480451A (zh) * 2017-08-15 2017-12-15 济南浪潮高新科技投资发展有限公司 基于区块链技术的快速验证电子病历完整性的解决方法
CN107592318A (zh) * 2017-09-22 2018-01-16 深圳中迈数字医疗技术有限公司 一种通过区块链实现临床数据共享的方法及系统

Also Published As

Publication number Publication date
CN108446407A (zh) 2018-08-24

Similar Documents

Publication Publication Date Title
CN108446407B (zh) 基于区块链的数据库审计方法和装置
CN109831487B (zh) 分片文件验证方法及终端设备
CN110309125B (zh) 数据校验方法、电子装置及存储介质
US8055635B2 (en) System and method for verifying the integrity and completeness of records
JP2021518705A (ja) ブロックチェーン台帳のためのランタイム自己修正
US8924364B1 (en) Efficient management of file system quota trees
US10013312B2 (en) Method and system for a safe archiving of data
EP3709568A1 (en) Deleting user data from a blockchain
CN112214519B (zh) 一种数据查询方法、装置、设备及可读介质
CN110765076A (zh) 数据存储方法、装置、电子设备及存储介质
CN106776795B (zh) 基于Hbase数据库的数据写入方法及装置
CN111183620B (zh) 入侵调查
CN104766025A (zh) 分布式文件系统的拟态防篡改方法
CN110502581B (zh) 分布式数据库系统监测方法及装置
CN110209347B (zh) 一种可追溯的数据存储方法
CN113824755A (zh) 区块链数据处理的方法、系统及相关装置
US20230229652A1 (en) Merging and unmerging entity representations via resolver trees
CN114186278A (zh) 数据库异常操作识别方法、装置与电子设备
CN112583761B (zh) 安全实体的管理方法、装置、计算机设备和存储介质
JP2021081859A (ja) データ管理システム、データ管理装置及びデータ管理プログラム
CN111460436A (zh) 一种基于区块链的非结构化数据操作方法和系统
CN112286881A (zh) 一种文档的认证溯源方法及装置
US20150039598A1 (en) Data analysis control
US8397295B1 (en) Method and apparatus for detecting a rootkit
CN110826078A (zh) 数据存储方法、设备及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant