加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:08:55 所属栏目:Linux 来源:网络整理
导读:我有一个备份服务器,它创建要备份的目录树的xz压缩tar档案.这些tar档案可以变得庞大(多个TB),被分成几块(2.5TB),每一块都被写入LTO-6磁带,而磁带也会出现在异地. 现在我想添加加密.我可以在拆分之前使用公钥 – 私钥加密以及一个或多个收件人(管理员公钥)来
我有一个备份服务器,它创建要备份的目录树的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:UsersredactedDownloads> 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>"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读