X(旧Twitter)には暗号化DM機能があるほか、強化版のDMとして新たにXChatが追加される見込みです。XChatについては、イーロン・マスク氏が「ビットコイン風の暗号化機能を実装」とアピールしたことがツッコミの対象となっていますが、そもそもXの暗号化はあまりよくないと、開発者のマシュー・ガレット氏が指摘しています。
mjg59 | Twitter’s new encrypted DMs aren’t better than the old ones
https://mjg59.dreamwidth.org/71646.html
mjg59 | How Twitter could (somewhat) fix their encrypted DMs
https://mjg59.dreamwidth.org/71933.html
XはまだTwitterと名乗っていた2023年5月、「暗号化DM」機能を搭載しました。
Twitterが「暗号化DM」の提供を開始、「銃を突きつけられたとしてもアクセスできないようにする」とイーロン・マスクが豪語 – GIGAZINE
暗号化DM機能で送受信されたメッセージは、基本的に当事者しかアクセスすることができず、Twitterも内容にアクセスすることはできないとされていました。しかし、Linux開発者のマシュー・ガレット氏は、暗号化DM機能を「技術的にはエンドツーエンド暗号化だが、Twitterが比較的簡単に新しい暗号鍵を注入し、全員のメッセージを取得できるようなもの」であり、「最悪のエンドツーエンド暗号化」と表現しています。
それから約2年、今度はXに強化版DM機能の「XChat」が追加されることが発表されました。ただ、イーロン・マスク氏がXChatについて「ビットコイン風の暗号化機能を実装した」とアピールしたことについて、「そもそもビットコインは暗号化機能を使っていない」とコア開発者から突っ込みを受けています。
ガレット氏によれば、以前の暗号化DMの実装は、クライアントが鍵ペアを生成し公開鍵をTwitterに対してプッシュするもので、端末やブラウザごとのクライアントは独自の秘密鍵を持ち、メッセージはアカウントに関連付けられたすべての公開鍵に暗号化されていました。これは、新しい端末になると古いメッセージと復号できないことを意味し、端末の最大数やスケーリングの問題がありました。
XChatでは、Juiceboxプロトコルを使用して秘密鍵を保存しており、他の端末で秘密鍵を取り出すことが可能です。
Juicebox | An open-source encryption key recovery protocol
https://juicebox.xyz/
X社が秘密鍵を持っているというわけではなく、暗証番号を使って暗号化キーが生成されていて、保存されている秘密鍵のコピーは暗号化キーで暗号化されているので、暗証番号がわからなければ鍵の復号はできません。間違った暗証番号で何度も鍵を要求した場合、アクセスはロックされます。
ただ、これはJuiceboxのバックエンドが信頼できる場合の話だとガレット氏。バックエンドが信頼できない誰かにコントロールされていた場合、暗号化されている秘密鍵の入手が可能です。こうなると復号に必要なのは暗証番号のみ。Xは暗証番号を4ケタに固定したため、試行回数は最大1万回で済むそうです。
Juiceboxは複数のバックエンドにキーを分割し、それぞれ一部だけ呼び出してオリジナルを復元することで、防御策としています。GoogleやAppleは、バックアップされたキーの取得を難しくするような処理方法を定めています。Xの場合、3つのバックエンドを用意し、少なくとも2つのデータを呼び出すようにしているそうですが、使用されているバックエンドはいずれもx.comのもとにあるため、X管理下であると考えられます。加えて、キーの取得を難しくするような方法に関する文書はなく、「バックエンドが信頼に足るものであることを証明するものは何もない」とガレット氏は述べています。
なお、ガレット氏は「そもそもSingalにはこうした欠点はないので、Signalを使ってください」と結論づけています。
この記事のタイトルとURLをコピーする
ソース元はコチラ
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。