VPN サービス クライアントの暗号化作業は、計算上どの程度の負担がかかりますか?

VPN サービス クライアントの暗号化作業は、計算上どの程度の負担がかかりますか?

VPN クライアント ソフトウェアを使用して、OpenVPN を使用する VPN サービス プロバイダー (ExpressVPN、NordVPN など) に接続し、そのサービスがエンドツーエンドで暗号化され、VPN サービス プロバイダーが AES-NI を使用している場合、大まかに言えば、クライアント デバイスで実行される暗号化は、通常、計算の面でどの程度の負荷がかかりますか?

私は、自宅のネットワークを OpenVPN サービス経由でルーティングするためにハードウェア ルーター (ファイアウォール カテゴリ、Wi-Fi アクセス ポイントなし) の購入を検討しており、制限のない暗号化インターネット速度を提供するためにハードウェア ルーターにどの程度の CPU とメモリが必要かを理解しようとしています。一部のより高価なルーター モデル (Intel i5~i7 プロセッサーを使用) は、AES-NI 暗号化を高速で処理できることを売りにしていますが、これはルーターがサーバーとして機能して自宅用のカスタム VPN ネットワークを作成する状況を指しているのか、それとも私のように自宅のデバイスをルーター、VPN サービス プロバイダーに接続する状況を指しているのかは不明です。

言い換えれば、カスタム VPN ネットワークを実行するつもりがない場合、高度なルーターのコンピューティング パフォーマンスを本当に気にする必要があるのでしょうか?

答え1

VPNサービスプロバイダーはAES-NIを使用する

AES は暗号であり、AES-NI はこの暗号を高速化する Intel CPU 機能です。この 2 つを混同しないでください。

クライアントは、AES-NI を介して「ハードウェア」AES を使用するサーバーと「ソフトウェア」AES を使用するサーバーの違いを区別できません。どちらの場合も同じアルゴリズムが適用され、データは同じ方法で暗号化されます。

制限のない暗号化されたインターネット速度を提供するために、ハードウェア ルーターにどの程度の強力な CPU とメモリが必要かを理解しようとしています。

大量のメモリは必要なく、CPUだけで十分です。また、CPUに暗号用のハードウェアアクセラレーション機能があるかどうかによっても異なります。メーカーの製品Webサイトには、この情報が掲載されているはずです(例:)、一般的な構成のテスト結果を公開しているものもあります。

  • シングルボード コンピューターに関する情報を Google で検索しましたが、おそらくパワーは似ていると思います。たとえば、RPi 4 は、他に何もしなくても (ARM の AES 拡張機能がない)、AES を約 600 Mbps で処理できます。

  • ルーターは一般的にデスクトップコンピュータとは異なる種類のCPUを使用していますが、それでも私は自分のPC(すべてさまざまな種類のIntel x64 CPUを搭載)でベンチマークを実行しました。それなしAESアクセラレーションはAES-CBCを約1Gbpsで暗号化することができ、ハードウェア AES (Intel AES-NI を使用) では、約 6 Gbps で同じ処理を実行できます。

彼らが言及しているのは、ルーターがサーバーとして機能して自宅用のカスタム VPN ネットワークを作成する状況なのか、それとも私のように自宅のデバイスをルーター、つまり VPN サービス プロバイダーに接続する状況なのかは不明です。

両者の間には実質的な違いはありません。片側がデータを暗号化した場合、もう片側はそれを復号化する必要があります。その逆も同様ですが、サーバーとクライアントのどちらがどちらを実行しているかは問題ではありません。(クライアントは何らかの方法で「重い作業」をサーバーにオフロードすることはありません。そうすると、そもそもデータを暗号化する意味がまったくなくなります。)

AES-GCM または AES-CTR の場合、どちらの方向でも作業量はほぼ同じです。AES-CBC の場合、先ほど知ったように、復号化は並行して実行できますが、暗号化は並行して実行できないため、データを送信する側はデータを受信する側よりも多くの作業を行う必要があります。

言い換えれば、カスタム VPN ネットワークを実行するつもりがない場合、高度なルーターのコンピューティング パフォーマンスを本当に気にする必要があるのでしょうか?

はい、まだそうです。唯一の基準は1秒あたりのバイト数およびパケット数処理しようとしている内容です。サーバーであるかクライアントであるかは関係ありません。(一部の VPN システムでは、2 つの役割をまったく区別していません。)

たとえば、VPN経由で50Mbpsを計画している場合は、実際にはそれほど多くの電力は必要ありませんが、1Gbpsを期待している場合は、何らかのハードウェアアクセラレーションが必要になります。意思必要となる。

AESはさまざまな動作モード(AES-GCM、AES-CTR、AES-CBC)で使用され、すべてのハードウェアアクセラレーション機能がすべてのモードと互換性があるわけではなく、すべてのモードで同じようにアクセラレーションできるわけではないことに注意してください。例を参照してください。このIntel AES-NIドキュメント

関連情報