Minio SSE-C 加密

SSE-C 加密是在客户端进行的加密,使用的是GPG

GPG(FNU Privary Fuard)是最流行的数据加密,数据签名工具软件

支持的算法:

公钥:RSA,ELG,DSA

对称加密:3DES,CAST5,BLOWFISH,AES,AES256

散列:MD5,SHA1,.. ..,SHA256,SHA512

基本用法:

加密操作: –symmetric 或 -c

解密操作:–decrypt 或 -d

在加密大文件的时候,性能损耗还是不小的

下面是配置文件

lizhe@ubuntu:~$ cat ~/.s3cfg 
# Setup endpoint
host_base = minio.lizhe.com
host_bucket = minio.lizhe.com
bucket_location = us-east-1
use_https = False

# Setup access keys
access_key = iZq4uq5dupOzCgNkThzU 
secret_key = qn8DeztD1Qe7tAOf2jr9qwpybxcZrklWsv58OhAt 

# Enable S3 v4 signature APIs
signature_v2 = False

gpg_command = /usr/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = `123456`

lizhe@ubuntu:~$ 

创建桶

lizhe@ubuntu:~$ s3cmd mb s3://my-bucket-name
Bucket 's3://my-bucket-name/' created
lizhe@ubuntu:~$ s3cmd ls
2021-06-19 15:22  s3://my-bucket-name

上传文件

lizhe@ubuntu:~$ echo "helloworld" > hello.txt
lizhe@ubuntu:~$ s3cmd -e put hello.txt s3://my-bucket-name
upload: '/tmp/tmpfile-v1wNUCw8NqGPE6096L5X' -> 's3://my-bucket-name/hello.txt'  [1 of 1]
 87 of 87   100% in    0s     4.91 kB/s  done
lizhe@ubuntu:~$ s3cmd -e get s3://my-bucket-name/hello.txt /tmp -f
download: 's3://my-bucket-name/hello.txt' -> '/tmp/hello.txt'  [1 of 1]
 87 of 87   100% in    0s     4.03 kB/s  done
lizhe@ubuntu:~$ 

我们来看一下加密结果

可以看到

上传的文件 和 下载的文件 内容都是正常的,只是存储在服务器上的文件内容已经被加密了

我们尝试使用 gpg 命令来解密

注意我这里的密码是 `123456` 而不是 123456

`123456`

使用root用户同样可以解密

可以看到 这里默认使用的是 AES256 算法

Send a Message