SlowMist創業者Cosine氏、クリア署名のデータ収集をめぐるプライバシー問題を提起
SlowMist創業者Cosine氏、クリア署名のデータ収集をめぐるプライバシー問題を提起
クリア署名は、暗号資産の利用者が、取引がブロックチェーンに送信される前に、自分が何を承認しようとしているのかを理解できるようにする仕組みです。しかし、生のトランザクションデータを読みやすい確認画面へ変換する処理には、ハードウェアウォレット外部のソフトウェアが関与することがあります。そして、そのソフトウェアが、利用者の想定していない情報まで取り扱っている可能性があります。
11月11日、SlowMistの創業者であるCosine氏は、クリア署名の統合機能に関連するデータ収集の仕組みについて懸念を表明しました。同氏によると、この仕組みでは、ネットワークまたはチェーンID、送信先アドレス、デバイスやソフトウェアのバージョン、ブラインド署名が使用されたかどうかなど、署名に関連する特定の情報がデフォルトで収集されるといいます。
ここで重要なのは、この仕組みがデバイスのファームウェアに組み込まれた機能ではなく、ウォレットアプリケーションが利用するソフトウェア開発キット(SDK)の一部として説明されている点です。また同氏によれば、利用者がこの設定を変更するには、デバイスに接続するウォレットアプリケーション側に、適切な設定項目が用意されている必要があります。
どのような情報が対象となる可能性があるのか
収集対象として報告された項目には、トランザクションの内容だけでなく、署名が要求された環境に関する情報も含まれます。
- ネットワークまたはチェーンID: リクエストに関連するブロックチェーンネットワークを識別します。
- 送信先アドレス: スマートコントラクトや受取人を特定できる場合があります。
- デバイスのモデルとソフトウェアのバージョン: 使用されたデバイス、ファームウェア、アプリケーションに関する情報を示します。
- ブラインド署名の状態と理由: 内容を完全には解釈できない表示のまま署名されたかどうか、また、そうである場合にはその理由を示します。
これらの情報は、秘密鍵やリカバリーフレーズとは異なります。報告されているデータ収集だけを根拠に、こうした機密情報が漏えいしたと判断することはできません。
とはいえ、これらの情報にも機微性があります。コントラクトアドレスからは、利用しようとしているプロトコルが推測される可能性があります。また、受取人のアドレスから、支払いに関する背景が読み取られることもあります。さらに、サービス側が把握している時刻情報やその他のデータと組み合わせれば、ウォレット上の活動が利用者と結び付けられやすくなる可能性があります。
ブロックチェーンのトランザクションは、送信後に公開されることが一般的です。しかし、それは署名に関するあらゆるメタデータが公開情報になるという意味ではありません。利用者が、ネットワークにトランザクションを送信することと、署名を試みた際の詳細をアプリケーションやサービスと共有することを、別の行為として捉えるのは当然でしょう。
クリア署名とブラインド署名では目的が異なる
トランザクションのリクエストは、生のデータを見ただけでは必ずしも簡単に理解できるものではありません。クリア署名は、実行される操作、送信先、関連するパラメーターなどの重要な情報を、利用者が承認前に確認できる形で表示することを目的としています。
一方、ブラインド署名では、デバイスがリクエストの内容を完全に解釈できない、あるいは分かりやすい形で表示できない状態のまま、利用者が承認を行います。特定の操作を解析するために必要な情報を、ウォレットやデバイスが持っていない場合などに、この状況が発生します。
Ethereumのトランザクションに関するドキュメントでは、Ethereumトランザクションを構成する基本的な項目が説明されています。ただし、より複雑な操作では、送信先を確認するだけでは不十分な場合があります。コントラクトの呼び出しによってトークンの使用許可が付与されたり、追加の情報がなければ把握できない処理が実行されたりする可能性があるためです。
クリア署名を利用すれば、トランザクションの内容を確認しやすくなります。しかし、分かりやすい確認画面が表示されたからといって、その操作の安全性が保証されるわけではありません。利用者は、使用中のアプリケーション、要求されている操作、付与しようとしている支出権限を引き続き慎重に確認する必要があります。
アプリケーション層が重要な理由
ハードウェアウォレットは署名鍵を保護しますが、利用者は通常、ウォレットアプリケーションやブラウザ拡張機能などのソフトウェアを介してデバイスを操作します。こうしたアプリケーションは、トランザクションデータの解釈や外部サービスとの通信に、第三者が提供するコンポーネントを使用している場合があります。
今回報告された仕組みは、セキュリティとプライバシーを評価する際に、署名プロセス全体を確認する必要があることを示しています。
- 利用者がアプリケーション上で操作を開始します。
- アプリケーションが署名リクエストを作成し、その内容を解釈するために補助ソフトウェアを使用する場合があります。
- ハードウェアウォレットが承認用の情報を表示し、利用者が確認すると署名を実行します。
- その後、アプリケーションが署名済みトランザクションをネットワークに送信します。
アプリケーションが使用するソフトウェア内でデータ収集が行われている場合、デバイス側の設定を変更するだけでは制御できない可能性があります。その場合は、接続先のウォレットに設定項目が用意されている必要があります。あるいは、ウォレットの開発元から、収集する情報やオプトアウトの方法について説明を受ける必要があるでしょう。
現時点で得られている情報だけでは、こうしたソフトウェアを採用するすべてのウォレットが同じ情報を収集しているとは断定できません。また、収集されたデータがどの程度の期間保存され、他の記録とどのように組み合わされるのかも明らかではありません。こうした点は、個々の実装方法やプライバシーに関する運用方針によって異なります。
署名時のプライバシーを確認する方法
プライバシーを重視するからといって、分かりやすいトランザクション確認画面を諦める必要はありません。デバイス上に表示される内容と、接続先ソフトウェアの動作の両方を確認することで、実践的な対策が可能です。
- ウォレットのプライバシー設定を確認する。 分析、診断、トランザクションシミュレーション、外部データサービスに関する設定項目を探しましょう。
- アプリケーションの開示内容を読む。 どのようなデータが送信されるのか、誰が受け取るのか、どれくらいの期間保存されるのか、オプトアウトすると機能に影響があるのかを確認してください。
- 承認前にデバイスの画面を確認する。 ネットワーク、送信先、金額、実行される操作が、自分の意図した内容と一致しているかを照合しましょう。
- ブラインド署名はリスクの高い判断として扱う。 リクエストの内容を理解できない場合は、承認をいったん止め、十分に調べてください。
- トークンの使用許可を定期的に見直す。 承認によって、コントラクトに将来のトークン使用権限が与えられる場合があります。必ずしも一度限りの送金ではありません。
- ソフトウェアを最新の状態に保つ。 アップデートによって、セキュリティやトランザクション解析機能が向上することがあります。一方で、機能やプライバシー設定が変更される場合もあるため、更新後には内容を確認しましょう。
より広い視点から得られる教訓
重要なのは、クリア署名が役に立つかどうかではありません。クリア署名は、暗号資産のトランザクションを判断しやすくする有用な仕組みです。問われているのは、その利便性を実現するためにやり取りされる情報について、利用者に十分な透明性と制御手段が与えられているかどうかです。
暗号資産ウォレットや接続先アプリケーションを選ぶ際、秘密鍵が保護されているかどうかは、判断材料の一つにすぎません。トランザクションに関する透明性、理解しやすい形での同意、そして利用しやすいプライバシー管理機能も、同様に重要です。



