3

Apache Tomcat 6 で使用する自己署名証明書を作成しようとしています。作成できるすべての証明書は、常に AES-128 に接続するブラウザーになります。顧客は、私が AES-256 で接続を作成できることを実証してほしいと言っています。

Javaのkeytoolとopensslを試しました。さまざまなパラメーターを試してみましたが、署名サイズだけで、キーサイズについては何も指定できないようです。

自己署名証明書で AES-256 を使用するように browser-tomcat 接続を取得するにはどうすればよいですか?

4

4 に答える 4

12

Okie doke、私はこれを理解したと思います。

上で述べたように、重要な知識は、AES 256ビット暗号化(RSAなど)をサポートするアルゴリズムで生成されている限り、証明書は重要ではないということです。同じページにいることを確認するために、テストのために、次を使用して自己署名証明書を生成しました。

keytool -genkey -alias tomcat -keyalg RSA

ここで、サーバー上のJava実装がAES-256をサポートしていることを確認する必要がありますが、これは注意が必要です。OS X(OS 10.5)ボックスでテストを行い、デフォルトでサポートされている暗号のリストを確認したところ、AES-256はリストに含まれていませんでした。そのため、上記で生成した証明書のみを使用しました。ブラウザとTomcatの間にAES-128接続を作成します。(技術的には、TLS_RSA_WITH_AES_256_CBC_SHAはリストに含まれていませんでした。これは、このJDK 5リストによると、必要な暗号です。)

完全を期すために、ボックスでサポートされている暗号をチェックするために作成した短いJavaアプリを次に示します。

import java.util.Arrays;
import javax.net.ssl.SSLSocketFactory;

public class CipherSuites {
  public static void main(String[] args) {
    SSLSocketFactory sslsf = (SSLSocketFactory) SSLSocketFactory.getDefault();
    String[] ciphers = sslsf.getDefaultCipherSuites();
    Arrays.sort(ciphers);
    for (String cipher : ciphers) {
      System.out.println(cipher);
    }
  }
}

このOSXボックスがデフォルトでインストールしているJDK5には、より高いビットの暗号化レベルを使用しても問題がないことをJavaに通知するために、「無制限の強度の管轄ポリシーファイル」がインストールされている必要があります。これらのファイルはここにあります(下にスクロールして、[その他のダウンロード]セクションの上部を確認してください)。JDK 6で同じことを行う必要があるかどうかはわかりませんが、JDK 6の同じポリシーファイルがここにあるので、そうだと思います。そのファイルを解凍し、READMEを読んで、それらが属するファイルをインストールする方法を確認してから、サポートされている暗号をもう一度確認してください...AES-256がリストに含まれているに違いありません。

もしそうなら、あなたは金色でなければなりません。Tomcatを再起動し、SSLインスタンスに接続するだけで、AES-256接続が表示されるはずです。

于 2008-09-18T15:40:36.857 に答える
1

danivo、サーバーの証明書が AES 暗号化に対応している限り、ブラウザとサーバー間の暗号化レベルは証明書自体とは無関係です。その暗号化レベルは、ブラウザとサーバー間でネゴシエートされます。言い換えれば、証明書は暗号化のレベルを指定するのではなく、暗号化のタイプ(AES など) のみを指定するというのが私の理解です。これの検証、および証明書が 256 ビット機能を決定するものではないにもかかわらず、証明書再販業者が「256 ビット対応」証明書をアップセルする方法については、このリンク(PDF) を参照してください。

つまり、AES-128 をサポートする証明書で問題ありません。Tomcat で AES-256 をサポートする方法を理解することが鍵となります (すべてではないにしても、ほとんどの主要なブラウザーが確実にサポートしているため)。

于 2008-09-18T14:34:48.450 に答える
1

あなたが探しているのは http://www.sslshopper.com/article-how-to-disable-weak-ciphers-and-ssl-2-in-tomcat.htmlhttp://docs.oracle だと思います。 com/javase/1.5.0/docs/guide/security/jsse/JSSERefGuide.html#AppA

優れたセキュリティと互換性が必要なのか、それとも PCI 認定が必要なのかによって異なります。

于 2012-04-09T16:32:18.757 に答える
1

SSL 接続の強度は、ブラウザとサーバー (または SSL を提供するもの) の間でネゴシエートされます。ブラウザがより弱い暗号を要求している可能性があります。このブラウザで 256-AES SSL 接続を見たことがありますか? AES-128 は依然として非常に安全なアルゴリズムであるため、オフライン (2^128 キーwikipediaを生成するスーパーコンピューターの総当たり攻撃) から保護したいものがない限り、128 ビットで問題ありません。それだけの保護が本当に必要な場合は、おそらくウェブサイトよりもデータ アクセスに安定したソリューションを使用する必要があります。サーバーへの安全な ssh トンネルは防弾です (256 ビット AES と 4096 ビットを使用できることを伝えることができます)。 RSA も)、または実装に応じて VPN を使用します。

于 2008-09-18T14:49:15.750 に答える