使用GPG对备份包进行4096位RSA+AES256非对称加密可实现离线高安全保障,全程本地加解密、私钥零暴露,需严格校验指纹、离线加密存储私钥并禁用密钥服务器同步。
直接用 GPG 对备份压缩包做非对称加密,就能实现离线传输场景下的高保障安全——它不依赖网络服务、不上传密钥、不经过第三方,所有加解密都在本地完成。所谓“军工级”,关键不在宣传词,而在于你是否选对算法、管住私钥、用对模式。
选4096位RSA+AES256组合,拒绝默认弱配置
GPG 默认生成的 2048 位密钥已逐步被主流标准视为保守下限。2026 年实际环境中,应强制使用更强基础:
- 生成密钥时务必用 gpg --full-generate-key,类型选 RSA,长度明确输 4096
- 加密命令中显式指定对称层算法:--cipher-algo AES256(GPG 默认可能用 CAST5 或较旧 AES-128)
- 禁用过时协议:--force-mdc --compress-algo 2(启用完整性保护 + 使用 ZIP 压缩而非无压缩裸加密)
非对称加密流程:只用对方公钥,全程离线
你不需要联网,也不需要对方在线。只要提前拿到对方的公钥文件(.asc 或 .gpg),即可完成加密:
- 导入对方公钥:gpg --import receiver.pub.asc
- 确认导入成功:gpg --list-keys receiver@example.com
- 打包+加密一步到位:tar cz /data | gpg --encrypt --recipient receiver@example.com --cipher-algo AES256 -o backup_$(date +%Y%m%d).tar.gz.gpg
生成的 .gpg 文件只能由 receiver 的私钥解密——即使攻击者截获该文件,没有私钥+密码短语,连文件结构都看不到(file backup.tar.gz.gpg 显示为 “data”,不是 gzip)。
私钥零暴露:解密必须本地、手动、带口令
接收方解密时,同样完全离线:
- 执行 gpg -o restored.tar.gz -d backup_20260526.tar.gz.gpg
- 系统弹出图形或终端口令框,要求输入其私钥绑定的密码短语(passphrase)
- 口令正确 → GPG 用私钥解密出会话密钥 → 用会话密钥解密 tar 流 → 写出文件
整个过程不联网、不传密钥、不存临时明文到磁盘(除非你显式用 -o 指定输出路径)。私钥从不出现在内存外,更不会被同步到云或备份系统。
加固建议:三步堵死常见泄漏口
- 导出公钥后立即校验指纹:用 gpg --fingerprint receiver@example.com 比对,防止中间人替换公钥
- 备份私钥必须离线加密存储:导出命令 gpg --export-secret-keys -a user@domain > privkey.asc.gpg,再用另一个强密码的 gpg -c 加密该文件,存 USB 设备并物理隔离
- 禁用不安全的密钥服务器同步:避免执行 gpg --send-keys;如需分发公钥,改用可信渠道(如官网 HTTPS 页面、二维码、U 盘当面交付)