現在、サーバーで-tls-cipher
コマンドを使用して、必要な暗号(TLS-DHE-RSA-WITH-AES-256-GCM-SHA384
)のみを許可していますが、-cipher
コマンドもあり、OpenVPNのマニュアルページでは、それらの間の違い。グーグルからも有用な情報は返されませんでした。多くの websites も私も2つを使うべきだと言っていますが、理由は言わないで、最初にここを確認したいと思いました。
接続の暗号化に-tls-cipher
のみを使用するようにするには、-cipher
+ AES-256-GCM
を使用する必要がありますか?
OpenVPN 2.3を使用しています。
'モダン' OpenVPN(2.x、TLSモードを使用)は基本的に2つの接続をセットアップします。
「制御チャネル」。これは低帯域幅チャネルです。 「データチャネル」のネットワークパラメータとキーマテリアルが交換されます。 OpenVPNはTLSを使用して制御チャネルパケットを保護します。
「データチャネル」。これは、実際のVPNトラフィックが送信されるチャネルです。このチャネルは、制御チャネルを介して交換されるキーマテリアルでキーイングされます。
これらのチャネルは両方とも、単一のTCPまたはUDPポートで二重化されています。
--tls-cipher
は、制御チャネルで使用される暗号を制御します。 --cipher
一緒に --auth
データチャネルの保護を制御します。
また、セキュリティに関して、OpenVPNはTLSのようなmac-then-encryptではなく、encrypt-then-macをデータチャネルに使用します。あなたが聞くすべてのCBC関連の問題は、mac-then-encrypt + CBCの組み合わせによるものです。これは、データチャネルのAES-CBCがセキュリティの観点から完全に適切であることを意味します。
(そして、データチャネルのGCMサポートはまだありません。それはOpenVPN 2.4で到着します。)