テレグラムは本当に安全なのかの考察

Home » コラム » テレグラムは本当に安全なのかの考察
コラム 12件のコメント

テレグラムは「安全で最速の完全無料なメッセンジャー」を謳っています。しかし、公式がそう言っているから、他のみんなが安全と言っているから、それだけでは本当に安全かどうかわかりません。

ここでは、テレグラムが本当に安全と言えるのかの考察をしてみたいと思います。

今回の記事はあくまで筆者の個人的な考察であり、テレグラムの安全性を保証するものではありません

テレグラムの暗号化の方法

考察を始めるに辺り、まずはテレグラムの暗号化について考えてみます。

まずテレグラムでは、「MTProtoモバイルプロトコル」と呼ばれる独自の暗号化プロトコルを採用しています。

私は暗号化技術に関しては素人なので詳しいことまで理解はできませんが、こちらでプロトコルのドキュメントが公開されています。

https://core.telegram.org/mtproto

その「MTProtoモバイルプロトコル」の中には、2パターンが備わっています。
一つは通常のチャットやグループの通信に使われる、サーバーとクライアント間での暗号化(以下、サーバークライアント暗号化)、
もう一つはシークレットチャットに使われる、クライアントとクライアント間での暗号化です。

後者はセキュアな通信方法として広く知られる「エンドツーエンド暗号化」と呼ばれる方法になります。

エンドツーエンド暗号化

まずはエンドツーエンド暗号化について考えてみます。

テレグラムでは「エンドツーエンド暗号化」は1対1の限定された相手とメーセージのやり取りをするシークレットチャットでのみ使われます。

エンドツーエンド暗号化は、他のセキュアと言われるメッセンジャーサービスでも広く採用されており、正しい運用(相手とのお互いの鍵が一致、鍵を他の誰かに漏らさないなど)をすれば、安全な通信が可能になります。

特にテレグラムのシークレットチャットでは、通常のチャットではできるシェアやスクリーンショットに対して制限をかけていて、情報が外部に漏れないように設計されています。

シークレットチャットの特徴

  • 1対1のやり取りに限定(グループチャットはなし)
  • サーバー上にデータを残さない(データはお互いの端末のみ)
  • スクリーンショットを制限
  • シェア機能の制限
  • 自分のアカウントの他の端末とも共有できない
  • メッセージの自動消去機能

単にエンドツーエンド暗号化のセキュリティに任せるだけでなく、人為的なうっかりや、家族など近しい人からも情報が漏れにくいように、安全性を徹底的に追求しています。

今回の考察「テレグラムは本当に安全なのか」について、シークレットチャット(エンドツーエンド暗号化)については安全といえるでしょう。

サーバークライアント暗号化

では、テレグラムのもう一つの暗号化プロトコル「サーバークライアント暗号化」についてはどうでしょうか。

サーバークライアント暗号化」では、サーバー上に認証できる鍵を置くことで、効率的に複数の人や端末とメッセージを同期することができるようにしています。サーバー上にデータが存在することになりますが、メッセージの内容やファイルなどのデータは暗号化されているので、そこから情報が漏れる可能性は低いと考えられます。

サーバークライアント暗号化も、エンドツーエンド暗号化と同じ方法で暗号化されているので、解読に対するセキュリティは同じレベルのものとなりますが、鍵となる情報がサーバーにあるので、その分はリスクといえるかもしれません。

なぜサーバークライアント暗号化が使われるのか

安全とされるエンドツーエンド暗号化がすでにあるのに、なぜサーバークライアント暗号化というもう一つの暗号化プロトコルを使っているのか、疑問に思う方もいるでしょう。

考えられるのは、安全性と使い勝手とのバランスについてです。

安全性と使い勝手について、わかりやすく家の鍵で例えてみましょう。

使い勝手優先
使い勝手を考えたら鍵をかけない方が出入りは簡単です。しかし、それだと誰でも入ることができてしまい、安全とはいえません。

安全性優先
逆に鍵を10個ほど付けたらどうでしょうか。安全かもしれませんが、鍵を持っていても出入りに時間がかかり面倒で気軽に出入りしようとは思えなくなります。

このように安全性と使い勝手は相反する場合が多く存在します。

テレグラムにはご存じの通り、グループやチャンネル、ボットやステッカーなど多くの楽しい機能があります。

エンドツーエンド暗号化は相手と1対1でのやり取り向きの技術なので、これらの機能を実現するのには向いていないと考えられます。

例えばグループチャットをエンドツーエンド暗号化で行う場合、全員と1対1の暗号化をする必要があり、鍵の数が膨大になってしまうという問題点があります。
少人数であれば影響は少ないかもしれませんが、人数が多くなればなるほど処理や通信量が増え、メッセージの到達速度にも影響してきます。
テレグラムでは最大20,000人のグループが作成できるので影響は無視できないでしょう。

また不特定多数が参加するコミュニティでは、全員が鍵を持つことは安全性の面から現実的ではありませんし、そもそも不特定多数に見られる情報なので暗号化する必要性が低いとも考えることができます。

だからといってセキュリティが必要ないかというわけではありませんので、そういった場合でも外部から情報を傍受されないように開発されたのが「サーバークライアント暗号化」です。使い勝手を損なわずに安全性をできる限り高めています。

つまり「サーバークライアント暗号化」は多数の相手とやり取りしやすいよう使い勝手を優先した暗号化で、「エンドツーエンド暗号化」は情報の共有や通信速度などで多少不便なところがあるが、安全性を優先した暗号化といえるでしょう。

シークレットチャット以外は暗号化されていないと誤解されることもあるようですが、それは間違いで全てのメッセージに対して暗号化はされています。

サーバークライアント暗号化は安全なのか

エンドツーエンド暗号化より安全性が低いということは、「サーバークライアント暗号化」は安全とは言えないのではないか、という疑問が起こると思います。

Johns Hopkins大学で暗号化について教鞭をとっている助教授 Matthew Green氏もテレグラムの安全性について指摘しています。

Matthew Green氏「彼ら(テレグラム開発者)のブログ投稿によれば、Telegramには暗号使用者ではないが実に優秀な数学者が複数名いて、独自のプロトコルを作成したようだ。きわめてクレイジーだがね。あれは暗号作成者が使うようなものじゃないよ。ぼくはそれが不完全かどうかも分からない。ただ、変なんだよ」
安全を売りにしているメッセージアプリ「Telegram」のセキュリティが、かなり怪しい | ギズモード・ジャパン

記事によるとテレグラムは、暗号化の専門家ではなく優秀な数学者によって暗号化プロトコルを構築しているので、通常のセオリー通りの暗号化ではなくブラックボックス化している、というようなことを言っています。

セキュリティが低いと断定しているわけではなく、ただ「変」ということらしいです。

しかし、テレグラムの開発者はセキュリティに絶対の自信を持っています。
専門家によると不透明な点があり、完全に安全と保証はできないと指摘をされていますが、反面、致命的な脆弱性は今のところ見つかっていません。

テレグラムで発見された脆弱性の事例

とはいっても実際には過去に数件、脆弱性を見つけられたことがあります。
その数少ない事例を見てみましょう。

クラッキングコンテスト

一つはテレグラムで開催されたクラッキングコンテストで見つかりました。

テレグラムは脆弱性を見つけたら30万ドルの賞金を出すというクラッキングコンテストを開催しました
$300,000 for Cracking Telegram Encryption

30万ドルといったら、1ドル100円とすると3000万円です。とんでもないですね。

コンテストでは一度だけ開発者によって脆弱性を発見されました。その時の賞金は10万ドルでしたが、賞金は支払われ、当然ながら今はその脆弱性は修正されています。

潜在的な弱点を発見した開発者は、10万ドルの報酬を得ています。
Crowdsourcing a More Secure Future

テレグラムは、こういった試みをすることで上手く安全性をアピールし、同時に保証もしています。

イランのハッキンググループによるハック

また、もう一つ他にもハッキングを受けたことがあります。
イランのハッキンググループが1500万人の電話番号と、12件のアカウントをハックしたというものです。

イランのハッカーは、テレグラムインスタントメッセージングサービスに関する十数件以上のアカウントを盗み、イランのユーザー1,500万人の電話番号を特定した。
Exclusive: Hackers accessed Telegram messaging accounts in Iran – researchers

この12件のアカウント乗っ取りに関しては、テレグラムを直接ハッキングしたものではなく、認証する際のSMSを傍受したものと言われています。
テレグラムだけでなく認証にSMSを使うサービスは等しく同じ驚異にさらされているといえます。

通常のチャットやグループチャットなどサーバークライアント暗号化を使用しているものは、高度な暗号化はされていますが、同じアカウントでメッセージを共有できるようにしているので、このようなアカウントの乗っ取りを受けた場合には、メッセージ内容を傍受される可能性があるので、完全に安全とは言えないということになります。

テレグラムを安全に使うには

安全と言われるテレグラムですが、前述の通りSMSのハッキングによるアカウントの乗っ取りなどが少数ですが発生しています。

こういった外部からの攻撃は以下の方法で情報の漏洩を防ぐことができます。

  • 二段階認証を掛ける
  • アクティブセッションのチェック
  • シークレットチャットを使う

多少漏れても困らないような日常会話程度であれば通常チャットで十分ですが、機密性の高いプライバシー情報をやり取りする際は、シークレットチャットを使うようにしましょう。

テレグラムの通信速度について

少し安全性の話とは脱線しますが、テレグラムの速度についてのこだわりにも触れておきましょう。

この記事の最初にも触れましたが、テレグラムは「最速」を謳っており、メッセージの到達速度にも強いこだわりがあります。
速さを実現することについて、一つ特徴的な点を取り上げると、暗号化プロトコルの一部にSHA-1をあえて採用していることが挙げられます。

SHA-1は既に脆弱性があると指摘されていますが、SHA-256など他の適切なアルゴリズムより高速であるという特徴があります。
SHA-1に関しては解読されても問題ない部分でのみ採用し、重要な領域では使われません。

Q: Why do you use SHA-1? SHA-1 is broken!(公式FAQより)

このように必要に応じてアルゴリズムを使い分け、速度などの使い勝手を安全性と同じくらい重要視しています。

安全性だけであればシグナルメッセンジャー

テレグラムは、グループやチャンネルなどコミュニティや情報発信も可能なツールです。
さらに、ボットやステッカーなどのアクセントとなる機能もあり、使い勝手も重視しています。

再び脱線しますが、チャットができれば十分という方には、テレグラム以上に安全といわれるメッセンジャーが存在します。

それは「シグナル(Signal)」というメッセンジャーアプリです。

シグナル
https://signal.org/

シグナルは安全なメッセージ機能(音声通話も含む)だけに特化して、セキュリティを最重視したメッセンジャーです。

サーバー上にもデータを残さず、メタデータ(メッセージの内容以外の情報[いつ、誰が、誰に、連絡を取ったかなど])もほとんど持たないので、運営会社も本当にわずかな情報しか管理していません。

その安全性に対する信頼感から、アメリカ上院議員間の連絡ツールとして公式に認可されたようです。

最も安全なメッセンジャーアプリ「Signal」がアメリカ上院議員間の連絡ツールとして公式に認可される – GIGAZINE
http://gigazine.net/news/20170527-senate-can-use-signal/

また、FBIの開示要求に対しても、データがないので出しようがないという回答です。

最も安全なチャットサービスSignal、FBIにスカスカの回答で対応
http://mokake.hatenablog.com/entry/2016/10/11/075140

いろいろと情報を集めてみると、セキュリティに関して今のところ一番信用できるメッセンジャーアプリはシグナルと言えそうです。
よってセキュリティを最優先する方には、より安全と言われているシグナルをお勧めします。

#### メタデータについて

メタデータについては、テレグラムを含めWhatsAppなど多くのサービスで履歴が残ります。メッセージや通話の内容は暗号化されていて見られることはないが、通話先などの情報はのこるので、知られたくない情報が知られるリスクは存在します。
例えば、元恋人と通話した、カウンセラーと定期的に通話しているなど、メッセージ内容は分からなくても、通話したという履歴が残ることで行動が推測されてしまう場合です。

これは、メッセンジャーアプリに限らず、通常の電話などで同じことがいえるので、よほど機密な情報を扱っている人でない限り、あまり気にする必要はないと思います。

最終的には信頼するかどうか

この流れで行くと、やはりテレグラムはそれほど安全ではないのではないか、使うのは危険なのではないかと思われる方もいるでしょう。

実際、テレグラムのシークレットチャット以外のメッセージは、データや鍵がクラウド上に存在するので、開発者が解除して内容を見ることはできるかもしれません。しかし、見ることができる、と実際に見られるかはまた別のことです。

先ほど例えに出した家の鍵で言うと、不動産会社や大家さんが合鍵を持っているからその家は危険なのかどうかという話と近いでしょう。

別の誰かが合鍵を持っているのであれば、潜在的なリスクはありえます。
そもそも鍵屋という商売があるので、家の鍵は大してセキュリティとしては高くありません。

それでも安心して暮らせるのは、そもそも狙われると思っていなかったり、盗まれても命や銀行に預けているお金が無事であればなんとかなると思っているからではないでしょうか。
失う確率と想定する被害、それと得られるもののバランスが取れていれば、気にしない方がいい場合もあります。

極端な話、世の中のすべての通信は傍受される可能性があります。
公には安全とうたっていても、技術的な問題であったり、あえてバックドアを仕込んで置いたりするかもしれません。

エンドツーエンド暗号化をしているとうたっていても、専門知識がない限りその通信が本当に暗号化されているかは分からないのです。

ソースコードを開示しているオープンソースでも同じことがいえます。
ソース上は問題がなくても、ビルドする際にバックドアを仕込んでいない保証はできません。

そのサービスを信頼するかどうか、最終的にはそれしかありません。
このあたりについては、以下のシグナルとの比較記事(英語)にも書かれています。

Telegram vs. Signal — Relativistic Ramblings
https://www.relativisticramblings.com/ramblings/telegram-vs-signal/

記事中にも触れていますが、真にセキュアを目指すなら、自分でクライアントを作るしかありません。

何を持ってサービスを信頼するかということになりますが、ある程度は企業の姿勢やこれまでの実績などで判断できても、最終的には宝くじ、株やFXと同じで、必ず安全に利益を享受するということは難しい(どんなに安全そうに見えても人為的ミスやハッキングの新技術などいくらでもリスクはある)ので、投げやりのようですが、運に任せて自分の好きなサービスを利用するしかない、というのが筆者の結論です。

テレグラムは、ロシアの法廷罰金がかかるにも関わらず、FSBにユーザーデータを開示することを拒否したりなど、たとえ法律を持ち出されてもメッセージ内容を漏らさない姿勢をみせている、という記事も見つかりました。

Russian court fines Telegram LLP for refusing to disclose user data to FSB | UNIAN
https://www.unian.info/world/2189999-russian-court-fines-telegram-llp-for-refusing-to-disclose-user-data-to-fsb.html

結局は、自分が使うサービスを信頼できるかどうかでしかないということになりますが、これまでの実績やテレグラムの堅牢さに対する姿勢などから、個人的には信用してもいいかなと思います。

この記事は、技術的な解析や取材をしているわけではなく、Web上の情報を総合して考察した筆者の主観と推測によるものが大きいので、あくまで参考としてご覧ください。



「テレグラムは本当に安全なのかの考察」に関するコメント