Cosnomi
Cosnomi

医療×IT / 医学生 / Web(React, Flask) / 機械学習(画像認識, Keras)

Twitter / GitHub / Keybase

Mastodonのダイレクトメッセージ(DM)は技術的に安全なのか

Mastodon(マストドン)には公開範囲を詳しく設定できる機能があります。

こういうやつです。「公開」「未収載」「フォロワー限定」「ダイレクト」の 4 種類があります。独自の改造をしているインスタンスでは他にもあるかもしれません。

Twitter の DM に相当するのが「ダイレクト」ですが、おひとりさまインスタンス同士(「管理人=唯一のユーザー」なインスタンス)ではない場合、この「ダイレクト」はセキュア(安全)なのかということが今回の話です。

トゥートはどこに配信されるか

Mastodon の設定画面にはこのようなページがあります。

これは、例えばフォロワー限定と設定してあるトゥートも、フォロワーのいる全てのインスタンスに配信され、各インスタンスでフォロワー限定公開の処理がされるということです。デフォルトの状態では、そのトゥートを受け取ったインスタンスはフォロワーにしかそのトゥートが見えないようにしていますが、すべてのインスタンスがそのルールを守っているとは限らない(それに、フォロワーのいる場所が Mastodon だけとも限りません)ですし、インスタンスの管理人はフォロワー限定のトゥートでも見ようと思えば見られるわけで…そういった意味でフォロワーの所属するインスタンスが信頼できるかということも大事になってくるわけです。

ここまでは「フォロワー限定」設定の投稿の話です。

では、「ダイレクト」の場合は、どこに配信されるのでしょうか。GitHub で Mastodon における Direct のわかりやすい説明があったのでご紹介します。

https://github.com/tootsuite/mastodon/pull/3844#issuecomment-314897285

「ダイレクト」は最下段の mentions-only です。これによると、mentions-only の”to”にはメンション先が指定されており、“cc”などはありません。つまり、相手のインスタンスのみに配信されるということです。(まあ、それは当然という実装ですが、もしフォロワー全員に投げてたりしたらどうしようと思ったので一応調べてみました。)

つまり、「Mastodon のダイレクトは送信相手の所属するインスタンスに送信され、その後の処理は相手に委任されるから、相手のインスタンスが信頼できない場合は危険」ということになりますね。

したがって、自分の所属しているインスタンスと送信相手の所属しているインスタンスの管理人が信頼できない場合、MastodonのDMの内容は見られてしまう場合があります。end-to-endの保護はされていません。ということは、MastodonのDMは危険なのでしょうか?

無意識の信頼が表面化しただけ

これを以て、Mastodon は危険だ!とか実用的でない!と思う人もいるかも知れませんが、それは違うのではないかと思います。

例えば、Twitter の DM のほうが Mastodon の DMより信頼できると感じる人は、Twitter の運営者を自分と相手のインスタンス管理人よりも信頼しているというだけのことです。無いとは思いますが可能性としては、Twitter の中の人が覗き見しているかもしれませんし、Twitter の脆弱性を突いて DM をこっそり見ている人がいるかも知れません。


(参考) Twitter の DM の暗号化について
Twitter はもちろん SSL/TLS (https)に対応したWebサービスですから、自分と Twitter のサーバー間は暗号化されているわけですが、Twitter 社は生のメッセージを取得できるはずです。(もちろん、普通の職員では見られないようになっていると思いますが)
より sensitive な情報を扱うときは、end-to-end の暗号化が推奨されます。これについて、Twitter 社は開発を進めているとの情報があります


別に Mastodon が危ないというわけではないのです。信頼できない運営者の下ではセキュアな通信はできないという当たり前の事実に気づいただけのことです。

だからこそ、自分が信頼できるインスタンスに所属しましょう。別に Twitter と同じような大企業が運営しているインスタンスのほうがセキュリティ面で信頼できるというならそうすればいいですし、個人的に信頼できるインスタンスがあるならそこに行けばいいということです。そういった意味で、Mastodonはあなたに豊富な選択肢を与えます。

Twitter の DM は信頼できて Mastodon の DM が信頼できないような感覚に陥るのは、私達がDMのやり取りをする上で無意識のうちにTwitter を信頼することを要求されているが、同様に要求される信頼の対象が Mastodon のインスタンス管理人のように、我々にとって身近に感じられる対象になると、その事実が強く意識されて抵抗を感じてしまうのではないかと思います。

Mastodonが話題になってすぐのあたりでしょうか、インスタンス管理人はパスワードを平文で保存するようにコードを改変すればユーザーのパスワードを盗める!個人インスタンスは危険だ!という人が出てきました。おかしな話です。サービスごとにパスワードを変えるのは常識ですが、そもそもこの指摘はMastodonの個人インスタンスに限った話ではありません。あらゆるWebサービスの認証情報は必ずしも適切な状態で管理されているとは限りません。しかし私達は、そのサービスの管理人が適切に情報を管理し悪用しないと信頼して利用しているのです。これもまた、無意識の信頼が顕在化したに過ぎません。

まとめ

  • マストドンの DM は自分と相手の所属しているインスタンス管理人に見られる可能性があるので、自分の信頼できるインスタンスに所属しましょう(当然)

コメントフォームは設置していませんので、ご意見・ご感想などはTwitter(@cosnomi)などへお願いします。