使用带有私钥的GPG加密的异地备份永远不会在备份服务器上?

我有一个备份服务器,它创建要备份的目录树的xz压缩tar档案.这些tar档案可以变得庞大(多个TB),被分成几块(2.5TB),每一块都被写入LTO-6磁带,而磁带也会出现在异地.

现在我想添加加密.我可以在拆分之前使用公钥 – 私钥加密以及一个或多个收件人(管理员公钥)来加密tar存档.

但是,在恢复的情况下,至少有一个管理员需要将他的私钥放到备份服务器上,因为这些文件太大而无法在其他任何地方解压缩.

GPG使用混合加密方案,使用AES等对称密码和会话密钥,只有该会话密钥才能为收件人加密公钥 – 私钥.

有没有办法让管理员提供会话密钥来解密要恢复的文件,而无需将私钥放到备份服务器上?

我当然可以重新发明轮子:

>根据要备份的每个文件在备份服务器上创建随机会话密钥
>使用GPG对称加密来加密文件
>使用GPG非对称加密来加密每个收件人的会话密钥

但是,是否有“标准”或内置或最佳实践方式实现上述目标?

解决方法

使用–show-session-key和–override-session-key选项绝对可以实现.

首先,您需要加密文件的开头.这是存储加密会话密钥的位置.

root @ qwerty:〜/ gpg #head -c 1024k bigfile.gpg> head.gpg

然后将其复制到工作站并检索会话密钥

PS C:\Users\redacted\Downloads> gpg --show-session-key .\head.gpg
gpg: encrypted with 2048-bit RSA key,ID DC21D645,created 2016-02-01
  "admin <admin@domain.tld>"
gpg: session key: '9:926EC16DF1248A1C4401F5AD5D86C63C1BD4BF351ECEFB121C57EC209DE3933D'

现在,您可以使用会话密钥解密文件

root@qwerty:~/gpg# gpg -d -o bigfile --override-session-key 9:926EC16DF1248A1C4401F5AD5D86C63C1BD4BF351ECEFB121C57EC209DE3933D bigfile.gpg
gpg: encrypted with 2048-bit RSA key,created 2016-02-01
  "admin <admin@domain.tld>"

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...