本章では、セキュリティ動向と、本製品における実装と推奨について説明します。
また、本章ではSSLまたはTLSによる暗号化通信のことをTLS通信と呼びます。
CRYPTREC(注1)から「TLS暗号設定ガイドライン」(注2)が公表されており、TLS通信でのプロトコルバージョンや暗号スイートを選択するときの推奨設定の参考にすることができます。
本製品出荷時点での「TLS暗号設定ガイドライン」では、安全性と相互接続性を踏まえたうえで設定すべき要求設定として、以下の3つの設定基準を提示しています。
高セキュリティ型
情報が漏えいした際、組織の運営や資産、個人の資産やプライバシー等に悪影響を及ぼすと予想される情報を、安全性を優先してTLS通信を行うような場合に採用する設定基準。高い安全性の確保を必要とする場合に採用される設定基準。
推奨セキュリティ型
情報が漏えいした際、組織の運営や資産、個人の資産やプライバシー等に悪影響を及ぼすと予想される情報を、安全性確保と利便性(相互接続性)の実現をバランスさせてTLS通信を行うための標準的な設定基準。一般的な利用形態で採用される設定基準。
セキュリティ例外型
脆弱なプロトコルバージョンや暗号が使われるリスクを受容したうえで、安全性よりも相互接続性に対する要求をやむなく優先させてTLS通信を行う場合に採用する設定基準。推奨セキュリティ型への移行完了までの暫定運用で採用される設定基準。
注1) CRYPTRECとはCryptography Research and Evaluation Committees の略で、電子政府推奨暗号の安全性を評価・監視し、暗号技術の適切な実装法・運用法を調査・検討するプロジェクトです。
https://www.cryptrec.go.jp/
注2) 本製品出荷時点で最新の版(2020年7月8日v3.0.1)は以下のURLで公開されています。URLは変更される場合があります。
https://www.cryptrec.go.jp/report/cryptrec-gl-3001-3.0.1.pdf
以下では、各設定基準での推奨のプロトコルバージョン、暗号スイート、サーバ証明書の信頼性について説明します。
ここでの説明以外にも、各設定基準での遵守事項があります。また、ここでの説明は、製品出荷時の情報であるため、状況が変化している場合もあります。設定時には最新の「TLS暗号設定ガイドライン」を参照してください。
TLS/SSLプロトコルバージョン
サービスによってデフォルトで指定可能なプロトコルバージョンは異なります。古いプロトコルバージョンの指定が適切であるかも確認のうえ、サービスの利用シーンや接続相手に応じて適切なプロトコルバージョンを選択する必要があります。
サービスと、そのサービスの通信相手の製品で利用できるTLS/SSLプロトコルのバージョンを確認し、可能であればTLS1.2以降で通信するように設定することを推奨します。TLS1.2以降で接続できない場合は、プロトコルに脆弱性が見つかっておりリスクがあることを認識し適切な対策を講じたうえで、TLS1.0やTLS1.1を利用してください。なお、SSL2.0やSSL3.0を選択できるサービスでは、それらを受け付けない設定にしてください。
本製品出荷時点の「TLS暗号設定ガイドライン」において、各設定基準で遵守すべきプロトコルバージョンは以下です。
設定基準 | TLS1.3 | TLS1.2 | TLS1.1 | TLS1.0 | SSL3.0 | SSL2.0 |
---|---|---|---|---|---|---|
高セキュリティ型 | ○ | ○(注1) | × | × | × | × |
推奨セキュリティ型 | ○(注2) | ○ | × | × | × | × |
- | ○ | × | × | × | × | |
セキュリティ例外型 | ○(注2) | ○ | △ | △ | × | × |
- | ○ | △ | △ | × | × | |
- | - | △ | △ | × | × | |
- | - | - | △ | × | × |
○:設定有効 △:やむを得ず利用する場合に限り設定を有効にすることを容認 ×:無効化が必須 -:実装なし
注1) TLS1.2を明確に利用しないと判明している場合には、TLS1.2を無効にしてもよい。
注2) TLS1.3を明確に利用しないと判明している場合には、TLS1.3を無効にしてもよい。
暗号アルゴリズム
暗号アルゴリズムの安全性に対する研究や、マシン性能の向上によって、以前は安全とされていた暗号が、現在では安全とは言えなくなってきています。
特に鍵交換では、秘密鍵が漏洩しても過去の通信データの秘匿を確保できるPerfect Forward Secrecyの特性をもつ、ECDHEやDHEの使用が推奨されています。
各設定基準での推奨・禁止する暗号アルゴリズムは最新の「TLS暗号設定ガイドライン」を参考にしてください。
なお、本製品出荷時点で、以下の暗号アルゴリズムは「セキュリティ例外型」でも利用禁止となっているため、選択しないようにしてください。
鍵交換 | DHE・DHを利用する場合、鍵長1024ビット未満 RSAを利用する場合、鍵長2048ビット未満 ECDHE・ECDHを利用する場合には鍵長256ビット未満 | |
署名 | GOST R 34.10-2012 | |
暗号 | ブロック暗号 | RC2, EXPORT-RC2, IDEA, DES, EXPORT-DES, GOST 28147-89, Magma, 3-key Triple DES, Kuznyechik, ARIA, SEED |
暗号利用モード | CTR_OMAC | |
ストリーム暗号 | RC4, EXPORT-RC4 | |
ハッシュ関数 | MD5, GOST R 34.11-2012 |
証明書の信頼性
証明書の信頼性は、信頼できる認証局が証明書を発行することによって保証されます。そのため、認証局では、CPS(Certification Practice Statement)を策定し、認証局の運営方針や責任範囲を明らかにすることで、認証局としての信頼性を維持しています。証明書に署名するために使用する秘密鍵は、外部への持ち出しができないような(耐タンパー性の)機器を用いて厳重に管理するのが一般的です。さらに、証明書を発行する際に申請者の身元確認などの審査を行うことにより、認証局の信頼性を維持しています。
証明書を使用する製品やWebブラウザなどには、このような信頼できる認証局の証明書があらかじめ組み込まれています。(注)
しかし、本製品がInterstage管理コンソールのTLS通信用に生成した証明書や、scsmakeenvコマンドで生成したテスト用証明書は、認証局の厳密な運用に基づいて発行された証明書ではありません。証明書の信頼性や利用責任は、その証明書の利用者や受けとった人の判断に委ねられます。そのため、運用時には、信頼できる認証局から発行された証明書を利用することを推奨します。
認証局の証明書は、あらかじめ証明書のフィンガープリント(拇印)などを確認し、本製品が提供する証明書および秘密鍵を管理する環境に登録したうえで利用することを推奨します。通信時に認証局の証明書が送付されてきた場合についても、同様に確認し登録したうえで利用してください。
利用している証明書の信頼性が低いと、証明書を利用した暗号・署名の信頼性も低下します。システムを安全に運用するために、信頼できる認証局から証明書を入手して利用するようにしてください。
注) 本製品に組み込まれている証明書については「付録B Interstage組み込み証明書一覧」を参照してください。
各設定基準で証明書に求められる暗号アルゴリズムは、最新の「TLS暗号設定ガイドライン」を参考にしてください。
なお、本製品出荷時点で、以下の暗号アルゴリズムを使用した証明書は安全でないため、利用しないようにしてください。
公開鍵 | RSAの場合、鍵長が2048bit未満 楕円曲線暗号の場合、鍵長が256bit未満 |
ハッシュ関数 | MD5、SHA1、SHA-2でハッシュ長256bit未満 |