原作者: マシュー・グリーン
オリジナルコンピレーション:ブロックユニコーン
著者について、マシュー グリーンは暗号学者であり、ジョンズ ホプキンス大学の教授です。私は、ワイヤレス ネットワーク、支払いシステム、デジタル コンテンツ保護プラットフォームで使用される暗号化システムを設計および分析しています。私の研究では、ユーザーのプライバシーを保護するために暗号化テクノロジーを使用できるさまざまな方法を調査しています。
この記事は、Telegram CEO の Pavel Durov 氏がコンテンツを適切に取り締まらなかったとしてフランス当局に逮捕されたという最近の憂慮すべきニュースに触発されました。状況の詳細はわかりませんが、刑事告訴を利用してソーシャルメディア企業を強制することはかなり憂慮すべき事態のエスカレーションであり、物事は見かけほど単純ではありません。
しかし、今日はこの逮捕については話したくない。
私が話したいのは、この報道の具体的な詳細の 1 つです。具体的には、この逮捕に関するほぼすべてのニュース報道が Telegram を「暗号アプリ」と呼んでいます。いくつかの例を次に示します。
この発言は私を夢中にさせます。なぜなら、非常に限られた技術的な観点から見れば、それは間違いではないからです。しかし、あらゆる重要なレベルで、基本的に、テレグラムとそれが実際にどのように機能するかについて人々を誤解させます。このような誤った情報はジャーナリストとテレグラムユーザーの両方にとって有害であり、特にその結果として深刻な被害を受ける可能性のある人々に有害です。
それでは、詳細を見ていきましょう。
テレグラムは暗号化されていますか?
多くのシステムは何らかの方法で暗号化を使用しますが、最新のプライベート メッセージング サービスの文脈で暗号化について話すとき、この言葉は通常非常に特殊な意味を持ちます。つまり、ユーザーを保護するためのデフォルトのエンドツーエンド暗号化の使用を指します。メッセージの内容。この機能を業界標準の方法で使用すると、通信当事者のみが知っており、サービス オペレーターが使用できない暗号化キーを使用して各メッセージが暗号化されることが保証されます。
ユーザーの観点から見ると、「暗号化されたメッセージング アプリ」とは、会話を開始するたびに、チャットしている相手のみがメッセージを読むことができることを意味します。メッセージング サービスのオペレーターがメッセージの内容を見ようとしても、役に立たない暗号化データしか表示されません。良くも悪くも、プロバイダーのサーバーにハッキングする可能性のある人物、およびプロバイダーに召喚状を提出する法執行機関にも、同じ保証が適用されます。
Telegram がこのより厳密な定義に当てはまらないのは明らかです。理由は 1 つあります。それは、デフォルトではエンドツーエンドの暗号化が有効になっていないからです。 Telegram でエンドツーエンド暗号化を使用する場合は、プライベート会話ごとに「暗号化チャット」と呼ばれるオプションのエンドツーエンド暗号化機能を手動で有効にする必要があります。この機能はほとんどの会話では明示的に有効になっておらず、1 対 1 の会話でのみ機能し、3 人以上のグループ チャットでは決して機能しません。
奇妙な「追加機能」として、非専門ユーザーにとって Telegram のエンドツーエンド暗号化機能を有効にするのは実際には非常に面倒です。
まず、テレグラム暗号化を有効にするボタンがメイン ダイアログ ウィンドウまたはホーム画面に表示されません。 iOS アプリでそれを見つけるには、少なくとも 4 回クリックする必要がありました。1 回目はユーザーのプロフィール ページに移動し、1 回目はオプションを表示する非表示メニューをポップアップ表示し、最後に暗号化を使用するかどうかを確認しました。それでも、実際に暗号化された会話を開始することはできませんでした。なぜなら、「暗号化チャット」機能は、話している相手がたまたまオンラインにいる場合にのみ機能するからです。
最新の Telegram iOS アプリで友人の Michael と「暗号化チャット」を開始する このオプションは、通常のチャット インターフェイスからは直接表示されません。アクティブ化するには 4 回のクリックが必要です。
(1) マイケルのプロフィールページ(左の写真)に入り、
(2) 「…」ボタンをクリックすると、隠れたオプションセットが表示されます(中図)。
(3)「秘密チャットを開始する」を選択し、
(4) 「続行しますか?」の確認ダイアログボックスで「確認」をクリックします。その後も、 Telegram の秘密チャット機能は、相手もオンラインである場合にのみ有効にできるため、マイケルにメッセージを送信することはできませんでした。
全体として、これは、単に新しいチャット ウィンドウを開くだけの、最新の業界標準の暗号化メッセージング アプリで新しい暗号化チャットを開始するのとは非常に異なるエクスペリエンスです。
これは細かいことのように思えるかもしれませんが、デフォルトのエンドツーエンド暗号化とこのエクスペリエンスとの間には大きな違いがある可能性があります。実際には、これは、1 対 1 の Telegram の会話の大部分、およびすべてのグループ チャットが、Telegram のサーバーによって閲覧および記録される可能性があることを意味します。Telegram のサーバーは、ユーザー コンテンツ間で送信されるすべてのメッセージを表示および記録できます。これはすべての Telegram ユーザーにとって問題になる場合とそうでない場合がありますが、これが特に安全に暗号化されていると宣伝されるべきではないことは明らかです。
(詳細や、Telegram の実際の暗号化プロトコルに対するさらなる批判に興味がある場合は、以下でさらに詳しく説明します。)
デフォルトの暗号化は本当に重要ですか?
もしかしたらそれは重要かもしれないし、そうではないかもしれない!この問題は 2 つの異なる観点から見ることができます。
1 つの観点は、Telegram にはデフォルトの暗号化がないことが、多くの人にとってまったく問題ないということです。実際には、多くのユーザーは Telegram を暗号化されたプライベート メッセージング ツールとしては使用していません。多くの人にとって、Telegram はプライベート メッセージング アプリというよりはソーシャル メディア ネットワークです。
具体的には、Telegram には、このユースケースに最適な 2 つの人気のある機能があります。 1 つは、「チャンネル」を作成して購読する機能です。各チャンネルはブロードキャスト ネットワークのようなもので、1 人 (または数人) が何百万もの読者にコンテンツをプッシュできます。何千人もの見知らぬ人にメッセージをブロードキャストする場合、チャットの内容を非公開にすることはそれほど重要ではありません。
Telegram は、数千人のユーザーによる大規模な公開グループ チャットもサポートしています。これらのグループは一般に公開することも、招待者のみに設定することもできます。私個人としては、グループ チャットを何千人もの人々と共有することは決して考えていませんが、多くの人がこの機能を気に入っていると聞いています。このような大規模な公開グループでは、Telegram グループ チャットの暗号化されていない性質はそれほど重要ではありません。結局のところ、公共の場で話しているときに暗号化を気にする人がいるでしょうか?
しかし、Telegram はこれらの機能に限定されず、これらの機能を追加する多くのユーザーは他のことも行っています。
「公共の広場」で大規模なグループ チャットをしていると想像してください。この環境では、強力なプライバシーは期待できないため、エンドツーエンドの暗号化は重要ではありません。しかし、あなたと 5 人の友人が個人的な会話をするために広場を出たとします。この会話は強力なプライバシー保護に値しますか? Telegram は、少なくともデフォルトの暗号化ではこの種の保護を提供していないため、これは問題ではありません。Telegram サーバーによるコンテンツ共有からユーザーを保護することはできません。
同様に、Telegram のソーシャル メディア機能を、主にコンテンツを生成するのではなく、コンテンツを消費するために使用しているとします。しかしある日、同様の理由で Telegram を使用している友人が、あなたがそのプラットフォームにいることを発見し、あなたにプライベート メッセージを送信することにしました。あなたは今、プライバシーについて心配していますか? 「暗号化チャット」機能を手動でオンにしますか?これには、非表示のメニューを介して明示的に 4 回クリックする必要があり、どちらかがオフラインになった場合にすぐに通信できなくなるにもかかわらずです。
多くの人がソーシャル メディア機能を目的に Telegram に参加しているかもしれませんが、最終的にはプライベート チャットにも使用することになるのではないかと強く疑っています。 Telegram はこのことを知っており、人々がより快適に感じることができると知っているからこそ、自らを「安全なメッセージング アプリ」として宣伝し、プラットフォームの暗号化機能について語る傾向があるのだと思います。しかし実際には、これらのユーザーのうち実際に Telegram の暗号化機能を使用している人はほとんどいないのではないかとも思います。多くのユーザーは、暗号化を手動で有効にする必要があることさえ知らず、すでに暗号化を使用していると考えている可能性があります。
これが次のポイントにつながります。
Telegram は、暗号化を有効にするのが難しいことを承知していますが、安全なメッセージング アプリとして自社製品を販売し続けています。
2016 年以来 (おそらくそれ以前)、この記事で述べた多くの理由から、Telegram の暗号化機能は厳しく批判されてきました。実際、これらの批判の多くは、何年も前に私を含む専門家がTwitterでのパベル・ドゥロフとの会話の中で述べたものです。
ドゥロフとの時には辛辣なやりとりもあったが、当時私は依然としてテレグラムには善意があると信じていた。 Telegram はネットワークの拡大に忙しいと思います。時間が経つにつれて、プラットフォームのエンドツーエンド暗号化の品質と使いやすさが向上するでしょう。たとえば、これをデフォルトにし、グループ チャットをサポートし、暗号化されたチャットを開始できるようにすることです。オフラインユーザーが可能になります。 Telegram はリーダーではなくフォロワーであるかもしれないが、最終的には暗号化プロトコルに関して Signal や WhatsApp に匹敵する機能レベルに達するだろうと私は仮説を立てています。もちろん、別の可能性としては、Telegram が暗号化を完全に放棄し、ソーシャル メディア プラットフォームに重点を置く可能性があります。
実際に起こったことは私をさらに混乱させました。
Telegram の所有者はエンドツーエンド暗号化の使いやすさを改善しておらず、暗号化されたユーザー エクスペリエンスは 2016 年からほとんど変わっていません。プラットフォームで使用される基盤となる暗号化アルゴリズムがいくつかアップグレードされたにもかかわらず、2024 年の秘密チャットのユーザー エクスペリエンスは 8 年前とほぼ同じになるでしょう。それにもかかわらず、Telegram のユーザーベースは同じ期間に 7 ~ 9 倍に増加しました。
一方、Telegram CEO の Pavel Durov 氏は、Telegram を「安全なメッセージング アプリケーション」として積極的に宣伝し続けています。最近、彼は自身の Telegram チャンネルで Signal と WhatsApp を厳しく批判し、これらのシステムは米国政府によってバックドアで仕組まれており、Telegram の独立した暗号化プロトコルだけが真に信頼できると示唆しました。
これが、両方ともデフォルトでエンドツーエンド暗号化をサポートする 2 つのプラットフォーム間の正当な技術的な議論であれば、これは理解できるかもしれません。しかし、テレグラムはこの議論にまったく関与しません。 Telegram 組織が、デフォルトで暗号化するメッセージング アプリに近づかないようにユーザーに奨励しながら、ユーザー メッセージを広範囲に暗号化する基本機能の実装を拒否しているのは、もはや面白くありません。実際、それは少し悪意のあるものに見え始めています。
他にどのような暗号化の詳細がありますか?
これは暗号に関するブログなので、退屈な暗号プロトコルの説明に時間を費やさないと不注意になります。また、Telegram の暗号化の内部詳細に驚嘆する絶好の機会も逃してしまうでしょう。暗号を見るたびにほとんどの場合唖然としてしまいます。
苦痛を軽減するために、詳細を 1 つの段落で説明しますので、興味がない場合は読み飛ばしてください。
最新の暗号化仕様と思われるところによれば、Telegram の秘密チャット機能は MTProto 2.0 と呼ばれるカスタム プロトコルに基づいています。このシステムは 2048 ビット有限フィールド Diffie-Hellman 鍵交換を使用し、サーバーによって選択された (おそらく) グループ パラメーターを使用します。 (Diffie-Hellman キー交換では 2 人のユーザーがオンラインで対話する必要があるため、1 人のユーザーがオフラインの場合、暗号化されたチャットを設定できません。) MITM 保護はエンド ユーザーによって処理され、エンド ユーザーはキーのフィンガープリントを比較する必要があります。サーバーは、目的が完全に理解できない奇妙なランダムな非 CE (ランダム値) を提供します*。これらは、悪意のあるサーバーに対して鍵交換を完全に安全でなくするために使用されていました (しかし、この問題はずっと前に修正されています*)。生成されたキーは、最も驚くべき非標準の認証暗号化モード、つまり AES に基づいており、認証の処理に SHA 2 を使用する Infinite Obfuscation Extensions (IGE) と呼ばれるモードで使用されます。 **
注: 上の段落で、私が「*」でマークしたものはすべて、暗号化の専門家が手を挙げて、専門的なセキュリティ監査と同様の文脈で質問するポイントです。これについて立ち入るつもりはありませんが、Telegram の暗号化は非常に珍しいということだけは言っておきます。
Telegram のシークレット チャットのプロトコルと実装が安全かどうか推測するように求められたら、おそらく安全だと私は言います。正直に言うと、実際にユーザーが使用しなければ、どれほど安全であるかは重要ではないため、問題ではありません。
ユニコーンをブロックする注意: 簡単に言えば、Telegram の暗号化システムは情報を保護するためにいくつかの複雑なテクノロジーを使用していますが、ユーザー エクスペリエンスの観点からは、そのセットアップと使用は比較的複雑です。技術的な詳細の一部、特に乱数の使用とキーの保護方法は不透明に感じるかもしれません。
やっと
エンドツーエンドの暗号化は、データ侵害を防ぐために当社がこれまで開発した中で最も優れたツールの 1 つですが、これがすべてではありません。メッセージングにおける最大のプライバシー問題の 1 つは、膨大な量のメタデータです。基本的には、誰がサービスを使用しているか、誰と話しているのか、いつ話しているのかに関するデータです。
通常、このデータはエンドツーエンドの暗号化によって保護されません。 Telegram のチャンネルのようなブロードキャスト専用アプリでも、誰がブロードキャストを聞いているかに関する有用なメタデータがたくさんあります。従来の放送局がこのデータの収集に多額の費用を費やしていることからもわかるように、情報自体は人々にとって価値があります。現在、この情報はすべて Telegram のサーバー上に存在しており、情報を収集したい人は誰でも利用できます。
他のほぼすべてのソーシャルメディアネットワークやプライベートメッセージングアプリも同じ問題を抱えているため、私はテレグラムを特に批判しているわけではありません。ただし、言及しておく必要がありますが、これらの問題について言及したのは、暗号化さえあれば十分であると思われないようにするためです。