350行Python实现生产级ML-DSA验证我最近生活中不怎么用Python。1 不过,我刚刚写了一个纯Python生产的ML-DSA验证器.是350行代码 (还有更多测试),它支持所有参数集,我对它相当满意。 你可以这样取mldsa摘自PyPI,感谢威廉·伍德拉夫 或者你可以复制粘贴:这是一个没有依赖的单一文件,是双重许可的CC0和0BSD。它支持Python 3.8及更高版本。API的设计灵感来源于优秀的PYCA/密码学. 我希望这能让... 评论点赞收藏21 天前
不透明且可互操作的 Passkey 记录(及 Go API 设计)Filippo Valsorda 提出 Passkey Record 规范草案,将 WebAuthn 凭证数据编码为类似密码哈希的可移植字符串,旨在解决各后端存储格式不兼容问题。文章附带了 Go 语言 crypto/passkey 无状态 API 设计预览,并论证了在不使用 Credential ID 作为主键索引的情况下,通过用户 ID 查找即可防御碰撞攻击。适合关注身份认证架构、Go 语言生态及 WebAuthn 底层实现的开发者。 评论点赞收藏27 天前
Vulnerability reports are not special anymore作者 Filippo Valsorda 指出,随着漏洞披露流程的标准化和自动化,负责任的安全研究已变得像常规工程任务一样普遍且缺乏独特性。文章探讨了这一现象对安全社区文化的影响,认为过度强调“特殊贡献者”身份可能掩盖了实际的安全协作需求,引发了关于安全研究伦理和激励机制的讨论。 评论点赞收藏54 天前
Frood:基于Alpine Initramfs的极简NAS架构实践作者分享了一种独特的NAS架构:将完整的Alpine Linux系统打包进initramfs镜像中运行于内存。文章详细解析了构建过程、声明式配置管理、去除了传统bootloader改用UKI以及QEMU测试方法。相比NixOS等复杂方案,此方法极简且易于维护,适合喜欢折腾底层Linux系统的极客参考。 评论点赞收藏61 天前
注册表设计之弊:为何密码学协议应避免动态协商文章强烈反对在密码学协议中使用数字标识符注册表,认为这会导致运行时协商和复杂的安全漏洞。作者主张每个协议版本应固定使用具体的加密原语,通过版本升级来替换算法,而非在协议内部进行动态协商。文中以age加密工具和JWT漏洞为例,论证了减少协议灵活性和消除注册表能显著提升安全性。 评论点赞收藏111 天前
加密工程师视角下的量子计算机时间表加密工程师Filippo Valsorda认为,具备密码学相关能力的量子计算机在近几年内出现的风险已经高到足以作为决策依据。这是一个来自一线专家的强烈预警,对密码学迁移和长期安全规划有重要参考价值。 评论点赞收藏132 天前
关闭 Dependabot作者建议关闭 Dependabot,改用两个定时 GitHub Actions:一个运行 govulncheck 检查漏洞,另一个针对最新依赖版本运行 CI。这是一种替代方案的个人实践分享。 评论点赞收藏177 天前
go.sum 不是锁文件Filippo Valsorda 指出在 Go 语言中 go.mod 同时充当清单和锁文件,因此 go.sum 不应被直接查看或手动修改,这是一个常见的误解。 评论点赞收藏223 天前
XAES-256-GCM规范发布:更安全、合规的AES-GCM扩展方案Go核心贡献者Filippo Valsorda发布XAES-256-GCM规范,旨在解决AES-GCM的Nonce重用风险。该算法通过扩展Nonce长度实现随机生成Nonce的安全性,同时保持FIPS 140合规性和硬件加速性能,是对XChaCha20Poly1305的重要补充。 评论点赞收藏363 天前
最后的守护者:关键Go项目维护危机与解决方案Geomys团队作为专业开源维护者,接手了关键的Go项目如bluemonday和gorilla/csrf。文章详细描述了在gorilla/csrf出现安全漏洞且原维护者失联时,团队如何通过研究浏览器安全元数据,在Go 1.25标准库中引入新的CSRF中间件,并提供兼容包作为替代方案。这展示了可持续资金支持的开源维护模式如何解决关键依赖的维护危机。 评论点赞收藏367 天前
CSRF 防御的现代实践:从 Token 到 Fetch MetadataFilippo Valsorda 深入剖析了 CSRF 攻击原理及防御机制的演变。文章对比了传统 Token 方案与现代浏览器 Fetch Metadata 机制,指出后者无需额外配置即可有效防御 CSRF。作者结合 Go 1.25 的新特性,提出了一套基于 Origin 和 Sec-Fetch-Site 头的现代防御算法,旨在解决 SSO 兼容性与安全性平衡问题,适合后端与安全工程师阅读。 评论点赞收藏368 天前
Go 汇编代码的变异测试:填补加密库测试盲区Go核心维护者Filippo Valsorda介绍为Go 1.26引入汇编变异测试框架,旨在解决加密汇编代码因常量时间执行特性导致的传统覆盖率测试失效问题。文章回顾了2017年P-256模减法的进位处理漏洞,详细阐述了如何在汇编层面进行指令变异以检测未覆盖路径,并展示了在arm64架构下的具体实现案例与初步测试结果。 评论点赞收藏381 天前
age加密与认证:从设计哲学到潜在的新特性age加密工具作者深入探讨为何默认不包含签名功能,并揭示age已具备基于接收者密钥的隐式认证属性。文章分析了云备份等场景下的认证需求,区分了AEAD与发送者认证,并提出通过插件机制引入显式认证支持的设计构想,征求社区反馈。 评论点赞收藏386 天前
一个宽约简技巧:用形式化验证重构Ed25519标量域实现Go标准库加密作者Filippo Valsorda详解如何用形式化验证工具fiat-crypto替换Ed25519中晦涩难懂的标量域宽约简代码。文章通过具体数学推导展示了如何用简单的乘加操作替代900行“圣诞树”硬编码,是极具工程参考价值的密码学实现案例。 评论点赞收藏394 天前
使用 Passkey 和 age 进行文件加密Filippo Valsorda 介绍了如何使用 TypeScript 库 Typage 和 age 加密格式,结合 WebAuthn 的 PRF 扩展,实现基于 Passkey 的文件对称加密。文章详细解释了 fido2prf 格式的设计原理、安全性考量(如防链接性、硬件绑定),以及如何在浏览器和 FIDO2 硬件密钥中使用,并附带了 CLI 插件的实现细节。 评论点赞收藏397 天前
运行证书透明度日志:低成本守护Web安全的实践指南作者Filippo Valsorda介绍如何低成本运行证书透明度日志。得益于新的静态CT API和Sunlight实现,现在只需一台服务器、少量存储和带宽即可运营。文章提供了详细的硬件配置建议、成本估算及加入社区的方法,强调这对WebPKI安全的重要性。 评论点赞收藏405 天前