OpenSSL は、暗号スイートのグループとキー強度の動作を指定するセキュリティ レベルの概念をサポートしています。
システムのさまざまなセキュリティ レベルとそれらに関連付けられている暗号を確認するには、コマンド プロンプトで次のように入力します。
openssl ciphers -s -v ALL;@SECLEVEL=<n>
詳細は次のとおりです。
セキュリティ レベルに応じてセキュリティが向上します。MD5 署名などの項目のほか、解読された暗号スイートやセキュリティの低いキーなどの脆弱な項目は、セキュリティ レベルが高いと拒否されます。
Java、Chrome、Firefox の最新の更新など、新しいほとんどの製品ではデフォルトでセキュリティ レベル 1 に設定されています。
リリース 6.0 以降のデフォルトの TLS セキュリティ レベルは 1 です。デフォルトの TLS セキュリティ オプションを使用している場合、短い RSA キーのみに使用が制限されている一部の古いクライアントは接続できなくなります。それらのクライアントの動作を維持するには、セキュリティ レベルを 0 に変更します。ただし、この動作は非推奨であり、下位互換性のみを目的として提供されています。
独自の暗号スイートのコレクションを設定する場合、それらの暗号スイートのコレクションを変更してセキュリティ レベルを 0 にしない限り、OpenSSL 3.0 のセキュリティ レベル 1 の動作を継承します。セキュリティ レベルを 0 にするには、暗号スイートのコレクションの前に @SECLEVEL=0 を付けます。
OpenSSL 3.0 では、セキュリティ レベル 1 により、TLS 1.2 より前の SSL および TLS バージョンが無効になり、署名アルゴリズム拡張機能を送信しない TLS 1.2 クライアントからの接続も阻止されます。古い TLS バージョンおよびクライアントとの相互運用を許可するには、セキュリティ レベル 0 (@SECLEVEL=0) を設定します。
@SECLEVEL=0 kEECDH+ECDSA kEECDH kEDH HIGH MEDIUM !3DES +SHA !RC4 !aNULL !eNULL !LOW !MD5 !EXP
@SECLEVEL=1 kEECDH+ECDSA kEECDH kEDH HIGH MEDIUM !3DES +SHA !RC4 !aNULL !eNULL !LOW !MD5 !EXPこれはデフォルトの構成と一致します。