LWN:疫情期间还需要当面签名?

Debian项目正在讨论由于疫情导致的变化,尤其是关于密钥签名的流程。传统上,Debian开发者和维护者需要面对面验证并签署彼此的OpenPGP密钥,但现在这一过程变得困难。EnricoZini提出了在线合作一段时间后进行签名的可能性,引发讨论。项目最终决定移除面对面签名要求,转而关注个人在项目中的工作记录和贡献,引入“key endorsement”概念,通过项目成员的确认来建立信任。这个改变提供了一个更灵活的系统,同时保持了对项目贡献的认可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关注了就能看到更多这么棒的文章哦~

Key signing in the pandemic era

By Jake Edge
September 16, 2020
原文来自:https://lwn.net/Articles/831401/

尽管在我们开源软件社区,大家一直是远程配合的,可是今年的疫情还是给我们带了了很多变化。以前每年很多人都会在会议上碰一次面,今年就暂停了。不过就算旅行和聚会又恢复如常了,我们的面对面的会议也会越来越少。当然,好处和坏处都有,这里我们需要重新审视一下。其中,关于密钥签名的流程,就是其中一项需要改变的东西。Debian 项目上一直使用签名密钥,他们就在讨论这个问题。

早在 8 月初,Enrico Zini 就在 debian-project mailing list 上发了一条消息,就是关于那些打算参与 Debian 开发、但是尚未获得由 Debian project 中其他成员签名过的 OpenPGP 密钥的人。要想成为 Debian Maintainer (DM) 或者 Debian Developer (DD),都需要从现有的 DD(开发者)这里签名过的密钥。成为 DD 的话需要两个签名,DM 只要一个签名。这并不是成为 Debian 正式成员的唯一一个步骤,不过这个步骤其实可能会阻止一些打算加入的人。

DD 和 DM 都会用他们的密钥来对上传到 Debian repository 的 package 进行签名。Debian 项目很依赖这个机制,所以要确保这些密钥都是可靠的,并且是由一些不会破坏这个项目和用户的人所控制的。此外,Debian 内部的投票(比如决定 project leader 或者一些决议)也都是要根据密钥来的。所以这是 Debian 基础架构的一个组成部分。

Zini 说,DD 个人会有他自己的策略来决定是否对另一个人的密钥进行签名,不过通常都需要先当面见一次面,能检查一下政府颁发的身份证明。"Meeting in person has always been a good safe bet, if only for the [reason] that it's been accepted without question for many years." 不过目前很难做到当面验证了,所以我们得想想有什么其他方式:

For example, speaking of myself only, if my goal is to raise the cost of impersonation or sock puppet identities, then probably signing someone's key after having worked with them online for a significant time, would require a much higher cost than showing up at a keysigning party with a fake ID good enough to fool me. […]

I think the world has changed enough in the last months that currently perceived project expectations about key signing are getting out of alignment with practical realities, and it might be time to explore other options.

这个邮件引起了许多讨论。很多参与者都感谢 Zini 提出这个问题。看起来,不同的人在帮社区里的一些新人进行密钥签名的时候,都有不同的要求。

Federico Ceratto 问,我们利用这个签名验证机制,究竟是想阻止哪种类型的风险。他认为主要是想阻止一个恶意的 DD 上传了一个包含后门的 package。Jonas Smedegaard 补充说,还要阻止一个恶意的 DD 投票时投了两票。不过,正如 Russ Allbery 指出的,Debian 内部的投票结果通常票数并不是那么接近,而且在项目之外的影响也不是很大,影响投票结果的好处不大。

What have we voted on that you think anyone would care sufficiently about to do the tedious and time-consuming work required to get a fake identity with voting privileges?

I'm dubious of the threat model. Injecting malicious code into the archive seems to have a far, far higher reward to effort ratio than voting in our rare and generally not very close project votes.

Johannes Schauer 介绍了他和一位准备成为 DM 的人的情况:那个候选人已经跟他一起工作了几个月,会使用他们的密钥来对 git commit 和 tag 签名,也包括 email 签名。他不认为政府颁布的身份证明文件会让他更加信任这位候选人:

Why would it be wrong of me to sign the key of this person? No matter who is behind that key: the person with that key has shown to produce great contributions for a couple of months or there is a really dedicated evil person trying some scheme over a really long period of time with me. If the latter is the case, would a person with that much commitment not also be able to fool me with a fake national ID?

他认为基于密钥的策略都应该是让新人能在几个月的时间内展示他们对项目的贡献,并把密钥跟这些贡献关联起来。Smedegaard 也介绍了他的工作方式:"I will sign the key of someone whom I feel I would be able to recognize if randomly bumping into them years later on a bus". 这就表明他需要跟这个人面对面工作一段时间,不过他偶尔也愿意完全根据和某人在线上的一些合作经验来给他进行签名。

这里的这个把 "doing useful work" 跟某个具体密钥关联起来,得到了讨论中好几位参与者的赞同。Alexandre Viau 说,他能成为 DD,主要是因为他 "seemed to produce work that is good enough to be let in the archive", 不过他还是需要在咖啡厅面见另外两位 DD 来证明他确实收到了这封发给这个邮件地址的邮件,然后才拿到了密钥签名。对于他认为达到 DM 标准的人,哪怕没有面见并且看到身份证明,他也愿意给他的密钥签名。

Feel free to attribute whatever value that you want to that signature. I think that given my history with that person it holds much more values than the 2-minutes KSP [key-signing party] ones.

Alberto Garcia 说,对密钥进行签名并不代表完全信任这个人。这只是确认你跟这个人有一个安全的通讯渠道。

That means that your communicate with that person in a trusted way, not that you necessarily have to trust what they do. And it doesn't even matter if the name written on the key is the same that appears on the passport or ID card (people can use a different name for a variety of reasons).

对于 Adrian Bunk 来说,人们说在密钥签名过程中不用看政府颁布的身份证明文件,是很出乎他的意料的。他认为这是密钥签名中唯一的必要条件。他想知道,为什么在没有明确的带有照片的身份证件审查的条件下,还可以进行签名验证身份。不过正如邮件中多次指出的,大多数人都没有能力检查出伪造身份证明,所以检查身份证的价值确实很有限。

前任 project leader Sam Hartman 跟过去两年一样,又一次进行了总结。他认为这里有许多不同的方向:

I don't think we were seeking a consensus, and we didn't find one. What we did find is a number of approaches that seem to have sufficient support. If one of those works for you as a person contemplating signing a key, my take is that you should go for it.

针对 Hartman 的总结,Ángel 提出了一个想法。他建议在 PGP 签名上面加上一个过期时间,这样就可以解决目前无法见面的问题。疫情结束之后可以使用永久签名。另一个来自 Pierre-Elliott Bécue 的建议是对新任 DM 来说,不再要求签名;但是对于 DD 来说则需要 2 或 3 个签名才行。

因为 DD 完全可以根据他们自己的原则来进行签名,那么就需要另一个机制来确保接收到 DD 和 DM keyrings 内的密钥的接受原则。在 9 月中旬,Zini 代表 Debian account managers (DAM)发布了项目中后续的执行策略。明确移除了这个签名的要求,取而代之的是:"The person controlling the GPG key needs to have an established track record of work within/for the project."

还是需要对密钥进行签名的,因为这样可以证明 Debian 里某个人只有唯一的一个身份代表。DAM 正在试图正式描述这个想法(Debian 内部每一个自然人只能有一个身份),不过目前并未明确要求由密钥签名来确保。相应地,引入“key endorsement”的概念,项目成员可以明确表示他们跟使用某个密钥的开发者有过交互,同时也提供相应的交互细节。这些信息就可以用来是否给他授予 DD 或 DM 的身份。此外:

If your key has no trust path towards the Debian Web of Trust when you are applying, we will require that you GPG-sign a statement saying that the identity of the person controlling the key corresponds to what is in at least one key User ID, and that the person does not already have a DM or DD account under a different name.

Key endorsements mean that one can join Debian with a key that is not connected to their legal identity - as long as the key is connected to a significant history and reputation within Debian. We however still strongly encourage people to cross-sign keys as much as possible.

总之,这个改动提供了一个合理的中间方案,也没有剥夺 DD 作为个体来说决定他们给谁签名的权力。正如这个生命里面写到的:

This mail effectively moves the entry barrier from "meet 2 random people, somewhere" to "you are represented by the work you did and do in Debian". We believe that this fits better both the current COVID-19 situation, and the general do-ocracy attitude of Debian.

所以,起因是来解决疫情期间的临时问题的方案,成功地让我们得到了一个更灵活的系统。在项目成员很少的地方,新的 Debian 贡献者总是有些不方便,很可能需要出差去开会或者找其他的面见方法来获取签名。现在,任何人都可以不用离开家门就成为一个 DD 或者 DM 啦。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值