CN114036538A - 一种基于虚拟块设备的数据库透明加解密实现方法及系统 - Google Patents

一种基于虚拟块设备的数据库透明加解密实现方法及系统 Download PDF

Info

Publication number
CN114036538A
CN114036538A CN202111294358.6A CN202111294358A CN114036538A CN 114036538 A CN114036538 A CN 114036538A CN 202111294358 A CN202111294358 A CN 202111294358A CN 114036538 A CN114036538 A CN 114036538A
Authority
CN
China
Prior art keywords
data
decryption
block device
encryption
virtual
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
CN202111294358.6A
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 CN202111294358.6A priority Critical patent/CN114036538A/zh
Publication of CN114036538A publication Critical patent/CN114036538A/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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

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

Abstract

本发明提出了一种基于虚拟块设备的数据库透明加解密实现方法及系统,涉及数据安全技术领域。一种基于虚拟块设备的数据库透明加解密实现方法包括:当用户写入数据时,通过dm‑crypt自动对块设备下的数据进行加密再写入磁盘;当用户读取数据时,对块设备下的数据自动解密返回给应用程序。其能够通过使用Device Mapper机制,实现POSTGRESQL数据库的TDE功能,由于加解密是操作在块设备级别,对数据库的任何操作都无影响,但是磁盘的数据是加密存储的,从而满足用户的透明加密需求。此外本发明还提出了一种基于虚拟块设备的数据库透明加解密实现系统,包括:加密模块及解密模块。

Description

一种基于虚拟块设备的数据库透明加解密实现方法及系统
技术领域
本发明涉及数据安全技术领域,具体而言,涉及一种基于虚拟块设备的数据库透明加解密实现方法及系统。
背景技术
PostgreSQL是自由的对象-关系型数据库服务器,在灵活的BSD风格许可证下发行。它在其他开放源代码数据库系统和专有系统之外,为用户又提供了一种选择。可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用。PostgreSQL的文档非常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。PostgreSQL的社区支持是非常棒的,还有来自于独立厂商的商业支持。
数据一致性与完整性也是PostgreSQL的高优先级特性。PostgreSQL是完全支持ACID特性的,它对于数据库访问提供了强大的安全性保证,充分利用了企业安全工具,如Kerberos与OpenSSL等。可以定义自己的检查,根据自己的业务规则确保数据质量。
数据的安全,保密性在现在的生活中显得越来越重要。随着数字化的时代的来临,越来越多的数据被数字化,特别是更多有关于我们隐私的数据在不断生成,甚至还有我们需要离线保存的密钥等。而且通常我们使用磁盘,USB闪存,SD卡等存储介质进行存储,即便我们已经离线存储,仍然不能保证该存储介质不会丢失,如果丢失那么对于我们来说有可能是灾难性的事件。因此对这些离线存储的重要数据,再次进行加密是非常有必要的。
对于PostgreSQL数据库,采用的加密方式可以是插入数据之前加密,在读取之后进行解密,或者是调用数据库的加密函数进行数据加密,这需要在应用和数据库之间添加加解密设备,对存储过程和索引都会产生影响,没有达到完全透明的效果。
现有对PostgreSQL数据库的加密都是在数据库层面进行,直接把表中的明文信息加密为密文,这样实现的缺点对模糊查询也支持不好,效率也不高。
发明内容
本发明的目的在于提供一种基于虚拟块设备的数据库透明加解密实现方法,其能够通过使用Device Mapper机制,实现POSTGRESQL数据库的TDE功能,由于加解密是操作在块设备级别,对数据库的任何操作都无影响,但是磁盘的数据是加密存储的,从而满足用户的透明加密需求。
本发明的另一目的在于提供一种基于虚拟块设备的数据库透明加解密实现系统,其能够运行一种基于虚拟块设备的数据库透明加解密实现方法。
本发明的实施例是这样实现的:
第一方面,本申请实施例提供一种基于虚拟块设备的数据库透明加解密实现方法,其包括当用户写入数据时,通过dm-crypt自动对块设备下的数据进行加密再写入磁盘;当用户读取数据时,对块设备下的数据自动解密返回给应用程序。
在本发明的一些实施例中,上述当用户写入数据时,通过dm-crypt自动对块设备下的数据进行加密再写入磁盘包括:dm-crypt通过DM虚拟一个块设备,将物理块设备映射到虚拟设备。
在本发明的一些实施例中,上述数据进行加密包括:创建虚拟盘,然后使用luks方式格式化该虚拟盘。
在本发明的一些实施例中,上述还包括:映射虚拟盘,执行映射虚拟盘的命令后,虚拟盘会被映射到预设目录下,通过预设指令进行查看。
在本发明的一些实施例中,上述还包括:创建ext4文件系统,然后挂载文件系统,挂载完成后修改文件夹的所属用户。
在本发明的一些实施例中,上述还包括:创建表空间并指定所在目录,将表从明文表空间移动到密文表空间,从而完成表的透明加密过程。
在本发明的一些实施例中,上述数据自动解密包括:将表从密文表空间移动到明文表空间,当不使用的时候,卸载文件系统,最后关闭虚拟盘命令。
第二方面,本申请实施例提供一种基于虚拟块设备的数据库透明加解密实现系统,其包括PostgreSQL加密模块,用于当用户写入数据时,通过dm-crypt自动对块设备下的数据进行加密再写入磁盘;
PostgreSQL解密模块,当用户读取数据时,对块设备下的数据自动解密返回给应用程序。
在本发明的一些实施例中,上述包括:用于存储计算机指令的至少一个存储器;与上述存储器通讯的至少一个处理器,其中当上述至少一个处理器执行上述计算机指令时,上述至少一个处理器使上述系统执行:PostgreSQL加密模块及PostgreSQL解密模块。
第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如一种基于虚拟块设备的数据库透明加解密实现方法中任一项的方法。
相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
通过使用Device Mapper机制:实现POSTGRESQL数据库的TDE功能,当用户写入数据时,通过dm-crypt自动对该块设备下的数据进行加密再写入磁盘,当用户读取数据时,对该块设备下的数据自动解密返回给应用程序,由于加解密是操作在块设备级别,对数据库的任何操作都无影响,但是磁盘的数据是加密存储的,从而满足用户的透明加密需求,不需要修改表结构,配置简单,对数据库自身无影响,对应用透明。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种基于虚拟块设备的数据库透明加解密实现方法步骤示意图;
图2为本发明实施例提供的一种基于虚拟块设备的数据库透明加解密实现方法详细步骤示意图;
图3为本发明实施例提供的一种基于虚拟块设备的数据库透明加解密实现系统模块示意图;
图4为本发明实施例提供的一种电子设备;
图5是本发明实施例提供的Device Mapper的内核体系架构图。
图标:10-PostgreSQL加密模块;20-PostgreSQL解密模块;101-存储器;102-处理器;103-通信接口。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
实施例1
请参阅图1及图5,图1为本发明实施例提供的一种基于虚拟块设备的数据库透明加解密实现方法步骤示意图,其如下所示:
图5是Device Mapper的内核体系架构图,Device Mapper是linux2.6内核中支持逻辑卷管理的通用设备映射机制,它为块设备驱动提供一个高度模块化的架构,通过DM可以灵活的管理系统中的虚拟块设备。
Device Mapper是Linux系统中基于内核的高级卷管理技术框架。Docker的devicemapper存储驱动就是基于该框架的精简置备和快照功能来实现镜像和容器的管理。注:Device Mapper是Linux的一种技术框架,而devicemapper是Docker Engine基于DeviceMapper提供的一种存储驱动。
devicemapper是RHEL下Docker Engine的默认存储驱动,它有两种配置模式:loop-lvm和direct-lvm。
loop-lvm是默认的模式,它使用OS层面离散的文件来构建精简池(thin pool)。该模式主要是设计出来让Docker能够简单的被"开箱即用(out-of-the-box)"而无需额外的配置。
步骤S100,当用户写入数据时,通过dm-crypt自动对块设备下的数据进行加密再写入磁盘;
在一些实施方式中,dm-crypt是l inux内核的Device Mapper加密目标,用于块设备加密的模块。Linux内核中,密码相关的头文件在<srcdir>/include/crypto/下,实现文件在<srcdir>/crypto/下。相关的概念大致有加密、块加密、异步块加密、哈希、分组加密模式(ECB/CBC/CFB/OFB/CTR)等。
dm-crypt通过DM虚拟一个块设备,将物理块设备映射到虚拟设备,当写入虚拟设备时,每个数据块都是被加密并存储在物理设备上的,实现POSTGRESQL数据库的TDE功能,当用户写入数据时,通过dm-crypt自动对该块设备下的数据进行加密再写入磁盘,其中,Cryptsetup是dm-crypt的命令行接口工具,用于创建,访问,和管理加密设备。
在一些实施方式中,发现了新的问题,即如何将陷入等待的dm-crypt唤醒?可以通过在密码算法的异步回调kcryptd_async_done函数,当一个标以EBUSY的request被error=-EINPROGRESS方式complete的时候,complete异步回调会唤醒dm-crypt而不干其他的事情。这还说明了另外一个问题:被标以EBUSY的request仍然要被异步密码算法记录下来,因为这个request必须被额外complete一次,而且dm-crypt不会重发这个request。
步骤S110,当用户读取数据时,对块设备下的数据自动解密返回给应用程序。
在一些实施方式中,当用户读取数据时,对该块设备下的数据自动解密返回给应用程序,由于加解密是操作在块设备级别,对数据库的任何操作都无影响,但是磁盘的数据是加密存储的,从而满足用户的透明加密需求。
实施例2
请参阅图2,图2为本发明实施例提供的一种基于虚拟块设备的数据库透明加解密实现方法详细步骤示意图,其如下所示:
步骤S200,创建虚拟盘;
在一些实施方式中,通过fallocate–l 16G/home/postgres.vol创建虚拟盘。
步骤S210,使用luks方式格式化该虚拟盘;
在一些实施方式中,使用cryptsetup luksFormat/home/postgres.vol格式化该虚拟盘。
在一些实施方式中,LUKS(Linux Unified Key Setup)是Linux硬盘加密的标准。通过提供标准的磁盘格式,它不仅可以促进发行版之间的兼容性,还可以提供对多个用户密码的安全管理。与现有解决方案相比,LUKS将所有必要的设置信息存储在分区信息首部中,使用户能够无缝传输或迁移其数据。
步骤S220,映射虚拟盘;
在一些实施方式中,postgresql_enc:cryptsetup luksOpen/home/postgres.volpostgresql_enc。
步骤S230,执行映射虚拟盘的命令后,虚拟盘会被映射到预设目录下,通过预设指令进行查看;
在一些实施方式中,执行此命令后,虚拟盘会被映射到/dev/mapper/postgresql_enc目录下,可以通过ls/dev/mapper/查看。
步骤S240,创建ext4文件系统;
在一些实施方式中,通过mkfs.ext4/dev/mapper/postgresql_enc创建ext4文件系统。
步骤S250,挂载文件系统;
在一些实施方式中,通过Mount/dev/mapper/postgresql_enc/mnt/postgresql_enc挂载文件系统。
步骤S260,修改文件夹的所属用户;
在一些实施方式中,通过chown–R postgres:postgres/mnt/postgresql_enc修改文件夹的所属用户。
步骤S270,创建表空间并指定所在目录;
在一些实施方式中,通过Create tablespace tsp01 location‘/mnt/postgresql_enc’创建表空间并指定所在目录。
步骤S280,将表从明文表空间移动到密文表空间,从而完成表的透明加密过程。
在一些实施方式中,通过Alter table test_table set tablespace tsp01将表从明文表空间移动到密文表空间,从而完成表的透明加密过程。
步骤S290,将表从密文表空间移动到明文表空间;
在一些实施方式中,通过Alter table test_table set tablespace tsp01_old将表从密文表空间移动到明文表空间。
步骤S300,当不使用的时候,卸载文件系统;
在一些实施方式中,当不使用的时候,通过Umount/mnt/postgresql_enc卸载文件系统。
步骤S310,关闭虚拟盘命令。
在一些实施方式中,通过cryptsetup luksClose/dev/mapper/postgresql_enc关闭虚拟盘命令。
实施例3
请参阅图3,图3为本发明实施例提供的一种基于虚拟块设备的数据库透明加解密实现系统模块示意图,其如下所示:
PostgreSQL加密模块10,用于当用户写入数据时,通过dm-crypt自动对块设备下的数据进行加密再写入磁盘;
PostgreSQL解密模块20,当用户读取数据时,对块设备下的数据自动解密返回给应用程序。
在一些实施方式中,透明数据加密,从字面上来说,可以分为三部分,数据,加密,透明。数据,用户需要保护的明文数据。加密,信息安全一直伴随着世界的发展,加密是信息安全的一种重要手段,常用加密方法目前可以分为流密码加密、分组加密以及公钥加密3种。透明,指的是用户无感知,这是对加密行为的描述。
如图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)、专用集成电路(Appl ication Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请所提供的实施例中,应该理解到,所揭露的方法及系统和方法,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
另一方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第一方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器101(ROM,Read-Only Memory)、随机存取存储器101(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本申请实施例提供的一种基于虚拟块设备的数据库透明加解密实现方法及系统,通过使用Device Mapper机制:实现POSTGRESQL数据库的TDE功能,当用户写入数据时,通过dm-crypt自动对该块设备下的数据进行加密再写入磁盘,当用户读取数据时,对该块设备下的数据自动解密返回给应用程序,由于加解密是操作在块设备级别,对数据库的任何操作都无影响,但是磁盘的数据是加密存储的,从而满足用户的透明加密需求,不需要修改表结构,配置简单,对数据库自身无影响,对应用透明。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (10)

1.一种基于虚拟块设备的数据库透明加解密实现方法,其特征在于,包括:
当用户写入数据时,通过dm-crypt自动对块设备下的数据进行加密再写入磁盘;
当用户读取数据时,对块设备下的数据自动解密返回给应用程序。
2.如权利要求1所述的一种基于虚拟块设备的数据库透明加解密实现方法,其特征在于,所述当用户写入数据时,通过dm-crypt自动对块设备下的数据进行加密再写入磁盘包括:
dm-crypt通过DM虚拟一个块设备,将物理块设备映射到虚拟设备。
3.如权利要求1所述的一种基于虚拟块设备的数据库透明加解密实现方法,其特征在于,所述数据进行加密包括:
创建虚拟盘,然后使用luks方式格式化该虚拟盘。
4.如权利要求3所述的一种基于虚拟块设备的数据库透明加解密实现方法,其特征在于,还包括:
映射虚拟盘,执行映射虚拟盘的命令后,虚拟盘会被映射到预设目录下,通过预设指令进行查看。
5.如权利要求4所述的一种基于虚拟块设备的数据库透明加解密实现方法,其特征在于,还包括:
创建ext4文件系统,然后挂载文件系统,挂载完成后修改文件夹的所属用户。
6.如权利要求5所述的一种基于虚拟块设备的数据库透明加解密实现方法,其特征在于,还包括:
创建表空间并指定所在目录,将表从明文表空间移动到密文表空间,从而完成表的透明加密过程。
7.如权利要求1所述的一种基于虚拟块设备的数据库透明加解密实现方法,其特征在于,所述数据自动解密包括:
将表从密文表空间移动到明文表空间,当不使用的时候,卸载文件系统,最后关闭虚拟盘命令。
8.一种基于虚拟块设备的数据库透明加解密实现系统,其特征在于,包括:
PostgreSQL加密模块,用于当用户写入数据时,通过dm-crypt自动对块设备下的数据进行加密再写入磁盘;
PostgreSQL解密模块,当用户读取数据时,对块设备下的数据自动解密返回给应用程序。
9.如权利要求8所述的一种基于虚拟块设备的数据库透明加解密实现系统,其特征在于,包括:
用于存储计算机指令的至少一个存储器;
与所述存储器通讯的至少一个处理器,其中当所述至少一个处理器执行所述计算机指令时,所述至少一个处理器使所述系统执行:PostgreSQL加密模块及PostgreSQL解密模块。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
CN202111294358.6A 2021-11-03 2021-11-03 一种基于虚拟块设备的数据库透明加解密实现方法及系统 Pending CN114036538A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111294358.6A CN114036538A (zh) 2021-11-03 2021-11-03 一种基于虚拟块设备的数据库透明加解密实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111294358.6A CN114036538A (zh) 2021-11-03 2021-11-03 一种基于虚拟块设备的数据库透明加解密实现方法及系统

Publications (1)

Publication Number Publication Date
CN114036538A true CN114036538A (zh) 2022-02-11

Family

ID=80136206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111294358.6A Pending CN114036538A (zh) 2021-11-03 2021-11-03 一种基于虚拟块设备的数据库透明加解密实现方法及系统

Country Status (1)

Country Link
CN (1) CN114036538A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114943091A (zh) * 2022-07-27 2022-08-26 成都中科合迅科技有限公司 基于linux内核块设备加密功能的Elasticsearch加密搜索方法
CN116578393A (zh) * 2023-07-11 2023-08-11 苏州浪潮智能科技有限公司 一种容器使用加密目录的方法、系统、设备以及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114943091A (zh) * 2022-07-27 2022-08-26 成都中科合迅科技有限公司 基于linux内核块设备加密功能的Elasticsearch加密搜索方法
CN116578393A (zh) * 2023-07-11 2023-08-11 苏州浪潮智能科技有限公司 一种容器使用加密目录的方法、系统、设备以及存储介质
CN116578393B (zh) * 2023-07-11 2023-09-29 苏州浪潮智能科技有限公司 一种容器使用加密目录的方法、系统、设备以及存储介质

Similar Documents

Publication Publication Date Title
JP7540749B2 (ja) 暗号化されたユーザデータの移動および記憶
US10917394B2 (en) Data operations using a proxy encryption key
US7908476B2 (en) Virtualization of file system encryption
CN102945355B (zh) 基于扇区映射的快速数据加密策略遵从
US7171557B2 (en) System for optimized key management with file groups
CN102855452B (zh) 基于加密组块的快速数据加密策略遵从
US7873168B2 (en) Secret information management apparatus and secret information management system
US11487885B2 (en) Enabling and validating data encryption
US9749132B1 (en) System and method for secure deletion of data
EP2043073A1 (en) Method for encrypting and decrypting shared encrypted files
CN113169882B (zh) 用于区块链的互操作性的系统和方法
US20090214044A1 (en) Data archiving technique for encrypted data
EP2943878B1 (en) Clipboard management
JPWO2009107351A1 (ja) 情報セキュリティ装置および情報セキュリティシステム
US8769302B2 (en) Encrypting data and characterization data that describes valid contents of a column
US10733306B2 (en) Write-only limited-read filesystem
CN114036538A (zh) 一种基于虚拟块设备的数据库透明加解密实现方法及系统
WO2015038447A1 (en) Security processing unit with configurable access control
WO2022121511A1 (en) Secure computing resource deployment using homomorphic encryption
US20080107261A1 (en) Method for Protecting Confidential Data
CN116680715A (zh) 一种数据库加密配置方法、装置、电子设备及存储介质
CN117194298B (zh) 一种控制方法、装置、设备及存储介质
US11526534B2 (en) Replicating data changes through distributed invalidation
US20230222228A1 (en) Database hierarchical encryption for hybrid-cloud environment
JPH10340232A (ja) ファイル複写防止装置及びファイル読込装置

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