Author, Matthew Green Compiled by Block unicorn
について。著者のマシュー・グリーン(Matthew Green )は暗号学者で、ジョンズ・ホプキンス大学の教授です。ワイヤレスネットワーク、決済システム、デジタルコンテンツ保護プラットフォームで使用される暗号システムの設計と分析を行っています。研究では、ユーザーのプライバシーを保護するために暗号化を使用できるさまざまな方法を検証しています。
この投稿は、TelegramのCEOであるPavel Durov氏が、コンテンツの適切な規制を怠ったとしてフランス当局に逮捕されたという最近の心配なニュースに触発されたものです。具体的なことはよくわかりませんが、ソーシャルメディア企業を強制するために刑事告発を使うことは、かなり憂慮すべきエスカレーションであり、事態は見た目ほど単純ではなさそうです。
しかし、今日は逮捕について話したくはない。
私が話したいのは、特に報道の具体的な詳細についてです。逮捕に関するほとんどすべての報道が、テレグラムを「暗号アプリ」と呼んでおり、以下にその例をいくつか挙げます:
テレグラムは「暗号アプリ」である。
この種の発言は私をイライラさせます。間違っている。しかし、重要なあらゆるレベルにおいて、テレグラムとそれが実際にどのように機能するかについて、本質的に人々を誤解させている。この誤った情報は、ジャーナリストにとっても、Telegramのユーザー、特にそれによって深刻な被害を受ける可能性のあるユーザーにとっても良くない。
さて、詳細を説明しよう。
テレグラムは暗号化されているのかいないのか?
多くのシステムが何らかの方法で暗号化を使用していますが、最新のプライベートメッセージングサービスの文脈で暗号化について話すとき、この用語は通常、非常に特定の意味を持っています:ユーザーのメッセージの内容を保護するために、デフォルトでエンドツーエンドの暗号化を使用することを指します。業界標準の方法で使用される場合、この機能は、各メッセージが2つの通信当事者だけが知っている暗号化キーを使用して暗号化され、サービスオペレータがそれらのキーにアクセスできないことを保証します。
ユーザーの立場から言えば、「暗号化されたメッセージングアプリ」とは、会話を始めるたびに、あなたのメッセージは相手にしか読まれないことを意味します。メッセージングサービスの運営者があなたのメッセージの内容を見ようとしても、見えるのは役に立たない暗号化されたデータだけです。同じ保証は、プロバイダーのサーバーにハッキングする可能性のある人や、良くも悪くもプロバイダーに召喚状を提出する法執行機関にも適用されます。
Telegramが明らかにこの厳密な定義に当てはまらないのは、単純な理由が1つあります:デフォルトでエンドツーエンドの暗号化が有効になっていないからです。Telegramでエンドツーエンドの暗号化を使いたい場合は、プライベートな会話ごとに「暗号化チャット」と呼ばれるオプションのエンドツーエンド暗号化機能を手動で有効にする必要があります。この機能は、ほとんどの会話では明示的に有効になっておらず、1対1の会話にのみ適用され、2人以上のグループチャットでは決して適用されません。
奇妙な「アドオン」として、非熟練ユーザーにとってTelegramのエンドツーエンドの暗号化を有効にするのは、実はとても厄介です。
まず第一に、Telegramの暗号化を有効にするボタンは、メインのダイアログウィンドウにもホーム画面にも表示されません。iOSアプリでそれを見つけるには、少なくとも4回タップする必要があった-ユーザーのプロフィールページに移動するために1回、それを表示するオプションのある隠しメニューをポップアップさせるために1回、そして最後に暗号化を使用したいことを確認するために1回。暗号化チャット機能は、相手がたまたまオンラインである場合にのみ機能するからだ。
新しいTelegram iOSアプリで友人のマイケルと会話を始める。最新のTelegram iOSアプリで友人のマイケルと「暗号化チャット」を始めるには、通常のチャット画面からは直接見えない。
(1) マイケルのプロフィールページ(左)に移動し、
(2)「...」ボタンをタップする。...」ボタンをタップして、隠されたオプションを表示します(中央の画像)、
(3)「秘密のチャットを開始」を選択します、
(4)「秘密のチャットを開始してもよろしいですか?4) "Are you sure you want to continue "確認ダイアログボックスの "Confirm "をクリックします。テレグラムのシークレットチャット機能は、相手もオンラインでないと有効にならないからです。
全体的に、これは、単に新しいチャットウィンドウを開く、最新の業界標準の暗号化メッセージングアプリで新しい暗号化チャットを起動するのとはまったく異なるエクスペリエンスです。
これは些細なことのように思えるかもしれませんが、デフォルトのエンドツーエンドの暗号化とこのエクスペリエンスとの違いは重要なものです。実際には、これは1対1のTelegramの会話の大部分、そしてすべてのグループチャットが、おそらくTelegramのサーバーによって見られ、記録されることを意味する。サーバーは、ユーザー間で送信されたすべてのメッセージの内容を閲覧・記録できる。これはすべてのTelegramユーザーにとって問題かもしれないし、そうでないかもしれないが、特に安全で暗号化されていると宣伝すべきではないことは明らかだ。
(詳細や、Telegramの実際の暗号化プロトコルに対するさらなる批判に興味がある方は、以下でさらに詳しく説明します)。
デフォルトの暗号化は本当に重要なのか?
重要かもしれないし、重要でないかもしれない!この質問を2つの異なる視点から見ることができます。
1つの視点は、Telegramがデフォルトで暗号化されていないことは、多くの人にとってまったく問題ないということです。現実には、多くのユーザーは単に暗号化されたプライベートメッセンジャーとしてTelegramを使っていません。多くの人にとって、Telegramはプライベートメッセージングアプリというよりも、ソーシャルメディアネットワークなのです。
具体的には、Telegramにはこのユースケースに理想的な2つの人気機能がある。1つは、「チャンネル」を作成し、購読する機能で、チャンネルはそれぞれ、1人(または一握りの人)が何百万人もの読者にコンテンツをプッシュできるブロードキャスト・ネットワークとして機能する。何千人もの見知らぬ人に向けて放送する場合、チャットの秘密を守ることはそれほど重要ではない。
Telegramはまた、何千人ものユーザーを含む大規模な公開グループチャットもサポートしています。これらのグループは、一般に公開することも、招待制に設定することもできます。私自身は何千人もの人とグループチャットを共有しようと考えたことはないが、多くの人がこの機能を気に入っていると聞いている。Telegramのグループチャットの暗号化されていない性質は、このような大規模な公開グループではそれほど重要ではありません。
しかし、Telegramはこれらの機能に限定されておらず、追加するユーザーの多くは他のことも行っている。
「公共の広場」で大規模なグループチャットをすることを想像してみてほしい。このような環境では、おそらく強力なプライバシーを期待することはないでしょうから、エンドツーエンドの暗号化はあなたにとって重要ではありません。しかし、あなたと5人の友人がプライベートな会話をするために広場を離れたとしましょう。この会話は強力なプライバシー保護に値するだろうか?Telegramは、少なくともTelegramサーバーでのコンテンツ共有からあなたを守るデフォルトの暗号化では、そのような保護は提供しないからだ。
同様に、あなたがTelegramのソーシャルメディア機能を、コンテンツを生成するのではなく、主に消費するために使っているとしましょう。しかしある日、同じような理由でTelegramを使っている友人が、あなたがTelegramを使っていることを知り、あなたにプライベートメッセージを送ることにしました。さて、あなたはプライバシーについて心配しているだろうか?暗号化されたチャット」機能を手動でオンにしますか - たとえそれが隠しメニューから4回明示的にクリックする必要があり、どちらかがオフラインの場合にすぐに通信できなくなるとしても?
私は、ソーシャルメディア機能のためにTelegramに参加した人の多くが、プライベートチャットにも使うようになるのではないかと強く疑っています。Telegramはこのことを知っていて、「安全なメッセージングアプリ」として宣伝し、プラットフォームの暗号化機能について話す傾向があると思います。しかし実際には、Telegramの暗号化を実際に使っているユーザーはほとんどいないのではないかとも思う。多くのユーザーは、手動で暗号化をオンにする必要があることすら知らず、すでに使っていると思っているかもしれない。
これが次のポイントにつながる。
Telegramは暗号化をオンにするのが難しいことを知っていますが、それでもなお、安全なメッセージングアプリとして製品を宣伝し続けています
2016年以来(そしておそらくそれ以前も)、Telegramは暗号化をオンにしています。(そしておそらくもっと前から)、Telegramの暗号化は、この投稿で述べた多くの理由で激しく批判されてきました。実際、これらの批判の多くは、私を含む専門家が数年前にTwitterでPavel Durovと会話した際に述べたものだ。
デュロフ氏とのやりとりは時に鋭い指摘を受けることもあったが、それでも当時の私は、テレグラムには善意があるとほぼ確信していた。私は、Telegramはネットワークの拡大に忙しく、時間をかけてプラットフォームのエンド・ツー・エンド暗号化の品質と使い勝手を向上させるだろうと思っていた。例えば、暗号化をデフォルトにする、グループチャットをサポートする、オフラインのユーザーと暗号化されたチャットを開始できるようにする、などだ。私は、Telegramはリーダーではなくフォロワーかもしれないが、最終的には暗号化プロトコルの面でSignalやWhatsAppに匹敵する機能レベルに達するだろうと推測している。もちろん、Telegramが暗号化を完全に放棄し、ソーシャルメディア・プラットフォームになることに集中するという可能性もある。
実際に起こったことは、私にとってはさらに不可解だ。
Telegramのオーナーはエンドツーエンドの暗号化の使い勝手を改善することに失敗しており、その暗号化されたユーザーエクスペリエンスは2016年からほとんど変わっていない。同プラットフォームが使用する基礎的な暗号化アルゴリズムに多少のアップグレードはあったものの、2024年のシークレットチャットのユーザー体験は、8年前とほとんど見分けがつかない。にもかかわらず、Telegramのユーザーベースは同期間に7~9倍に成長している。
一方、TelegramのCEOであるPavel Durov氏は、Telegramを「安全なメッセージングアプリ」として積極的に宣伝し続けている。最近、彼はTelegramの個人チャンネルでSignalとWhatsAppを鋭く批判し、これらのシステムには米国政府によって設置されたバックドアがあり、Telegramの独立した暗号化プロトコルだけが真に信頼できると示唆した。
これが、どちらもデフォルトでエンドツーエンドの暗号化をサポートしている2つのプラットフォーム間の正当な技術的議論であれば、理解できるかもしれません。しかし、Telegramはこの議論において本当に足元にも及ばない。Telegramの組織が、デフォルトで暗号化されたメッセージングアプリから離れるようユーザーに奨励する一方で、ユーザーのメッセージ自体を広く暗号化する基本的な機能の実装を拒否しているのは、もはや愉快なことではない。実際、少し悪意があるように見え始めている。
他にどんな暗号化の詳細があるのか?
これは暗号のブログなので、退屈な暗号プロトコルの説明に少し時間を割かないと、ちょっと失礼になります。
このブログは暗号のブログなので、退屈な暗号プロトコルの説明に時間を割かなければ、私の怠慢になってしまう。
苦にならないように、これらの詳細を一段落で説明するので、興味のない方は遠慮なく読み飛ばしてほしい。
最新の暗号化仕様と思われるものによると、Telegramの秘密のチャット機能は、MTProto 2.0と呼ばれるカスタムプロトコルに基づいています。このシステムは2048ビットの有限フィールドDiffie-Hellman鍵交換を使用し、グループパラメーターはサーバーが選択する(と思う)。(Diffie-Hellman鍵交換は2人のユーザーがオンラインでやりとりする必要があるため、一方のユーザーがオフラインの場合、暗号チャットは設定できない。) MITM防御はエンドユーザーによって処理され、エンドユーザーは鍵指紋を比較しなければならない。サーバーが提供する奇妙なランダム・ノンス(乱数)の目的はよく分からないが*、過去にこの乱数によって悪意のあるサーバーに対して鍵交換が完全に安全でなくなったことがある(しかし、これはとっくに解決されている*)。生成された鍵は、認証された暗号化の最も驚くべき、非標準的なモードで使用されます。これはInfinite Glitch Extension (IGE)と呼ばれるモードで、AESをベースとし、認証を処理するためにSHA2を使用します。**
注:上記の段落で、私が「*」を付けた各ポイントは、専門的なセキュリティ監査の文脈で、専門家の暗号技術者が手を挙げて質問するポイントです。Telegramの暗号化について、いわば深みにはまるつもりはない。
テレグラムの秘密のチャットのプロトコルと実装が安全かどうかを推測しろと言われたら、おそらくそうだろうと答えるだろう。正直なところ、人々が実際に使わなければ、安全である意味がないので、それは本当に重要ではありません。
ブロック・ユニコーン注:簡単に言えば、Telegramの暗号化システムは、メッセージを保護するためにいくつかの洗練されたテクニックを使っているが、ユーザーエクスペリエンスという点では、セットアップや使い方がより複雑だ。技術的な詳細については、特に乱数の使用やキーの保護方法など、透明性が低いと感じるかもしれない。
最後に
エンドツーエンドの暗号化は、データ漏洩を防ぐために私たちが開発した最高のツールの1つですが、それがすべてではありません。メッセージングにおける最大のプライバシー懸念の1つは、膨大な量のメタデータです。基本的には、誰がサービスを使用しているか、誰と話しているか、いつ話しているかについてのデータです。
このデータは通常、エンドツーエンドの暗号化では保護されません。Telegramのチャンネルのようなブロードキャストのみのアプリでも、誰がブロードキャストを聞いているかという有用なメタデータがたくさんあります。従来の放送局が巨額の費用をかけてこのデータを収集していることからもわかるように、この情報は人々にとってそれ自体が価値のあるものだ。現時点では、この情報はおそらくすべてテレグラムのサーバーに存在し、収集したい人は誰でも利用できる。
テレグラムを特別に批判しているわけではなく、他のほとんどすべてのソーシャルメディアネットワークやプライベートメッセージングアプリにも同じ問題が存在するからだ。しかし、暗号化さえしていれば十分だと思わせないために、これらの問題に言及したのです。