3 セキュリティ・アップデート

この項では、JDKリリースでのセキュリティ・アップデートの詳細を示します。

JDK 17でのセキュリティ・アップデート

セキュリティ関連の変更の詳細は、リリース・ノートを参照してください。

JDK 15でのセキュリティ・アップデート

次に、JDK 15での重要なセキュリティ・アップデートを示します:

セキュリティ関連の変更の詳細は、リリース・ノートを参照してください。

JDK 14でのセキュリティ・アップデート

次に、JDK 14での重要なセキュリティ・アップデートを示します:

セキュリティ関連の変更の詳細は、リリース・ノートを参照してください。

JDK 13でのセキュリティ・アップデート

セキュリティ証明書の削除

JDK 13では、次のルート証明書がキーストアから削除されました:

JDK 11およびJDK 12のセキュリティ更新

JDK 11およびJDK 12では、次のセキュリティ・アップデートが行われました:

JDK 11リリースには、TLS (Transport Layer Security) 1.3仕様(RFC 8446)の実装が含められました。

TLS 1.3はトランスポート層セキュリティ(TLS)プロトコルの最新のイテレーション(2018年8月)であり、JDK 11ではデフォルトで有効化されています。このバージョンでは、速度の向上に重点が置かれているだけでなく、最新の暗号化手法を重視してプロトコルのセキュリティ全体が更新されており、古いまたは脆弱な暗号化アルゴリズムは使用できません。(たとえば、RSAキー交換やプレーンなDSA署名は使用できなくなりました。)

TLS 1.3プロトコルには、下位互換性を向上させるための複数の機能が追加されていますが、いくつかの問題について留意しておく必要があります。詳細は、JEP 332を参照してください。

セキュリティ証明書の削除

JDK 12では、次のルート証明書がキーストアから削除されました:

JDK 11では、次のルート証明書がトラストストアから削除されました:

削除された証明書を使用している製品は機能しなくなる可能性があります。これらの証明書が必要な場合は、無効になった証明書を使用してcacertsを構成し、移入する必要があります。トラストストアに証明書を追加するには、Java Development Kitツール仕様ガイドのkeytoolに関する項を参照してください。

JDK 9およびJDK 10のセキュリティ更新

JDK 9以降では、一部のセキュリティ関連のデフォルトが変更されています。

JCE Jurisdiction Policy FilesのデフォルトはUnlimited

アプリケーションでこれまでJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Filesが必要だった場合、これをダウンロードまたはインストールする必要はなくなりました。これらはJDKに含まれており、デフォルトで有効化されています。

ご使用の国または使用状況によりさらに制限の厳しいポリシーが必要な場合は、制限付きJava暗号化ポリシー・ファイルを引き続き使用できます。

デフォルトで提供されているいずれかのポリシー・ファイルで満たされていない要件がある場合は、これらのポリシー・ファイルを必要に合うようにカスタマイズできます。

<java-home>/conf/security/java.securityファイルのcrypto.policyセキュリティ・プロパティまたはJava Platform, Standard Editionセキュリティ開発者ガイド暗号化の強度の構成に関する項を参照してください。

実際の要件を決定する際は、輸出入管理コンサルタントまたは弁護士に相談することをお薦めします。

PKCS12キーストアの作成

キーストアにはPKCS12形式を使用することをお薦めします。この形式はデフォルトのキーストア・タイプで、RSA PKCS12 Personal Information Exchange Syntax Standardに基づいています。

『Java Platform, Standard Editionセキュリティ開発者ガイド』JSSEで使用するキーストアの作成に関する項およびJava Development Kitツール仕様keytoolに関する項を参照してください。