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

前端之家收集整理的这篇文章主要介绍了使用带有私钥的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>"

猜你在找的Linux相关文章