滴滴云上使用 eCryptfs 加密数据

1. eCryptfs 简介

eCryptfs 是在 Linux kernel 实现的一个加密文件系统,在 Linux kernel 2.6.19 版本收纳入官方 Linux kernel。它采用堆叠式的设计思想,逻辑上位于 VFS 和传统文件系统之间。用户应用程序对传统文件系统的读写操作,经过系统调用通过 VFS 首先被 eCryptfs 截获,eCryptfs 对文件数据进行加解密的操作,再转发给传统文件系统,为应用提供透明、动态、高效的加密功能。

eCryptfs 对每个文件采用不同的文件加密密钥 ( File Encryption Key, FEK ),文件加密算法推荐使用 AES-128。FEK 不能以明文的形式存放,eCryptfs 使用用户提供的口令(Passphrase)、非对称密钥算法(如 RSA 算法)或 TPM(Trusted Platform Module)的公钥来加密保护 FEK。

例如,当使用用户口令的时候,口令先经 hash 函数处理,再做为密钥加密 FEK。口令/公钥称为文件加密密钥加密密钥(File Encryption Key Encryption Key,FEFEK),加密后的 FEK 则称为加密文件密钥(Encrypted File Encryption Key,EFEK )。如果一个文件被多个授权用户访问,则有多份 EFEK。 此外,eCryptfs 还支持文件名的加密。

2. eCryptfs 安装

CentOS

以 CentOS-7.3 的滴滴云的 DC2 云主机为例。

查看 eCryptfs 用户态的工具是否安装:

[dc2-user@didiyun ~]$ yum list installed | grep ecryptfs

如果没有安装,则运行以下命令安装:

[dc2-user@didiyun ~]$ sudo yum install ecryptfs-utils

屏幕输出如下:

Loaded plugins: fastestmirror
base                                                                                                                                  | 3.6 kB  00:00:00     
epel                                                                                                                                  | 3.2 kB  00:00:00     
extras                                                                                                                                | 3.4 kB  00:00:00     
updates                                                                                                                               | 3.4 kB  00:00:00     
(1/2): epel/7/x86_64/updateinfo                                                                                                       | 935 kB  00:00:00     
(2/2): epel/7/x86_64/primary                                                                                                          | 3.6 MB  00:00:00     
Determining fastest mirrors
epel                                                                                                                                             12738/12738
Resolving Dependencies
--> Running transaction check
---> Package ecryptfs-utils.x86_64 0:111-5.el7 will be installed
--> Processing Dependency: cryptsetup-luks for package: ecryptfs-utils-111-5.el7.x86_64
--> Processing Dependency: libpkcs11-helper.so.1()(64bit) for package: ecryptfs-utils-111-5.el7.x86_64
--> Running transaction check
---> Package cryptsetup.x86_64 0:1.7.4-3.el7_4.1 will be installed
--> Processing Dependency: cryptsetup-libs(x86-64) = 1.7.4-3.el7_4.1 for package: cryptsetup-1.7.4-3.el7_4.1.x86_64
---> Package pkcs11-helper.x86_64 0:1.11-3.el7 will be installed
--> Running transaction check
---> Package cryptsetup-libs.x86_64 0:1.7.2-1.el7 will be updated
---> Package cryptsetup-libs.x86_64 0:1.7.4-3.el7_4.1 will be an update
--> Finished Dependency Resolution
Dependencies Resolved

===================================================================================================================================&
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值