CN113608907A - 数据库审计方法、装置、设备、系统及存储介质 - Google Patents

数据库审计方法、装置、设备、系统及存储介质 Download PDF

Info

Publication number
CN113608907A
CN113608907A CN202110825570.4A CN202110825570A CN113608907A CN 113608907 A CN113608907 A CN 113608907A CN 202110825570 A CN202110825570 A CN 202110825570A CN 113608907 A CN113608907 A CN 113608907A
Authority
CN
China
Prior art keywords
data processing
request
database
log information
execution environment
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.)
Granted
Application number
CN202110825570.4A
Other languages
English (en)
Other versions
CN113608907B (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202110825570.4A priority Critical patent/CN113608907B/zh
Publication of CN113608907A publication Critical patent/CN113608907A/zh
Application granted granted Critical
Publication of CN113608907B publication Critical patent/CN113608907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供了一种数据库审计方法、装置、设备、系统及存储介质。方法包括:获取请求端发送的数据处理请求;在数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与数据处理请求相对应的日志信息,日志信息中包括加密数据库发送的与数据处理请求相对应的数据处理结果;将数据处理结果发送至请求端,并将日志信息加密存储在可信执行环境中。本申请所提供的技术方案,有效地实现了在可信执行环境中实现对日志信息的生成操作,并且将日志信息存储在可信执行环境中,保证了对加密数据库的所有访问操作都在可信执行环境中被诚实完整地记录下来,从而避免审计日志出现被篡改的情况,并能够实现事后的追根溯源操作。

Description

数据库审计方法、装置、设备、系统及存储介质
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据库审计方法、装置、设备、系统及存储介质。
背景技术
数据库审计(Database Auditing,简称DB Audit)是以安全事件为中心,以全面审计和精确审计为基础,实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行实时告警。
现有的数据库审计主要有两种实现方式:(1)数据库服务端审计,此种方式主要依赖于在数据库内部逻辑进行插桩,以记录用户操作信息。(2)网络通信监督审计,此种方式主要依赖于网络拦截监督技术记录用户操作信息。然而,上述数据库审计的实现方式虽然能够对用户的操作进行一一记录,但是无法保证审计日志中内容的正确性。
发明内容
本申请实施例提供一种数据库审计方法、装置、设备、系统及存储介质,能够在可信执行环境中生成审计日志,并且可以将所生成的审计日志加密存储在可信执行环境中,有效地降低了甚至防止了日志信息被篡改的风险,进而保证了审计日志中内容的正确性。
第一方面,本申请实施例提供了一种数据库审计方法,包括:
获取请求端发送的数据处理请求;
在所述数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与所述数据处理请求相对应的日志信息,所述日志信息中包括所述加密数据库发送的与所述数据处理请求相对应的数据处理结果;
将所述数据处理结果发送至请求端,并将所述日志信息加密存储在所述可信执行环境中。
第二方面,本申请实施例提供了一种数据库审计装置,包括:
第一获取模块,用于获取请求端发送的数据处理请求;
第一生成模块,用于在所述数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与所述数据处理请求相对应的日志信息,所述日志信息中包括所述加密数据库发送的与所述数据处理请求相对应的数据处理结果;
第一处理模块,用于将所述数据处理结果发送至请求端,并将所述日志信息加密存储在所述可信执行环境中。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面所示的数据库审计方法。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第一方面所示的数据库审计方法。
第五方面,本发明实施例提供了一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述第一方面的数据库审计方法中的步骤。
第六方面,本发明实施例提供了一种数据库审计系统,包括:
请求端,用于生成数据处理请求,并将所述数据处理请求发送至数据库审计装置;
数据库审计装置,用于获取请求端发送的数据处理请求;在所述数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与所述数据处理请求相对应的日志信息,所述日志信息中包括所述加密数据库发送的与所述数据处理请求相对应的数据处理结果;将所述数据处理结果发送至请求端,并将所述日志信息加密存储在所述可信执行环境中;
所述请求端,用于获取所述数据处理结果。
本申请实施例提供的技术方案,通过获取请求端发送的数据处理请求,在所述数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中生成与所述数据处理请求相对应的日志信息,并将所述日志信息加密存储在所述可信执行环境中,有效地实现了可以在可信执行环境中生成日志信息,并将所生成的日志信息存储在可信执行环境中,保证了对加密数据库的所有访问操作都在可信执行环境中被诚实完整地记录下来,从而有效地避免了日志信息可能被恶意程序利用、遭受攻击后被篡改和破坏日志信息的情况出现,解决了审计日志与事后的追根溯源问题,进而提高了数据库审计操作运行的安全可靠性,保证了该方法的实用性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的用于实现数据库审计方法的系统架构示意图;
图2为本申请实施例提供的一种数据库审计方法的流程示意图;
图3为本申请实施例提供的生成与所述数据处理请求相对应的日志信息的流程示意图;
图4为本申请实施例提供的另一种数据库审计方法的流程示意图;
图5为本申请实施例提供的基于所述数据处理请求访问所述加密数据库的流程示意图;
图6为本申请实施例提供的又一种数据库审计方法的流程示意图;
图7为本申请实施例提供的再一种数据库审计方法的流程示意图;
图8为本申请实施例提供的另一种数据库审计方法的流程示意图;
图9为本申请实施例提供的将所述日志信息加密存储在所述可信执行环境中的流程示意图;
图10为本申请实施例提供的又一种数据库审计方法的流程示意图;
图11为本申请应用实施例提供的一种数据库审计方法的时序图;
图12为本申请应用实施例提供的日志加密存储的结构示意图;
图13为本申请实施例提供的一种数据库审计装置的结构示意图;
图14为图13所示的数据库审计装置所对应的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
术语解释:
数据库审计(Database Auditing,简称DB Audit):是用来监督和记录用户对数据库的操作的技术,审计内容通常可配置。审计通常出于安全目的,主要用于事后的追责、可疑行为的检测和调查、特定数据的监督和收集。
可信执行环境(Trusted Execution Envi ronment,简称TEE):是处理器的一个安全区域,保证其内部加载的代码和数据的机密性和完整性能得到保护。它提供了一个隔离的执行空间安全区(Enclave),在其中运行的受信任程序可以防止普通应用程序、操作系统(OS)甚至是虚拟机监督器(Hypervisor)的侵害。
英特尔软件保护扩展(英特尔SGX):是可信执行环境的一种应用,一组与安全性相关的指令代码,内置在某些现代的英特尔处理器中。它们允许用户和操作系统定义内存的私有区域,称为安全区,其内容受机密性和完整性保护并且无法被安全区自身以外的任何特权级进程访问。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
为了方便本领域技术人员理解本申请实施例提供的技术方案,下面对相关技术进行说明:
数据库审计能够通过记录数据库的外部访问操作,并生成不可抵赖的日志,达到对人员操作和数据库系统异常行为的分析和追责目的。在云计算环境面临的复杂安全问题背景下,实现云数据库审计的可信审计和行为分析具有较大挑战。
传统的数据库审计主要有两种实现方式:(1)数据库服务端审计;(2)网络通信监听审计。上述实现方式(1)主要依赖于在数据库内部逻辑进行插桩,以记录用户操作信息,这种技术和数据库本身耦合较为紧密,能以细粒度、全阶段的方式完整的记录用户的每一次操作。然而,上述实现方式的正确性和安全性依赖于底层软件,如操作系统,如果底层软件被恶意攻击,审计的安全可信就无法保证。上述实现方式(2)依赖于网络拦截监听技术,这种实现方式和数据库系统本身耦合度低,具有较好的隔离性,审计模块的故障不会影响到数据库系统的正常运行,同时审计模块的部署也不会给数据库系统带来性能负担。然而,上述实现方式只支持粗粒度的基于用户原始查询的审计,无法做到对数据库事件的完整捕捉。
随着英特尔SGX的出现,由于可信执行环的硬件安全特性能为特定程序和数据提供机密性、完整性和时效性的保护,因此,SGX的出现使两种审计实现方式优势的结合成为可能,SGX的硬件安全特性既可以保证与数据库系统解耦的审计模块的安全可信,又可以通过跟踪查询的具体执行过程实现数据库系统内部的细粒度审计。在保证审计内容可验证的同时,还能通过SGX提供的可信算力实现审计日志的可靠在线分析。
具体实现时,传统的数据库审计方式可以包括以下实现方式:
a、采用网络数据审计方式-流技术实现数据库审计操作,具体的,该数据库审计操作可以保存“流生命期”内“上下文”的相关环境,并可以进行分析解码。数据库审计系统根据流ID进行相关记录,每个会话数据流具备一个64位长的唯一ID;而后实现深度解码数据库网络数据流传输协议,分析并再现用户数据库操作活动、会话过程;会话审计内容从访问的发起、连接、到结束进行完整记录。
b、通过定时全面的关联分析受攻击数据系统实现数据库审计操作,这样可以防止木马以及webshell入侵,支持与下一代防火墙、上网行为管理强强联合,及时发现外部黑客或内部用户窃取数据。精细化的SQL命令级完成数据库操作类管控。
上述数据库审计的实现方式虽然能够对用户的操作进行一一记录,但是数据和审计日志没有被保护起来,因此审计日志中内容的正确性无法得到保证。目前云计算环境下面临多重威胁,云服务提供商可能会读取用户数据和日志;云上操作系统,虚拟机监督器和租户的虚拟机都可能包含漏洞,会被恶意程序攻击,从而可能破坏用户数据和审计日志;数据库管理员由于权限较高可能因误操作或其他目的修改数据或审计日志,云上租户也可能对自己做过的操作进行抵赖。
总结来说,现有的数据库审计方法存在如下四种威胁:
①不可信的数据库管理员(DBA),他们具有加密数据库的管理权限,可能出于利益目的或无意操作修改用户的审计日志和数据;
②使用云加密数据库的用户群可以否认自己做过的操作,将云加密数据库的事故责任推给云服务提供商;
③云服务提供商尽管不会干扰云上的正常计算,但可能出于其他目的通过审计日志或查看用户数据来收集用户信息;
④不可信的云服务器的操作系统、虚拟机监督器或是其他租户的虚拟机,可能被恶意程序利用,遭受攻击后进而篡改和破坏用户的审计日志。
总之,现有的数据库审计方式均无法保证包括数据库管理员在内的所有操作都能被诚实地记录下来,并且不可绕过,无法保护用户数据和审计日志的机密性和完整性,无法抵御来自操作系统或数据库管理员的威胁,无法检测审计日志的异常行为。
为了解决数据库审计方式中所存在的上述问题,本实施例提供了一种基于TEE数据库的数据库审计方法、装置及设备,该数据库审计方法的执行主体可以为数据库审计系统,如图1所示,该数据库审计系统可以包括:请求端和数据库审计装置;具体的:
请求端,用于生成数据处理请求,并将所述数据处理请求发送至数据库审计装置;
数据库审计装置,用于获取请求端发送的数据处理请求;在所述数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与所述数据处理请求相对应的日志信息,所述日志信息中包括所述加密数据库发送的与所述数据处理请求相对应的数据处理结果;将所述数据处理结果发送至请求端,并将所述日志信息加密存储在所述可信执行环境中;
所述请求端,用于获取所述数据处理结果。
在又一些实例中,该数据库审计系统还可以包括请求端、数据库审计装置和服务器端数据库(云端加密数据库)。对于上述任意一种实现方式的数据库审计系统而言,数据库审计装置都可以包括:审计日志生成模块、审计日志存储模块和审计日志检测模块:
审计日志生成模块,包括:登录认证模块和操作记录模块;
登录认证模块,用于保证用户无法绕过该数据库审计装置而直接登录服务器端数据库,所有用户须先通过数据库审计装置进行认证授权,在认证授权后,由数据库审计装置代理请求端登录服务器端数据库。具体的,数据库审计装置可以在TEE创建的安全区域中维护数据库用户的身份信息(用户密码和用户名),用户的注册、身份信息修改等操作经由数据库审计装置并被记录下来。另外,在数据库审计装置代理请求端登录服务器端数据库时,会使用随机算法重写用户的密码,并使用重写密码代理请求端向服务器端数据库发起登录连接。通过上述实现方式,使得请求端用户无法获取用于访问服务器端数据库的真实密码,从而有效地实现了访问控制权限的转移操作,即请求端无法绕过该数据库审计装置直接连接数据库,从而有效解决了云上数据库事故追责问题。
操作记录模块,用于保证所有合法用户的请求都被诚实完整地记录下来,生成审计日志以用于事后的分析检测。登录认证模块的实现操作是该操作记录模块的基础,在用户通过登录认证模块进行合法登录后,可以通过数据库审计装置发起对加密数据库的正常请求(SQL),此时,操作记录模块内部实现了用于桥接加密数据库前后端的通信协议,解析协议包并记录用户的SQL请求,SQL请求包括:用户登录请求和SQL操作请求,该模块中的记录内容还包括不同SQL操作的计数信息和当前时间戳信息。通过登录认证模块保证用户无法绕过该数据库审计装置与数据库建立连接,因此,保证了用户的所有请求都被诚实完整地记录下来。
审计日志存储模块,包括:密钥管理模块和日志保护模块;
密钥管理模块,用于在TEE中维护用户的日志密钥,用户的日志密钥用于对用户的审计日志进行加密保护与完整性保护。具体的,数据库审计装置能够为每个用户创建对应的日志密钥,并可以使用SGX密封技术保护日志密钥本身,在一些实例中,还可以使用CPU根密钥(硬件出厂时设置)加密用户对应的日志密钥并持久化存储。
日志保护模块,用于保证用户列表(合法用户身份信息)和用户操作日志的机密性、完整性、连续性。其中,机密性通过日志密钥加密存储保证,在完整性和连续性保护方面,可以将用户的审计日志分阶段以文件形式记录,将每阶段的日志打包压缩成块并计算哈希值,该哈希值不仅包括了当前日志块的内容,同时包括了上一日志块的哈希值,这种哈希链的设计保证了审计日志检测模块只需要验证某用户最后一阶段的日志内容就能验证该用户所有的审计日志未被篡改。另外,还可以使用TEE提供的可信单向计数器对用户每一阶段的日志信息进行计数,具体的,在加密数据库执行数据处理操作时,为了保证数据处理操作运行的稳定可靠性,可以控制某一数据处理操作执行多次,例如:5次、10次或者20次等等,在获取到多次数据运行操作之后,可以获取到与不同数据处理操作相对应的数据处理结果,为了能够防止数据回滚攻击,则对最后时刻所获得的数据处理结果进行存储,即在获取到历史时刻所获得的数据处理结果和当前时刻所获得的数据处理结果之后,可以利用当前时刻所获得的数据处理结果对历史时刻所获得的数据处理结果进行更新存储。
审计日志检测模块:用于利用审计日志检查云加密数据库是否存在攻击。在对数据库审计操作的威胁情况中,不可信的系统以及数据库管理员可能修改云数据库的执行逻辑进行主动攻击,例如:改变操作符的顺序、类型、参数等,此时,通过在请求端离线重复执行序列即可判断云加密数据库是否正确执行。具体实现方式如下:首先从日志信息中获取请求端原始发送的SQL请求,随后基于SQL请求和相应的数据库在本地执行数据处理操作,如果本地执行的数据处理结果和云数据库的数据处理结果一致,即可证明云数据库执行过程不受到攻击;如果本地执行的数据处理结果和云数据库的数据处理结果不一致,即可证明云数据库执行过程受到攻击,从而有效地实现了数据库的审计操作。为了进一步降低检测的成本,请求端可以采用抽样检测的方法,如随机检测十分之一的查询请求,避免本地离线检测花费过长时间。
本实施例提供的技术方案,通过在受TEE保护的数据库审计装置中维护并修改用户的身份信息(随机算法重写密码),将访问控制权限由传统的数据库一侧转移到数据库审计装置侧,保证了用户无法绕过数据库审计装置进行登录以及后续的查询操作,进而保证了用户所有的查询都能在TEE中被诚实完整地记录下来,这样有效地解决了云端事件审计与事故追责的挑战。另外,通过在受TEE保护的数据库审计装置中管理用户日志密钥,通过日志密钥加密保证审计日志和用户列表的机密性,通过哈希算法与哈希链的设计保证审计日志的完整性和连续性,通过硬件计数器保证了日志信息无法被回滚,有效地保护了用户的身份信息和审计日志的安全可靠性,方便后续进行相应的数据库审计检测。此外,通过在请求端定期离线抽样检测的方法验证云端加密数据库的操作是否正确,能够有效检测云服务提供商的攻击行为,实现了数据库审计操作,进而提高了数据库审计操作运行的安全可靠性,保证了该数据库审计方法的实用性。
下面通过一个示例性的应用场景具体说明本申请各个实施例提供的数据库审计方法、装置及设备。
图2为本申请实施例提供的一种数据库审计方法的流程示意图;参考附图2所示,本实施例提供了一种数据库审计方法,该方法的执行主体可以为数据库审计装置,可以理解的是,该数据库审计装置可以实现为软件、或者软件和硬件的组合,具体实现时,数据库审计装置可以实现为一代理节点,该代理节点用于实现请求端与云加密数据库之间的通信连接,并且,数据库审计装置可以部署在请求端或者云加密数据库上。具体的,该数据库审计方法可以包括:
步骤S201:获取请求端发送的数据处理请求。
步骤S202:在数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与数据处理请求相对应的日志信息,日志信息中包括加密数据库发送的与数据处理请求相对应的数据处理结果。
步骤S203:将数据处理结果发送至请求端,并将日志信息加密存储在可信执行环境中。
下面对上述各个步骤进行详细说明:
步骤S201:获取请求端发送的数据处理请求。
其中,当请求端针对加密数据库(可以为云加密数据库、服务器端数据库)存在数据访问请求时,可以生成数据访问请求,具体的,请求端上可以设置有交互界面,获取用户在交互界面上所输入的执行操作,根据执行操作生成数据处理请求,该数据处理请求可以包括:登录请求、操作请求。在请求端获取到数据处理请求之后,可以将数据处理请求发送至数据库审计装置,从而使得数据库审计装置可以稳定地获取到请求端发送的数据处理请求。另外,由于请求端能够对一个或多个加密数据库进行访问操作,为了能够实现对某一加密数据库的访问操作,数据访问请求中可以包括待访问的加密数据库的标识信息。
步骤S202:在数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与数据处理请求相对应的日志信息,日志信息中包括加密数据库发送的与数据处理请求相对应的数据处理结果。
其中,在获取到数据处理请求之后,可以对数据处理请求进行合法性识别操作,具体的,可以获取数据处理请求中所包括的请求端标识,确定用于对请求端标识进行分析处理的请求标识白名单,该请求标识白名单中包括有多个合法的标准请求标识;在获取到请求端标识和请求标识白名单之后,可以将请求端标识和请求标识白名单进行分析匹配,在请求标识白名单中包括与请求端标识相对应的标准请求标识时,则可以确定数据处理请求为能够访问加密数据库的合法请求;在请求标识白名单中不包括与请求端标识相对应的标准请求标识时,则可以确定数据处理请求为不能访问加密数据库的非法请求。
在数据处理请求为能够访问加密数据库的合法请求时,则数据库审计装置可以将所获得的数据处理请求发送至加密数据库,以使得加密数据库可以基于数据处理请求进行相对应的数据处理操作,并可以生成与数据处理请求相对应的数据处理结果,在上述加密数据库基于数据处理请求进行相对应的数据处理操作时,数据库审计装置可以在可信执行环境中生成与数据处理请求相对应的日志信息,该日志信息中包括加密数据库发送的与数据处理请求相对应的数据处理结果。由于日志信息在可信执行环境中生成,因此使得请求端和加密数据库端均无法对日志信息的生成操作进行控制和调整,从而有效地保证了对日志信息进行生成的准确程度。
步骤S203:将数据处理结果发送至请求端,并将日志信息加密存储在可信执行环境中。
在数据库审计装置获取到加密数据库基于数据处理请求所生成的数据处理结果之后,则可以将数据处理结果发送至请求端,这样使得请求端能够及时获取到与数据处理请求相对应的数据处理结果。另外,在生成与数据处理请求相对应的日志信息之后,可以将日志信息加密存储在可信执行环境中,这样能够保证对日志信息进行存储的安全可靠性。
本实施例提供的数据库审计方法,通过获取请求端发送的数据处理请求,在所述数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中生成与所述数据处理请求相对应的日志信息,并将所述日志信息加密存储在所述可信执行环境中,有效地实现了可以在可信执行环境中生成日志信息,并将所生成的日志信息存储在可信执行环境中,保证了对加密数据库的所有访问操作都在可信执行环境中被诚实完整地记录下来,从而有效地避免了日志信息可能被恶意程序利用、遭受攻击后被篡改和破坏日志信息的情况出现,解决了审计日志与事后的追根溯源问题,进而提高了数据库审计操作运行的安全可靠性,保证了该方法的实用性。
图3为本申请实施例提供的生成与数据处理请求相对应的日志信息的流程示意图;参考附图3所示,本实施例提供了一种生成与数据处理请求相对应的日志信息的实现方式,具体的,本实施例中的在可信执行环境中,生成与数据处理请求相对应的日志信息可以包括:
步骤S301:在可信执行环境中,确定与数据处理请求相对应的操作符信息。
步骤S302:记录加密数据库返回的与数据处理请求相对应的数据处理结果。
步骤S303:在可信执行环境中,基于数据处理请求、数据处理结果和操作符信息,生成日志信息。
在获取到数据处理请求之后,为了能够使得加密数据库能够稳定地进行数据处理操作,可以在可信执行环境中对数据处理请求进行分析处理,以确定与数据处理请求相对应的操作符信息,该操作符信息可以包括以下至少之一:算术运算操作符、关系运算操作符、逻辑运算操作符、指针运算操作符等等,上述的算术运算操作符可以包括:加法操作符、减法操作符、乘积操作符、除法操作符、求余操作符信息、自增操作符、自减操作符等等;关系运算操作符可以包括:大于操作符、小于操作符、等于操作符等等;逻辑运算操作符可以包括:与操作符、或操作符、非操作符;指针运算操作符可以包括:取内容运算符、取地址运算符。
在确定与数据处理请求相对应的操作符信息之后,加密数据库可以结合所确定的操作符信息和数据处理请求进行相对应的数据处理操作,在数据处理操作执行完毕之后,可以生成与数据处理请求相对应的数据处理结果,并将数据处理结果发送至数据库审计装置,从而使得数据库审计装置可以获取到与数据处理请求相对应的数据处理结果,并可以记录加密数据库返回的与数据处理请求相对应的数据处理结果。
在获取到数据处理结果之后,可以在可信执行环境中基于数据处理请求、数据处理结果和操作符信息生成日志信息,即所生成的日志信息中包括数据处理请求、与数据处理请求相对应的数据处理结果以及与数据处理请求相对应的操作符信息。
本实施例中,通过在可信执行环境中确定与数据处理请求相对应的操作符信息,而后记录加密数据库返回的与数据处理请求相对应的数据处理结果,并在可信执行环境中,基于数据处理请求、数据处理结果和操作符信息生成日志信息,有效地实现了在可信执行环境中生成日志信息,避免了对日志信息的生成操作进行控制和篡改,进一步保证了对日志信息进行生成的准确可靠性。
图4为本申请实施例提供的另一种数据库审计方法的流程示意图;参考附图4所示,在获取请求端发送的数据处理请求之后,本实施例中的方法还可以包括:
步骤S401:在可信执行环境中,对数据处理请求进行合法性识别。
步骤S402:在数据处理请求为合法请求时,则允许基于数据处理请求访问加密数据库。
步骤S403:在数据处理请求为非法请求时,则禁止基于数据处理请求访问加密数据库。
为了能够保证对加密数据库进行访问的安全可靠性,在获取到请求端发送的数据处理请求之后,可以对数据处理请求进行合法性识别操作。在一些实例中,对数据处理请求进行合法性识别可以包括:在可信执行环境中,获取用于标识能够合法登录加密数据库的至少一个标准登录信息;确定与数据处理请求相对应的请求登录信息;基于请求登录信息和至少一个标准登录信息进行身份认证。
具体的,为了能够实现对数据处理请求进行合法性识别操作,可以在可信执行环境中获取用于标识能够合法登录加密数据库的至少一个标准登录信息,而后确定与数据处理请求相对应的请求登录信息,在获取到请求登录信息和至少一个标准登录信息之后,可以将请求登录信息和至少一个标准登录信息进行分析匹配,当在至少一个标准登录信息中存在与请求登录信息相匹配的目标标准登录信息时,则确定数据处理请求为合法请求;当在至少一个标准登录信息中不存在与请求登录信息相匹配的目标标准登录信息时,则确定数据处理请求为非法请求,从而有效地实现了基于请求登录信息和至少一个标准登录信息进行身份认证操作。
在对数据处理请求进行合法性识别的结果为数据处理请求为合法请求时,则说明此时数据处理请求所对应的数据处理操作为合法的数据处理操作,进而允许基于数据处理请求访问加密数据库。在对数据处理请求进行合法性识别的结果为数据处理请求为非法请求时,则说明此时数据处理请求所对应的数据处理操作为非法的数据处理操作,进而禁止基于数据处理请求访问加密数据库;这样有效地避免了出现对加密数据库的非法访问操作,进而保证了对加密数据库进行访问的安全可靠性。
本实施例中,通过在可信执行环境中,对数据处理请求进行合法性识别,在数据处理请求为合法请求时,则允许基于数据处理请求访问加密数据库;在数据处理请求为非法请求时,则禁止基于数据处理请求访问加密数据库,这样有效地避免了出现对加密数据库的非法访问操作,进而保证了对加密数据库进行访问的安全可靠性。
图5为本申请实施例提供的基于数据处理请求访问加密数据库的流程示意图;在上述实施例的基础上,参考附图5所示,在数据处理请求为合法请求时,则允许基于数据处理请求访问加密数据库,本实施例提供了一种基于数据处理请求访问加密数据库的实现方式,具体的,基于数据处理请求访问加密数据库可以包括:
步骤S501:获取与数据处理请求相对应的第一登录信息。
步骤S502:在可信执行环境中,确定与第一登录信息相对应的第二登录信息。
步骤S503:基于第二登录信息访问加密数据库。
在获取到数据处理请求之后,可以对数据处理请求进行分析处理,以获取与数据处理请求相对应的第一登录信息,该第一登录信息可以包括用户注册名信息和登录密码信息。为了能够保证对加密数据库进行安全可靠的访问操作,在获取到第一登录信息之后,可以在可信执行环境中确定与第一登录信息相对应的第二登录信息,在一些实例中,确定与第一登录信息相对应的第二登录信息可以包括:利用随机算法对第一登录信息进行重写,获得第二登录信息,其中,重写后的第二登录信息与第一登录信息不同。
在获取到第二登录信息之后,可以基于第二登录信息访问加密数据库,在登录加密数据库之后,则加密数据库可以获取用户端所输入的数据处理请求,而后基于数据处理请求进行相对应的数据处理操作,并生成数据处理结果,从而有效地实现了请求端并不会获知用于登录加密数据库的实际登录信息,进一步保证了对加密数据库进行登录的安全可靠性。
举例来说,在请求端A请求登录加密数据库时,请求端A可以生成数据处理请求,并将所生成的数据处理请求发送至数据库审计装置,在数据库审计装置获取到数据处理请求之后,可以对数据处理请求进行合法性识别操作,在数据处理请求为合法请求时,则可以获取数据处理请求相对应的第一登录信息,假设第一登录信息为a。在数据库审计装置获取到第一登录信息a时,则可以利用随机算法对第一登录信息a进行重写,从而可以获得第二登录信息a`,第二登录信息a`与第一登录信息a不同。在获取到第二登录信息a`之后,可以基于第二登录信息a`来登录加密数据库,实现了在请求端不获知对加密数据库的实际登录信息即可对加密数据库进行合法登录操作。
本实施例中,通过获取与数据处理请求相对应的第一登录信息,而后在可信执行环境中确定与第一登录信息相对应的第二登录信息,并基于第二登录信息访问加密数据库,从而有效地实现了在请求端不会获知到用于登录加密数据库的实际登录信息的前提下,实现对加密数据库进行合法登录的操作,进而保证了对加密数据库进行登录的安全可靠性。
图6为本申请实施例提供的又一种数据库审计方法的流程示意图;参考附图6所示,在获取用于标识能够合法登录加密数据库的至少一个标准登录信息之前,本实施例中的方法还可以包括:
步骤S601:获取登录信息建立请求。
步骤S602:基于登录信息建立请求,建立至少一个标准登录信息。
步骤S603:将至少一个标准登录信息加密存储在可信执行环境中。
其中,为了能够使得数据库审计装置可以实现请求端与加密数据库之间的通信连接,在对请求端、数据库审计装置和加密数据库进行部署完毕之后,可以先对能够合法访问加密数据库的合法用户信息进行配置操作。具体的,可以先获取登录信息建立请求,该登录信息建立请求可以基于用户所输入的执行操作所生成的,在获取到登录信息建立请求之后,可以基于登录信息建立请求建立至少一个标准登录信息,该至少一个标准登录信息即为能够合法访问加密数据库的合法用户信息。
在建立至少一个标准登录信息之后,可以将至少一个标准登录信息加密存储在可信执行环境中,具体的,获取用于对至少一个标准登录信息进行加密处理的登录信息密钥,利用登录信息密钥对至少一个标准登录信息进行加密处理,并将加密处理后的标准登录信息存储在可信执行环境中,从而保证了至少一个标准登录信息只存储在数据库审计装置中所包括的可信执行环境中,这样有效地实现了对至少一个标准登录信息进行安全可靠的建立操作。
在建立至少一个标准登录信息之后,为了能够使得合法请求端可以基于所建立的标准登录信息来访问加密数据库,在将至少一个标准登录信息发送至请求端之后,本实施例中的方法还可以包括:获取针对至少一个标准登录信息的调整请求;在可信执行环境中,基于调整请求对至少一个标准登录信息进行调整操作,获得调整后的至少一个标准登录信息。
举例来说,在数据库审计装置获取到登录信息建立请求之后,可以基于登录信息建立请求建立至少一个标准登录信息,并可以将至少一个标准登录信息加密存储在可信执行环境中。其中,在至少一个标准登录信息包括标准登录信息a、标准登录信息b、标准登录信息c、标准登录信息d和标准登录信息e时,在获取到至少一个标准登录信息之后,可以将至少一个标准登录信息分别发送至各个请求端,具体可以将标准登录信息a发送至请求端a,将标准登录信息b发送至请求端b,将标准登录信息c发送至请求端c,将标准登录信息d发送至请求端d,将标准登录信息e发送至请求端e。
在各个请求端获取到各自对应的标准登录信息之后,可以基于用户需求对标准登录信息进行调整,例如:在请求端b生成针对至少一个标准登录信息的调整请求,而后请求端b可以基于调整请求对标准登录信息b进行分析调整,例如,可以将标准登录信息b调整为登录信息b`。在请求端b获取到登录信息b`之后,可以将登录信息b`发送至数据库审计装置,从而使得数据库审计装置可以稳定地获取到进行调整操作之后的登录信息。在获取到进行调整操作后的登录信息之后,可以将进行调整操作后的登录信息加密存储在可信执行环境中,从而有效地保证了对至少一个标准登录信息进行保存的安全程度。
本实施例中,通过获取登录信息建立请求,而后基于登录信息建立请求建立至少一个标准登录信息,并将至少一个标准登录信息加密存储在可信执行环境中,从而保证了至少一个标准登录信息只存储在数据库审计装置中所包括的可信执行环境中,这样有效地实现了对至少一个标准登录信息进行安全可靠的建立操作,进一步提高了数据库审计方法运行的稳定可靠性。
图7为本申请实施例提供的再一种数据库审计方法的流程示意图;参考附图7所示,在将至少一个标准登录信息加密存储在可信执行环境中之后,本实施例中的方法还可以包括:
步骤S701:获取用于对至少一个标准登录信息进行加密存储的登录信息密钥。
步骤S702:将登录信息密钥加密存储在可信执行环境中。
在将至少一个标准登录信息加密存储在可信执行环境中之后,为了能够保证对至少一个标准登录信息进行存储的安全可靠性,可以获取用于对至少一个标准登录信息进行加密存储的登录信息密钥,可以理解的是,不同的标准登录信息可以对应有相同或者不同的登录信息密钥;在获取到登录信息密钥之后,可以将登录信息密钥加密存储在可信执行环境中。
在一些实例中,将登录信息密钥加密存储在可信执行环境中可以包括:获取用于对登录信息密钥进行加密处理的根密钥,利用根密钥对登录信息密钥进行加密处理,并将加密处理后的登录信息密钥存储在可信执行环境中,从而有效地实现了对至少一个标准登录信息和登录信息密钥都进行加密存储操作,避免了至少一个标准登录信息出现信息泄露的情况,进一步提高了数据库审计方法运行的安全可靠性。
图8为本申请实施例提供的另一种数据库审计方法的流程示意图;参考附图8所示,在将日志信息加密存储在可信执行环境中之后,本实施例中的方法还可以包括:
步骤S801:获取用于对日志信息进行加密处理的日志密钥。
步骤S802:将日志密钥加密存储在可信执行环境中。
在将日志信息加密存储在可信执行环境中之后,为了能够保证对日志信息进行存储的安全可靠性,可以获取用于对日志信息进行加密处理的日志密钥,可以理解的是,不同用户的日志信息可以对应有相同或者不同的日志密钥,同一用户的日志信息可以对应有一个或多个日志密钥;在获取到日志密钥之后,可以将日志密钥加密存储在可信执行环境中。
在一些实例中,将日志密钥加密存储在可信执行环境中可以包括:获取处理器根密钥;利用处理器根密钥对日志密钥进行加密处理,并将加密处理后的日志密钥存储在可信执行环境中。
具体的,可以先获取用于对日志密钥进行加密处理的根密钥,该根密钥可以为处理器根密钥,而后可以利用处理器根密钥对日志密钥进行加密处理,并将加密处理后的日志密钥存储在可信执行环境中,从而有效地实现了对日志信息和日志密钥都进行加密存储操作,由于处理器根密钥是请求端和加密数据库所无法获知的,因此,通过处理器根密钥对日志密钥进行加密存储,可以有效地避免日志信息和日志密钥出现信息泄露的情况,进一步提高了数据库审计方法运行的安全可靠性。
图9为本申请实施例提供的将日志信息加密存储在可信执行环境中的流程示意图;在上述任意一个实施例的基础上,参考附图9所示,本实施例提供了另一种将日志信息加密存储在可信执行环境中的实现方式,具体的,本实施例中的将日志信息加密存储在可信执行环境中可以包括:
步骤S901:确定与日志信息相对应的审计节点。
步骤S902:对同一审计节点的日志信息进行压缩处理,获得日志信息块。
步骤S903:将日志信息块加密存储在可信执行环境中。
其中,在生成日志信息时,所生成的日志信息可以对应有多个审计节点,不同的审计节点可以对应有不同的审计阶段,为了能够保证对日志信息进行加密存储的质量和效率,在对日志信息进行加密存储时,可以对日志信息进行阶段性的加密存储操作。为了能够实现对日志信息的阶段性加密存储操作,可以确定与日志信息相对应的审计节点,在一些实例中,在生成日志信息时,所生成的日志信息中可以包括时间戳信息,通过时间戳信息来确定日志信息相对应的审计节点,可以理解的是,不同时刻所对应的日志信息可以对应有不同的审计节点。
在确定与日志信息相对应的审计节点之后,可以对同一审计节点的日志信息进行压缩处理,获得日志信息块。举例来说,在t1时刻时,可以获取到日志信息1;在t2时刻时,可以获得日志信息2;在t3时刻时,可以获得日志信息3;在t4时刻时,可以获得日志信息4。在获取到上述的日志信息1、日志信息2、日志信息3和日志信息4之后,可以对日志信息1、日志信息2、日志信息3和日志信息4进行分析处理,以确定上述各个日志信息所对应的审计节点,例如,日志信息1和日志信息2对应审计节点1,日志信息3和日志信息4对应审计节点2,而后可以将属于同一审计节点1的日志信息1和日志信息2进行压缩处理,从而可以获得日志信息块1;相类似的,与将属于同一审计节点2的日志信息3和日志信息4进行压缩处理,从而可以获得日志信息块2。
在获取到日志信息块之后,可以将日志信息块加密存储在可信执行环境中,从而有效地保证了对日志信息块进行存储的安全可靠性。在一些实例中,将日志信息块加密存储在可信执行环境中可以包括:计算与日志信息块相对应的哈希值,其中,哈希值中包括:位于日志信息块之前的前一日志信息块所对应的哈希值;基于哈希值,将日志信息块加密存储在可信执行环境中。
具体的,如图12所示,为了能够保证对日志信息进行存储的方便可靠性,在获取到日志信息块之后,可以对日志信息块进行计算处理,以获得与日志信息块相对应的哈希值,其中,所计算的哈希值中包括位于当前日志信息块之前的前一日志信息块所对应的哈希值,即当前日志信息块所对应的哈希值中会包括相邻的前一日志信息块中所对应的哈希值。在获取到哈希值之后,可以基于哈希值将日志信息块加密存储在可信执行环境中,从而有效地实现了可以对日志信息进行分阶段的加密存储操作。
本实施例中,通过确定与日志信息相对应的审计节点,对同一审计节点的日志信息进行压缩处理,获得日志信息块,而后将日志信息块加密存储在可信执行环境中,从而有效地实现了可以将用户的审计日志分阶段以文件形式进行记录存储,并且将每审计阶段的日志打包压缩成块并计算哈希值,由于日志信息块所对应的哈希值不仅包括了当前日志信息块的内容,同时包括了上一日志信息块的哈希值,这种哈希链的设计保证了审计日志检测操作只需要验证某用户最后一阶段的日志内容,就能验证该用户所有的日志信息未被篡改,进一步提高了该数据库审计方法运行的稳定可靠性。
图10为本申请实施例提供的又一种数据库审计方法的流程示意图;在上述任意一个实施例的基础上,参考附图10所示,在将日志信息加密存储在可信执行环境中之后,本实施例中的方法还可以包括:
步骤S1001:获取用于对日志信息进行审计操作的标准日志信息。
步骤S1002:基于标准日志信息对日志信息进行分析处理,确定审计结果。
其中,在获取到日志信息之后,可以基于日志信息进行数据库审计操作,为了能够进行准确地数据库审计操作,可以获取用于对日志信息进行审计操作的标准日志信息。在一些实例中,获取用于对日志信息进行审计操作的标准日志信息可以包括:获取与加密数据库中执行数据处理操作时相同的数据库和数据处理请求;基于数据库和数据处理请求进行离线运行操作,从而可以获得实际运行之后所获得的标准日志信息。在另一些实例中,获取用于对日志信息进行审计操作的标准日志信息可以包括:获取与加密数据库中执行数据处理操作时相同的数据库和数据处理请求;获取用于对数据库和数据处理请求进行模拟运行操作的网络模型,将数据库和数据处理请求输入至网络模型,获得模拟运行操作之后的标准日志信息;从而有效地保证了对标准日志信息进行获取的准确可靠性。
在获取到标准日志信息和日志信息之后,可以基于标准日志信息对日志信息进行分析处理,以确定审计结果。在一些实例中,基于标准日志信息对日志信息进行分析处理,确定审计结果可以包括:将标准日志信息与日志信息进行分析比较,在标准日志信息与日志信息相同时,则确定审计结果为正常结果,即加密数据库并没有受到信息攻击;在标准日志信息与日志信息不同时,则确定审计结果为异常结果,即加密数据库受到信息攻击;从而有效地实现了数据库审计操作,保证了该数据库审计方法的实用性。
本实施例中,通过获取用于对日志信息进行审计操作的标准日志信息,而后基于标准日志信息对日志信息进行分析处理,确定审计结果,从而有效地实现了数据库审计操作,保证了该数据库审计方法的实用性。
具体应用时,参考附图11-图12所示,本应用实施例提供了一种数据库审计方法,该方法的执行主体为数据库审计装置,该数据库审计装置可以包括:检测模块、登录认证模块、操作记录模块和日志保护模块,上述被填充为灰色区域的模块代表被可信执行环境TEE保护起来的模块。并且,上述的数据库审计装置用于实现用户端和加密数据库之间的通信连接,即用户端对加密数据库的任何访问操作均需要通过数据库审计装置才能够实现。具体的,该数据库审计方法可以包括:
步骤1:用户端生成针对加密数据库的登录请求;
步骤2:将登录请求发送至数据库审计装置,以使得数据库审计装置中的登录认证模块对登录请求进行合法性认证操作。
步骤3:登录认证模块获取登录请求中所包括的请求登录信息,确定用于对请求登录信息进行分析处理的标准登录信息,基于标准登录信息和请求登录信息对登录请求进行合法性识别操作。
在登录请求为合法请求时,则可以向用户端发送识别结果1,该识别结果1用于标识登录请求为合法请求的提示信息;在登录请求为非法请求时,则可以向用户端发送识别结果2,该识别结果2用于标识登录请求为非法请求的提示信息。
步骤4:在登录请求为合法请求时,则可以将登录请求转发至加密数据库,以使得合法的用户端可以基于合法登录请求登录加密数据库,在登录加密数据库成功之后,可以获得加密数据库返回的登录结果,并将登录结果返回至用户端。
具体的,将登录请求转发至加密数据库包括:获取登录请求相对应的登录信息,利用随机算法对登录信息进行重写操作,获得重写后登录信息,数据库审计装置可以将重写后登录信息发送至加密数据库,以通过重写后登录信息来登录加密数据库,这样有效地实现了在登录请求通过合法性认证之后,可以使用预先维护的进行重写操作之后的用户信息代理用户端向加密数据库发起登录连接。
相类似的,在用户端可以通过数据库审计装置实现加密数据库的登出操作,具体的,用户端生成登出请求,并将登出请求发送至数据库审计装置,数据库审计装置可以将登出请求发送至加密数据库,以实现加密数据库的登出操作。
步骤5:在用户端成功登录至加密数据库之后,用户端可以针对加密数据库生成数据查询请求,并将数据查询请求发送至数据库审计装置中的操作记录模块。
步骤6:在操作记录模块获取到数据查询请求之后,可以对数据查询请求进行记录操作,并确定与数据查询请求相对应的操作符信息。
步骤7:操作记录模块将所接收到的数据查询请求转发至加密数据库,以使得加密数据库基于数据查询请求进行执行相应的数据查询操作,并返回数据查询结果。
步骤8:操作记录模块获取加密数据库所返回的数据查询结果,并对数据查询结果进行记录存储。
步骤9:操作记录模块可以将数据查询结果转发至用户端,以使得用户端可以及时地获取到与数据查询请求相对应的数据查询结果。
步骤10:操作记录模块可以基于数据查询请求、数据查询结果和操作符信息生成日志信息,并将日志信息加密存储在日志保护模块中。
其中,在将日志信息加密存储在日志保护模块中时,除此之外,日志保护模块还可以分阶段地对用户列表、用于对日志信息进行加密处理的日志密钥和日志信息进行加密存储操作,从而有效地保证了对数据进行存储的安全可靠性。
步骤11:检测模块可以通过操作记录模块获取到日志信息,确定用于实现数据库审计操作的标准日志信息,基于标准日志信息和日志信息进行数据库审计操作,获得数据库审计结果,并将数据库审计结果发送至操作记录模块。
具体的,检测模块可以定期或者不定期地根据日志信息在请求端重复执行数据库审计操作,以判断云端加密数据库执行的正确性,进而达到可信审计的目的。
步骤12:操作记录模块将数据库审计结果发送至用户端,以使得用户端可以及时地获取到数据库审计结果。
本应用实施例提供的数据库审计方法,通过在受TEE保护的数据库审计装置中维护并修改用户的身份信息(随机算法重写密码),将访问控制权限由传统的数据库一侧转移到数据库审计装置侧,保证了用户无法绕过数据库审计装置进行登录以及后续的查询操作,进而保证了用户所有的查询都能在TEE中被诚实完整地记录下来,这样有效地解决了云端事件审计与事故追责的挑战。另外,通过在受TEE保护的数据库审计装置中管理用户日志密钥,通过日志密钥加密保证审计日志和用户列表的机密性,通过哈希算法与哈希链的设计保证审计日志的完整性和连续性,通过硬件计数器保证了日志信息无法被回滚,有效地保护了用户的身份信息和审计日志的安全可靠性,方便后续进行相应的数据库审计检测。此外,通过在请求端定期离线抽样检测的方法验证云端加密数据库的操作是否正确,能够有效检测云服务提供商的攻击行为,实现了数据库审计操作,进而提高了数据库审计操作运行的安全可靠性,保证了该数据库审计方法的实用性。
图13为本申请实施例提供的一种数据库审计装置的结构示意图;参考附图13所示,本实施例提供了一种数据库审计装置,该数据库审计装置用于执行上述图2所示的数据库审计方法,具体的,该数据库审计装置可以包括第一获取模块11、第一生成模块12和第一处理模块13:
第一获取模块11,用于获取请求端发送的数据处理请求;
第一生成模块12,用于在数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与数据处理请求相对应的日志信息,日志信息中包括加密数据库发送的与数据处理请求相对应的数据处理结果;
第一处理模块13,用于将数据处理结果发送至请求端,并将日志信息加密存储在可信执行环境中。
在一些实例中,在第一生成模块12在可信执行环境中,生成与数据处理请求相对应的日志信息时,该第一生成模块12用于:在可信执行环境中,确定与数据处理请求相对应的操作符信息;记录加密数据库返回的与数据处理请求相对应的数据处理结果;在可信执行环境中,基于数据处理请求、数据处理结果和操作符信息,生成日志信息。
在一些实例中,在获取请求端发送的数据处理请求之后,本实施例中的第一处理模块13用于执行:在可信执行环境中,对数据处理请求进行合法性识别;在数据处理请求为合法请求时,则允许基于数据处理请求访问加密数据库;在数据处理请求为非法请求时,则禁止基于数据处理请求访问加密数据库。
在一些实例中,在第一处理模块13基于数据处理请求访问加密数据库时,该第一处理模块13用于执行:获取与数据处理请求相对应的第一登录信息;在可信执行环境中,确定与第一登录信息相对应的第二登录信息;基于第二登录信息访问加密数据库。
在一些实例中,在第一处理模块13确定与第一登录信息相对应的第二登录信息时,该第一处理模块13用于执行:利用随机算法对第一登录信息进行重写,获得第二登录信息。
在一些实例中,在第一处理模块13对数据处理请求进行合法性识别时,该第一处理模块13用于执行:在可信执行环境中,获取用于标识能够合法登录加密数据库的至少一个标准登录信息;确定与数据处理请求相对应的请求登录信息;基于请求登录信息和至少一个标准登录信息进行身份认证。
在一些实例中,在获取用于标识能够合法登录加密数据库的至少一个标准登录信息之前,本实施例中的第一获取模块11、第一生成模块12和第一处理模块13用于执行以下步骤:
第一获取模块11,用于获取登录信息建立请求;
第一生成模块12,用于基于登录信息建立请求,建立至少一个标准登录信息;
第一处理模块13,用于将至少一个标准登录信息加密存储在可信执行环境中。
在一些实例中,在将至少一个标准登录信息加密存储在可信执行环境中之后,本实施例中的第一获取模块11和第一处理模块13用于执行以下步骤:
第一获取模块11,用于获取用于对至少一个标准登录信息进行加密存储的登录信息密钥;
第一处理模块13,用于将登录信息密钥加密存储在可信执行环境中。
在一些实例中,在将日志信息加密存储在可信执行环境中之后,本实施例中的第一获取模块11和第一处理模块13用于执行以下步骤:
第一获取模块11,用于获取用于对日志信息进行加密处理的日志密钥;
第一处理模块13,用于将日志密钥加密存储在可信执行环境中。
在一些实例中,在第一处理模块13将日志密钥加密存储在可信执行环境中时,第一处理模块13用于执行:获取处理器根密钥;利用处理器根密钥对日志密钥进行加密处理,并将加密处理后的日志密钥存储在可信执行环境中。
在一些实例中,在第一处理模块13将日志信息加密存储在可信执行环境中时,该第一处理模块13用于执行:确定与日志信息相对应的审计节点;对同一审计节点的日志信息进行压缩处理,获得日志信息块;将日志信息块加密存储在可信执行环境中。
在一些实例中,在第一处理模块13将日志信息块加密存储在可信执行环境中时,该第一处理模块13用于执行:计算与日志信息块相对应的哈希值,其中,哈希值中包括:位于日志信息块之前的前一日志信息块所对应的哈希值;基于哈希值,将日志信息块加密存储在可信执行环境中。
在一些实例中,在将日志信息加密存储在可信执行环境中之后,本实施例中的第一获取模块11和第一处理模块13用于执行以下步骤:
第一获取模块11,用于获取用于对日志信息进行审计操作的标准日志信息;
第一处理模块13,用于基于标准日志信息对日志信息进行分析处理,确定审计结果。
图13所示装置可以执行图1-图12所示实施例的方法,本实施例未详细描述的部分,可参考对图1-图12所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图12所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图13所示数据库审计装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图14所示,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储相对应电子设备执行上述图1-图12所示实施例中提供的数据库审计方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:
获取请求端发送的数据处理请求;
在数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与数据处理请求相对应的日志信息,日志信息中包括加密数据库发送的与数据处理请求相对应的数据处理结果;
将数据处理结果发送至请求端,并将日志信息加密存储在可信执行环境中。
进一步的,第一处理器21还用于执行前述图1-图12所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图1-图12所示方法实施例中数据库审计方法所涉及的程序。
此外,本发明实施例提供了一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述图1-图12所示的数据库审计方法中的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (14)

1.一种数据库审计方法,包括:
获取请求端发送的数据处理请求;
在所述数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与所述数据处理请求相对应的日志信息,所述日志信息中包括所述加密数据库发送的与所述数据处理请求相对应的数据处理结果;
将所述数据处理结果发送至请求端,并将所述日志信息加密存储在所述可信执行环境中。
2.根据权利要求1所述的方法,在可信执行环境中,生成与所述数据处理请求相对应的日志信息,包括:
在所述可信执行环境中,确定与所述数据处理请求相对应的操作符信息;
记录所述加密数据库返回的与所述数据处理请求相对应的数据处理结果;
在所述可信执行环境中,基于所述数据处理请求、所述数据处理结果和所述操作符信息,生成所述日志信息。
3.根据权利要求1所述的方法,在获取请求端发送的数据处理请求之后,所述方法还包括:
在所述可信执行环境中,对所述数据处理请求进行合法性识别;
在所述数据处理请求为合法请求时,则允许基于所述数据处理请求访问所述加密数据库;
在所述数据处理请求为非法请求时,则禁止基于所述数据处理请求访问所述加密数据库。
4.根据权利要求3所述的方法,基于所述数据处理请求访问所述加密数据库,包括:
获取与所述数据处理请求相对应的第一登录信息;
在所述可信执行环境中,确定与所述第一登录信息相对应的第二登录信息;
基于所述第二登录信息访问所述加密数据库。
5.根据权利要求3所述的方法,对所述数据处理请求进行合法性识别,包括:
在所述可信执行环境中,获取用于标识能够合法登录加密数据库的至少一个标准登录信息;
确定与数据处理请求相对应的请求登录信息;
基于所述请求登录信息和所述至少一个标准登录信息进行身份认证。
6.根据权利要求5所述的方法,在获取用于标识能够合法登录加密数据库的至少一个标准登录信息之前,所述方法还包括:
获取登录信息建立请求;
基于所述登录信息建立请求,建立至少一个标准登录信息;
将所述至少一个标准登录信息加密存储在所述可信执行环境中。
7.根据权利要求6所述的方法,在将所述至少一个标准登录信息加密存储在所述可信执行环境中之后,所述方法还包括:
获取用于对所述至少一个标准登录信息进行加密存储的登录信息密钥;
将所述登录信息密钥加密存储在所述可信执行环境中。
8.根据权利要求1-7中任意一项所述的方法,在将所述日志信息加密存储在所述可信执行环境中之后,所述方法还包括:
获取用于对日志信息进行加密处理的日志密钥;
将所述日志密钥加密存储在所述可信执行环境中。
9.根据权利要求1-7中任意一项所述的方法,将所述日志信息加密存储在所述可信执行环境中,包括:
确定与所述日志信息相对应的审计节点;
对同一审计节点的日志信息进行压缩处理,获得日志信息块;
将所述日志信息块加密存储在所述可信执行环境中。
10.根据权利要求9所述的方法,将所述日志信息块加密存储在所述可信执行环境中,包括:
计算与所述日志信息块相对应的哈希值,其中,所述哈希值中包括:位于所述日志信息块之前的前一日志信息块所对应的哈希值;
基于所述哈希值,将所述日志信息块加密存储在所述可信执行环境中。
11.一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1-10中任意一项所述的数据库审计方法。
12.一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现如权利要求1-10中任意一项所述的数据库审计方法。
13.一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-10中任意一项所述的数据库审计方法中的步骤。
14.一种数据库审计系统,包括:
请求端,用于生成数据处理请求,并将所述数据处理请求发送至数据库审计装置;
数据库审计装置,用于获取请求端发送的数据处理请求;在所述数据处理请求为能够访问加密数据库的合法请求时,则在可信执行环境中,生成与所述数据处理请求相对应的日志信息,所述日志信息中包括所述加密数据库发送的与所述数据处理请求相对应的数据处理结果;将所述数据处理结果发送至请求端,并将所述日志信息加密存储在所述可信执行环境中;
所述请求端,用于获取所述数据处理结果。
CN202110825570.4A 2021-07-21 2021-07-21 数据库审计方法、装置、设备、系统及存储介质 Active CN113608907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110825570.4A CN113608907B (zh) 2021-07-21 2021-07-21 数据库审计方法、装置、设备、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110825570.4A CN113608907B (zh) 2021-07-21 2021-07-21 数据库审计方法、装置、设备、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113608907A true CN113608907A (zh) 2021-11-05
CN113608907B CN113608907B (zh) 2024-03-29

Family

ID=78305058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110825570.4A Active CN113608907B (zh) 2021-07-21 2021-07-21 数据库审计方法、装置、设备、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113608907B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117527860A (zh) * 2024-01-05 2024-02-06 河北普兰特生物科技有限公司 一种基于分布式系统的物联网通信方法、系统及介质
CN118153120A (zh) * 2024-05-10 2024-06-07 中国科学院微生物研究所 一种生物信息分析方法、装置、电子设备和存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015187640A2 (en) * 2014-06-02 2015-12-10 Robert Bosch Gmbh System and method for secure review of audit logs
US20170310647A1 (en) * 2015-06-10 2017-10-26 Hongyi Hu Systems and methods for single device authentication
CN109583199A (zh) * 2018-12-18 2019-04-05 郑州云海信息技术有限公司 一种存储管理系统的访问审计方法、系统、设备和介质
CN110909346A (zh) * 2019-11-20 2020-03-24 北京理工大学 一种制造执行系统的管理方法及系统
US20200117825A1 (en) * 2018-10-16 2020-04-16 Microsoft Technology Licensing, Llc Database management
CN111429254A (zh) * 2020-03-19 2020-07-17 腾讯科技(深圳)有限公司 一种业务数据处理方法、设备以及可读存储介质
CN111542820A (zh) * 2017-11-03 2020-08-14 诺基亚技术有限公司 用于可信计算的方法和装置
CN111611625A (zh) * 2020-05-26 2020-09-01 牛津(海南)区块链研究院有限公司 云端数据完整性审计方法、装置及计算机可读存储介质
CN111670442A (zh) * 2018-02-01 2020-09-15 微软技术许可有限责任公司 数据库事务日志的写入和完整性检查
CN112149078A (zh) * 2020-10-15 2020-12-29 北京理工大学 一种制造执行系统的审计方法及系统
CN112434054A (zh) * 2020-12-09 2021-03-02 杭州海量存储技术有限公司 一种审计日志的更新方法及装置
CN112491602A (zh) * 2020-11-17 2021-03-12 中国平安财产保险股份有限公司 行为数据的监控方法、装置、计算机设备及介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015187640A2 (en) * 2014-06-02 2015-12-10 Robert Bosch Gmbh System and method for secure review of audit logs
US20170310647A1 (en) * 2015-06-10 2017-10-26 Hongyi Hu Systems and methods for single device authentication
CN111542820A (zh) * 2017-11-03 2020-08-14 诺基亚技术有限公司 用于可信计算的方法和装置
CN111670442A (zh) * 2018-02-01 2020-09-15 微软技术许可有限责任公司 数据库事务日志的写入和完整性检查
US20200117825A1 (en) * 2018-10-16 2020-04-16 Microsoft Technology Licensing, Llc Database management
CN109583199A (zh) * 2018-12-18 2019-04-05 郑州云海信息技术有限公司 一种存储管理系统的访问审计方法、系统、设备和介质
CN110909346A (zh) * 2019-11-20 2020-03-24 北京理工大学 一种制造执行系统的管理方法及系统
CN111429254A (zh) * 2020-03-19 2020-07-17 腾讯科技(深圳)有限公司 一种业务数据处理方法、设备以及可读存储介质
CN111611625A (zh) * 2020-05-26 2020-09-01 牛津(海南)区块链研究院有限公司 云端数据完整性审计方法、装置及计算机可读存储介质
CN112149078A (zh) * 2020-10-15 2020-12-29 北京理工大学 一种制造执行系统的审计方法及系统
CN112491602A (zh) * 2020-11-17 2021-03-12 中国平安财产保险股份有限公司 行为数据的监控方法、装置、计算机设备及介质
CN112434054A (zh) * 2020-12-09 2021-03-02 杭州海量存储技术有限公司 一种审计日志的更新方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117527860A (zh) * 2024-01-05 2024-02-06 河北普兰特生物科技有限公司 一种基于分布式系统的物联网通信方法、系统及介质
CN117527860B (zh) * 2024-01-05 2024-04-09 河北普兰特生物科技有限公司 一种基于分布式系统的物联网通信方法、系统及介质
CN118153120A (zh) * 2024-05-10 2024-06-07 中国科学院微生物研究所 一种生物信息分析方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN113608907B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
US10412109B2 (en) Method for detecting vulnerabilities in a virtual production server of a virtual or cloud computer system
US9294489B2 (en) Method and apparatus for detecting an intrusion on a cloud computing service
US11847212B2 (en) Method to prevent root level access attack and measurable SLA security and compliance platform
US20160036812A1 (en) Database Queries Integrity and External Security Mechanisms in Database Forensic Examinations
CN113608907B (zh) 数据库审计方法、装置、设备、系统及存储介质
CN114553540A (zh) 基于零信任的物联网系统、数据访问方法、装置及介质
CN109936555A (zh) 一种基于云平台的数据存储方法、装置及系统
WO2021121382A1 (en) Security management of an autonomous vehicle
Zhu et al. Kub-Sec, an automatic Kubernetes cluster AppArmor profile generation engine
CN113411295A (zh) 基于角色的访问控制态势感知防御方法及系统
Ye et al. TamForen: A tamper‐proof cloud forensic framework
CN112422527B (zh) 变电站电力监控系统的威胁评估系统、方法和装置
US20230244797A1 (en) Data processing method and apparatus, electronic device, and medium
Kumar et al. MAC based solution for SQL injection
CN113922975A (zh) 一种安全控制方法、服务器、终端、系统和存储介质
Chaudhari et al. A review on cloud security issues and solutions
CN113468607B (zh) 一种加密防篡改文件的生成和使用方法
CN113901507A (zh) 一种多参与方的资源处理方法及隐私计算系统
US11457020B2 (en) Method for integrity protection in a computer network
Foltz et al. Secure Endpoint Device Agent Architecture.
Potey et al. Achieving Accountability and Secure Logging to Increase Trust in Cloud Environment
CN116800454A (zh) 一种基于云平台进行数据处理的方法及系统
Pritz Shell activity logging and auditing in exercise environments of security Lectures using OSS
CN118233117A (zh) 访问控制方法、装置、电子设备及存储介质
CN116961967A (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