GPG密钥管理基础 | AI生成和翻译

Home 2025.10

GPG 密钥管理简介

GPG(GNU Privacy Guard)是 OpenPGP 标准的免费实现,用于安全通信,可对数据进行加密、签名和验证。其核心是公钥密码学,每个用户都拥有公钥(公开共享用于加密和验证)和私钥(秘密保存用于解密和签名)。密钥管理涉及创建、分发、维护和保护这些密钥,以防止篡改、泄露或滥用。管理不当可能导致密钥替换等攻击,即攻击者用其密钥替换您的密钥以拦截通信。

GPG 中的“信任网络”模型允许用户相互认证密钥,构建经过验证的身份网络。密钥存储在钥匙环中(公钥和私钥文件,例如旧版本中的 pubring.kbxsecring.gpg,或新版本中的统一文件)。请务必备份私钥并使用强密码。

密钥结构

GPG 密钥对不仅仅是单个密钥,而是一个组合:

以交互方式查看密钥结构:

gpg --edit-key <密钥ID或邮箱>

在菜单中,使用 check 验证自签名,或使用 toggle 查看私有部分(如果可用)。

生成密钥

从生成主密钥对开始。初学者可使用交互式方法:

  1. 运行 gpg --full-gen-key(或使用 --gen-key 使用默认设置)。
  2. 选择密钥类型(默认:RSA,用于签名和加密)。
  3. 选择密钥大小(例如 4096 位以增强安全性;建议最小 2048 位)。
  4. 设置过期时间(例如 1y 表示一年;“0”表示永不过期——尽可能避免永不过期)。
  5. 输入用户标识(姓名、邮箱)。
  6. 设置强密码(20 个以上字符,混合大小写/符号)。

快速生成(非交互式):

gpg --quick-generate-key "Alice <alice@example.com>" rsa default 1y

生成后,创建撤销证书(用于在密钥泄露时使其失效的文件):

gpg --output revoke.asc --gen-revoke <您的密钥ID>

将其安全存储(例如打印存放在保险库中)——在需要之前请勿共享。

稍后添加子密钥或 UID:

列出和查看密钥

输出显示密钥 ID(短/长格式)、创建/过期日期、功能(例如 [SC] 表示签名/认证)和 UID。

导出和导入密钥

导出用于共享公钥或备份私钥:

导入将其他人的密钥添加到您的公钥环:

导入后,使用 gpg --edit-key <密钥ID>check 验证自签名。

签名和认证密钥

建立信任:

这会在密钥上创建签名,在列表中可见。信任网络根据您对签名者的信任来计算有效性。

撤销密钥

撤销使密钥或组件失效而不删除它,确保其他人看到它不再有效:

撤销原因:泄露、不再使用、被替换。始终发布已撤销的密钥。

最佳实践

如需实践,可在测试目录中使用 gpg --homedir ./test-gpg 进行实验。

GnuPG 手册:密钥管理
GNU Privacy Guard 手册:OpenPGP 密钥管理
GnuPG 入门指南


Back

openai/gpt-5

Donate