OpenVPN の tls-cipher で TLS 1.2 の暗号を用いる方法

OpenVPN の設定の tls-cipher は control channel の暗号化方式の設定です. この記事では tls-cipher に TLS 1.2 で利用できる暗号 (e.g. TLS_DH_RSA_WITH_AES_256_CBC_SHA) を利用する方法を説明します.

OpenVPN のバージョン

TLS 1.2 の cipher suites を利用するためには OpenVPN 2.3.3 以降である必要があります. OpenVPN の tls-cipher に設定できる cipher suites は openvpn --show-tls で確認できます.

設定

サーバー/クライアント双方の設定の tls-cipher に利用したい cipher suite を指定します. TLS-ECDHE-* などは TLS 1.2 の cipher suite に含まれていても OpenVPN では利用できないようです.

また, tls-version-min 1.2 の設定も追加しておかないと, TLS 1.2 の cipher suite を用いて接続できないようです. (この設定を追加しないとエラーメッセージが表示され接続されない模様.) 設定例:

tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
tls-version-min 1.2

参考