19.2. 暗号化コンポーネントの変更
ca-certificates
トラストストアが移動される
/etc/pki/tls/certs
トラストストアは、OpenSSL に最適化された別の形式に変換されます。したがって、/etc/pki/tls/certs
内のファイルを直接使用する場合は、同じデータが保存されている /etc/pki/ca-trust/extracted
ディレクトリーに切り替えます。たとえば、/etc/pki/tls/certs/ca-bundle.crt
のトラストバンドルにアクセスするソフトウェアは、代わりに /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
を使用するように切り替える必要があります。
fips-mode-setup
が削除される
fips-mode-setup
コマンドは RHEL から削除されました。連邦情報処理規格 (FIPS) 140 で義務付けられている暗号化モジュールの自己チェックを有効にするには、システムのインストール時に FIPS モードを有効にします。詳細は、セキュリティーの強化 ドキュメントの FIPS モードへの RHEL の切り替え の章を参照してください。
/etc/system-fips
が削除される
/etc/system-fips
ファイルを通じて FIPS モードを示すサポートが、RHEL から削除されました。FIPS モードで RHEL をインストールするには、システムのインストール時に fips=1
パラメーターをカーネルコマンドラインに追加します。/proc/sys/crypto/fips_enabled
ファイルを表示することで、RHEL が FIPS モードで動作しているかどうかを確認できます。
compat-openssl11
が削除される
OpenSSL 1.1 の互換性ライブラリー compat-openssl11
は、RHEL 10 から削除されました。OpenSSL 1.1 はアップストリームでメンテナンスされなくなりました。OpenSSL TLS ツールキットを使用するアプリケーションは、バージョン 3.x に移行する必要があります。
pkcs11-provider
が openssl-pkcs11
を置き換える
OpenSSL エンジンからプロバイダー API への移行の一環として、openssl-pkcs11
パッケージ (engine_pkcs11
) が pkcs11-provider
パッケージに置き換えられました。openssl-pkcs11
パッケージは RHEL 10 から削除されました。
DEFAULT
暗号化ポリシーが RSA 鍵交換による TLS 暗号を拒否する
RSA 鍵交換を使用する TLS 暗号は、RHEL 10 の DEFAULT
システム全体の暗号化ポリシーでは受け入れられなくなりました。これらの暗号は完全な Perfect Forward Secrecy を提供しないため、Elliptic-curve Diffie-Hellman (ECDH) 鍵交換などの他の鍵交換を使用する暗号ほど安全であるとは考えられていません。
この変更により、RSA 鍵交換で PKCS #1 v1.5 暗号化パディングが使用され、タイミングサイドチャネル攻撃に対する脆弱性が生じる可能性があるため、サイドチャネル攻撃に対する露出も減少します。
レガシーシステムとの相互運用性のために RSA 鍵交換が必要な場合は、LEGACY システム全体の暗号化ポリシーを使用するか、カスタムサブポリシーを適用することで、再度有効化できます。
LEGACY
暗号化ポリシーが TLS での SHA-1 署名を許可しない
RHEL 10 の LEGACY
システム全体の暗号化ポリシーでは、TLS コンテキストで SHA-1 を使用する署名の作成または検証は許可されなくなりました。したがって、OpenSSL 以外のライブラリーは、ユースケースに関係なく、SHA-1 を使用する署名を受け入れたり作成したりできなくなる可能性があります。システムが LEGACY
の場合、またはこの機能がカスタムサブポリシーで再度有効になっている場合、OpenSSL は TLS に使用されない SHA-1 を使用する署名を引き続き受け入れます。
SHA1
サブポリシーが削除される
update-crypto-policies --set DEFAULT:SHA1
コマンドを入力した後に、DEFAULT
システム全体の暗号化ポリシーで署名の作成と検証に SHA-1 アルゴリズムを使用することを許可していた SHA1
サブポリシーは、RHEL 10 では使用できなくなりました。
OpenSSL が TLS の SECLEVEL=2
で SHA-1 を許可しなくなる
RHEL 10 では、OpenSSL は TLS の SECLEVEL=2
で SHA-1 アルゴリズムを受け入れません。シナリオで TLS 1.0 または 1.1 を使用する必要がある場合は、明示的に SECLEVEL=0
を設定し、LEGACY システム全体の暗号化ポリシーに切り替える必要があります。LEGACY ポリシーでは、TLS 外部の署名で SHA-1 を使用するアプリケーションは引き続き動作します。
OpenSSL 暗号スイートは、ハッシュまたは MAC が無効になっている暗号スイートを有効化しなくなる
以前は、OpenSSL TLS 1.3 固有の Ciphersuites
オプション値が暗号化ポリシーの ciphers
オプションによってのみ制御されていたため、カスタム暗号化ポリシーを適用すると、ハッシュまたは MAC が無効になっている場合でも、特定の TLS 1.3 暗号スイートが有効のままになることがありました。この更新により、crypto-policies
は、暗号スイートを有効にするか決定する際に、より多くのアルゴリズムを考慮するようになりました。その結果、カスタム暗号化ポリシーを持つシステム上の OpenSSL は、システム設定に従って、以前に有効にされた TLS 1.3 暗号スイートの一部とのネゴシエーションを拒否する可能性があります。
RHEL 10.0 の OpenSSL FIPS インジケーターが RHEL 10 のライフタイム中に変更される可能性がある
RHEL はアップストリームの OpenSSL より前に OpenSSL FIPS インジケーターを導入しました。両者は設計が異なるため、このインジケーターは RHEL 10 の今後のマイナーバージョンで変更される可能性があります。アップストリームの API が導入された場合、RHEL 10.0 のインジケーターは、結果ではなく "unsupported" というエラーメッセージを返す可能性があります。詳細は、OpenSSL FIPS Indicators の GitHub ドキュメントを参照してください。
LEGACY ポリシーに切り替えても、TLS 接続での SHA-1 のサポートは有効化されない
SHA-1 署名のサポートは、デフォルトの暗号文字列で指定された @SECLEVEL
設定または rh-allow-sha1-signatures
プロパティーによって制御できます。TLS コンテキストでの SHA-1 のサポートは、@SECLEVEL=0
を設定することで有効になります。ただし、この設定では他の安全でないアルゴリズムも許可されます。
evp_properties
セクションで rh-allow-sha1-signatures
プロパティーを指定することにより、SECLEVEL
設定をオーバーライドできます。デフォルトでは、設定ファイルで指定されていない場合、evp_properties
は no
に設定されます。システム全体の暗号化ポリシーでは、LEGACY
ポリシーに切り替えた後、このプロパティは yes
に設定されます。
したがって、TLS 以外のコンテキストで SHA-1 のサポートを有効にするには、システムを LEGACY
暗号化ポリシーに切り替えます。TLS で SHA-1 を有効にするには、システムを LEGACY
に切り替えて、カスタム暗号化ポリシーを定義するか、OpenSSL でアプリケーションに設定して、@SECLEVEL=0
を設定する暗号文字列を使用する必要があります。
より厳格な SSH ホストキー権限が復元される
必要なホストキー権限は、以前のそれほど厳密ではない値 0640
から、アップストリームでも使用されている値である 0600
に変更されました。以前にすべての SSH キーを所有していた ssh_keys
グループも削除されました。したがって、ssh-keysign
ユーティリティーは SGID ビットの代わりに SUID ビットを使用します。
GnuTLS の crypto-policies
で allow-rsa-pkcs1-encrypt = false
が設定されるようになる
RHEL 10 では、GnuTLS ライブラリーがデフォルトで RSA PKCS #1 v1.5 パディングによる暗号化と復号化をブロックします。LEGACY ポリシーを除き、すべてのシステム全体の暗号化ポリシー (DEFAULT、FUTURE、および FIPS) で allow-rsa-pkcs1-encrypt = false
オプションが指定されます。