Tink のロードマップ

(最終更新: 2023 年 7 月)

このページでは、Tink チームの目標の概要について詳しく説明します。目標が達成または変更されるたびに、定期的に更新されます。

複数の GitHub リポジトリ

プロジェクトを複数の GitHub リポジトリに分割し、言語ごとに分割しています。この方法には、次のような利点があります。

  • 言語ごとにリリースを分離している(つまり、C++ の問題が Java のリリースの実行を妨げることはありません)
  • より頻繁なリリース
  • 各ライブラリ用にダウンロードする必要がある依存関係のセット(複数のクラウド プロバイダの SDK など)を削減する

ドキュメントの改善

Google では、Tink のドキュメントを改善する取り組みを進めています。具体的には、Tink ドキュメント ソースを統合し(このサイトを Tink ドキュメントの信頼できる情報源にします。また、最新のわかりやすい例を提供し、ドキュメントにギャップがある場合は埋めます)。ドキュメントの改善に関するご提案は大歓迎です。以下のリンク先のアンケートを使用するか、貢献ページに記載されているバグまたは機能リクエストを提出してください。

鍵セットとレジストリの再設計

Google は、ユーザーが鍵セット内の鍵をより適切に管理できるようにしたいと考えています。これにより、鍵管理システムの実装が容易になり、PEM や JWK などのさまざまな形式で鍵をインポートおよびエクスポートする包括的なサポートを利用できるようになります(同時に、API により、セキュリティの脆弱性につながるよくあるミスを回避できます)。現在作業中です。

また、Tink で複数のレジストリを利用できるように取り組んでいます。これにより、Tink をベースとしたライブラリ開発が容易になり、安全でないアルゴリズムの削除とサポート終了も容易になります。詳細については、レジストリ ページをご覧ください。

モニタリングのサポート

Tink にモニタリング フックが追加されました。このフックを使用すると、暗号オペレーションに関する非機密データ(使用中の鍵タイプや、特定の鍵で行われた暗号化呼び出しの回数など)を収集して分析できます。

この種の情報は、適切な鍵のローテーションを確保したり、量子コンピュータに対して脆弱な可能性のある鍵のリストを作成したりする場合に役立ちます。これらのフックの使用方法については、チュートリアルを用意する予定です。

ポスト量子暗号(PQC)

Google は、NIST が選択した PQC アルゴリズムの低レベルの実装に積極的に取り組んでいます。これには、鍵カプセル化メカニズム(KEM)(具体的には Kyber/ML-KEM)と、デジタル署名(Dilithium/ML-DSA および SPHINCS+/SLH-DSA)が含まれます。準備ができ次第、これらのポスト量子アルゴリズムの公式 API を Tink で提供する予定です。PQC に着手することを検討している方のために、Tink では、NIST が選択したデジタル署名と NTRU-HRSS KEM(最終的に選択されなかった NIST KEM 候補)に対応する、C++ の試験運用版 PQC アルゴリズムをすでに提供しています。

パフォーマンス

Google は、Tink のパフォーマンス測定値を微調整し、ユーザーに適切なパフォーマンス ベンチマークを提供する予定です。Google は、Tink のパフォーマンス向上の可能性の調査も開始しています。

ご意見をお寄せください

Tink の使用方法や実装に最も役立つ機能があれば、ぜひお聞かせください。アンケートに回答してお知らせください。