Enhancements原文はこちら。17が2021年9月14日(PST)にリリースされました。以前のエントリのように、今回のリリースで最も興味深く有用と思われるセキュリティ機能の強化点をまとめました。それらを適切なカテゴリー(暗号、TLSなど)に分類したので、それぞれの分野で何が変わったのかを簡単に見つけることができるはずです。17のリリースノートにも、これらの強化点やその他の強化点についての詳細が記載されています。Removal)でしょう。17でこのプロセスがスタートしています。Managerの章で後述します。17の機能があります。これらはセキュリティライブラリの分野には含まれていませんが、以下のようなセキュリティ上のメリットを有しています。17は引き続き強力なJDK内部のカプセル化を強化するため、強力なカプセル化を緩めるためのコマンドラインスイッチを無効にしました。コマンドライン・オプションを使用して、必要に応じてパッケージを個別にopen/exportする必要があります。class(シールクラス)を使うと、特定のクラスを拡張したり実装したりすることが許されるクラスを制限できます。これは、クラスの不正な実装を防ぐために使用できるので、明らかにセキュリティ上の利点があります。Datahttps://openjdk.java.net/jeps/290これにより、アプリケーションやライブラリが、受信した直列化されたストリームをデシリアライズする前に検証できます。APIを使って動的にも実施できます。415では、オブジェクト・ストリームに応じて異なるフィルタを適用するために使用できるフィルタ・ファクトリを導入することで、この機能を改善しています。モードをサポートしました。パディングスキームをサポートしています。800-38Fで定義されています。AES/KWP/NoPadding、AES/KW/PKCS5Padding、またはAES/KW/NoPaddingを指定して使用します。そのかわりに、CipherアルゴリズムとしてAESWrap(NoPaddingのKWモードと等価)、もしくはAESWrapPad(NoPaddingのKWPモードと等価)を指定できます。(JDK-8023980)KeyFactoryのRSA実装は(PKCS#8エンコーディングに加え)PKCS#1エンコーディングから秘密鍵および公開鍵を生成できるようになりました。(JDK-8255410)基礎となるPKCS#11実装がChaCha20とPoly1305ストリーム暗号をサポートしている場合、SunPKCS11プロバイダーがChaCha20とPoly1305ストリーム暗号をサポートするようになりました。サポートが追加されました。再生できるというリプレイ攻撃を防ぐのに役立ちます。互換性の理由から、この拡張機能はデフォルトでは有効になっていませんが、jdk.security.certpath.ocspNonceシステムプロパティをtrueに設定することで有効にできます。5019で規定されている時間ベースのアプローチが使用されます。GETを使ってOCSPリクエストを送信するようになりました。GETを使うことでリクエストをキャッシュでき、結果パフォーマンスが改善します。証明書がcacertsキーストアに追加されました。2015このルート証明書は、以下の識別名を持ちます。2015このルート証明書は、以下の識別名を持ちます。16.0.1、11.0.11、8u291、7u301のcacertsキーストアにも追加されています。(JDK-8217633)TLSの相互運用性の問題は、実装がサポートしていないTLS拡張を適切に処理しない場合に発生することがあります。カスタマイズできるようになりました。プロパティの値は、標準的なTLS拡張機能名のコンマ区切りのリストです。Extensionshttps://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml例えば、以下のようになります。(JDK-8139348)3DESおよびRC4のKerberos暗号化タイプは、現在デフォルトで無効になっています。3DESとRC4はどちらも弱い暗号化アルゴリズムであり、使用すべきではありません。8429で公式に非推奨とされています。Kerberoshttps://datatracker.ietf.org/doc/html/rfc8429デフォルトではdes3-hmac-sha1とrc4-hmacの暗号化タイプは無効になっていますが、krb5.conf設定ファイルでallow_weak_cryptoプロパティをtrueに設定することで、自己責任で再び有効にすることができます。des-cbc-crcやdes-cbc-md5など、すでに無効になっている他の弱い暗号化タイプも再び有効になることに注意してください。default_tkt_enctypes、default_tgs_enctypes、perferred_enctypesプロパティを、許可されている暗号化タイプに設定してください。署名アルゴリズムのパラメータの指定に使用できるようになりました。署名アルゴリズム(RSA_PSS)の新しいString定数が定義されています。新しいAPIでは、java.security.spec.PSSParameterSpecを入力パラメータとして使用します。ベースのダイジェストまたは署名アルゴリズムを含むXML署名は、デフォルトで無効になりました。は弱いダイジェストアルゴリズムであり、ダイジェストおよび署名アルゴリズムとしては推奨されなくなりました。この制約に違反したXML署名の検証は失敗します。自己責任の下、必要に応じて、java.security設定ファイルに定義されているjdk.xml.dsig.sureValidationPolicyセキュリティプロパティを変更またはオーバーライドすることで、SHA-1を再び有効にすることができます。Signatureのセキュア検証モードがデフォルトで有効になりました。以前はアプリケーションがjavax.xml.crypto.XMLCryptoContext.setProperty()メソッドを使ってorg.jcp.xml.dsig.secureValidationプロパティをtrueにするか、SecurityManagerを有効にしてコードを実行することにより、このモードを明示的に有効にする必要がありました。潜在的に敵対的なコンテンツが含まれていたり、弱いアルゴリズムが使われていたり、DoSを引き起こす可能性のある構成要素が含まれていたりするXML署名に対し、このセキュア検証モードが追加の保護を提供します。現在このモードには以下の制約事項があります。アルゴリズムの使用を禁じます。Modeを参照してください。Managerは削除に向け非推奨になりました。Managerに関連するいくつかのAPIが含まれます。removalセクションを参照してください。(動機)のセクションで詳しく説明されています。Managerが有効になっている場合は、実行時に警告が表示されます。これにより、ユーザーや開発者に非推奨であることを警告し、将来の廃止に備えることができます。コメントをキャンセルコメントを入力してください。以下に詳細を記入するか、アイコンをクリックしてログインしてください。アカウントを使ってコメントしています。アカウントを使ってコメントしています。新しいコメントがついたらメールで通知。Inside現在40人フォロワーがいます。購読管理このバーを折りたたむ%d人のブロガーが「いいね」をつけました。