PII漏洩:サインアップフローで「一般公開されない」と明記されたメールが、Gravatarに使用される

Discourse のデフォルトインストールでは、サインアップパネルでメールアドレスの入力が求められます。このメールアドレスは「一般公開されません」と表示されています。しかし、サインアップフローを完了し登録が完了すると、ユーザーがプロフィールを編集したり何か他の操作を行ったりする機会を得る前に、そのメールアドレスが Gravatar からアバターを取得するために使用されます。

これは個人を特定できる情報の漏洩であると考えるべきです。Gravatar は原理的に、誰かの身元と照合され、結果としてそのメールアドレスが特定される可能性があります。ユーザーはアバターを変更する機会がありますが、ユーザーが何らかの操作を行う前に、公開されている「ユーザー」リストを使って、誰かがそのアカウントと紐付いたアバターを確認することが原理的に可能です。Gravatar サポートは優れた機能ですが、問題は、Discourse がサインアップボックス内の文言「一般公開されません」を用いて、メールアドレスが非公開であるという明確な期待をユーザーに抱かせている点です。

これを解決する最善の方法は、サインアップボックスの文言を変更して異なる期待を持たせるか、あるいは「Gravatar でアバターを取得する」ためのチェックボックスや確認手順を追加することだと考えます。

この問題は Letsencrypt フォーラムで発見しましたが、テストにより、try.discourse.org やこのフォーラム(meta.discourse.org)でも同様の動作が確認できました。

「いいね!」 2

Gravatar を「公衆」として定義することはできません。特に、リクエストはサーバーから Gravatar サーバーへ暗号化された HTTPS を介して直接行われるためです。また、メールアドレスのハッシュ値が使用されているのではありませんか?

「いいね!」 5

はい:

@mcc コードを読んだ後でも、これは個人情報(PII)の漏洩だとお考えですか?

「いいね!」 6

ここでの PII は画像そのものの内容であると推測されます。Discourse サイトにメールアドレスでサインアップする際、特に「メールアドレスは非公開」と明記されている以上、あなたが誰であるかを一般に知られたくないかもしれません。

つまり、プライバシーを保護するためにランダムなユーザー名でサインアップし、普段使っているメールアドレスを使用します。「公開されない」という記述に基づけば、自分の画像が即座にそのアカウントと紐付けられ、誰でも閲覧できる状態になるとは考えにくいはずです。

これは理解するのが非常に難しいです。

あなたは画像を Gravatar にアップロードし、そのメールアドレスに関連付けました。それはインターネット上でどこでもあなたの画像が表示されるようにするためです。もしその画像が追跡されるのを望まないなら、Gravatar にアップロードしなければよいのです。

:woozy_face:

「いいね!」 9

同意します。また、グラバターは一意ではありません。

グラバターは定義上、個人情報(PII)ではありません。これは公開された個人情報という別のカテゴリに分類されます。ハッシュは定義上、一方向です。

プライバシーを真剣に考えている人は、グラバターとリンクさせた同じメールアドレスをあらゆる場所で使用していません。プラスアドレス付けさえもこれを無効化してしまいます。

メールアドレスも、場合によっては名前に加えて性別、年齢、所在地を明らかにする可能性があるため、公開された個人情報とみなされます。

折衷案として、Gravatarでのアバターの検索に対して、オプトアウト(またはオプトイン)をオプションとして追加するのは難しすぎますか?

「いいね!」 2

このサイト設定は既に存在します:

image

「いいね!」 8

Discourseでは、サーバーが実際に画像をダウンロードするため、ハッシュの逆引きによる標準的なセキュリティリスクや、Gravatarによる訪問者追跡のリスクを回避しています。

同じアバターを持つ複数のメールアドレスをお持ちの場合(私もそうです)、Gravatarでない限り、どのメールアドレスでフォーラムにサインアップしたのかを特定することはできません。Discourseはアバターの履歴を保持・公開しないため、ユーザー側の回避策は非常に簡単です(文字に戻すか、新しい画像をアップロードする)。また、いつでも他の人のアバターを手動でアップロードすることも可能です。

これは信頼性の高い攻撃手法とは言い難いようです。

「いいね!」 6