昨年、Googleのエンジニアグループが「非公式プロジェクト」としてTinkと呼ばれる暗号ライブラリを発表しました。そして今、チョコレートファクトリーは、このソフトウェアがTinkという名前を冠するのに十分であると判断しました。
Tink の開発者の 1 人である情報セキュリティ エンジニアの Thai Duong が、このブログ投稿でバージョン 1.2.0 を発表し、ライブラリを「公式」にしました。
ドゥオン氏は、この 2 年間のコーディング作業は、マウンテンビューで Google Pay、Google アシスタント、Firebase アプリ開発プラットフォーム、Android 検索、AdMob 広告プラットフォームのセキュリティ基盤として採用されたことで促進されたと書いている。
新バージョンでは、開発者はAndroid、iOSアプリケーション、そしてAWSクラウド環境でTinkを使用できるようになります。サポート言語としてJavaに加え、C++とObjective-Cも追加され、AndroidサポートはGradleビルドツールを通じて提供されます。
暗号アルゴリズムには、AES-EAX、AES-GCM、AES-CTR-HMAC-AEAD、メッセージ認証用の HMAC-SHA2、NIST 曲線デジタル署名上の ECDSA、ハイブリッド暗号化用の AEAD (AES-GCM および AES-CTR-HMAC-AEAD) および HKDF を使用した NIST 曲線上の ECIES が含まれます。
AWSサポートはTinkのC++ライブラリでまもなく提供される予定だが、Googleのクラウドキー管理システムで動作させるのは「Cloud KMSクライアントライブラリが不足しているため」難しい作業だ。
素晴らしいアイデアがあります。暗号ライブラリに開発者が失敗したときに警告を発してもらうことです。
続きを読む
ドゥオン氏は2017年のメーリングリスト投稿で、Tinkは「ダニエル・ブライヘンバッハー氏によるオリジナルのK2設計に基づいている」と説明しました。ダニエル氏はこのプロジェクトの主要な貢献者の一人でもあります。ブライヘンバッハー氏は、RSA暗号に対する同名の攻撃を発見したことで、暗号学の世界ではよく知られた人物です。
Duong 氏は、Tink の API は「安全で、正しく使いやすく、悪用されにくい」ように設計されており、BoringSSL と Java 暗号化アーキテクチャを使用しながらも、「私たちのチームの別のプロジェクトである Project Wycheproof によって発見されたこれらのライブラリの多くの脆弱性に対する対策が組み込まれています」(Project Wycheproof は暗号ライブラリのセキュリティ テストを行うプロジェクトで、2016 年に開始されました) と書いています。
Tink の保護の例として、Duong 氏は次のように書いています。「基盤となる暗号化モードに nonce が必要であり、nonce の再利用によって安全性が損なわれる場合、Tink はユーザーによる nonce の受け渡しを許可しません。」
検証を容易にするために、Tink のセキュリティ プロパティは API で公開され、API は危険な操作 (Duong の例はディスクからのキーのロード) に対して分離されているため、その使用状況を検出、制限、監視、およびログに記録できます。®