本部では、TLS/SSLによる暗号化通信を行う方法を説明しています。
ポイント
TLS/SSLによる暗号化通信を行うためには、サーバとクライアントのそれぞれで、暗号化通信で利用する証明書を検証できるようにする必要があります。
そのため、サーバとクライアントのそれぞれの環境には、その証明書を発行した認証局のルート証明書が登録されている必要があります。
暗号や署名処理を行うためには、証明書や秘密鍵を管理する環境の構築が必要です。本製品では以下の4つの環境を使い分けています。利用するサービスと状況に応じ、選択してください。
各サービスで利用できる環境を以下に示します。
サービス名 | Interstage証明書環境 | SMEEコマンドで構築した証明書/鍵管理環境 | キーストア | opensslコマンドで構築した証明書/鍵管理環境 |
---|---|---|---|---|
シングル・サインオン専用Interstage HTTP Server | ○ | △ | × | × |
Interstage HTTP Server 2.4 | × | × | × | ○ |
CORBAサービス(クライアントパッケージを除く) | ○ | △ | × | × |
CORBAサービス(クライアントパッケージ) | × | ○ | × | × |
イベントサービス | (注1) | (注1) | × | × |
GlassFish 5 | × | × | ○ | × |
Portable-ORB | × | × | ○ | × |
Interstage ディレクトリサービス | ○ | △ | × | × |
Interstage ディレクトリサービスクライアント | × | ○ | × | × |
Interstage シングル・サインオン(認証サーバ、リポジトリサーバ) | (注2) | (注2) | × | × |
Interstage管理コンソール | ○ | △(注3) | × | × |
○:利用可能 ×:利用不可 △:Interstage証明書環境の利用を推奨
注1) CORBAサービス(クライアントパッケージを除く)において構築した環境を使用します。
注2) シングル・サインオン専用Interstage HTTP Serverにおいて構築した環境を使用します。
注3) Interstage管理コンソールを「SSL暗号化通信を使用する」運用形態でインストールした場合や、本製品が自動生成する証明書を使用した暗号化通信でのみ使用します。
各環境について以下に説明します。
複数のサービスで共有でき、証明書や秘密鍵を一括管理することができます。また、Interstage管理コンソールから参照することができます。
Interstage証明書環境とSMEEコマンドで構築した証明書/鍵管理環境の両方が使用できる機能では、Interstage証明書環境の利用を推奨します。
環境構築方法については、「第9章 Interstage証明書環境の構築と利用」を参照してください。
注意
以下の機能が必須です。
Interstage管理コンソール
SMEEコマンドを使用し、サービス単位に環境を構築します。
Interstage証明書環境とSMEEコマンドで構築した証明書/鍵管理環境の両方が使用できる機能では、Interstage証明書環境の利用を推奨します。
環境構築方法については、「第10章 SMEEコマンドによる証明書/鍵管理環境の構築と利用」を参照してください。
注意
以下の機能が必須です。
セキュア通信サービス
FJSVsme64、FJSVscl64パッケージ
FJSVsmee64、FJSVsclr64パッケージ
Java暗号化関連のパッケージのJSSE(Java Secure Socket Extension)、JCE(Java Cryptography Extension)を使用しています。
サービス単位に環境を構築します。
Portable-ORBを使用する場合の環境設定方法については、「第15章 Portable-ORBでSSLを利用する方法」を参照してください。
GlassFish 5を使用する場合の環境設定方法については、「GlassFish 設計・構築・運用ガイド」の「GlassFishのセキュリティ」-「Jakarta EEアプリケーションのセキュリティ機能」-「SSL」を参照してください。
Interstage HTTP Server 2.4が使用する証明書/鍵管理環境です。Interstage HTTP Server 2.4が提供するopensslコマンドを使用して作成します。
Interstage HTTP Server 2.4を使用する場合の環境設定方法については「Interstage HTTP Server 2.4 運用ガイド」の「環境設定」-「SSLの設定」を参照してください。
参照
なお、V6.0以前に作成された環境でSSLによる暗号化通信を行っている場合は、旧マニュアルの「SSLによる暗号化通信」を参照してください。
参考
サーバ認証を使用するTLSの運用を行う場合、サーバの証明書環境には、少なくともサイト証明書や秘密鍵、サイト証明書を発行した認証局の証明書が登録されている必要があります。また、クライアントの証明書環境には、サーバに登録されているサイト証明書を検証できるようにするため、少なくともサイト証明書を発行した認証局のルート証明書が登録されている必要があります。
近年のTLS通信のセキュリティ動向では、Perfect Forward Secrecy特性の暗号スイート(本製品では、暗号スイートのことを「暗号リスト」または「暗号化の方法」と呼ぶ場合があります。)を使用することが強く推奨されています。しかし、以下のサービスのTLS通信ではPerfect Forward Secrecy特性の暗号スイートは使用できません。もしウィルス感染や攻撃などにより秘密鍵が漏洩した場合、過去に遡って全てのTLSの通信データが解読されてしまう可能性があります。そのため、そのリスクを低減するような運用対処を追加することを推奨します。例えば、IPsecなどを用いて通信の安全性を確保する、あるいは、DMZなど外部のネットワークからアクセス可能な領域に配置しない、といったことが考えられます。近年のセキュリティ動向については、「付録A セキュリティ動向」を参照してください。
シングル・サインオン専用Interstage HTTP Server
CORBAサービス
イベントサービス
Interstage ディレクトリサービス
Interstageシングル・サインオン(認証サーバ、リポジトリサーバ)
Interstage管理コンソール
また、サービスによって使用できるTLSのプロトコルバージョン、暗号スイートが異なります。以下にサービスごとの使用可能なプロトコルバージョン、および暗号スイートの記載場所を示します。
サービス名 | プロトコルバージョン | 暗号スイート | ||||
---|---|---|---|---|---|---|
SSL 3.0 | TLS1.0 | TLS1.1 | TLS1.2 | TLS1.3 | ||
シングル・サインオン専用Interstage HTTP Server | × | △ | △ | ○ | × | 「Interstage管理コンソールのヘルプ」の「SSL:定義項目」 |
Interstage HTTP Server 2.4 | × | △ | △ | ○ | ○ | 「Interstage HTTP Server 2.4 運用ガイド」の「ディレクティブ一覧」-「ディレクティブの注意事項」-「SSLCipherSuiteディレクティブの注意事項」 |
CORBAサービス(クライアントパッケージを除く) | × | △ | △ | ○ | × | 「リファレンスマニュアル(コマンド編)」の「SSL環境設定編」-「SSL環境設定コマンド」-「odsetSSL」 |
CORBAサービス(クライアントパッケージ) | × | △ | △ | ○ | × | |
イベントサービス | × | △ | △ | ○ | × | |
GlassFish 5 | × | △ | △ | ○ | ○ | 「GlassFish 設計・構築・運用ガイド」の「定義項目一覧」-「動作環境に関する定義項目」-「ネットワーク設定の定義項目」-「SSL」 |
Portable-ORB | × | △ | △ | ○ | × | |
Interstage ディレクトリサービス | × | △ | △ | ○ | × | 「ディレクトリサービス運用ガイド」の「SSL通信環境の構築」-「サーバ側の環境構築」-「 証明書/鍵管理環境の環境構築(サーバ)」-「SSL環境定義ファイルの設定(サーバ)」 |
Interstage ディレクトリサービスクライアント | × | △ | △ | ○ | × | 「ディレクトリサービス運用ガイド」の「SSL通信環境の構築」-「クライアント側の環境構築」-「 証明書/鍵管理環境の環境構築(クライアント)」-「SSL環境定義ファイルの設定(クライアント)」 |
Interstage シングル・サインオン(認証サーバ、リポジトリサーバ) | 「シングル・サインオン専用Interstage HTTP Server」の行を参照してください。 | |||||
Interstage管理コンソール | × | △ | △ | ○ | × | Interstage 管理コンソール用Interstage HTTP Serverの定義ファイルの「SSLCipherSuite」ディレクティブ、および |
○:利用可能 △:無効に設定推奨 ×:利用不可
注1) SSL3.0を選択できる場合は無効に設定してください。
注2) TLS1.2以降で相互接続可能な場合は、TSL1.0/TLS1.1は無効に設定することを推奨します。
注3) CORBAサービス(クライアントパッケージを除く)で設定したTLSの環境を使用します。