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

华为OD机试真题 2026.11.4. 新系统 【河流水系流量评估】 华为OD机试真题 新系统【河流水系流量评估】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【河流水系流量评估】多语言题解。 阅读详情

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

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 深度文章以及开源社区的各种新近言论~

【tensorrt】——深入解析TypeError: pybind11::init()报错:CUDA版本冲突与解决方案 本文深入解析了TensorRT中常见的TypeError: pybind11::init()报错问题,重点探讨了CUDA版本冲突的根源与解决方案。通过实际案例展示了PyTorch与TensorRT的版本兼容性问题诊断方法,并提供了conda环境管理、环境变量配置等实用修复技巧,帮助开发者有效解决CUDA初始化失败问题。 阅读详情

相关推荐

RISC-V详细介绍

文章目录写在前面什么是RISC-VRISC-V诞生的背景ISA霸权摩尔定律的穷途末路穷困潦倒的学者不断增长的指令数量RISC-V架构设计思想如何设计一个好的ISARISC-V之RV32I四个典型特点RISC-V之乘除法指令指令格式用乘法代替常数除法RISC-V之RV64RISC-V的特权架构机器模式监管者模式 写在前面 本文主要基于RISC-V中文手册,其中包括但不限于一些网络的资料。本文版权属于skywf,转载或借用请联系作者。 什么是RISC-V RISC-V(发音为“risk-five”)是一个基于

skywf的博客 3万+

Spring AI + GPT-5.5 + Ollama 配置教程:Base URL、超时与流式调用

由于不同 Spring AI、Spring Boot 小版本之间仍可能存在差异,创建项目时应检查 Spring Initializr、Spring AI BOM 和官方兼容矩阵,不要直接复制旧教程中的 Starter 名称和版本号。多人项目最好隔离不同客户端,并在脱敏前提下记录最终 URL、状态码、请求耗时、请求 ID 和模型 ID。Spring AI 接入模型 API,至少要同时确认 Starter、Base URL、请求路径、API Key、模型 ID、连接超时、读取超时和流式客户端这 8 项。

2601_95893075的博客 223

DeepSeek研发的精算大模型「精卫」已实现98%精算任务覆盖,中国人寿采用后年节约3.2亿元技术采购成本,形成关键技术替代效应

根据现有资料,精算领域关键技术替代效应的行业标准定义尚未明确具体提及。然而,可以从相关文献中提取一些关键概念和方法来推导出可能的定义。​替代效应的基本定义​:替代效应是指一种商品价格变动引起另一种商品的相对价格变动,从而导致消费者在维持原有效用水平不变的条件下对商品需求量做出的调整。​技术替代效应​:在精算领域,技术替代效应可以理解为新技术或新方法对现有技术或方法的替代,从而影响精算模型、数据处理和决策过程。例如,机器学习在精算中的应用日益增长,改变了精算师的工作方式和模型构建方法。​。

百态·数智思维 | 聚焦大数据、量化与未来AI 1710

【JVM】对象内存布局

HotSpot JVM 中,Java 对象内存布局由对象头(12字节,含Mark Word与压缩Klass Pointer)、实例数据及对齐填充构成,总大小为8字节倍数。对象头支持锁状态动态复用,指针压缩使引用仅4字节,但堆超32GB时失效。实例字段按类型优先级重排序以减少间隙,最小对象大小为16字节。通过JOL工具可精准验证布局,理解锁机制、GC、伪共享等底层行为。

2301_79732484的博客 149

滤波器初步入门(非常全面)

主要关注的是-3dB这个点,-3dB就是截止频率所对应的点,我们把功率降至50%以下的信号定义为被衰减掉了(但要跟实际情况相结合,有些信号衰减-3db不够,需要衰减更多)-3dB这个点对应我们的电压来说是0.707。设计电路可以留一定的余量,如果你把4k设计为截止频率,那么4k时候衰减倍数为-3dB通常是不够的,你可以将截止频率设为2k,那么4k的衰减就可以达到15dB(假设),根据自己的需要去设计对应的截止频率。理想的滤波器是当输入的信号频率大于截止频率时,大于部分的频率对应的电压信号直接归0。

yybyybds的博客 5720

Buck电源设计常见的一些问题(一)半桥栅极驱动芯片共性失效问题

半桥驱动芯片主要用在器件可应用于电信,数据通信,便携式存储或更低电压系统中的电源转换器,半桥、全桥、推挽、同步降压,正激变换器和同步整流器等方面。当然难免会遇到不少问题。基本上我们在产品开发的过程中都遇到过栅极驱动芯片坏掉的情况,所以找了一些资料,学习学习。也查找查找原因。

小幽余生不加糖 2369

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 328

3 路由引入

在大型企业网络中,网络规模十分庞大,选用单一的路由协议无法满足网络的需求,因此多种路由协议共存的情况十分常见。或者出于业务逻辑或行政管理的考虑,会在不同的网络结构中设计和部署不同的路由协议,使路由的层次结构更加清晰可控。路由引入是具有方向性的,将路由信息从路由协议A引入到路由协议B(A-to-B),则路由协议B可获知A中的路由信息,但是此时,A还并不知晓B路由协议中的路由信息,除非配置B-to-A的路由引入。表3-1:各种路由协议的优先级。通过路由引入,可以实现路由信息在不同路由协议间传递。

lwljh134的博客 621

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 115

《备考系统分析师》 - 专栏介绍和目录

本专栏提供软考高级系统分析师全套备考资料,包含四大核心内容:1.详细考点梳理(覆盖基础知识、关键技术、案例实践三大模块16个章节);2.历年真题及解析(2009-2022年所有真题含综合知识、案例分析和论文);3.100+篇高质量论文范文;4.预测模拟题。早鸟价仅需9.9元,可节约80%资料搜集时间,帮助考生高效备考、顺利通过考试。专栏持续更新,有问题可随时联系作者。

数据知道的博客 1万+

结构光相移法-多频外差原理与实践

结构光相移法是一种常用的三维形貌测量技术,它通过对投射到目标物体上的结构光进行相位调制和解调,实现对物体表面的三维重建。其中,多频外差原理是结构光相移法的核心原理之一,通过使用不同频率的结构光来实现相位测量,并可以提高测量精度和抗干扰性能。结构光相移法的多频外差原理是一种常用的三维形貌测量技术,它通过使用多个不同频率的结构光进行相位调制和解调,实现对物体表面的三维重建。本文介绍了多频外差原理的原理和实践应用,并提供了相应的Python源代码,希望对读者理解和应用结构光相移法有所帮助。

CodeByte的博客 737

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 194

利用插件扩展 Qt 应用程序

不仅 Qt 本身可以通过插件进行扩展,而且 Qt 应用程序也可以通过插件来扩展,这需要应用程序使用 `QPluginLoader` 检测和加载插件。

青春不老,奋斗不止! 1万+

LeetCode Hot 100 二叉树专题(二)3 题(Java)

本篇文章共 3 题:543. 二叉树的直径、102. 二叉树的层序遍历、108. 将有序数组转换为二叉搜索树。 每道题都统一按「① 题目分析 & 解题思路 → ② 常见解法(附代码)及讲解 → ③ 知识点总结」的顺序组织;代码使用 Java 编写,节点定义沿用 LeetCode 默认的 TreeNode。

2401_88612756的博客 365

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Decorator

TaskDecorator 是异步场景下"跨线程传递上下文"的标准方案,主要用于传递 MDC、用户信息、数据源路由等上下文数据,核心价值是让异步任务的日志链路不中断、业务上下文不丢失。TaskDecorator 是 Spring 提供的一个钩子接口,用于在异步任务执行前对 Runnable 进行包装,常用于跨线程传递上下文。如果你在项目中遇到具体的异步上下文传递问题,可以把代码贴出来,我帮你给出最合适的 Decorator 方案 👍。✅ 核心能力:在线程切换时,把"父线程的上下文"搬到"子线程"

wlwork66的博客 104

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南

Oracle 提供了ORA_ROWSCN伪列(System Change Number),记录最后修改行的 SCN,类似 PostgreSQL 的xmin。实践中通常仍使用 version 字段方案,逻辑与 MySQL 完全相同。-- Oracle:通过 ORA_ROWSCN 实现乐观锁-- 更新时比对 SCN// 自定义注解// AOP 切面@Aspect@Component@Slf4jtry {

yjc_1111的专栏 397

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JDK 下载安装:装完 Java 提示「不是内部或外部命令」?环境变量没配

JDK 是写 Java 程序必须装的东西。它包含运行 Java 的虚拟机(JRE)和编译 Java 的编译器(javac)——装了它,能跑、.java文件能编译成可执行程序。免费,学习和小规模生产都不花钱。

科小怪的博客 626

C++ 多态详解:作用、原理与实战用法

多态是C++面向对象的核心特性,通过虚函数实现运行期动态绑定,使同一接口在不同对象上表现出不同行为。其核心作用包括统一接口、提升可扩展性、降低耦合、支持运行时分派与批量处理。实现依赖虚函数表(vtable)和虚指针(vptr),需注意虚析构函数、对象切片等陷阱。相比编译期多态(模板),运行期多态灵活性高但有调用开销。合理结合两者,可兼顾代码的灵活性与性能,是构建可扩展、低耦合系统的关键。

2402_85743155的博客 376

java框架大全

java框架大全

qq_39326137的博客 183

Java 多态 学习笔记

多态是面向对象编程的重要特性,指同一操作作用于不同对象时产生不同行为。其核心在于“父类引用指向子类对象”,结合方法重写实现运行时动态绑定。多态使代码更灵活、可扩展,如用Person p = new Student();统一处理各类人员注册,无需修改调用逻辑。但多态无法直接调用子类特有方法,需通过instanceof判断并强制转换。编译时看左边(类型),运行时看右边(实际对象),实现解耦与维护便利。

AA_AA114514的博客 349

SecureRandom做随机源,这个Java随机字符串工具类有3个方法

本文分享一款JDK17环境下的Java随机字符串工具类,内置3个开箱即用的方法,全部采用SecureRandom加密安全随机源,不存在弱随机、可预测、取模偏差等问题。工具类支持默认62字符集随机串、纯数字随机串、自定义字符集随机串三种生成模式,支持Unicode码点级别的字符集处理,兼容Emoji等增补字符,边界处理严格,异常信息明确,适合验证码、邀请码、盐值、随机口令、短链码等场景,源码可直接复制使用。

Java后端 | AI智能体应用实战派 | 电脑技能行家 294

Java实现批量线段相交检测(跨积判定+扫描线优化与踩坑复盘)

【代码】Java实现批量线段相交检测(跨积判定+扫描线优化与踩坑复盘)

m0_64476639的博客 319

ubuntu安装hadoop系统

本文详细介绍了基于VMware克隆虚拟机搭建三节点Hadoop分布式集群的全过程:使用同一Ubuntu镜像克隆出master、worker1、worker2三台虚拟机,依次配置主机名、固定IP(如192.168.82.10/11/12)、SSH服务及免密登录,确保节点间网络互通。随后安装Java,下载配置Hadoop并分发至各节点,最终初始化启动集群,验证其存储与计算功能,实现高效的大数据环境部署。

qq_43592674的博客 322

Agent 状态栏在上下文中的具体位置

Agent状态栏以user角色消息形式追加至上下文末尾,而非修改system消息,避免破坏KVCache。此举仅为API技术实现,内容由框架自动生成,非真实用户输入,通过<agent_status>标签标识,确保模型获取最新状态且不影响缓存。该设计遵循“动态信息追加、静态信息固定”原则,实现高效、低延迟的状态传递。

lj1109053360的专栏 71

Spring事务和事务传播机制

3. 可重复读(REPEATABLE READ): 事务不会读到其他事务对已有数据的修改, 即使其他事务已提交. 也就可以确保同⼀事务多次查询的结果⼀致, 但是其他事务新插⼊的数据, 是可以感知到的. 这也就引发了幻读问题. 可重复读, 是 MySQL 的默认事务隔离级别.p1事务可以认为是⽗事务, 嵌套事务是⼦事务. ⽗事务出现异常, ⼦事务也会回滚, ⼦事务出现异常, 如果不进⾏处理, 也会导致⽗事务回滚.

txxzjmzlh的博客 203

Java Arrays.asList 常见坑详解|UnsupportedOperationException、数组联动、基本类型 bug

解析 Arrays.asList 常见开发陷阱,演示 UnsupportedOperationException、底层数组引用共享、基本类型数组问题,区分 Arrays 内部 ArrayList 与 java.util.ArrayList,给出数组转 List 的各种场景正确代码。

weixin_42617033的博客 435
上一篇: LWN:古老的tasklet API该何去何从?
下一篇: LWN:使用Rust实现OpenPGP,这就是Sequoia项目!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值