見出し画像

エンドツーエンド暗号化(E2EE) - 最初の一目

皆さん、お元気ですか?
Vitalify AsiaでBPMとして働いているVy(ヴィー)です!
この度、当社のエンジニアさんが「エンドツーエンド暗号化(E2EE) - 最初の一目」というテーマで記事を書きましたので、日本語に翻訳して皆さんへ紹介したいと思います。<元記事(英語)>


背景

現代では、色々なチャットやビデオ通話アプリケーションがあります。このアプリケーションは私たちの生活の一部であり、なくてはならないものです。毎日、数十億のメッセージ、画像、ビデオ通話が行われています。そのデータは世界中に転送されています。このアプリケーションは、私たちと友人、クライアント、同僚がコミュニケーションを取るのを手助けするために第三者によって提供されました。そして、メッセージを許可なしに誰かが読めることを考えたことがありますか? はい、できます。これが新しいセキュリティ手法がリリースされた主な理由です。それがEnd-To-End encryption(E2EE)としても知られるものです。この記事では、E2EEに初めて目を向けてみましょう。

引用:Source: [1]

E2EEとは
End-to-end encryption (E2EE)は、データが1つの端末やシステムから別の端末やシステムに転送される際に第三者がデータにアクセスできない安全な通信方法です。つまり、あなたとパートナーだけがお互いのメッセージを読むことができます。したがって、通信システムプロバイダー、通信会社、インターネットプロバイダー、または悪意のある行為者を含む誰もが、会話に必要な暗号化キーにアクセスできません。メッセージは送信者によって暗号化されますが、第三者はそれらを復号化する手段を持っておらず、暗号化されたまま保存されます。受信者は暗号化されたデータを取得し、自分で復号化します。Facebook、WhatsApp、Zoom、Telegram、Signalなど、多くの人気のあるメッセージングサービスプロバイダーがエンドツーエンドの暗号化を使用しています。

引用:Source: [1]

E2EEはどのように動作しますか?

E2EEの全体的なメカニズムについては、上記の画像をご覧ください。会話参加者は、サーバーの支援を受けて、一対の鍵(公開鍵と秘密鍵)を作成します。参加者は自分の秘密鍵と他者の公開鍵を保存します。サーバーの責任は、参加者の公開鍵を保存し、会話に参加する他の人にそれを転送することです。会話が作成されると、参加者は公開鍵をサーバーを介して共有します。鍵を作成または保存するメカニズムは非常に複雑ですので、この記事では触れません。アルゴリズムについては、別の記事で詳しく説明します。サーバーは公開鍵のみを保存するため、メッセージを復号化することはできず、参加者のみがそれを行うことができます。下の画像は、Diffie-Hellman鍵交換アルゴリズムを使用して、お互いに鍵を作成および共有するメカニズムを説明しています。

引用:Source: [5]
  • アリスとボブは、サーバーから提供される2つの共通の素数(g&n)を使用することに同意します。

  • これらは、アリスとボブのプライベートキーを数学的な計算を使って組み合わせることで結合されます => a + g = ag および b + g = bg。

  • これらの公開鍵 ag と bg をサーバーを介して交換します。

  • それぞれのアリスとボブのプライベートキーと交換された鍵を組み合わせて共有秘密鍵を形成します => ag+b = agb および bg+a = bga 両端で。

  • 今、攻撃者は g、n、ag&bg を把握しているかもしれませんが、これらは公に共有されているため、a&bはアリスとボブにしか利用できないプライベートキーであるため、そうではありません。

  • 公開成分 ag と bg を分割することは、どんな侵入者にとっても非常に難しいです。

  • どのような攻撃者も ag+bg = abgg(余分なビット)を結合することができますが、これを理解するのは非常に難しいです。

E2EEはそんなに簡単ではありません。それは非常に複雑です。ワンタイムプリーキー、X3DH、ダブルラチェットメカニズムなど、多くの概念とアルゴリズムがあります...この導入記事では触れません。

エンドツーエンド暗号化の利点

  • 輸送中のセキュリティが向上:E2EEは最新の輸送中のセキュリティの1つです。セキュリティの領域では最先端の技術のように見えます。パーティショナーだけが自分のメッセージを読むことができます。プライベートキーが漏洩した場合、このキーで暗号化されたメッセージのみが読まれます。そして他のメッセージは読めません。

  • 保存中のセキュリティが向上:サーバーが暗号化されたデータのみを保存するため、サーバーがハッキングされたり漏洩した場合でも、ハッカーはこのデータを読むことができません。E2EEを使用すると、常にデータが非常に安全であることを確認できます。

  • コンプライアンス:インターネットは現在最も発展しています。プライバシーとセキュリティの要件も増えています。多くのユーザーや企業がこの問題に非常に集中しています。E2EEはこの要件に適応するための最良の方法です。

エンドツーエンド暗号化の欠点

  • 複雑さ:セキュリティが高まるほど複雑になります。E2EEは多くの複雑な概念やアルゴリズムを持つ新しい方法です。そのため、理解するのが非常に難しいです。

  • コスト:複雑さのため、E2EEシステムを開発するコストは非常に高くなります。それは費用だけではなく、時間と人的リソースも掛かります。

  • メタデータは可視のまま:E2EEはデータの内容のみを暗号化します。そのため、リクエストのメタデータは見えます。しかし、心配しないでください。他の方法を適用して保護することができます。

  • データ分析:多くの企業は利益を上げるためにユーザーのデータを基にしています。彼らはユーザーのデータの内容をマーケティングに活用したり、販売したりします。E2EEは彼らがこれを行うことを不可能にします。

E2EEの応用
E2EEは新しい技術ですが、多くのアプリケーションやさまざまな領域で使用されています。

  • 安全な通信:SignalなどのメッセージングアプリやTETRAなどのデジタルトランク無線標準は、ユーザー間の会話をプライベートに保つためにエンドツーエンド暗号化を使用しています。電子メールシステムもE2EEに対応できますが、Pretty Good Privacy(PGP)暗号化の設定が必要です。ユーザーはProtonMailやTutanotaのようなサービスを利用することもできますが、これらはPGPが組み込まれています。

  • パスワード管理:1Password、BitWarden、Dashlane、LastPassなどのパスワードマネージャーは、ユーザーのパスワードを保護するためにE2EEを使用しています。ただし、この場合、ユーザーが両端に存在し、鍵を持つ唯一の人物です。

  • データの保存:ストレージデバイスは通常、静止時のE2EEを提供します。ただし、サービスプロバイダーはクラウドストレージの設定で輸送中のE2EEも提供でき、クラウドサービスプロバイダーを含む誰からもユーザーのデータを保護します。

ご参考
[1] https://blog.etesync.com/end-to-end-encryption-what-it-is-and-why-it-is-needed/
[2] https://en.wikipedia.org/wiki/End-to-end_encryption
[3] https://www.techtarget.com/searchsecurity/definition/end-to-end-encryption-E2EE
[4] https://www.ibm.com/topics/end-to-end-encryption
[5] https://simple.wikipedia.org/wiki/Diffie-Hellman_key_exchange


【Vy(ヴィー)のコメント】
E2EEによって、チャットやビデオ通話のセキュリティが確保され、他者に知られることを心配する必要がなくなりました。
このようなセキュリティ手法が広く普及すると、安心感が高まりますね!さまざまな企業に適合させることができるため、興味のある方はお気軽にお問い合わせください!
https://www.vitalify.asia/contact

Vitalify Asia Co., Ltd Vy(ヴィー)


この記事が気に入ったらサポートをしてみませんか?