VPN による暗号化とデータ保護(詳細ver.)

データとプライバシーを保護するために、さまざまなタイプのVPNがどのように暗号化を使用しているかを探ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672851/af78d507-080c-8545-b81d-f9c5787b4364.png)
公開ウェブ上での暗号化は、個人データのセキュリティにとって大きな進歩でした。しかし、AIを活用したデータ追跡技術の台頭により、暗号化だけではユーザープライバシーの保護には不十分です。多くの個人情報が、暗号化されたトラフィック周辺のメタデータを収集・分析することで取得されています。これには、閲覧習慣、コミュニケーションパターン、欲望、さらには政治的傾向などが含まれます。

このため、慎重に選ばれたVirtual Private Network (VPN)は重要なプライバシーツールとなり得ます。プライバシー重視のVPNは、データに追加の暗号化層を追加するだけでなく、IPアドレスやトラフィックパターンを隠すことができます。プライバシーのためにVPNを選ぶ際には、基本的に異なるタイプのVPNが存在することを知っておくことが重要です（中には有害な場合もあります）。

市場の大多数のVPNは、プライベートで中央集権化されたサーバーを使用しています。データ侵害や大規模な監視の観点から見ると、これらのサービスは追加の暗号化があってもリスクが多すぎます。Torのようなプライバシーネットワークは、分散型ネットワークを通じて多層の暗号化を提供しますが、遅延や追跡脆弱性が目立ちます。現在では、遅延を減らしながら堅牢なプライバシー保護を提供する分散型VPN（dVPN）(https://qiita.com/pseudonym2/items/9d45bf63ddfd17edd0ae )が登場しています。

Nymは、これらのVPNオプションすべてで暗号化がどのように機能するかを説明し、データのセキュリティとプライバシーのレベルを理解できるようにします。

## 今日のインターネット暗号化
データ暗号化は、その起源が冷戦時代の米国政府の研究プロジェクトにあったことから大きく進化してきました。暗号戦争の間、政府と国家情報機関がそれを阻止しようとしましたが、2000年代初頭には暗号化が広範に普及し、公開インターネットリソースとなりました。現在、私たちのデータとオンライントラフィックのすべては、デフォルトで暗号化されている可能性があります。

# 暗号化とは何か？
暗号化とは、データを変換して、必要な暗号化および復号鍵を持つ者だけが読めるようにするプロセスです。暗号化は、クリアテキスト（cleartext）から暗号文（ciphertext）に、元のデータをコード化されたデータに変える数学的アルゴリズムを使用して行われます。このプロセスの詳細については、Nymの暗号化の仕組みに関する包括的なガイドをご覧ください(https://qiita.com/pseudonym2/items/b8ad772b77ed5aaa37be )。

現在、デバイス上での保存時やオンラインでの転送時にデータを暗号化するために使用されているアルゴリズムは多数あります（例えば、AESやRSA、そして現代的なECCやChaCha20-Poly1305など）。暗号化プロトコルは、大まかに対称（symmetric、暗号化と復号に同じ鍵を使用）、非対称（asymmetric、暗号化と復号に異なる鍵を使用）、またはそのハイブリッドの3つに分類されます。

暗号化の強度は暗号化キーの長さによって決まります。現代のほとんどのキーは128ビットまたは256ビットですが、先進的なセキュリティのためにさらに長いキーも使用されています。これらの暗号化基準はこれまでのところ解読不可能とされてきましたが、量子コンピューティングの台頭により、将来の基準は変わる可能性があります。

## エンドツーエンド暗号化とは何か？
エンドツーエンド暗号化とは、データがユーザーのデバイスから離れてウェブ上の目的地に到達するまでの間、暗号化されたままであることを意味します。データは、プロキシやVPNサーバーなどの中継地点を経由しても暗号化されたままです。

## デフォルトのウェブ暗号化
現在、ほとんどのインターネットトラフィックは、HTTPSおよびSSL/TLSプロトコルを通じてデフォルトでエンドツーエンド暗号化されています。これらは、あなたのウェブブラウザとアクセスしているウェブサービスの間で自動的に確立されます。これにより、ウェブアドレスの先頭にHTTPS:// が表示されるか、アドレスの隣にロックアイコンなどが表示されます。HTTPSは1990年代初頭に銀行取引を保護するために開発され、後に成長するeリテール市場に拡大されました。現在では、公開ウェブの基盤となっています。

ウェブサービスに有効なSSL/TLS証明書がない場合、ブラウザが接続を拒否しない限り、データはエンドツーエンドで暗号化されずに送信される可能性があります。VPNを使用している場合でも、データはVPNサーバーまでの最初の段階でのみ暗号化され、その後の接続先との間では暗号化されずに残される可能性があります。

## VPN暗号化
グローバルに広がるプライバシーの脅威を考慮すると、VPNの使用は強く推奨されます。VPNは、デフォルトのHTTPS接続に独自の暗号化層を追加するだけでなく、IPアドレスやトラフィックの経路を隠すことができます。これにより、トラフィック分析、デジタルプロファイリング、大規模監視の試みが困難になります。さらに、本格的なdVPNは、メタデータ記録やVPNクライアントデータの侵害を防ぎ、トラフィック分析や監視を阻止することもできます。

# VPNはどのように機能するのか？
VPNは、インターネットトラフィック全体のプロキシネットワークの一種です。VPNのサーバーは、あなたと公開ウェブの間の仲介者として機能します。したがって、ウェブサービスに接続すると、トラフィックや接続があなた自身のIPアドレスではなく、VPNの公開IPアドレスから来ているように見えます。これは、日常的なオンライン活動がどれだけ追跡され(https://qiita.com/pseudonym2/items/9c892eac2ecbdb535168 )、個人データが悪用されているかを考えると、重要なプライバシーツールです。しかし、これはVPNの機能の一部に過ぎません。VPNはまた、データの周りに暗号化を追加したり、複数の層にしたりすることもできます。

## VPNトンネリング
データ暗号化はVPNサービスの中核要素です。信頼できるVPNは、データがデバイスを離れる前にまず暗号化し、デバイスとVPNサーバー間の安全なVPNトンネルを作成する必要があります(https://qiita.com/pseudonym2/items/474659fdac0a0531e589 )。これにより、VPNに向かう途中でデータを傍受してアクセスしようとする試みが無駄になります。

VPNは主にルーティングネットワークです。公開ウェブにアクセスする前にトラフィックをルーティングするサーバーを提供します。暗号化を追加するために、VPNは特別なプロトコルを使用して、ネットワーク内で暗号化されたユーザートラフィックを促進します。

## VPN用の暗号化通信プロトコル
複数のパーティ間でオンラインデータ転送を暗号化することは、多段階のプロセスです。この作業は、通常WireGuardやOpenVPNのようなVPNトラフィック専用の暗号化通信プロトコルによって行われます。これらのプロトコルは、暗号化通信とルーティングに必要なすべての手順（安全な鍵交換、認証済み証明書、暗号化データ転送）を担当します。NymのWireGuardとOpenVPNの比較を参照してください(https://qiita.com/pseudonym2/items/0c9bfab3f0ded35f0cfc )。

## 従来のVPNの暗号化
「VPN」というだけでは、プライバシー保護の指標としては不十分です。VPNサービスプロバイダーのアーキテクチャがすべてを左右します。使用するサーバーの数、それを管理する者、保存されるデータ、その保存場所、ネットワークの中央集権度合いなどです。

## 従来のVPNとは何か？
市場に出回っているほとんどのVPNプロバイダーは、単一サーバー（または1ホップ）インフラストラクチャです。データは1つの会社のサーバーを経由して公開ウェブにアクセスします。これらのサーバーは物理的およびアーキテクチャ的なリソースです：それらを所有し運営するか、第三者から借りています。これは、それらを管理し、通過するトラフィックを見て記録する可能性があることを意味します。会社の信頼性に関係なく、中央集権化されたサーバーはプライバシーのリスクです(https://qiita.com/pseudonym2/items/8bec88e3983e94c55b8f )。

それでも、これらの主流のVPNの間には重要な違いがあります。一部のプロバイダーはユーザープライバシーに専念していると主張しています：「ノーログ」ポリシーを持っている場合や、トラフィックデータをディスクに書き込まずにリブート時にすべてのトラフィックデータをクリアするRAMサーバーを使用する場合があります。VPNサービスプロバイダーが「ゼロログ」ポリシーを守ると主張していても、単一サーバーは運用上の目的でユーザートラフィックのメタデータ記録の潜在的なリポジトリです。データ侵害やハッキングの蔓延を考えると、これはクライアント側に不必要な信頼と不確実性を要求します。

無料のVPNサービスを提供する他のプロバイダーは、プライバシー重視とは正反対です：単一サーバーを通じて、第三者のデータブローカーに販売するためにユーザートラフィック記録を意図的に保持します。クライアント収益がない場合、ユーザーデータが収益源です。ユーザーデータを全く暗号化しないリスクもあります。

### 単一サーバーVPNの暗号化
単一サーバーVPNでは、データはVPN自体によって1回だけ暗号化されます。デバイスとサーバー間のトンネル内でのみ暗号化されます。データ転送に使用される暗号化の種類は、サービスプロバイダーの暗号化プロトコルに依存します。これは、主に対称SSL/TLS暗号化を使用するOpenVPNである可能性が高いです。

データがVPNサーバーに到達すると、VPNによって提供されるこの暗号化層は削除され、公開ウェブの最終目的地に送信されます。単一サーバーのVPNだけでなく、すべてのVPNはエンドツーエンドの暗号化を提供しません。これは、ウェブの目的地がデータをVPNのトンネルに入る前にすでに暗号化している場合に限ります。暗号化されていない場合、トラフィックとデータは公開ウェブとVPNサーバー間でクリアテキストで送信されます。

### dVPNの暗号化
従来のVPNの中央集権化された標的にされやすいサーバーによるプライバシーリスクを考慮して、近年新しい分散型モデルのVPNサービスが開発されました(https://qiita.com/pseudonym2/items/9d45bf63ddfd17edd0ae) 。

# dVPNとは何か？
真に分散型であるためには、dVPNは（1）デフォルトでマルチホップであり、（2）ユーザートラフィックデータの中央集権化されたログを保持することができない設計である必要があります。これに対して、単一サーバーVPNは、完全なトラフィックログを保持する能力があります（例：無料のVPN）か、運用メタデータログ（プライバシー重視のVPN）を保持する能力があります。

真のdVPNでは、ユーザートラフィックは独立して運営され、理想的にはリンク不可能な複数のサーバーを経由してルーティングされます。ユーザートラフィックの完全な経路にアクセスできる中央集権の権限はありません。単一のオペレーターまたはノードは、サーバーを通過するトラフィックのログを保持できるかもしれませんが、これは全経路の一部に過ぎません。

したがって、VPNプロバイダーが「高度なプライバシー」のためにダブルVPN機能を提供していると主張する場合、これは真に分散型であるとは限りません。1社が複数のサーバーを制御しているからです。同様に、個人が多くのグローバルに分散したサーバーをマルチホップルーティングのために設定しても、そのオペレーターがすべてのサーバーを制御している場合、それは真に分散型ではありません。VPNを使用している間に追跡される可能性は、集中化されたデータ記録のために依然として存在します。

## 一般的なdVPNの暗号化
マルチホップサービスとして、dVPNは従来のVPNの1回の暗号化ステップではなく、複数の暗号化段階を提供する必要があります。NymVPNの2ホップdVPNモードでは、以下の暗号化段階が含まれます：

1.データはユーザーのデバイス上で2回暗号化され、それぞれがクリアテキストデータの異なる層を形成します
2.安全な鍵がネットワーク回線上のノード（またはサーバー）1および2に共有されます
3.多層の暗号化されたパッケージがdVPNノード1にトンネルされます
4.dVPNノード1は、それが持つ鍵で暗号化層を削除し、次の受信者としてノード2を明らかにします
5.転送後、ノード2が最外層の暗号化層を解除し、最終目的地にパッケージを送信します *

・この最終段階の旅では、エンドツーエンドのSSL/TLS暗号化の層が残っている必要があります。dVPNの出口ノード（ノード2）がクリアテキストデータにアクセスできないようにするためです。

マルチホップルーティングでは、遅延や接続の問題がユーザーにとって実際の問題となる可能性があります。これに対処するために、NymVPNの2ホップdVPNモードは、利用可能な最速のVPN暗号化ルーティングプロトコルであるWireGuardを使用して動作します。

## オニオン暗号化
Torネットワークは技術的にはVPNではありませんが、その分散型ルーティングと暗号化手順はdVPNに非常に類似しています。そのため、多くのユーザーは同様のプライバシーと匿名性のニーズのためにTorに頼ります。

Torとは何か？
Torは、Torブラウザからのみアクセス可能な分散型の3ホップネットワークです。ネットワークは、クライアントのトラフィックをルーティングして匿名化するためにサーバーを提供するボランティアによって運営されています。そのオニオン暗号化プロトコルにより、ユーザートラフィックは、entry guard、middle relay、最終的なexit nodeの3つのノードを経由してルーティングされ、ウェブ上の目的地に送信されます。VPNと同様に、TorはIPアドレスの難読化を提供し、トラフィック分析を複雑にします。しかし、ネットワーク特有の攻撃のターゲットにもなっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3672851/af3e1248-60e5-064a-1f8b-4f514318430a.png)


# Torのオニオン暗号化
Torは、“onion” encryptionと呼ばれる多層の暗号化プロトコルを採用しています。Torブラウザはまず、データがルーティングされる3つのサーバー（またはノード）の回線を確立し、個別に鍵を安全に交換します。その後、データは3つの層に暗号化され、各層は回線内のそれぞれのノードが持つ復号鍵に対応します。

データパケットがノードに到着すると、サーバーはその固有の鍵を使用して最外層の暗号化を解除し、次にデータパッケージを送信する場所を明らかにします。ルーティング手順は、出口ノードがオニオン暗号化の最終層を解除し、（理想的には）HTTPS暗号化されたパケットとウェブ上の最終目的地を明らかにするまで続きます。SSL/TLS暗号化が施されている場合、Torを通過する際にユーザートラフィックはエンドツーエンドで暗号化されます。

# ミックスネット暗号化
Nymの新しいmixnet（mix networkの略）は、分散型ネットワークとルーティングプロトコルです。Torのように、データ転送中のユーザーデータを保護するために多層の暗号化を使用します。Nymミックスネットは、品質の高いネットワークサービスを維持するためにインセンティブを与えられた独立したプロバイダーとオペレーターで構成されています。真のdVPNのように、Nymミックスネットには中央のネットワーク権限や故障点がありません。

Nymミックスネットは、次のような強力なプライバシーメカニズムを提供します：

- マルチホップ（Multi-hops）：3つのmix nodeとネットワークへのアクセスを守る2つのgatewayを使用して、5ホップのルーティング手順を使用します。Torとは異なり、セッション通信全体のために長期的な回線を使用するのではなく、ユーザーがミックスネットを通過するたびに、新しい3つのミックスノードのセットがランダムに選ばれます。このアーキテクチャは、トラフィック分析、プロファイリング、監視に対して提供できるプライバシーの面で、現在比類のないものです。

- ミキシング（Mixing）：mixnetの名前は、ユーザーデータが同様のサイズの暗号化パケットに分割され、ミックスネットを通過する他のトラフィックと混ぜ合わされる方法に由来します。無関係なデータパケットを混ぜることで、外部からの視点で何が何であるかを解読し追跡することが非常に困難になります。

- タイミングの難読化（Timing obfuscation）：ミックスノードは、パケットの送信を遅延させることで、送信と復号の時間に基づく高度なトラフィック分析をより困難にします。

- カバートラフィック（Cover traffic）：データ追跡の試みを阻止するために、ミックスネットはネットワーク循環にダミーデータパケットを導入し、クライアント通信のパターンを難読化し、個別のプロファイリングを防ぎます。この技術は、群衆の中に隠れるようなものです。

# Nym mixnetの暗号化
Nymミックスネットは、ミックスパケットルーティングを処理するために特別に設計されたSphinx暗号化プロトコルによって動作します。Sphinxは、ユーザーデータを、ペイロード,payload（クリアテキストデータ）とヘッダー,header（公開鍵暗号化キーを介してアクセス可能なグループ要素を含むすべての必要なルーティング情報）で構成される4層のパッケージに暗号化します。

Sphinxが特に効果的なのは、ノードの復号手順です。ノードがその公開鍵をパケットのヘッダーに含まれるグループ要素と組み合わせると、共有鍵を計算できます（Diffie-Hellman鍵交換による）。これにより、最初のノードが暗号化の層を解除し、パケットを次のホップに転送できるようになります。この暗号化されたルーティング手順は、データの中核を保護し、途中の悪意のあるノードがデータ、IPアドレス、またはトラフィックの完全な経路を知ることができないようにします。ノードはルーティングチェーン内の前後のノードのみを知っており、したがって、ノードはあなたのIPとオンライン活動を関連付けることができません。

Sphinxはまた、共有鍵の生成における計算時間を短縮し、通常は遅くなるマルチホップルーティングプロセスを迅速にします。その他の補完的なセキュリティ対策とともに、これによりトラフィック分析は非常に困難になります。ネットワーク全体の視点を持つ仮想の敵に対しても同様です。

# 結論
VPNの暗号化は、ほとんどのウェブサービスが提供するHTTPS暗号化に加えた過剰なステップではありません。トラフィックの経路を難読化し、IPアドレスをマスクするために不可欠です。したがって、真のオンライン匿名性(online anonymity)を確保するためには、プライバシーに最適なVPNを選ぶ必要があります。集中型VPNサービスが引き起こすリスクを考えると、全員にとって適切な選択はdVPNです。

ただし、dVPNには問題もあります。その1つが遅延です。ルートにホップが多いほど遅くなり、接続の問題が発生しやすくなります。これを考慮して、NymVPNはユーザーがオンラインで必要な保護のレベル、タイミング、およびトラフィックの種類に応じて選択できるように設計されています：

利用可能な最速の暗号化プロトコルであるWireGuardを使用した2ホップdVPNモードを選択できます

高度なトラフィック（プライベートメールアプリや暗号取引など）に対する比類のない5ホップミックスネットモードを選択できます
＊NymVPNは現在βテスト段階にあります。

# 参考リンク

- [Nym公式サイト](https://nymtech.net/)
- [Nymのミキシングネットワーク - Wikipedia](https://ja.wikipedia.org/wiki/Nymミックスネット)
- [Nymホワイトペーパー](https://nymtech.net/nym-whitepaper.pdf)
- [分散型VPN と中央集権型VPN:違いの全て](https://note.com/koko_crypto/n/n71fe7e92b68a)
- [ミックスネットとは何か？ VPNによる比類なきオンラインプライバシー](https://note.com/koko_crypto/n/n302e7516f691?magazine_key=m0129d65e3526)
- [Sphinx暗号-Nymを支える匿名データフォーマット](https://qiita.com/pseudonym2/items/107cf005e9cab0b165b6)
- [ココナッツ認証（Coconut Credentials）とは？- プライバシーを保護するゼロ知識証明技術](https://qiita.com/pseudonym2/items/b2739ae32f4fb29de0b6)

# コミュニティ

- [Nym日本コミュニティ - Telegram](https://t.me/nymjapanese)
- [Nym日本コミュニティ - Discord](https://discord.com/invite/nym)
- [Nym日本コミュニティ - LINEオープンチャット](https://line.me/ti/g2/0YGYYq4EoQZ8fL5FYQmqU4O9SRuE_a6YX19GtA?utm_source=invitation&utm_medium=link_copy&utm_campaign=default)

- [Nymプロジェクト日本語アカウント - X](https://x.com/nymproject_jp)