Cloudflare の Key Transparency Auditor は、Log の監査証明を検証し、それらに署名を付けます。Log はこの署名をエンドユーザーに配布でき、キーが改ざんされていないという確信をユーザーに与えます。
作業を検証するには、公開 API 経由で誰でもローカルに証明検証を行える CLI ツール Plexi ↗ を使えます。
- 署名の真正性を検証し、指定した公開鍵で署名されていることを確認する
- facebook/akd ↗ の証明の妥当性を検証する
- 監査者が監視している Log を一覧する
| 環境 | CLI コマンド |
|---|---|
| Cargo ↗(Rust 1.81 以上) | cargo install plexi |
コマンドとオプションの詳細は --help オプションを使います。
plexi [OPTIONS] <COMMAND>plexi にはデフォルトのリモート監査者が付属していません。自分で選ぶ必要があります。
--remote-url=<REMOTE> を渡すか、PLEXI_REMOTE_URL 環境変数を設定します。
よく使うリモートは次のとおりです。
| 名前 | リモート |
|---|---|
| Cloudflare | https://plexi.key-transparency.cloudflare.com |
独自の監査者をデプロイしている場合は、GitHub issue ↗ を作成してリモートを追加できます。
監査者は複数の Log を同時に監視します。監査者が監視している Log を確認するには、次を実行します。
plexi ls --remote-url 'https://plexi.key-transparency.cloudflare.com'
whatsapp.key-transparency.v1Key Transparency Auditor は、エポックの一意性を保証し、関連する証明を検証することで、Log の妥当性を保証します。
plexi audit は、指定したエポックとその妥当性に関する情報を提供します。監査者の動作を確認するためのローカル監査も行えます。
たとえば、Cloudflare Auditor が監査している WhatsApp Log を検証するには、次を実行します。
> plexi audit --remote-url 'https://plexi.key-transparency.cloudflare.com' --namespace 'whatsapp.key-transparency.v1' --long
Namespace
Name : whatsapp.key-transparency.v1
Ciphersuite : ed25519(protobuf)
Signature (2024-09-23T16:53:45Z)
Epoch height : 489193
Epoch digest : cbe5097ae832a3ae51ad866104ffd4aa1f7479e873fd18df9cb96a02fc91ebfe
Signature : fe94973e19da826487b637c019d3ce52f0c08093ada00b4fe6563e2f8117b4345121342bc33aae249be47979dfe704478e2c18aed86e674df9f934b718949c08
Signature verification: success
Proof verification : success