Tink 路线图

(上次更新时间:2023 年 7 月)

本页详细介绍了 Tink 团队的简要目标。当目标的实现或更改时,它将定期更新。

多个 GitHub 代码库

我们正在将项目拆分为多个按语言分隔的 GitHub 代码库。这样做具有以下优势:

  • 每种语言的分离版本(例如,C++ 中的问题不会阻止执行 Java 版本)
  • 更频繁地发布
  • 减少要为每个库下载的依赖项集(例如,多个云提供商的 SDK)

文档改进

我们正在努力改进 Tink 文档。这涉及整合 Tink 文档来源(使此网站成为 Tink 文档的可信来源)、提供易于遵循的更新示例,以及填补文档可能存在的任何缺口。欢迎提供文档改进建议。请使用下方链接的调查问卷,或按照贡献页面中的说明提交 bug 或功能请求。

重新设计密钥集和注册表

我们希望让用户能够更好地管理密钥集内的密钥。这样可以更轻松地实现密钥管理系统,并且能够更全面地支持以不同格式(如 PEM 或 JWK)导入和导出密钥(同时确保 API 可防止可能导致安全漏洞的常见错误)。相关工作正在进行中。

我们还在努力允许在 Tink 中使用多个注册表。这样,可以更轻松地开发基于 Tink 的库,并且可以轻松移除和弃用不安全的算法。如需了解详情,请参阅注册表页面。

监控支持

我们为 Tink 添加了监控钩子。用户可以使用这些钩子收集和分析有关其加密操作的非敏感数据,例如正在使用哪些类型的密钥,或使用特定密钥进行的加密调用的次数。

此类信息对于确保密钥轮替充足或创建可能容易受到量子计算机影响的密钥列表非常有用。我们将在适当时候提供关于如何使用这些钩子的教程。

后量子加密 (PQC)

我们正在积极努力实现 NIST 选定的 PQC 算法的低层级实现。其中包括密钥封装机制 (KEM)(具体是指 Kyber/ML-KEM)和数字签名(即 Dilithium/ML-DSA 和 SPHINCS+/SLH-DSA)。准备就绪后,我们将在 Tink 中为这些后量子算法提供官方 API。对于有意开始使用 PQC 的用户,Tink 已经提供了采用 C++ 的实验性 PQC 算法,其中包括 NIST 选择的数字签名,以及 NTRU-HRSS KEM(一种最终未选择的 NIST KEM 候选者)。

性能

我们打算优化 Tink 性能测量值,并为用户提供适当的性能基准。我们还开始研究 Tink 可能的性能增强。

欢迎您提供反馈意见!

我们很乐意了解您如何使用 Tink,或哪些功能对您的实现最有用。请参与我们的问卷调查,将您的想法告诉我们。