この記事は セキュリティおよびプライバシー エンジニアリング、Ryan Hurst、Gary Belvin による Google Security Blog の記事 "Google Online Security Blog: Security Through Transparency" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

暗号化はウェブの基礎をなすテクノロジーです。私たちは多くの時間をかけて、暗号化されたアプリを使いやすくするという複雑な作業を行ってきました。その課程で、メッセージの宛先を正確に指定するために、受信者の公開鍵を見つける安全で汎用的な方法が重要であることに気づきました。この仕組みはさまざまに応用できるだけでなく、これを行う汎用テクノロジーはどこにも存在していません。

確実にインターネット規模まで拡張でき、信頼されていないサーバーを経由して安全な通信を確立する方法を提供するソリューションが必要になります。Certificate Transparency から得た着想と CONIKS を組み合わせれば、私たちが望む以上の特性を持つシステムを構築できることがわかりました。

その結果として生まれたのが、オープンソース プロトタイプとして本日(*原文公開当時)公開する Key Transparency です。

Key Transparency が役立つ理由
危殆化された(compromised)サーバーからユーザーを守る既存の手法では、ユーザーが手動で受信者のアカウントを検証する必要がありますが、うまく機能しているとは言えません。PGP での暗号メールの web-of-trust がその例です。これが発明されて 20 年以上たっていますが、発明者本人も含め、ほとんどの人々はこれを使えないまたは使おうとしていませんメッセージング アプリ、ファイル共有、ソフトウェアのアップデートも、同じ課題に悩まされています。

Key Transparency を開発した目的の 1 つは、このプロセスを簡素化し、専門家以外のユーザーでも使えるインフラを作ることでした。オンライン上の個人と公開鍵との関係は、自動的に検証可能かつ広く監査可能であるべきです。ユーザーはアカウントに紐付けられているすべての鍵を参照できるべきですし、同時にレコード改ざんの試みも可視化する必要があります。これにより送信者は、アカウントの所有者による検証済みの鍵を常に使い回せるようになります。

Key Transparency は汎用的で透過性のあるディレクトリです。これを活用すれば、独立してアカウント データを監査できるさまざまなシステムを簡単に構築できるようになります。Key Transparency は、データの暗号化や認証を行う必要があるさまざまなシナリオで利用でき、ユーザーにわかりやすいセキュリティ機能を実現するとともに、アカウント復旧などの重要なユーザーニーズにも対応できます。

将来の方向性
Key Transparency はまだ生まれたばかりです。Key Transparency は最初のオープンソース リリースを迎えましたが、私たちは暗号コミュニティやその他の業界のリーダーとの会話を継続し、フィードバックをお願いし、誰もが高度なセキュリティを使えるようにするための標準の作成に向けて作業を進めています。

複数年にわたる Key Transparency の開発期間中は、CONIKS チーム、Open Whisper Systems、Yahoo! や Google 内部のセキュリティ エンジニアリング チームなどと協力してきました。その皆様に感謝を捧げます。

私たちの目的は、Key Transparency を汎用的で拡張や相互運用が可能なオープンソース公開鍵ディレクトリへと進化させ、相互に監査可能なディレクトリのエコシステムを構築することです。KeyTransparency.org は、この新しいテクノロジーに関連する皆さんのアプリや提案、貢献をお待ちしています。


Posted by Eiji Kitamura - Developer Relations Team