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.gentoolinux.cn/general-concepts/manifest/index.html) |
[6] | GnuPG Gentoo 用户指南(https://gentoolinux.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/。