Capillary は、開発者がアプリケーションでプッシュ メッセージのエンドツーエンド暗号化を実装するのに役立つオープンソース ライブラリです。
あなたがアプリにプッシュ通知を実装する開発者で、あなたまたはあなたのユーザーがデータのプライバシーを気にしている場合、これらのプッシュ メッセージを安全に送信することが重要です。 すでにデータ セキュリティに取り組んでいる人にとって、強力な暗号化対策を実装することは簡単です。 他の人にとっては、実装が難しい機能です。 Google の Firebase Cloud Messaging (FCM) は TLS 経由でメッセージをプッシュするため、メッセージを安全に送信できます Google のサーバーを経由しますが、そうすることでエンドツーエンドのゴールドスタンダードを満たしていないことになります。 暗号化。 エンドツーエンドの暗号化がなければ、理論上は第三者がデータを侵害する可能性があります。 これを使用すると、エンド ユーザーのデバイスのみがデータを復号化できます。 E2E 暗号化の実装は、新しい開発者にとって難しい場合があるため、Google は Project Capillary を導入しています。 それは オープンソースライブラリ これにより、開発者のサーバーとクライアントのデバイス間の E2E 暗号化の実装が容易になります。
Capillary ライブラリを使用すると、最初のステップはクライアント デバイスによって実行され、キー ペアが生成されます。 次に、公開キーを開発者のサーバーに登録する必要があります。 開発者のサーバーは、FCM などのプッシュ メッセージング サービスを通じて、公開キーで暗号化されたプッシュ通知を送信します。 次に、サービスはそのメッセージをクライアントに送信し、クライアントは秘密キーを使用してメッセージを復号します。
Capillary は API レベル 19 と下位互換性があるため、Android KitKat 以降を実行しているデバイスで使用できます。 このライブラリには、メッセージの変更を防止するための完全性保護手段も含まれており、デバイスのリセット手段も考慮されています。 Capillary は、2 つのデバイス間で E2E 暗号化を実装するように設計されていません。 これでは安全なメッセージング アプリの作成には役立ちません。
以下のリンクで Capillary オープンソース ライブラリをチェックしてください。 サーバーのアーキテクチャによっては、手動で調整する必要がある場合があることに注意してください。 必要なツールやライブラリを提供することで開発者の作業を楽にしてくれるのは、Google にとってはありがたいことです。
GitHub で Project Capillary ライブラリをチェックしてください
出典: Android 開発者ブログ