OracleからJavaへの開発者:MD5を使用したJARファイルへの署名を停止します

4月以降、OracleはMD5ハッシュアルゴリズムで署名されたJARファイルを署名されていないものとして扱います。つまり、Javaランタイム環境(JRE)の最新リリースでは、これらのJARファイルの実行がブロックされます。MD5のセキュリティの弱点はよく知られているため、シフトはかなり遅れています。代わりに、コード署名にはより安全なアルゴリズムを使用する必要があります。

「2017年4月18日に予定されている4月のクリティカルパッチアップデートリリース以降、すべてのJREバージョンはMD5で署名されたJARを署名されていないものとして扱います」とOracleはJavaダウンロードページに書いています。

Javaライブラリとアプレットにバンドルされているコード署名JARファイルは、ユーザーに実際にコードを書いた人を知らせ、コードが書かれてから変更または破損されていないため、基本的なセキュリティ慣行です。近年、オラクルはJavaのセキュリティモデルを強化して、外部のエクスプロイトからシステムをより適切に保護し、署名されたコードのみが特定のタイプの操作を実行できるようにしています。有効な証明書のないアプリケーションは潜在的に安全ではありません。

新しいバージョンのJavaでは、すべてのJARファイルに有効なコード署名キーで署名する必要があります。Java7Update51以降、署名されていないアプリケーションまたは自己署名されたアプリケーションの実行はブロックされます。

コード署名はJavaのセキュリティアーキテクチャの重要な部分ですが、MD5ハッシュは、コード署名が提供するはずの保護を弱めます。 1992年にさかのぼり、MD5は一方向のハッシュに使用されます。つまり、入力を受け取り、識別署名として扱うことができる一意の暗号化表現を生成します。 2つの入力が同じハッシュになることはありませんが、2005年以降、セキュリティ研究者は、ファイルが変更されても、衝突攻撃でも同じハッシュを使用できることを繰り返し実証してきました。 MD5はTLS / SSLに使用されなくなりましたが(Microsoftは2014年にTLS用のMD5を非推奨にしました)、その弱点にもかかわらず、他のセキュリティ領域で普及し続けています。

Oracleの変更により、「影響を受けるMD-5署名付きJARファイルは[Oracle JREによって]信頼できるとは見なされなくなり、JavaアプレットやJava WebStartアプリケーションの場合などのデフォルトで実行できなくなります。」 Java PlatformGroupのOracle製品マネージャーであるErikCostlowは、10月に返信しました。

開発者は、JARファイルがMD5を使用して署名されていないことを確認する必要があります。署名されている場合は、影響を受けるファイルに最新のアルゴリズムで再署名します。管理者は、ファイルがMD5署名されていないことをベンダーに確認する必要があります。スイッチオーバー時にファイルがまだMD5を実行している場合、ユーザーにはアプリケーションが実行できなかったというエラーメッセージが表示されます。オラクルはすでにベンダーとソースライセンシーに変更を通知しているとコストロー氏は語った。

ベンダーが機能していないか、アプリケーションに再署名することを望まない場合、管理者は、署名されたアプリケーションをチェックするプロセスを無効にしたり(セキュリティに重大な影響を与える)、アプリケーションの場所にカスタム展開ルールセットを設定したり、例外サイトを維持したりできます。リスト、Costlowは書いた。

たくさんの警告がありました。オラクルは、2006年にリリースされたJava SE6のデフォルトのJAR署名オプションとしてRSAアルゴリズムを使用したMD5の使用を停止しました。MD5の非推奨は、2016年10月のクリティカルパッチアップデートの一部として最初に発表され、今月は1月のCPU。開発者と管理者がシフトの準備ができていることを確認するために、同社はOracle Java SE8u131および対応するリリースのOracleJava SE 7、Oracle Java SE 6、およびOracle JRockitR28を使用した4月のクリティカルパッチアップデートへの切り替えを延期することを決定しました。

「CAセキュリティカウンシルは、MD5を署名なしとして扱うというオラクルの決定を称賛します。MD5は何年もの間廃止されており、MD5からの移行はJavaユーザーにとって重要なアップグレードになっています」とDigicertの新興市場担当エグゼクティブバイスプレジデントでCA SecurityCouncilのメンバーであるJeremyRowleyは述べています。

MD5の非推奨化は長い間行われてきましたが、それだけでは十分ではありません。オラクルは、独自の問題を抱えているSHA-1の非推奨化も検討し、コード署名にSHA-2を採用する必要があります。主要なブラウザがSHA-1証明書を使用したWebサイトのサポートを停止することを約束しているため、この一連のアクションは現在の移行に沿ったものになります。ほとんどの組織がすでにTLS / SSLのSHA-1移行に関与しているため、残りの証明書とキー署名インフラストラクチャもSHA-2に移行することは理にかなっています。

幸いなことに、JREとJDK Crypto Roadmapによると、オラクルは、オラクルのJDKにデフォルトで含まれているルートによってアンカーされた証明書チェーンでSHA-1を無効にすると同時に、進行中の暗号化に関する技術的な指示と情報を無効にする予定です。 OracleJREおよびOracleJDKで動作します。Diffie-Hellmanの最小キー長も、2017年後半に1,024ビットに増加します。

ロードマップはまた、Oracleが最近Java 7にSHA224withDSAおよびSHA256withDSA署名アルゴリズムのサポートを追加し、Java 6、7、および8のSSL / TLSの256ビット未満のキーの楕円曲線(EC)を無効にしたと主張しています。