论文标题
“最终”安全错误
A "Final" Security Bug
论文作者
论文摘要
本文讨论了Google Tink的ED25519 Java实现中固定的关键安全错误。该错误允许远程攻击者仅使用两个ED25519签名提取私钥。漏洞来自对Java编程语言中“最终”的误解。该错误是在正式发布Google Tink之前在安全审查中发现的。它在编写安全的加密代码和安全审查过程的重要性方面加强了挑战,即使是专业密码学家编写的代码也是如此。
This article discusses a fixed critical security bug in Google Tink's Ed25519 Java implementation. The bug allows remote attackers to extract the private key with only two Ed25519 signatures. The vulnerability comes from the misunderstanding of what "final" in Java programming language means. The bug was discovered during security review before Google Tink was officially released. It reinforces the challenge in writing safe cryptographic code and the importance of the security review process even for the code written by professional cryptographers.