Cosnomi

プログラミングをする医学生。物を作ること、自動化すること、今まで知らなかったことを知ることが好き。TypeScript書いたり、Pythonで機械学習したりなど。

Twitter / GitHub / Keybase
TOP >

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

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

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

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

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

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はあなたに豊富な選択肢を与えます。

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

まとめ

マストドンのDMは自分と相手の所属しているインスタンス管理人に見られる可能性があるので、自分の信頼できるインスタンスに所属しましょう。 分散SNSの基本です。


最後まで読んでいただきありがとうございます。コメントフォームは設置していません。訂正・意見・感想などはTwitter(@cosnomi)などへお願いします。
記事一覧へ