GLEP 63:Gentoo OpenPGP 策略
| 作者 | Robin H. Johnson <robbat2@gentoo.org>,Andreas K. Hüttel <dilfridge@gentoo.org>,Marissa Fischer <blogtodiffer@gmail.com>,Michał Górny <mgorny@gentoo.org> | 
|---|---|
| 类型 | 标准规范 | 
| 状态 | 最终版 | 
| 版本 | 2.2 | 
| 创建日期 | 2013-02-18 | 
| 上次修改日期 | 2020-12-17 | 
| 发布历史 | 2013-11-10, 2018-07-03, 2018-07-21, 2019-02-24, 2020-12-17 | 
| GLEP 源文件 | glep-0063.rst | 
致谢
许多开发者和外部资源对本 GLEP 提供了帮助。
摘要
本 GLEP 为 Gentoo Linux 发行版提供了 OpenPGP 密钥管理策略的最低要求和推荐设置。
变更
- v2.2
- 添加了关于 Gentoo 密钥服务器的信息。
- v2.1
- 添加了对加密密钥的要求,以将 GLEP 的应用范围扩展到提交签名之外,并用于开发者之间以及用户与开发者之间的通信。 - 添加了主密钥应仅用于认证的建议。 
- v2
- 将不同的最小和推荐过期时间替换为单个要求。规则已简化为对主密钥和子密钥都使用相同的 900 天最大时间。 - 添加了一条要求在过期前 2 周更新密钥的额外规则。这是为了给服务和其他开发者提供刷新密钥的时间。 - 禁止使用 DSA 密钥。 - thegpgfingerprintLDAP 字段已更改,以删除可选空格。 - thegpg.conf内容已删除,因为它们已经严重过时,并降低了现代默认设置的安全性。 - SHA-2 摘要的要求已扩展到应用于子密钥的自签名。 - 对@gentoo.orgUID 的额外要求已添加。 
- v1.1
- 推荐的 RSA 密钥大小已从 4096 位更改为 2048 位,以匹配 GnuPG 的建议 [1]。更大的建议没有根据,导致人们不必要地替换了他们的 RSA-2048 密钥。 - 最低规范已修改为允许 ECC 密钥。 - 已从建议中删除了使用 DSA 子密钥的选项。本节现在指定了使用 RSA 的单一建议。 
动机
鉴于加密协议在各种互联网交易中的使用和重要性日益增加,迫切需要统一 Gentoo Linux 开发中使用的 OpenPGP 密钥的要求。本文档为 Gentoo Linux 开发人员使用 GnuPG(或其他 OpenPGP 提供程序)提供了最低要求和最佳实践建议。旨在为未来的改进提供基础,例如,最终用户一致的 ebuild 或软件包签名和验证,以及在用户和开发者之间提供安全和经过身份验证的通信渠道。
OpenPGP 密钥规范
最低要求
本节规定了在 Gentoo 开发人员操作上下文中使用的所有 OpenPGP 密钥的强制性要求。所有开发者都必须至少拥有一个符合这些要求的密钥。不符合这些要求的密钥不能用于提交。
- SHA-2 系列输出摘要(内部允许 SHA-1 摘要),至少 256 位。所有子密钥自签名都必须使用此摘要。
- 签名子密钥,与主密钥不同,并且没有启用任何其他功能。
- 加密子密钥,与主密钥不同,并且没有启用任何其他功能。
 
- 主密钥和签名子密钥都是以下类型之一- RSA,>=2048 位(仅限 OpenPGP v4 或更高版本密钥格式),
- ECC 曲线 25519。
 
- 密钥和所有子密钥的过期日期设置为不超过未来 900 天。
- 密钥过期日期至少在上次过期日期前 2 周更新。
- 使用您的@gentoo.org密钥中包含的电子邮件的 UID。
- 密钥必须上传到 Gentoo 密钥服务器。
建议
本节规定了 Gentoo 开发人员的最佳实践。除非有充分的技术原因(例如硬件限制,需要更换主密钥),否则开发人员应遵循这些实践。
- 主密钥仅具有认证功能启用。
- 主密钥和签名子密钥都是 RSA 类型,2048 位(OpenPGP v4 或更高版本密钥格式)。
- 每年将密钥过期日期更新到一年的固定日期。
- 创建吊销证书并将其安全地存储在异地硬盘副本中(大约 300 字节)。
- 加密的秘密密钥备份。
- 上传到 SKS 或其他公共密钥服务器池。
Gentoo 基础设施
Gentoo LDAP
所有 Gentoo 开发人员都必须在“"gpgfingerprint" LDAP 字段中列出其主密钥的完整指纹。它必须正好是 40 个十六进制数字,大写,不包含空格。
以前的“"gpgkey" 字段将被删除,因为它是指纹字段的子集。在目前显示“"gpgkey" 字段的任何位置,都应改为显示指纹的后 16 个十六进制数字。
Gentoo 密钥服务器
Gentoo 基础设施使用与 SKS 池隔离的密钥服务器。此密钥服务器仅限于接受来自授权 Gentoo 主机的上传。有关将密钥上传到此服务器的说明,请访问 https://keys.gentoo.org/。
向后兼容性
迄今为止,Gentoo 中没有关于 GPG 使用的一致标准。开发手册 [5] 和 GnuPG Gentoo 用户指南 [6] 中的信息存在冲突。由于迄今为止对清单签名的执行很少,并且提交签名的数量也很少,因此不存在向后兼容性问题。
外部文档
上述内容主要受以下内容驱动
参考文献
| [1] | GnuPG 常见问题解答:为什么 GnuPG 不默认使用 RSA-4096?(https://www.gnupg.org/faq/gnupg-faq.html#no_default_of_rsa4096) | 
| [2] | Debian GPG 文档(https://wiki.debian.org/Keysigning) | 
| [3] | Ana 的博客:创建新的 GPG 密钥(http://ekaia.org/blog/2009/05/10/creating-new-gpgkey/) | 
| [4] | RiseUp.net OpenPGP 最佳实践(https://help.riseup.net/en/security/message-security/openpgp/best-practices) | 
| [5] | Gentoo 开发指南:清单(https://devmanual.gentoo.ac.cn/general-concepts/manifest/index.html) | 
| [6] | GnuPG Gentoo 用户指南(https://gentoo.ac.cn/doc/en/gnupg-user.xml) | 
| [7] | NIST SP 800-57:密钥管理建议:第 1 部分:一般(修订版 3)(http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf) | 
| [8] | NIST SP 800-57:密钥管理建议:第 2 部分:密钥管理组织的最佳实践(http://csrc.nist.gov/publications/nistpubs/800-57/SP800-57-Part2.pdf) | 
| [9] | David Shaw。“在 OpenPGP 认证中包含发行者的完整指纹”。ietf-openpgp 邮件列表,2011 年 1 月 17 日,邮件 ID 2885367E-D215-4BE7-983D-C82C55C64B0F@jabberwocky.com(https://www.mhonarc.org/archive/html/ietf-openpgp/2011-01/msg00004.html) | 
| [10] | ENISA 算法、密钥大小和参数报告,2013 年建议,版本 1.0(2013 年 10 月)(https://www.enisa.europa.eu/activities/identity-and-trust/library/deliverables/algorithms-key-sizes-and-parameters-report) | 
版权
版权所有 (c) 2013-2019 by Robin Hugh Johnson、Andreas K. Hüttel、Marissa Fischer、Michał Górny。
本作品根据知识共享署名-相同方式共享 4.0 国际许可协议授权。要查看此许可证的副本,请访问 https://creativecommons.org/licenses/by-sa/4.0/。
