CN113672960A - 基于用户态文件系统的数据库透明加解密实现方法及系统 - Google Patents

基于用户态文件系统的数据库透明加解密实现方法及系统 Download PDF

Info

Publication number
CN113672960A
CN113672960A CN202110990549.XA CN202110990549A CN113672960A CN 113672960 A CN113672960 A CN 113672960A CN 202110990549 A CN202110990549 A CN 202110990549A CN 113672960 A CN113672960 A CN 113672960A
Authority
CN
China
Prior art keywords
user
file system
directory
encryption
mode
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.)
Pending
Application number
CN202110990549.XA
Other languages
English (en)
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 Zhongan Xingyun Software Technology Co ltd
Original Assignee
Beijing Zhongan Xingyun Software 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 Zhongan Xingyun Software Technology Co ltd filed Critical Beijing Zhongan Xingyun Software Technology Co ltd
Priority to CN202110990549.XA priority Critical patent/CN113672960A/zh
Publication of CN113672960A publication Critical patent/CN113672960A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于用户态文件系统的数据库透明加解密实现方法,包括以下步骤:调用用户态文件系统;基于用户态文件系统构建用户态加密文件系统;在数据库中创建用于存放密文的密文目录和用于存放明文的明文目录;基于用户态加密文件系统对密文目录进行初始化处理,以得到目标密文目录;将目标密文目录挂载到明文目录,以实现数据库透明加解密。本发明还公开了一种基于用户态文件系统的数据库透明加解密实现系统。本发明涉及数据库加解密技术领域。本发明可在保证对用户无感的数据库透明加密的同时也保证加密的效率,以及可对不同数据库支持国密算法SM4。

Description

基于用户态文件系统的数据库透明加解密实现方法及系统
技术领域
本发明涉及数据库加解密技术领域,具体而言,涉及一种基于用户态文件系统的数据库透明加解密实现方法及系统。
背景技术
现有的数据库的透明加密技术TDE,只能依赖于数据库本身的实现,比如ORACLE本身的TDE技术,以及MYSQL的keyring技术,数据库自身支持的TDE配置复杂,健壮性不高。并且实现的不足是对所有加密的数据库和表只能提供一个密钥,对密钥管理造成一定困难,并且不支持国密算法SM4,无法在需要使用国密算法的地方使用。
发明内容
为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种基于用户态文件系统的数据库透明加解密实现方法及系统,可在保证对用户无感的数据库透明加密的同时也保证加密的效率,以及可对不同数据库支持国密算法SM4。
本发明的实施例是这样实现的:
第一方面,本发明实施例提供一种基于用户态文件系统的数据库透明加解密实现方法,包括以下步骤:
调用用户态文件系统;
基于用户态文件系统构建用户态加密文件系统;
在数据库中创建用于存放密文的密文目录和用于存放明文的明文目录;
基于用户态加密文件系统对密文目录进行初始化处理,以得到目标密文目录;
将目标密文目录挂载到明文目录,以实现数据库透明加解密。
本发明基于用户文件系统构建加密系统,进而支持不同数据库的加密算法,实现对数据库的透明有效的加密和解密,解决了现有技术中不支持国密算法SM4的技术问题。用户态文件系统由3部分组成:内核模块、用户态库文件以及mount工具。内核模块提供内核的接入口;用户态库给用户提供一系列的编程接口;Mount工具用于挂载用户编写的文件系统。用户程序只需要和用户态库以及mount工具进行交互。为了实现对不同数据库的加密支撑,首先,调用一个基础的用户态文件系统,以此为基础,在用户态文件系统的基础上构建并实现对各个函数的调用以构建一个用户态加密文件系统,进而通过用户态加密文件系统实现后续的数据库加密,无需进行其他操作即可对接各个不同数据库,实现数据库的加解密操作。用户态加密文件系统构建完成后,在此基础上为对应的数据库创建用于存放密文的密文目录和用于存放明文的明文目录,然后对密文目录进行初始化处理,以得到目标密文目录,并在初始化处理过程会在cipher生成密钥配置文件,然后将目标密文目录挂载到明文目录,为后续用户在明文目录中的操作提供加密基础,基于密文目录和明文目录之间的关联,用户在明文目录中写入的数据内容也会直接进行加密,进而实现数据库透明加密。用户对数据进行解密查看时,只需要通过调用用户态加密文件系统中的解密函数即可实现数据的解密,方便快捷的进行加解密。
本方法基于用户文件系统构建加密系统,可支持不同数据库的加密算法,无需多余的操作配置只需要调用用户态加密文件系统中的加解密函数即可实现对数据内容的加密和解密,实现对数据库的透明有效的加密和解密。
基于第一方面,在本发明的一些实施例中,上述基于用户态文件系统构建用户态加密文件系统的方法包括以下步骤:
基于用户态文件系统分别构建datafort_fs_open函数、datafort_fs_write加密函数、datafort_fs_read解密函数、datafort_fs_getattr函数、datafort_fs_mkdir函数和datafort_fs_readdir函数,以得到用户态加密文件系统。
基于第一方面,在本发明的一些实施例中,上述调用用户态文件系统的方法包括以下步骤:
获取shell终端的命令请求;
通过glibc将命令请求发送至用户态文件系统的内核;
通过内核的VFS把命令请求发送给FUSE文件系统;
通过FUSE文件系统调用用户态实现的API来返回结果调用,实现用户态文件系统的调用。
基于第一方面,在本发明的一些实施例中,该基于用户态文件系统的数据库透明加解密实现方法还包括以下步骤:
在明文目录上创建表空间;
获取数据库的原有表,并将原有表移动至表空间,完成文件加密。
第二方面,本发明实施例提供一种基于用户态文件系统的数据库透明加解密实现系统,包括系统调用模块、加密系统构建模块、目录创建模块、目录初始化模块以及目录挂载模块,其中:
系统调用模块,用于调用用户态文件系统;
加密系统构建模块,用于基于用户态文件系统构建用户态加密文件系统;
目录创建模块,用于在数据库中创建用于存放密文的密文目录和用于存放明文的明文目录;
目录初始化模块,用于基于用户态加密文件系统对密文目录进行初始化处理,以得到目标密文目录;
目录挂载模块,用于将目标密文目录挂载到明文目录,以实现数据库透明加解密。
本发明基于用户文件系统构建加密系统,进而支持不同数据库的加密算法,实现对数据库的透明有效的加密和解密,解决了现有技术中不支持国密算法SM4的技术问题。用户态文件系统由3部分组成:内核模块、用户态库文件以及mount工具。内核模块提供内核的接入口;用户态库给用户提供一系列的编程接口;Mount工具用于挂载用户编写的文件系统。用户程序只需要和用户态库以及mount工具进行交互。为了实现对不同数据库的加密支撑,首先,通过系统调用模块调用一个基础的用户态文件系统,以此为基础,加密系统构建模块在用户态文件系统的基础上构建并实现对各个函数的调用以构建一个用户态加密文件系统,进而通过用户态加密文件系统实现后续的数据库加密,无需进行其他操作即可对接各个不同数据库,实现数据库的加解密操作。用户态加密文件系统构建完成后,目录创建模块在此基础上为对应的数据库创建用于存放密文的密文目录和用于存放明文的明文目录,然后通过目录初始化模块对密文目录进行初始化处理,以得到目标密文目录,并在初始化处理过程会在cipher生成密钥配置文件,然后通过目录挂载模块将目标密文目录挂载到明文目录,为后续用户在明文目录中的操作提供加密基础,基于密文目录和明文目录之间的关联,用户在明文目录中写入的数据内容也会直接进行加密,进而实现数据库透明加密。用户对数据进行解密查看时,只需要通过调用用户态加密文件系统中的解密函数即可实现数据的解密,方便快捷的进行加解密。
本系统基于用户文件系统构建加密系统,可支持不同数据库的加密算法,无需多余的操作配置只需要调用用户态加密文件系统中的加解密函数即可实现对数据内容的加密和解密,实现对数据库的透明有效的加密和解密。
基于第二方面,在本发明的一些实施例中,上述加密系统构建模块包括函数加载子模块,用于基于用户态文件系统分别构建datafort_fs_open函数、datafort_fs_write加密函数、datafort_fs_read解密函数、datafort_fs_getattr函数、datafort_fs_mkdir函数和datafort_fs_readdir函数,以得到用户态加密文件系统。
基于第二方面,在本发明的一些实施例中,上述系统调用模块包括终端命令子模块、请求发送子模块、内核发送子模块以及结果调用子模块,其中:
终端命令子模块,用于获取shell终端的命令请求;
请求发送子模块,用于通过glibc将命令请求发送至用户态文件系统的内核;
内核发送子模块,用于通过内核的VFS把命令请求发送给FUSE文件系统;
结果调用子模块,用于通过FUSE文件系统调用用户态实现的API来返回结果调用,实现用户态文件系统的调用。
基于第二方面,在本发明的一些实施例中,该基于用户态文件系统的数据库透明加解密实现系统还包括表空间创建模块和文件加密模块,其中:
表空间创建模块,用于在明文目录上创建表空间;
文件加密模块,用于获取数据库的原有表,并将原有表移动至表空间,完成文件加密。
第三方面,本申请实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
本发明实施例至少具有如下优点或有益效果:
本发明实施例提供一种基于用户态文件系统的数据库透明加解密实现方法及系统,本发明基于用户文件系统构建加密系统,进而支持不同数据库的加密算法,实现对数据库的透明有效的加密和解密,解决了现有技术中不支持国密算法SM4的技术问题,无需多余的操作配置只需要调用用户态加密文件系统中的加解密函数即可实现对数据内容的加密和解密,实现对数据库的透明有效的加密和解密。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例一种基于用户态文件系统的数据库透明加解密实现方法的流程图;
图2为本发明实施例一种基于用户态文件系统的数据库透明加解密实现方法中用户态文件系统调用示意图;
图3为本发明实施例一种基于用户态文件系统的数据库透明加解密实现系统的原理框图;
图4为本发明实施例提供的一种电子设备的结构框图。
图标:100、系统调用模块;110、终端命令子模块;120、请求发送子模块;130、内核发送子模块;140、结果调用子模块;200、加密系统构建模块;210、函数加载子模块;300、目录创建模块;400、目录初始化模块;500、目录挂载模块;600、表空间创建模块;700、文件加密模块;101、存储器;102、处理器;103、通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
实施例
如图1-图2所示,第一方面,本发明实施例提供一种基于用户态文件系统的数据库透明加解密实现方法,包括以下步骤:
S1、调用用户态文件系统;
进一步地,获取shell终端的命令请求;通过glibc将命令请求发送至用户态文件系统的内核;通过内核的VFS把命令请求发送给FUSE文件系统;通过FUSE文件系统调用用户态实现的API来返回结果调用,实现用户态文件系统的调用。
在本发明的一些实施例中,用户态文件系统由3部分组成:内核模块、用户态库文件以及mount工具。内核模块提供内核的接入口;用户态库给用户提供一系列的编程接口;Mount工具用于挂载用户编写的文件系统。用户程序只需要和用户态库以及mount工具进行交互。为了实现对不同数据库的加密支撑,首先,调用一个基础的用户态文件系统。用户态文件系统调用流程包括:用户在shell终端输入命令;请求通过glibc到达内核空间;内核的VFS把请求发送给FUSE文件系统;FUSE文件系统调用用户态实现的API来返回结果调用。
S2、基于用户态文件系统构建用户态加密文件系统;
进一步地,基于用户态文件系统分别构建datafort_fs_open函数、datafort_fs_write加密函数、datafort_fs_read解密函数、datafort_fs_getattr函数、datafort_fs_mkdir函数和datafort_fs_readdir函数,以得到用户态加密文件系统。
在本发明的一些实施例中,以用户态文件系统为基础,在用户态文件系统的基础上构建并实现对各个函数的调用以构建一个用户态加密文件系统,进而通过用户态加密文件系统实现后续的数据库加密,无需进行其他操作即可对接各个不同数据库,实现数据库的加解密操作。
用户态加密文件系统datafort_fs实现过程:
1.实现datafort_fs_open函数,用于打开文件;
2.实现datafort_fs_write加密函数,当用户数据写入磁盘前调用该函数,该函数实现相关加密算法(AES,DES3,SM4等);
3.实现datafort_fs_read解密函数,当用户读取磁盘数据后调用该函数解密数据;
4.实现datafort_fs_getattr函数,用于获取文件相关属性;
5.实现datafort_fs_mkdir函数,用于创建datafort_fs文件系统目录;
6.实现datafort_fs_readdir函数,用于读取datafort_fs文件系统目录。
S3、在数据库中创建用于存放密文的密文目录和用于存放明文的明文目录;
在本发明的一些实施例中,用户态加密文件系统构建完成后,即可使用用户态加密文件系统,在此基础上为对应的数据库创建用于存放密文的密文目录和用于存放明文的明文目录。datafort_fs文件系统使用过程(以ORACLE为例):创建两个目录,一个存放密文一个存放明文:
mkdir/opt/oracle/oradata/orcl/cipher;
mkdir/opt/oracle/oradata/orcl/plain。
S4、基于用户态加密文件系统对密文目录进行初始化处理,以得到目标密文目录;
在本发明的一些实施例中,对密文目录进行初始化处理,以得到目标密文目录,并在初始化处理过程会在cipher生成密钥配置文件。使用用户态文件系统初始化密文文件夹(密文目录):
./datafortfs-init/opt/oracle/oradata/orcl/cipher,执行此步骤会在cipher生成密钥配置文件。
S5、将目标密文目录挂载到明文目录,以实现数据库透明加解密。
在本发明的一些实施例中,将目标密文目录挂载到明文目录,为后续用户在明文目录中的操作提供加密基础,基于密文目录和明文目录之间的关联,用户在明文目录中写入的数据内容也会直接进行加密,进而实现数据库透明加密。用户对数据进行解密查看时,只需要通过调用用户态加密文件系统中的解密函数即可实现数据的解密,方便快捷的进行加解密。挂载密文文件夹到明文文件夹(明文目录):
./datafortfs/opt/oracle/oradata/orcl/cipher/opt/oracle/oradata/orcl/plain。
本发明基于用户文件系统构建加密系统,进而支持不同数据库的加密算法,实现对数据库的透明有效的加密和解密,解决了现有技术中不支持国密算法SM4的技术问题。以用户态文件系统为基础,在用户态文件系统的基础上构建并实现对各个函数的调用以构建一个用户态加密文件系统,进而通过用户态加密文件系统实现后续的数据库加密,无需进行其他操作即可对接各个不同数据库,实现数据库的加解密操作。本方法基于用户文件系统构建加密系统,可支持不同数据库的加密算法,无需多余的操作配置只需要调用用户态加密文件系统中的加解密函数即可实现对数据内容的加密和解密,实现对数据库的透明有效的加密和解密。
基于第一方面,在本发明的一些实施例中,该基于用户态文件系统的数据库透明加解密实现方法还包括以下步骤:
在明文目录上创建表空间;
获取数据库的原有表,并将原有表移动至表空间,完成文件加密。
将密文目录挂载到明文目录后,即为用户对数据库透明加密构建了基础,用户可以通过在明文目录上创建一个表空间,然后将数据库原有表移动到新创建的表空间内,基于已经构建好的密文目录和明文目录之间的关联,此时的密文目录下的文件内容已经是加密文件了,无需多余的操作,自动调用用户态加密文件系统的加密函数对目录内的文件内容进行加密。
如图3所示,第二方面,本发明实施例提供一种基于用户态文件系统的数据库透明加解密实现系统,包括系统调用模块100、加密系统构建模块200、目录创建模块300、目录初始化模块400以及目录挂载模块500,其中:
系统调用模块100,用于调用用户态文件系统;
进一步地,上述系统调用模块100包括终端命令子模块110、请求发送子模块120、内核发送子模块130以及结果调用子模块140,其中:
终端命令子模块110,用于获取shell终端的命令请求;请求发送子模块120,用于通过glibc将命令请求发送至用户态文件系统的内核;内核发送子模块130,用于通过内核的VFS把命令请求发送给FUSE文件系统;结果调用子模块140,用于通过FUSE文件系统调用用户态实现的API来返回结果调用,实现用户态文件系统的调用。
加密系统构建模块200,用于基于用户态文件系统构建用户态加密文件系统;
进一步地,上述加密系统构建模块200包括函数加载子模块210,用于基于用户态文件系统分别构建datafort_fs_open函数、datafort_fs_write加密函数、datafort_fs_read解密函数、datafort_fs_getattr函数、datafort_fs_mkdir函数和datafort_fs_readdir函数,以得到用户态加密文件系统。
目录创建模块300,用于在数据库中创建用于存放密文的密文目录和用于存放明文的明文目录;
目录初始化模块400,用于基于用户态加密文件系统对密文目录进行初始化处理,以得到目标密文目录;
目录挂载模块500,用于将目标密文目录挂载到明文目录,以实现数据库透明加解密。
本发明基于用户文件系统构建加密系统,进而支持不同数据库的加密算法,实现对数据库的透明有效的加密和解密,解决了现有技术中不支持国密算法SM4的技术问题。用户态文件系统由3部分组成:内核模块、用户态库文件以及mount工具。内核模块提供内核的接入口;用户态库给用户提供一系列的编程接口;Mount工具用于挂载用户编写的文件系统。用户程序只需要和用户态库以及mount工具进行交互。为了实现对不同数据库的加密支撑,首先,通过系统调用模块100调用一个基础的用户态文件系统,以此为基础,加密系统构建模块200在用户态文件系统的基础上构建并实现对各个函数的调用以构建一个用户态加密文件系统,进而通过用户态加密文件系统实现后续的数据库加密,无需进行其他操作即可对接各个不同数据库,实现数据库的加解密操作。用户态加密文件系统构建完成后,目录创建模块300在此基础上为对应的数据库创建用于存放密文的密文目录和用于存放明文的明文目录,然后通过目录初始化模块400对密文目录进行初始化处理,以得到目标密文目录,并在初始化处理过程会在cipher生成密钥配置文件,然后通过目录挂载模块500将目标密文目录挂载到明文目录,为后续用户在明文目录中的操作提供加密基础,基于密文目录和明文目录之间的关联,用户在明文目录中写入的数据内容也会直接进行加密,进而实现数据库透明加密。用户对数据进行解密查看时,只需要通过调用用户态加密文件系统中的解密函数即可实现数据的解密,方便快捷的进行加解密。
本系统基于用户文件系统构建加密系统,可支持不同数据库的加密算法,无需多余的操作配置只需要调用用户态加密文件系统中的加解密函数即可实现对数据内容的加密和解密,实现对数据库的透明有效的加密和解密。
如图3所示,基于第二方面,在本发明的一些实施例中,该基于用户态文件系统的数据库透明加解密实现系统还包括表空间创建模块600和文件加密模块700,其中:
表空间创建模块600,用于在明文目录上创建表空间;
文件加密模块700,用于获取数据库的原有表,并将原有表移动至表空间,完成文件加密。
将密文目录挂载到明文目录后,即为用户对数据库透明加密构建了基础,用户可以通过表空间创建模块600在明文目录上创建一个表空间,然后文件加密模块700将数据库原有表移动到新创建的表空间内,基于已经构建好的密文目录和明文目录之间的关联,此时的密文目录下的文件内容已经是加密文件了,无需多余的操作,自动调用用户态加密文件系统的加密函数对目录内的文件内容进行加密。
如图4所示,第三方面,本申请实施例提供一种电子设备,其包括存储器101,用于存储一个或多个程序;处理器102。当一个或多个程序被处理器102执行时,实现如上述第一方面中任一项的方法。
还包括通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
其中,存储器101可以是但不限于,随机存取存储器101(Random Access Memory,RAM),只读存储器101(Read Only Memory,ROM),可编程只读存储器101(ProgrammableRead-Only Memory,PROM),可擦除只读存储器101(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器101(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器102,包括中央处理器102(Central Processing Unit,CPU)、网络处理器102(Network Processor,NP)等;还可以是数字信号处理器102(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请所提供的实施例中,应该理解到,所揭露的方法及系统和方法,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第一方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器101(ROM,Read-Only Memory)、随机存取存储器101(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (10)

1.一种基于用户态文件系统的数据库透明加解密实现方法,其特征在于,包括以下步骤:
调用用户态文件系统;
基于用户态文件系统构建用户态加密文件系统;
在数据库中创建用于存放密文的密文目录和用于存放明文的明文目录;
基于用户态加密文件系统对密文目录进行初始化处理,以得到目标密文目录;
将目标密文目录挂载到明文目录,以实现数据库透明加解密。
2.根据权利要求1所述的一种基于用户态文件系统的数据库透明加解密实现方法,其特征在于,所述基于用户态文件系统构建用户态加密文件系统的方法包括以下步骤:
基于用户态文件系统分别构建datafort_fs_open函数、datafort_fs_write加密函数、datafort_fs_read解密函数、datafort_fs_getattr函数、datafort_fs_mkdir函数和datafort_fs_readdir函数,以得到用户态加密文件系统。
3.根据权利要求1所述的一种基于用户态文件系统的数据库透明加解密实现方法,其特征在于,所述调用用户态文件系统的方法包括以下步骤:
获取shell终端的命令请求;
通过glibc将命令请求发送至用户态文件系统的内核;
通过内核的VFS把命令请求发送给FUSE文件系统;
通过FUSE文件系统调用用户态实现的API来返回结果调用,实现用户态文件系统的调用。
4.根据权利要求1所述的一种基于用户态文件系统的数据库透明加解密实现方法,其特征在于,还包括以下步骤:
在明文目录上创建表空间;
获取数据库的原有表,并将原有表移动至表空间,完成文件加密。
5.一种基于用户态文件系统的数据库透明加解密实现系统,其特征在于,包括系统调用模块、加密系统构建模块、目录创建模块、目录初始化模块以及目录挂载模块,其中:
系统调用模块,用于调用用户态文件系统;
加密系统构建模块,用于基于用户态文件系统构建用户态加密文件系统;
目录创建模块,用于在数据库中创建用于存放密文的密文目录和用于存放明文的明文目录;
目录初始化模块,用于基于用户态加密文件系统对密文目录进行初始化处理,以得到目标密文目录;
目录挂载模块,用于将目标密文目录挂载到明文目录,以实现数据库透明加解密。
6.根据权利要求5所述的一种基于用户态文件系统的数据库透明加解密实现系统,其特征在于,所述加密系统构建模块包括函数加载子模块,用于基于用户态文件系统分别构建datafort_fs_open函数、datafort_fs_write加密函数、datafort_fs_read解密函数、datafort_fs_getattr函数、datafort_fs_mkdir函数和datafort_fs_readdir函数,以得到用户态加密文件系统。
7.根据权利要求5所述的一种基于用户态文件系统的数据库透明加解密实现系统,其特征在于,所述系统调用模块包括终端命令子模块、请求发送子模块、内核发送子模块以及结果调用子模块,其中:
终端命令子模块,用于获取shell终端的命令请求;
请求发送子模块,用于通过glibc将命令请求发送至用户态文件系统的内核;
内核发送子模块,用于通过内核的VFS把命令请求发送给FUSE文件系统;
结果调用子模块,用于通过FUSE文件系统调用用户态实现的API来返回结果调用,实现用户态文件系统的调用。
8.根据权利要求5所述的一种基于用户态文件系统的数据库透明加解密实现系统,其特征在于,还包括表空间创建模块和文件加密模块,其中:
表空间创建模块,用于在明文目录上创建表空间;
文件加密模块,用于获取数据库的原有表,并将原有表移动至表空间,完成文件加密。
9.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
CN202110990549.XA 2021-08-26 2021-08-26 基于用户态文件系统的数据库透明加解密实现方法及系统 Pending CN113672960A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110990549.XA CN113672960A (zh) 2021-08-26 2021-08-26 基于用户态文件系统的数据库透明加解密实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110990549.XA CN113672960A (zh) 2021-08-26 2021-08-26 基于用户态文件系统的数据库透明加解密实现方法及系统

Publications (1)

Publication Number Publication Date
CN113672960A true CN113672960A (zh) 2021-11-19

Family

ID=78546869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110990549.XA Pending CN113672960A (zh) 2021-08-26 2021-08-26 基于用户态文件系统的数据库透明加解密实现方法及系统

Country Status (1)

Country Link
CN (1) CN113672960A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117118713A (zh) * 2023-08-30 2023-11-24 广州趣米网络科技有限公司 一种基于双重加密的加密算法
CN117349870A (zh) * 2023-12-05 2024-01-05 苏州元脑智能科技有限公司 基于异构计算的透明加解密计算系统、方法、设备和介质
CN117610060A (zh) * 2024-01-19 2024-02-27 成都理工大学 一种基于多核并行的多媒体文件混合加解密方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425938A (zh) * 2013-08-01 2013-12-04 亚太宝龙科技(湖南)有限公司 一种类Unix操作系统的文件夹加密方法和装置
CN105630965A (zh) * 2015-12-24 2016-06-01 西安电子科技大学 一种移动终端闪存介质上用户空间安全删除文件系统及方法
CN106796509A (zh) * 2014-09-26 2017-05-31 宇龙计算机通信科技(深圳)有限公司 操作系统分区的保护方法、保护装置和终端
CN109325355A (zh) * 2018-01-11 2019-02-12 白令海 基于虚拟磁盘的移动终端数据安全存储方法
CN112632624A (zh) * 2020-12-31 2021-04-09 中孚安全技术有限公司 一种存储块加解密方法、系统、终端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425938A (zh) * 2013-08-01 2013-12-04 亚太宝龙科技(湖南)有限公司 一种类Unix操作系统的文件夹加密方法和装置
CN106796509A (zh) * 2014-09-26 2017-05-31 宇龙计算机通信科技(深圳)有限公司 操作系统分区的保护方法、保护装置和终端
CN105630965A (zh) * 2015-12-24 2016-06-01 西安电子科技大学 一种移动终端闪存介质上用户空间安全删除文件系统及方法
CN109325355A (zh) * 2018-01-11 2019-02-12 白令海 基于虚拟磁盘的移动终端数据安全存储方法
CN112632624A (zh) * 2020-12-31 2021-04-09 中孚安全技术有限公司 一种存储块加解密方法、系统、终端及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
章勤;刘树明;: "基于可信计算平台的加密文件系统", 微处理机, no. 01, 15 February 2008 (2008-02-15) *
陈辉焱等: "数据存储加密技术的分析与研究", 北京电子科技学院学报, 15 June 2017 (2017-06-15) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117118713A (zh) * 2023-08-30 2023-11-24 广州趣米网络科技有限公司 一种基于双重加密的加密算法
CN117349870A (zh) * 2023-12-05 2024-01-05 苏州元脑智能科技有限公司 基于异构计算的透明加解密计算系统、方法、设备和介质
CN117349870B (zh) * 2023-12-05 2024-02-20 苏州元脑智能科技有限公司 基于异构计算的透明加解密计算系统、方法、设备和介质
CN117610060A (zh) * 2024-01-19 2024-02-27 成都理工大学 一种基于多核并行的多媒体文件混合加解密方法及系统
CN117610060B (zh) * 2024-01-19 2024-03-29 成都理工大学 一种基于多核并行的多媒体文件混合加解密方法及系统

Similar Documents

Publication Publication Date Title
CN113672960A (zh) 基于用户态文件系统的数据库透明加解密实现方法及系统
CN111885024B (zh) 一种登录信息处理方法及设备
WO2022252632A1 (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
US10762229B2 (en) Secure searchable and shareable remote storage system and method
US9509494B2 (en) Computer-implemented system and method for providing secure data processing in a cloud using discrete homomorphic encryption
US10484352B2 (en) Data operations using a proxy encryption key
US10951406B2 (en) Preventing encryption key recovery by a cloud provider
US20180375838A1 (en) Filtering and unicity with deterministic encryption
CN114329599B (zh) 一种数据查询方法、装置及存储介质
CN112818380A (zh) 业务行为的回溯处理方法、装置、设备及系统
TW202333054A (zh) 加密使用者資料傳輸及儲存(nuts)
US10594490B2 (en) Filtering encrypted data using indexes
CN106992851B (zh) 基于TrustZone的数据库文件口令加解密方法、装置及终端设备
US20230283613A1 (en) Systems and methods for secure data access control
CN111541725A (zh) 区块链一体机及其密码加速卡、密钥管理方法和装置
US9996686B2 (en) Password retrieval system and method involving token usage without prior knowledge of the password
US10963593B1 (en) Secure data storage using multiple factors
US9659190B1 (en) Storage system configured for encryption of data items using multidimensional keys having corresponding class keys
CN113162974B (zh) 一种基于tcp代理的数据库动态加解密的实现方法及系统
CN114036538A (zh) 一种基于虚拟块设备的数据库透明加解密实现方法及系统
CN112788151B (zh) 数据同步的方法、装置和系统
US11265156B2 (en) Secrets management using key agreement
CN114995949A (zh) 容器镜像构建方法及装置
CN113923178A (zh) 一种即时通讯及群组资料文件存放与提取的方法及系统
CN115208630B (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