CN116094775A - 一种ceph分布式文件***服务端加密*** - Google Patents

一种ceph分布式文件***服务端加密*** Download PDF

Info

Publication number
CN116094775A
CN116094775A CN202211692733.7A CN202211692733A CN116094775A CN 116094775 A CN116094775 A CN 116094775A CN 202211692733 A CN202211692733 A CN 202211692733A CN 116094775 A CN116094775 A CN 116094775A
Authority
CN
China
Prior art keywords
file
key
encryption
data
client
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
CN202211692733.7A
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202211692733.7A priority Critical patent/CN116094775A/zh
Publication of CN116094775A publication Critical patent/CN116094775A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明特别涉及一种ceph分布式文件***服务端加密***。该ceph分布式文件***服务端加密***,包括密钥管理模块,客户端加解密模块,MDS端数据密钥存储模块和OSD数据存储模块。该ceph分布式文件***服务端加密***,通过对文件***中文件数据进行加密,满足了用户隐私和数据安全方面的需求;通过信封加密的方式,加强了密钥管理和传输过程中的安全性,用信封加密和针对每个对象进行加密相结合的方式,更适用于大数据量的加密。

Description

一种ceph分布式文件***服务端加密***
技术领域
本发明涉及信息技术领域,特别涉及一种ceph分布式文件***服务端加密***。
背景技术
Ceph是一种高性能、高可靠性和可扩展性的统一的、分布式存储***,在一个统一的存储***中同时提供了对象、块和文件存储功能。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。
其中,CephFS文件***在使用时,文件数据的写入由客户端将整个文件条带化为指定大小的RADOS(ReliableAutonomicDistributedObjectStorage,分布式对象存储***)对象后,向各个对象存储设备OSD(Object-basedStorageDevice)发送写入请求完成数据持久化。数据存储在磁盘上是明文存储的,在某些情况下,比如硬件设备丢失,可能造成数据内容被读取识别或还原,从而造成数据泄露和隐私安全问题。对于一些数据安全性要求较高的使用场景,存在较大的安全风险。信封加密是类似数字信封技术的一种加密手段。将加密的数据密钥封入信封中存储、传递和使用,不再使用单纯的用户主密钥直接加密和解密数据。加密的密钥在传递使用过程中更能保证安全性,相比使用非对称密钥直接加密更适用与大数据量的加密。
针对一些数据安全性要求高的使用场景中,CephFS文件***没有对其中文件进行加密的机制,无法满足用户安全隐私方面的需求。本发明提出了一种ceph分布式文件***服务端加密***。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的ceph分布式文件***服务端加密***。
本发明是通过如下技术方案实现的:
一种ceph分布式文件***服务端加密***,其特征在于:包括密钥管理模块,客户端加解密模块,MDS端数据密钥存储模块和OSD数据存储模块;
所述密钥管理模块负责文件***中主密钥的管理,并响应客户端加解密模块的请求;当客户端需要加密时,给客户端发放数据密钥;当客户端需要解密时,解密客户端发来的加密的数据密钥;
所述客户端加解密模块位于CephFS客户端,负责与密钥管理模块交互获取数据密钥,并在客户端读写文件内容时进行加密和解密操作,将加密的数据密钥保存到MDS端数据密钥存储模块中;
所述MDS端数据密钥存储模块负责存储加密每个文件加密后的数据密钥;
所述OSD数据存储模块负责响应客户端的读写请求,保存用户数据。
该ceph分布式文件***服务端加密***,通过信封加密的方式为文件***加密,为每个文件***指定一个主密钥;对文件***中文件加密时,先针对该文件向密钥管理模块申请数据密钥,然后将整个文件条带化处理为指定大小的RADOS对象,然后对每个对象进行加密,同时将加密后的数据密钥保存到文件对应的索引节点Inode的扩展属性中。
该ceph分布式文件***服务端加密***,加密流程包括以下步骤:
步骤S1、通过信封加密的方式,针对每个文件***在密钥管理模块中指定一个主密钥;
步骤S2、当文件***中每个文件进行写入时,使用主密钥向密钥管理模块申请数据密钥;然后对整个文件进行条带化处理,将其转化为指定大小的RADOS对象,并使用数据密钥对写入的文件数据进行加密,该文件对应的RADOS对象共享该加密密钥;
步骤S3、将加密后的数据密钥保存在文件对应的索引节点Inode的扩展属性当中;
通过信封加密的方式,将加密数据的数据密钥封入信封中进行存储、传递和使用,不再使用用户主密钥直接加解密数据。
所述步骤S1中,对指定文件***下的文件开启加密流程,如下:
步骤S1.1、CephFS客户端处理设置ceph.dir.encrypt属性请求;
步骤S1.2、验证设置属性的文件***是否为空,若为空则继续执行下一步,否则返回错误验证失败;
步骤S1.3、CephFS客户端向密钥管理模块发送请求,申请一个主密钥;
步骤S1.4、密钥管理模块将主密钥ID发送给CephFS客户端,CephFS客户端收到后返回申请成功信息;
步骤S1.5、CephFS客户端通过向元数据服务器MDS发送请求在文件***的目录树中找到指定文件***;
步骤S1.6、CephFS客户端向元数据服务器MDS发送请求,通过设置ceph.dir.encrypt属性表示该文件***下的文件需要进行加密,对应的主密钥uuid为ceph.dir.encrypt属性的值。
所述步骤S2中,文件***中文件数据的写入流程,如下:
步骤S2.1、CephFS客户端收到文件写请求后,先判断要写入的文件是否需要新创建;
若为需新建文件,则跳转至步骤S2.2;
若已创建,则验证当前文件Inode是否包含ceph.file.encrypt属性,若不包含则该文件无需加密,直接执行写流程处理;否则,该文件需要加密,跳转至步骤S2.5;
步骤S2.2、CephFS客户端根据文件***的目录树向上回溯,直到找到有文件***设置了ceph.dir.encrypt属性;
如果直到根文件***都没有设置ceph.dir.encrypt属性,则该文件不需要加密,,直接执行写流程处理;否则,找到距当前文件最近的,设置了ceph.dir.encrypt属性的文件***,并获取ceph.dir.encrypt属性的值;
步骤S2.3、CephFS客户端向密钥管理模块发送请求,申请数据密钥,其中携带步骤S2.2中获取到的ceph.dir.encrypt属性的值,指定使用的主密钥;
步骤S2.4、密钥管理模块向CephFS客户端返回生成的数据密钥以及使用主密钥加密的数据密钥,跳转至步骤S2.7,执行加密写入流程;
步骤S2.5、针对已创建文件,但需加密的文件的情况,读取该文件的ceph.file.encrypt属性,获取加密原有文件数据的加密的数据密钥;
步骤S2.6、CephFS客户端向密钥管理模块发送请求,将步骤S2.5中获取到的加密的文件数据密钥解密,获取数据密钥;
步骤S2.7、获取到数据密钥后,将写请求中的要写入的文件数据按照文件的逻辑偏移和长度进行条带化处理后,映射为指定大小的RADOS对象;
步骤S2.8、对于每个RADOS对象,使用数据密钥进行加密;
加密时,将每个RADOS对象按照逻辑偏移拆分为4KiB的块,对每个块分别进行加密;加密后,将密文数据保存到OSD数据存储模块。
所述步骤S2中,RADOS对象指定大小为4MB,通过修改文件布局修改对象大小。
所述步骤S3中,针对新创建的文件,将加密后的数据密钥保存的文件对应索引节点Inode的ceph.file.encrypt属性中,以便后续文件写入及读取时使用。
所述步骤S3中,文件数据读取流程,如下:
步骤S3.1、CephFS客户端收到文件读请求,验证当前文件的索引节点Inode中是否包含ceph.file.encrypt属性;
若不包含ceph.file.encrypt属性,则该文件无需加密,直接执行读流程处理;
若包含ceph.file.encrypt属性,则读取该数据的值,并获取到加密的数据密钥;
步骤S3.2、CephFS客户端向密钥管理模块发送请求,将步骤S3.1中读取到的加密的数据密钥解密,获取明文数据密钥;
步骤S3.3、将读请求中的文件数据从按照文件的逻辑偏移和长度映射为进行条带化处理后指定大小的RADOS对象的指定偏移和长度;
将该逻辑偏移和长度进行4K对齐,请求前后两端不足4KiB的部分,放大到4KiB读请求处理;向OSD数据存储模块发起读请求,获取对应RADOS对象内容;
步骤S3.4、使用获取到的明文数据密钥,将读取到的RADOS对象内容解密,返回CephFS客户端读请求中需要的文件数据内容,读请求处理结束。
一种设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现上述的方法步骤。
一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
本发明的有益效果是:该ceph分布式文件***服务端加密***,通过对文件***中文件数据进行加密,满足了用户隐私和数据安全方面的需求;通过信封加密的方式,加强了密钥管理和传输过程中的安全性,用信封加密和针对每个对象进行加密相结合的方式,更适用于大数据量的加密。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明ceph分布式文件***服务端加密***示意图。
附图2为本发明文件数据写入流程示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
该ceph分布式文件***服务端加密***,包括密钥管理模块,客户端加解密模块,MDS(元数据服务器)端数据密钥存储模块和OSD数据存储模块;
所述密钥管理模块负责文件***中主密钥的管理,并响应客户端加解密模块的请求;当客户端需要加密时,给客户端发放数据密钥;当客户端需要解密时,解密客户端发来的加密的数据密钥;
所述客户端加解密模块位于CephFS客户端,负责与密钥管理模块交互获取数据密钥,并在客户端读写文件内容时进行加密和解密操作,将加密的数据密钥保存到MDS端数据密钥存储模块中;
所述MDS端数据密钥存储模块负责存储加密每个文件加密后的数据密钥;
所述OSD数据存储模块负责响应客户端的读写请求,保存用户数据。
该ceph分布式文件***服务端加密***,通过信封加密的方式为文件***加密,为每个文件***指定一个主密钥;对文件***中文件加密时,先针对该文件向密钥管理模块申请数据密钥,然后将整个文件条带化处理为指定大小的RADOS对象,然后对每个对象进行加密,同时将加密后的数据密钥保存到文件对应的索引节点Inode的扩展属性中。
该ceph分布式文件***服务端加密***,加密流程包括以下步骤:
步骤S1、通过信封加密的方式,针对每个文件***在密钥管理模块中指定一个主密钥;
步骤S2、当文件***中每个文件进行写入时,使用主密钥向密钥管理模块申请数据密钥;然后对整个文件进行条带化处理,将其转化为指定大小的RADOS对象,并使用数据密钥对写入的文件数据进行加密,该文件对应的RADOS对象共享该加密密钥;
步骤S3、将加密后的数据密钥保存在文件对应的索引节点Inode的扩展属性当中;
通过信封加密的方式,将加密数据的数据密钥封入信封中进行存储、传递和使用,不再使用用户主密钥直接加解密数据。
加密每个RADOS对象时,将对象分为4KiB的块分别进行加密。
所述步骤S2中,每个文件选择申请不同的数据密钥,从而进一步保证多用户情况下的数据安全;
进行服务端数据加密后,即使硬件设备丢失,数据中有效内容也不会被识别,进而保证了用户数据的安全性。
所述步骤S1中,对指定文件***下的文件开启加密流程,如下:
步骤S1.1、CephFS客户端处理设置ceph.dir.encrypt属性请求;
步骤S1.2、验证设置属性的文件***是否为空,若为空则继续执行下一步,否则返回错误验证失败;
步骤S1.3、CephFS客户端向密钥管理模块发送请求,申请一个主密钥;
步骤S1.4、密钥管理模块将主密钥ID发送给CephFS客户端,CephFS客户端收到后返回申请成功信息;
步骤S1.5、CephFS客户端通过向元数据服务器MDS发送请求在文件***的目录树中找到指定文件***;
步骤S1.6、CephFS客户端向元数据服务器MDS发送请求,通过设置ceph.dir.encrypt属性表示该文件***下的文件需要进行加密,对应的主密钥uuid为ceph.dir.encrypt属性的值。后续该文件***下的文件写入都需要进行加密。需要注意的是,已设置加密属性的文件***,不可修改和删除该属性。
所述步骤S2中,文件***中文件数据的写入流程,如下:
步骤S2.1、CephFS客户端收到文件写请求后,先判断要写入的文件是否需要新创建;
若为需新建文件,则跳转至步骤S2.2;
若已创建,则验证当前文件Inode是否包含ceph.file.encrypt属性,若不包含则该文件无需加密,直接执行写流程处理;否则,该文件需要加密,跳转至步骤S2.5;
步骤S2.2、CephFS客户端根据文件***的目录树向上回溯,直到找到有文件***设置了ceph.dir.encrypt属性;
如果直到根文件***都没有设置ceph.dir.encrypt属性,则该文件不需要加密,,直接执行写流程处理;否则,找到距当前文件最近的,设置了ceph.dir.encrypt属性的文件***,并获取ceph.dir.encrypt属性的值;
步骤S2.3、CephFS客户端向密钥管理模块发送请求,申请数据密钥,其中携带步骤S2.2中获取到的ceph.dir.encrypt属性的值,指定使用的主密钥;
步骤S2.4、密钥管理模块向CephFS客户端返回生成的数据密钥以及使用主密钥加密的数据密钥,跳转至步骤S2.7,执行加密写入流程;
步骤S2.5、针对已创建文件,但需加密的文件的情况,读取该文件的ceph.file.encrypt属性,获取加密原有文件数据的加密的数据密钥;
步骤S2.6、CephFS客户端向密钥管理模块发送请求,将步骤S2.5中获取到的加密的文件数据密钥解密,获取数据密钥;
步骤S2.7、获取到数据密钥后,将写请求中的要写入的文件数据按照文件的逻辑偏移和长度进行条带化处理后,映射为指定大小的RADOS对象;
步骤S2.8、对于每个RADOS对象,使用数据密钥进行加密;
加密时,将每个RADOS对象按照逻辑偏移拆分为4KiB的块,对每个块分别进行加密;加密后,将密文数据保存到OSD数据存储模块。
所述步骤S2中,RADOS对象指定大小为4MB,通过修改文件布局修改对象大小。
所述步骤S3中,针对新创建的文件,将加密后的数据密钥保存的文件对应索引节点Inode的ceph.file.encrypt属性中,以便后续文件写入及读取时使用。
所述步骤S3中,文件数据读取流程,如下:
步骤S3.1、CephFS客户端收到文件读请求,验证当前文件的索引节点Inode中是否包含ceph.file.encrypt属性;
若不包含ceph.file.encrypt属性,则该文件无需加密,直接执行读流程处理;
若包含ceph.file.encrypt属性,则读取该数据的值,并获取到加密的数据密钥;
步骤S3.2、CephFS客户端向密钥管理模块发送请求,将步骤S3.1中读取到的加密的数据密钥解密,获取明文数据密钥;
步骤S3.3、将读请求中的文件数据从按照文件的逻辑偏移和长度映射为进行条带化处理后指定大小的RADOS对象的指定偏移和长度;
将该逻辑偏移和长度进行4K对齐,请求前后两端不足4KiB的部分,放大到4KiB读请求处理;向OSD数据存储模块发起读请求,获取对应RADOS对象内容;
步骤S3.4、使用获取到的明文数据密钥,将读取到的RADOS对象内容解密,返回CephFS客户端读请求中需要的文件数据内容,读请求处理结束。
该设备,包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现上述的方法步骤。
该可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
与现有技术相比,该ceph分布式文件***服务端加密***,具有以下特点:
第一、能够为用户提供服务端加密功能,有效满足用户对数据安全和隐私方面要求更高的场景。
第二、使用信封加密的方式进行加密,相比对称加密密钥直接加密数据,加强了密钥管理和存储过程中的安全性,相比使用非对称密钥直接加密更适用与大数据量的加密。
第三、针对文件对应的RADOS对象进行分别加密,并将单次加密长度设置为4KiB,相比文件级别更加细粒度的数据加密,提高了文件读写效率,减少了因为加密造成的读写放大情况。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (10)

1.一种ceph分布式文件***服务端加密***,其特征在于:包括密钥管理模块,客户端加解密模块,MDS端数据密钥存储模块和OSD数据存储模块;
所述密钥管理模块负责文件***中主密钥的管理,并响应客户端加解密模块的请求;当客户端需要加密时,给客户端发放数据密钥;当客户端需要解密时,解密客户端发来的加密的数据密钥;
所述客户端加解密模块位于CephFS客户端,负责与密钥管理模块交互获取数据密钥,并在客户端读写文件内容时进行加密和解密操作,将加密的数据密钥保存到MDS端数据密钥存储模块中;
所述MDS端数据密钥存储模块负责存储加密每个文件加密后的数据密钥;
所述OSD数据存储模块负责响应客户端的读写请求,保存用户数据。
2.根据权利要求1所述的ceph分布式文件***服务端加密***,其特征在于:通过信封加密的方式为文件***加密,为每个文件***指定一个主密钥;对文件***中文件加密时,先针对该文件向密钥管理模块申请数据密钥,然后将整个文件条带化处理为指定大小的RADOS对象,然后对每个对象进行加密,同时将加密后的数据密钥保存到文件对应的索引节点Inode的扩展属性中。
3.根据权利要求2所述的ceph分布式文件***服务端加密***,其特征在于:加密流程包括以下步骤:
步骤S1、通过信封加密的方式,针对每个文件***在密钥管理模块中指定一个主密钥;
步骤S2、当文件***中每个文件进行写入时,使用主密钥向密钥管理模块申请数据密钥;然后对整个文件进行条带化处理,将其转化为指定大小的RADOS对象,并使用数据密钥对写入的文件数据进行加密,该文件对应的RADOS对象共享该加密密钥;
步骤S3、将加密后的数据密钥保存在文件对应的索引节点Inode的扩展属性当中;
通过信封加密的方式,将加密数据的数据密钥封入信封中进行存储、传递和使用,不再使用用户主密钥直接加解密数据。
4.根据权利要求3所述的ceph分布式文件***服务端加密***,其特征在于:所述步骤S1中,对指定文件***下的文件开启加密流程,如下:
步骤S1.1、CephFS客户端处理设置ceph.dir.encrypt属性请求;
步骤S1.2、验证设置属性的文件***是否为空,若为空则继续执行下一步,否则返回错误验证失败;
步骤S1.3、CephFS客户端向密钥管理模块发送请求,申请一个主密钥;
步骤S1.4、密钥管理模块将主密钥ID发送给CephFS客户端,CephFS客户端收到后返回申请成功信息;
步骤S1.5、CephFS客户端通过向元数据服务器MDS发送请求在文件***的目录树中找到指定文件***;
步骤S1.6、CephFS客户端向元数据服务器MDS发送请求,通过设置ceph.dir.encrypt属性表示该文件***下的文件需要进行加密,对应的主密钥uuid为ceph.dir.encrypt属性的值。
5.根据权利要求4所述的ceph分布式文件***服务端加密***,其特征在于:所述步骤S2中,文件***中文件数据的写入流程,如下:
步骤S2.1、CephFS客户端收到文件写请求后,先判断要写入的文件是否需要新创建;
若为需新建文件,则跳转至步骤S2.2;
若已创建,则验证当前文件Inode是否包含ceph.file.encrypt属性,若不包含则该文件无需加密,直接执行写流程处理;否则,该文件需要加密,跳转至步骤S2.5;
步骤S2.2、CephFS客户端根据文件***的目录树向上回溯,直到找到有文件***设置了ceph.dir.encrypt属性;
如果直到根文件***都没有设置ceph.dir.encrypt属性,则该文件不需要加密,,直接执行写流程处理;否则,找到距当前文件最近的,设置了ceph.dir.encrypt属性的文件***,并获取ceph.dir.encrypt属性的值;
步骤S2.3、CephFS客户端向密钥管理模块发送请求,申请数据密钥,其中携带步骤S2.2中获取到的ceph.dir.encrypt属性的值,指定使用的主密钥;
步骤S2.4、密钥管理模块向CephFS客户端返回生成的数据密钥以及使用主密钥加密的数据密钥,跳转至步骤S2.7,执行加密写入流程;
步骤S2.5、针对已创建文件,但需加密的文件的情况,读取该文件的ceph.file.encrypt属性,获取加密原有文件数据的加密的数据密钥;
步骤S2.6、CephFS客户端向密钥管理模块发送请求,将步骤S2.5中获取到的加密的文件数据密钥解密,获取数据密钥;
步骤S2.7、获取到数据密钥后,将写请求中的要写入的文件数据按照文件的逻辑偏移和长度进行条带化处理后,映射为指定大小的RADOS对象;
步骤S2.8、对于每个RADOS对象,使用数据密钥进行加密;
加密时,将每个RADOS对象按照逻辑偏移拆分为4KiB的块,对每个块分别进行加密;加密后,将密文数据保存到OSD数据存储模块。
6.根据权利要求3所述的ceph分布式文件***服务端加密***,其特征在于:所述步骤S2中,RADOS对象指定大小为4MB,通过修改文件布局修改对象大小。
7.根据权利要求3所述的ceph分布式文件***服务端加密***,其特征在于:所述步骤S3中,针对新创建的文件,将加密后的数据密钥保存的文件对应索引节点Inode的ceph.file.encrypt属性中,以便后续文件写入及读取时使用。
8.根据权利要求6所述的ceph分布式文件***服务端加密***,其特征在于:所述步骤S3中,文件数据读取流程,如下:
步骤S3.1、CephFS客户端收到文件读请求,验证当前文件的索引节点Inode中是否包含ceph.file.encrypt属性;
若不包含ceph.file.encrypt属性,则该文件无需加密,直接执行读流程处理;
若包含ceph.file.encrypt属性,则读取该数据的值,并获取到加密的数据密钥;
步骤S3.2、CephFS客户端向密钥管理模块发送请求,将步骤S3.1中读取到的加密的数据密钥解密,获取明文数据密钥;
步骤S3.3、将读请求中的文件数据从按照文件的逻辑偏移和长度映射为进行条带化处理后指定大小的RADOS对象的指定偏移和长度;
将该逻辑偏移和长度进行4K对齐,请求前后两端不足4KiB的部分,放大到4KiB读请求处理;向OSD数据存储模块发起读请求,获取对应RADOS对象内容;
步骤S3.4、使用获取到的明文数据密钥,将读取到的RADOS对象内容解密,返回CephFS客户端读请求中需要的文件数据内容,读请求处理结束。
9.一种设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至8任意一项所述的方法步骤。
10.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述的方法步骤。
CN202211692733.7A 2022-12-28 2022-12-28 一种ceph分布式文件***服务端加密*** Pending CN116094775A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211692733.7A CN116094775A (zh) 2022-12-28 2022-12-28 一种ceph分布式文件***服务端加密***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211692733.7A CN116094775A (zh) 2022-12-28 2022-12-28 一种ceph分布式文件***服务端加密***

Publications (1)

Publication Number Publication Date
CN116094775A true CN116094775A (zh) 2023-05-09

Family

ID=86186161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211692733.7A Pending CN116094775A (zh) 2022-12-28 2022-12-28 一种ceph分布式文件***服务端加密***

Country Status (1)

Country Link
CN (1) CN116094775A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506652A (zh) * 2017-07-13 2017-12-22 浙江大学 CephFS分布式文件***元数据访问保护机制的实现方法及***
CN109783438A (zh) * 2018-12-05 2019-05-21 南京华讯方舟通信设备有限公司 基于librados的分布式NFS***及其构建方法
CN110120869A (zh) * 2019-03-27 2019-08-13 上海隔镜信息科技有限公司 密钥管理***及密钥服务节点
CN112733189A (zh) * 2021-01-14 2021-04-30 浪潮云信息技术股份公司 一种实现文件存储服务端加密的***与方法
CN113779619A (zh) * 2021-08-11 2021-12-10 深圳市证通云计算有限公司 一种基于国密算法的ceph分布式对象存储***加解密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506652A (zh) * 2017-07-13 2017-12-22 浙江大学 CephFS分布式文件***元数据访问保护机制的实现方法及***
CN109783438A (zh) * 2018-12-05 2019-05-21 南京华讯方舟通信设备有限公司 基于librados的分布式NFS***及其构建方法
CN110120869A (zh) * 2019-03-27 2019-08-13 上海隔镜信息科技有限公司 密钥管理***及密钥服务节点
CN112733189A (zh) * 2021-01-14 2021-04-30 浪潮云信息技术股份公司 一种实现文件存储服务端加密的***与方法
CN113779619A (zh) * 2021-08-11 2021-12-10 深圳市证通云计算有限公司 一种基于国密算法的ceph分布式对象存储***加解密方法

Similar Documents

Publication Publication Date Title
US11558174B2 (en) Data storage method, device, related equipment and cloud system for hybrid cloud
US9740639B2 (en) Map-based rapid data encryption policy compliance
US10409990B2 (en) Encryption and decryption method and apparatus in virtualization system, and system
US20180365434A1 (en) File encryption method, file decrypton method, electronic device, and storage medium
US8300823B2 (en) Encryption and compression of data for storage
US8689279B2 (en) Encrypted chunk-based rapid data encryption policy compliance
US10509701B2 (en) Performing data backups using snapshots
CN107943556B (zh) 基于kmip和加密卡的虚拟化数据安全方法
WO2017206754A1 (zh) 分布式文件***的存储方法和存储装置
US20170163413A1 (en) System and Method for Content Encryption in a Key/Value Store
US9749132B1 (en) System and method for secure deletion of data
US8595493B2 (en) Multi-phase storage volume transformation
US20160239388A1 (en) Managing multi-level backups into the cloud
CN104182418A (zh) 节点元数据获取方法与装置
CN114491607A (zh) 云平台数据处理方法、装置、计算机设备及存储介质
US20180314837A1 (en) Secure file wrapper for tiff images
CN116094775A (zh) 一种ceph分布式文件***服务端加密***
CN113268456B (zh) 一种文件处理方法、***、设备及计算机可读存储介质
US10606985B2 (en) Secure file wrapper for TIFF images
CN111353152A (zh) 基于区块链的文档管理方法、装置、***及存储介质
CN108616537A (zh) 一种低耦合的通用数据加解密方法及***
CN114003578B (zh) 一种网络文件***加密方法、***及介质
US20240211612A1 (en) Data Storage Method and Apparatus, Device, and Readable Medium
CN109660604B (zh) 数据存取方法及设备
US20220407685A1 (en) Encryption in a distributed storage system utilizing cluster-wide encryption keys

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