エンドツーエンド暗号化(E2EE)は、オンラインでの安全性をより高めるための優れた通信方式です。私達がインターネットを利用する際に転送するデータを暗号化することで、送信者と受信者だけがメッセージを解読して読むことができるようになるので、途中で第三者に見られたり、漏えいしたりする心配がなくなります。今回は、エンドツーエンド暗号化がデータを保護する仕組みやメリットなどを解説します。エンドツーエンド暗号化とは?エンドツーエンド(E2E)とは、「端から端まで(end to end)」を意味する言葉です。このE2Eは、通信・ネットワーク分野においては通信する二者を結ぶ経路全体、もしくはその両端を示しており、主にE2E(イーツーイー)と呼ばれています。そして、エンドツーエンドを使ったエンドツーエンド暗号化とは、送信元から受信先へ送信されるメッセージを暗号化する方法で、英語では「end to end encryption」と表記し、略して「E2EE」とも呼ばれています。このE2E暗号化の特徴は、送信元から送信されたデータが暗号化され、受信先で復号化することで内容を見ることができるという点です。このエンドツーエンド暗号化(end-to-end encryption)によって、メッセージは中間サーバーを経由する間は暗号化されたままとなっているので、ISP(インターネットサービスプロバイダー)をはじめ、いかなる第三者もアクセスすることができません。エンドツーエンド暗号化の仕組み以下では、エンドツーエンド暗号化の仕組みについて、具体的な流れを順を追って紹介します。暗号鍵を生成する:エンドツーエンド暗号化を使用するシステムでは、まず公開鍵と秘密鍵という一対の暗号鍵を生成します。公開鍵はメッセージサービスを提供している会社を含む誰でも見ることができますが、秘密鍵は送信者のみが知っています。メッセージを暗号化する:送信者がメッセージを送信する際にE2EEアルゴリズムによって暗号化されます。これによって、送信中は外部からメッセージの内容が見られる心配がなくなります。メッセージを送信する:メッセージを受信者へ送信中、暗号化されているので第三者が傍受しようとしても解読することができません。復号化:受信者が暗号化されたメッセージを受け取った後、受信者が公開鍵を利用して暗号化されたメッセージを復号化(解読)することで判読できるようになります。一般的に暗号化・復号化するための鍵はユーザーの各デバイスに保存されます。メッセージを送信してから受信するまで間は自動的にE2EEが適用されて暗号化されるので安全性が確保されます。 {SHORTCODES.blogRelatedArticles} エンドツーエンド暗号化はどこで使用されているのかこちらではエンドツーエンド暗号化がどのようなもので使用されているのかについて解説します。現在、インスタントメッセージを送受信するアプリの多くがE2EEを導入しています。WhatsAppとシグナルのアプリは、デフォルトで全てのメッセージングと通話にE2EEを使用しています。また、TelegramやFacebook Messenger、Instagramは、E2EEを特定の機能として提供しており、必要に応じてユーザー自身が手動でオンにすることができます。また、E2EEは、iPhoneでも利用されています。E2EEによって暗号化されたデータは、自分自身のApple IDでサインインしているデバイスでのみ復号化可能なので、当然Appleや第三者はデータにアクセスすることができません。たとえ、クラウドでデータ侵害が起きた場合もデータの安全性は保たれます。そして、新しいデバイスを利用する際に既に他のデバイスで利用してるApple IDを設定する場合には、エンドツーエンドの暗号化データをリセットすることが要求されます。このエンドツーエンドで暗号化されたデータをリセットする必要があるのは、デバイスが第三者に盗まれても、ログインされずにデータを盗まれないようにするためなので、万が一に備えてiCloudにバックアップしておくことをお勧めします。エンドツーエンド暗号化のメリット以下では、エンドツーエンド暗号化を使用する上でのメリットを紹介します。データ漏えいを防ぐ:E2EEを使用するとメッセージの送信者と受信者だけが転送中のデータを復号化する方法を知っているので、復号鍵を持っていないサイバー犯罪者達は読み取ることはできず、仮にメッセージが第三者に傍受された場合でも解読される心配がありません。パスワード管理:多くのパスワードマネージャーではE2EEを使用しており、ユーザーのパスワードを保護しています。パスワードは復号鍵を持っているユーザーしか閲覧できないので安心です。保存されたデータへのアクセスを制御:E2EEを使用することでユーザーがオンライン上のストレージやクラウドなどに保存したデータへのアクセスを制御し、安全に管理することができます。エンドツーエンド暗号化のデメリットここからは、エンドツーエンド暗号化を利用することデメリットを紹介します。暗号化されたデータにアクセスできない:暗号化鍵が保存されているデバイスの破損や紛失、または暗号鍵紛失した場合は、暗号化されたデータへのアクセスも失ってしまいます。複雑な設定:ユーザー自身が暗号鍵を管理したり、E2EEの設定を手動でする場合、非常に難しい可能性があります。遅延の可能性:E2EEによって暗号化されたメッセージは、暗号化と復号化するのに時間を要するため、暗号化されていないデータよりも送信に時間がかかる場合があります。エンドポイントの脆弱性:E2EEは、転送中のデータのみを保護するので、メッセージが受信者に届いた後にマルウェアやハッカーなどがデバイスに侵入し、復号化された情報が盗まれてしまう可能性があります。メタデータ悪用の可能性:E2EEは、メッセージ内で送信されるデータのみを暗号化し、送信者と受信者のIPアドレスを含むメタデータは暗号化されないので、ハッカーはメタデータをもとにユーザーの行動パターンを知ることができ、悪用される可能性があります。中間者攻撃(Man in the Middle Attack):ハッカーが2つのエンドポイントの間に入り込み、受信者になりすます中間者攻撃(MITM)を受けてしまうと簡単に暗号鍵が盗まれてしまい、E2EEの持つ暗号化機能は意味がなくなります。バックドアの利用:サイバー犯罪者はサイバー攻撃によって侵入した際に設置したバックドアを利用することで、システムを不正操作したり、暗号化自体を迂回されてしまう可能性があります。ランサムウエア「WannaCry」:身代金要求型ウイルスであるランサムウェア「WannaCry(ワナクライ)」に感染してしまった場合、デバイス内にあるファイルやデータは暗号化されてしまって復旧できないので、たとえE2EEを利用していても何もできなくなります。E2EEと他の暗号化方式との比較最後にエンドツーエンド暗号化とその他の暗号化する方法との違いを紹介します。DARE(Data at rest Encryption):E2EEは送信中のデータを暗号化しますが、DAREは様々なデバイスやサーバーに保存されたデータを暗号化するので、デバイスが盗まれたり、サーバーがハッキングされた場合でも、誰も保存された情報にアクセスすることができません。リンク暗号化:E2EEは送信者側でデータを暗号化し、受信先でのみ復号化できますが、リンク暗号化の場合、出発点で一度暗号化されたデータは、各接続先で復号化・再暗号化されます。これは通常、衛星や電気通信リンクのような特定のデータ経路に使用されています。TLS(Transport layer Security):E2EEは、自分が承認した受信者のみが送信したメッセージを読めるのに対して、TLSは、ウェブブラウザとウェブページ間の通信を暗号化し、メッセージは中間ポイントサーバーに到達すると復号化されるので、サーバーを管理するサービスプロバイダーはメッセージの内容を読むことができてしまいます。P2PE(ポイントツーポイント暗号化):E2EEは、データの暗号化と復号化を一度のみ実行しますが、P2PEはエンドポイントで復号化されたデータをもう一度暗号化し、別のエンドポイントに送信可能です。I2P(The Invisible Internet Project):E2EEは送信中のメッセージのみを暗号化しますが、I2Pはオンライン上で送受信される全てのデータを暗号化して分散させます。VPN(仮想プライベートネットワーク):一見、E2EEとVPNは似ていますが、それぞれ異なる目的で使用されます。E2EEは、2つの当事者がオンラインで通信する際、その当事者のみが共有データにアクセス可能ですが、VPNの場合はデバイスとVPNサーバー間の転送中のデータを保護します。このようにE2EEがエンドポイント間で送信されるメッセージだけを暗号化することに重点を置いているのに対し、VPNは最先端の暗号化を使用してより広範囲を網羅し、ユーザーのインターネット通信とメタデータを全て暗号化し、データが移動する際に安全なトンネルを提供しています。