VPNプロトコルとは、VPNアプリがVPNサーバーへの接続をセットアップし、保護し、管理するために使用する一連の指示のことです。OpenVPNは、既知の弱点がなく、特定のオンライン検閲手法を回避するのに効果的なVPNプロトコルです。また、OpenVPNは非常に幅広いプラットフォームやデバイスでサポートされているという利点もあります。
OpenVPNのクローズドソース実装も存在しますが、無料のオープンソースであるCommunity Editionもあります。
この記事では、OpenVPNの仕組み、Proton VPNコミュニティの安全を維持する方法、および他のVPNプロトコルとの比較について詳しく説明します。この記事は、すでにVPNの仕組みを理解している場合に最も役立ちます。
- OpenVPNはどのように安全を維持するのですか?
- Open VPNのチャンネル
- OpenVPNはVPN検閲を回避できますか?
- OpenVPNは監査を受けていますか?
- OpenVPN対WireGuard®
2001年に最初にリリースされたOpenVPNは、速度、パフォーマンス、効率の面で古さが見え始めています。しかし、依然として安全であると広くみなされており、その認識は2013年にNSAの内部告発者エドワード・スノーデンによって公開された文書によって強化されました。
これらは、事前共有鍵を使用しない限り(新しいウィンドウ)、OpenVPNが当時NSAが解読できなかった唯一の一般的に使用されているVPNプロトコルであったことを強く示唆していました。WireGuard®は、より新しく安全なVPNプロトコルですが、2013年にはまだ開発されていませんでした。WireGuardの方が高速で軽量、かつ効率的ですが、OpenVPNの実戦で鍛えられた実績には及びません。
OpenVPNのメリット:
- オープンソース
- 実戦で鍛えられたセキュリティ
- UDPまたはTCP経由で実行可能
- 幅広くサポートされている
OpenVPNのデメリット:
- 現時点ではパフォーマンスがWireGuardに及ばない(ただし、改善に向けた取り組みが進められています)
- コードベースが比較的大きく複雑
Proton VPNは、すべてのアプリでOpenVPNをサポートしています:
- Windows
- macOS
- Android
- Android TV(Smart Protocol経由)
- iOSおよびiPadOS
- LinuxアプリおよびCLI
- Chrome OS
OpenVPNはどのように安全を維持するのですか?
OpenVPNは、お客様のデータを安全に保護するために複数の暗号技術を使用しており、既知の脆弱性はありません。OpenVPNの最新の実装(Proton VPNの実装を含む)のほとんどで使用されている技術は以下の通りです。
AES
Advanced Encryption Standard(AES)は、VPN接続を介して送信されるデータを暗号化および復号するために使用される共通鍵暗号です。
これは米国国家標準技術研究所(新しいウィンドウ)(NIST)によって認定されており、機密データを保護するために米国政府によって使用されています。AESの最大鍵サイズは256ビット(AES-256)であり、米国政府はAES-256が「最高機密」情報を保護するのに十分であるとみなしています(新しいウィンドウ)。
OpenVPN暗号化スイートの一部として使用される場合、AESはAES-CBC(Cipher Block Chaining)またはAES-GCM(Galois/Counter Mode)モードで使用できます。Proton VPNの仕組みを学ぶにあたっては、AES-GCMについてだけ知っておけば十分です
同等に安全ですが、より新しいAES-GCMは、データを保護することに加えてデータを認証することもできる関連データ付き暗号化(新しいウィンドウ)(AEAD)暗号です。TLS接続を認証するには依然としてHMAC SHA(以下を参照)が必要ですが、AES-GCMはSHAよりも効率的に(したがって高速に)データを認証できます。
RSA
OpenVPNはお客様のデータを保護するためにAESに依存していますが、そのデータをVPN接続経由で送信するために、OpenVPNは公開鍵暗号(新しいウィンドウ)を適用します。この暗号システムは非対称鍵交換を使用しており、お客様のデータは意図した送信相手の広く共有されている公開鍵を使用して暗号化されます。このデータは、送信相手の秘密の秘密鍵によってのみ復号できます、。
非対称鍵暗号化はインターネット経由でデータを秘密裏に送信するのに効果的ですが、 AESなどの対称暗号化システムと比較すると低速です。そのため、VPNでは主にVPNクライアントとVPNサーバー間の接続を認証するために使用されます。OpenVPNは、このためにRSA暗号システム(新しいウィンドウ)を使用します。
RSAの鍵長はほぼどのようなサイズにでも設定できますが、4096ビットの鍵は、無駄が多く接続速度を低下させる高い計算オーバーヘッドを発生させることなく、十分に安全です。
DHE
Diffie-Hellman鍵交換(新しいウィンドウ)(DHE)は、RSAと同様にTLS鍵交換を保護するために使用できますが、追加のメリットとして、前方秘匿性(新しいウィンドウ)も提供されます。前方秘匿性により、セッションごとに新しい鍵が使用されるため、万が一1つのセッションが侵害されたとしても、他のセッションが影響を受けることはありません。前方秘匿性により、攻撃者は侵害された単一の鍵を使用して過去のVPNセッションを復号することはできません。
ただし、DHEは限定された素数のセットを再利用するため、Logjam攻撃(新しいウィンドウ)に対して脆弱になる可能性があります。十分に大きい鍵サイズが使用されていれば、この問題はそれほど懸念されませんが、TLS鍵交換の保護にDHEを使用することについては依然として議論があります。
このため、Proton VPNはOpenVPN暗号化スイートのDHEサポートを利用して前方秘匿性を提供しますが、鍵交換自体の保護には使用しません。
HMAC SHA
OpenVPNは、HMAC SHAを使用して、TLS鍵交換で使用されるTLS証明書を検証します。これにより、中間者攻撃を防ぎます。
SHAファミリー(新しいウィンドウ)の暗号学的ハッシュ関数(新しいウィンドウ)は、データの認証に使用されます。一連のデータに対してこれらの複雑な数学的関数が実行されると、一意のフィンガープリントが作成されます。そのデータのわずか1ビットでも変更されると、SHAフィンガープリントも変化します。
SHA-1(160ビットハッシュ関数)は衝突攻撃に対して脆弱(新しいウィンドウ)であることが知られていますが、SHA-2は依然として安全であると考えられています。さらに重要なことに、OpenVPNは、いずれにせよハッシュメッセージ認証コード(新しいウィンドウ)(HMAC)値を計算するためにのみSHAを使用します。これらは、SHAアルゴリズム単体よりも攻撃するのがはるかに困難であり、SHA-1であってもHMAC用としては十分に安全であると依然としてみなされる(新しいウィンドウ)ほどです。
Open VPNのチャンネル
OpenVPNは、お客様のデバイスとVPNサーバーの間でデータを安全に転送するために、2つの個別のチャンネルを使用します。

データチャンネル
VPNトンネルを介してデータを送信する前に、OpenVPNは共通鍵暗号を使用してデータを暗号化します。
Proton VPNは、データを検証するためにGCMモードで最大AES-256を使用します。
コントロールチャンネル
データを暗号化すると、VPNトンネルを介して送信できるようになります。コントロールチャンネルは、VPNクライアントとVPNサーバーの間にTLS接続を確立します。これは共通鍵暗号を使用して保護されますが、非対称鍵交換を伴います。
Proton VPNは、対称暗号に最大AES-256-GCMを使用し、TLS証明書の検証にはRSA-4096とHMAC SHA-384ハッシュ認証を使用しています。使用している暗号化スイートには、前方秘匿性を提供するためのディフィー・ヘルマン鍵共有(DHE)も含まれています。
OpenVPNはVPN検閲を突破できますか?
OpenVPNの大きな利点の1つは、インターネット上でデータが送信される仕組みを処理する2つの主要なプロトコルである、UDPとTCPの両方の伝送プロトコルで動作できることです。UDPの方が高速ですが、TCPの方が信頼性は高くなります。しかし、この柔軟性の主な利点は、政府やその他の組織による検閲を突破する上でTCPが有用であることです。
TCPポート443は、ウェブの安全を確保する暗号化規格であるHTTPS(新しいウィンドウ)で使用されています。これにより、すべてのHTTPSトラフィックをブロックすることなく、TCPポート443経由で実行されているOpenVPNをブロックすることが困難になるため、OpenVPNは低レベルのVPNブロックを回避するのに役立ちます。
しかし、より高度なディープパケットインスペクションを使用すると、HTTPSパケットとVPNパケットの違いを簡単に見分けることができます。
OpenVPNは監査を受けていますか?
クラウドファンディングキャンペーンに続き、OpenVPN 2.4は2016年にOSTIFおよびQuarksLabによる第三者による監査を受けました(新しいウィンドウ)。結果は非常に良好で、発見された唯一の「致命的/高」に分類される脆弱性はサービス拒否(DoS)への耐性に関するものであり、ユーザーのセキュリティには影響しませんでした。この問題も迅速に修正されました。
しかし、2016年はかなり前のことであり、本稿執筆時点の最新リリースはOpenVPN 2.6.1です。
OpenVPN対WireGuard
より新しいWireGuardプロトコルは安全、高速、かつ効率的であるため、Proton VPNでは現在、これをデフォルトのVPNプロトコルとして採用しています。TCP経由で実行できるOpenVPNの機能は、通常のWireGuardに対する利点として依然として残っていますが、Proton VPNはTCP経由でも動作するWireGuardの実装を開発しました。
また、WireGuardは、弊社の難読化プロトコルである「Stealth」の基盤にもなっており、TCP経由でOpenVPNを実行するよりもはるかに効果的に検閲ブロックを回避できます。
OpenVPNのセキュリティがWireGuardよりも実戦で検証されているという事実は、一部のお客様にとって依然として魅力的に映るかもしれませんが、お客様が現在お使いのデバイスがWireGuardをサポートしていない限り、WireGuardの代わりにOpenVPNを選択する理由はほとんどありません。
最終的な考え
長年にわたり、OpenVPNは実質的にデフォルトのVPNプロトコルであったため、ルーターやその他のインターネット対応デバイスで今でも幅広くサポートされています。現在でも非常に安全ですが、より最先端のWireGuard(特に、この新しいプロトコルに対するProton VPNのカスタム実装)と比較すると、利点はほとんどありません。







