2016-10-13 9 views
-2

私はTLSの実装に取り​​組んでいましたが、Javaクライアントまたはサーバーにパスワードを指定せずにキーストアまたはトラストストアを使用できることがわかりました。 誰かがサーバーからキーストアをコピーしてそのIDとして使用できるサーバーID盗難を防ぐにはどうすればいいですか?パスワードが使用されていた場合、不正なアクセスからキーストアにあるレベルのセキュリティがある可能性があります。キーストアを不正アクセスから守る方法

一つの詳細な説明は下記のリンクで提供されています。

Do you not need a password to access a truststore (made with the java keytool)?

+0

誰かがあなたのキーストアに行くことができれば、より多くの重要な事柄にアクセスすることができるので、心配するより大きな問題があります。 –

+0

これは本当ですが、キーストアを安全に保つための規定がある場合に起こります。私たちは常に証明書を取り消して新しい証明書に置き換えるオプションを持っています – smallarv

+0

キーストアにパスワードを追加することができます –

答えて

0

一般的にはあなたが確保あなたの証明書を維持する必要があります。ファイル(およびパスワード)は簡単にコピーできます。暗号ハードウェアを使用して証明書を保管し、署名を実行して、誰かが盗むのを避けることができます。

SSL証明書は、ドメイン名またはIPアドレスに対して発行されていることに注意してください。あなたの証明書を盗む人は誰もあなたのDNSを所有していないので使用できません。彼が他のドメインの証明書を使用しようとすると、ブラウザは接続を拒否します

+0

これはSSL証明書には当てはまりますが、 sslハンドシェイク中のホスト名 – smallarv

+0

クライアントデバイスでは、サイト証明書がインストールされていません。証明書チェーンのルートのみ。信頼できる証明書の発行者のルートがハッキングされている場合、攻撃者は任意のサイトに対して有効な証明書を生成する可能性があります。したがって、これらの証明書は十分に保護されています。それらは暗号化ハードウェアに生成され、セーフティボックスに格納され、パスワードは2人以上の人が共有する部分に分割されます。 SSL自己署名証明書を使用してブラウザにインストールすると、奇妙なsite.Nobodyがハッキングすることなくあなたのサイトを置き換えることができる場合は、hostameのチェックに失敗するDNS – pedrofb

+0

私は2つの方法で使用されるクライアント証明書を参照していましたssl – smallarv

1

私はこれに対する答えを得ました。 基本的には、パスワードなしでキーストアまたはトラストアにアクセスできますが、これは証明書へのアクセスにのみ適用されます。 プライベートキーがパスワードなしでキーストアからプライベートキーにアクセスしたい場合は、プライベートキーがキーストアに暗号化された形式で保存され、キーストアのパスワードがそのキーであるためできません。

これは、秘密鍵がキーストアファイルに秘密に保持される方法です。

0

私はTLS実装で作業していましたが、Javaクライアントまたはサーバーでパスワードを提供することなく、キーストアまたはトラストストアを使用できることがわかりました。

これは間違っています。 Java KeyStoreには、3つのタイプのエントリが含まれます。秘密鍵。および秘密鍵のエントリ。

信頼できるエントリの完全性は、キーストアのパスワードによって保護されています。ただし、キーストアをロードして、キーストアの整合性をチェックせずに信頼されたエントリを使用することができます。そうすることで脆弱性が生じます。

秘密鍵と秘密鍵のエントリの機密性は、パスワードベースの暗号化によって保護されます。信頼できるエントリとは異なり、これらの機密エントリはパスワードなしではアクセスできません。秘密鍵をパスワードなしで、または間違ったパスワードで回復しようとすると、これを自分で見ることができます。

関連する問題