Google 近日正式开源了 Paranoid ,这是一个用于识别加密制品(cryptographic artifacts)中常见漏洞的项目。
Paranoid 支持测试多个加密制品,其中包括如数字签名、通用伪随机数和公钥,以识别由编程错误或使用弱的专有随机数生成器造成的问题。
根据 Google 官方公布的信息显示,Paranoid 可以检查任何制品,甚至是那些由未知实现的系统(Google 将其称之为 “黑盒子”,其源代码无法被检查)生成的制品。
一个制品可能是由黑盒子生成的,它不是由我们自己的工具(如 Tink)生成的,也不是由我们可以使用 Wycheproof 检查和测试的库生成的。虽然不够安全,但不幸的是,有时我们最终会依赖黑盒子生成的制品
Google 已经使用 Paranoid 检查了 Certificate Transparency(CT)中的加密制品 —— 其中包含超过 70 亿个已签发的网站证书,并发现了数千个受关键和高严重性 RSA 公钥漏洞影响的证书。这些证书中的大多数已经过期或被吊销。
Google 将该库开源,不仅是允许其他人使用,也是为了增加透明度,并接受来自外部的贡献。希望研究人员发现并报告加密漏洞后,将检查添加到库中。这样一来,Google 和其他使用者就可以快速应对新的威胁。
Paranoid 项目包含 ECDSA 签名以及 RSA 和 EC 公钥的检查,并由 Google 安全团队积极维护。该项目还旨在减轻对计算资源的使用。检查的速度必须足够快,以便针对大量的制品运行,并且必须在现实世界的生产环境中有意义。
项目地址:https://github.com/google/paranoid_crypto