SSL通信の暗号化方式を指定する方法

動作確認バージョン

vThunder Version 6.0.7-P2

ここでは、SSL通信方式の暗号化方式を変更する方法について紹介します。
暗号化方式の変更はSSL証明書のテンプレートに対して、cipherテンプレートを作成して紐づけることで変更します。

注釈

  • 本項では Virtual ServerのSSL設定 を実施しており、Virtual Serverに対してSSLテンプレートを設定済みである前提で説明します。

暗号化方式を指定する

サンプル設定のシナリオ

  • virtual-Server「vserver01」の暗号化方式を(TLS1.2-DHE-RSA-AES-128-SHA256)に指定する

構成図

ssl_offload_and_acceleration1.png

シナリオにおける設定のながれ

1.以下の表のパラメーターでcipherテンプレート名「servercert_DHE」をCLIコマンドで設定する。

設定項目

設定値

cipherテンプレート名

servercert_DHE

暗号化方式

TLS1_DHE_RSA_AES_128_SHA256

注釈

  • お客様の指定したい暗号化方式を設定値「暗号化方式」へ適用してください。なお、弊社検証済みの暗号化方式における設定値は下記です。

(参考)暗号化方式/設定値

暗号化方式

設定値

TLS1.2-ECDHE-RSA-AES-128-SHA256

TLS1_ECDHE_RSA_AES_128_SHA256

TLS1.2-AES-256-SHA256

TLS1_RSA_AES_256_SHA256

TLS1.2-AES-128-SHA256

TLS1_RSA_AES_128_SHA256

TLS1.2-DHE-RSA-AES-256-SHA256

TLS1_DHE_RSA_AES_256_SHA256

TLS1.2-DHE-RSA-AES-128-SHA256

TLS1_DHE_RSA_AES_128_SHA256

TLS1.3-AES256-GCM-SHA384

tls1_3 TLS_AES_256_GCM_SHA384

TLS1.3-CHACHA20-POLY1305-SHA256

tls1_3 TLS_CHACHA20_POLY1305_SHA256

CLIにて入力するコマンド

vThunder(config)#slb template cipher servercert_DHE
vThunder(config-cipher)# TLS1_DHE_RSA_AES_128_SHA256

  1. SSLテンプレート名「servercert」へcipherテンプレート名「servercert_DHE」をCLIコマンドで紐づける。

 また、ここでは加えて、TLSバージョンおよびDHパラメーターの指定を行う。

設定項目

設定値

SSLテンプレート名

servercert

TLSバージョン(最大値)

33

TLSバージョン(最小値)

33

DHパラメーター(bit)

2048

cipherテンプレート名

servercert_DHE

CLIにて入力するコマンド

vThunder(config)#slb template client-ssl servercert
vThunder(config-client ssl)#ca-cert IntermediateCA
vThunder(config-client ssl)#certificate servercert key servercert_key
vThunder(config-client ssl)#template cipher servercert_DHE
vThunder(config-client ssl)#version 33 33
vThunder(config-client ssl)#dh-param 2048

注釈

  • TLSバージョンの値の「33」とは、TLSバージョン「1.2」に該当します。

  • TLSバージョンの値の「34」とは、TLSバージョン「1.3」に該当します。

  • 上記のシナリオでは "Version [最大値] [最小値]" として、どちらも[33]を挿入してTLSバージョン「1.2」を利用するように明示的に設定しています。

  • 「version 34 33」とコンフィグレーションを設定した場合、ロードバランサーは最新バージョン(TLS1.3)を優先して使用します。例として、暗号化方式に[TLS1.2]のものを指定していたとしてもクライアント側が[TLS1.3]を指定した接続を行った場合、ロードバランサーは暗号化方式の設定(TLS1.2)ではなく、クライアントが指定した[TLS1.3]の暗号化方式を採用します。なお、クライアント側がロードバランサーの暗号化方式にて設定した暗号化方式(TLS1.2)で接続を行った場合であれば、当該シナリオの設定のように暗号化方式が使用されます。

  • DHパラメーター(bit)は、DH (Diffie-Hellman) 方式の鍵交換アルゴリズムを使用するため設定しております。DH方式ではない(ECDHE,RSA)場合やTLSv1.3を利用する場合は不要です。


正しく設定が完了したときのコンフィグレーションは次のとおり。

vThunder#show run slb template cipher servercert_DHE
!Section configuration: 69 bytes
!
slb template cipher servercert_DHE
  TLS1_DHE_RSA_AES_128_SHA256
!
vThunder#show run slb template client-ssl servercert
!Section configuration: 177 bytes
!
slb template client-ssl servercert
  ca-cert IntermediateCA
  dh-param 2048
  template cipher servercert_DHE
  version 33 33
  certificate servercert key servercert_key
!

動作確認結果

クライアントからVirtual Server IPに対して、Opensslから下記コマンドを実行する。

CLIにて入力するコマンド

openssl s_client -connect 172.16.10.102:443 -showcerts

コマンドの出力結果から、SSL-Sessionの「Protocol」及び「Cipher」の値が指定した暗号化方式の値となっていることを確認する。

出力結果(例)

~省略~
SSL-Session:
   Protocol  : TLSv1.2
   Cipher    : DHE-RSA-AES128-SHA256
   Session-ID: 2D707D35042D1FEA156C1D59FDD6603F60378B77AD646A16ECA4A503CE9AE723
   Session-ID-ctx:
   Master-Key: 9D14EC66A3F7392D8CF2C45A4BBFB870DB42CA846D51884EE20C2B0F53E1D62261BFEDCF400B4860961028CE057A656D
   PSK identity: None
   PSK identity hint: None
   SRP username: None
   TLS session ticket lifetime hint: 7200 (seconds)
   TLS session ticket:
~省略~

(参考)弊社にて検証している暗号化方式一覧

弊社で動作確認を行っている暗号化方式は下記の表を参照ください。

項番

暗号化方式

SDPFで動作確認済み

備考

1

TLS1.3-AES256-GCM-SHA384

2

TLS1.3-CHACHA20-POLY1305-SHA256

3

TLS1.2-DHE-RSA-AES128-GCM-SHA256

4

TLS1.2-DHE-RSA-AES-128-SHA256

5

TLS1-DHE-RSA-AES-128-CBC-SHA

6

TLS1.2-ECDHE-RSA-AES128-GCM-SHA256

7

TLS1.2-ECDHE-RSA-AES-128-SHA256

8

TLS1-ECDHE-RSA-AES128-SHA

9

TLS1.2-AES128-GCM-SHA256

10

TLS1.2-AES-128-SHA256

11

TLS1-AES-128-CBC-SHA

12

TLS1.2-DHE-RSA-AES256-GCM-SHA384

13

TLS1.2-DHE-RSA-AES-256-SHA256

14

TLS1-DHE-RSA-AES-256-CBC-SHA

15

TLS1.2-ECDHE-RSA-AES256-GCM-SHA384

16

TLS1.2-ECDHE-RSA-AES-256-SHA384

17

TLS1-ECDHE-RSA-AES256-SHA

18

TLS1.2-AES256-GCM-SHA384

19

TLS1.2-AES-256-SHA256

20

TLS1-AES-256-CBC-SHA