2012-03-26 8 views
0

私はRMI経由でサーバー間認証を行っています。 RMI経由で通信するアプリケーションサーバー(サーバー部分)といくつかのWebサーバー(クライアント部分)があります。 Webサーバーは、アプリケーションサーバー上で認証する必要があります。最も簡単な方法は、ウェブサーバーの設定ファイル(クリアテキスト)に保存されているパスワードを使用することですが、それは明らかに非常に悪い習慣です。Java(RMI)サーバ間認証方式ですか?

私の考えは、Webサーバー(クライアント)で生成された公開鍵/秘密鍵を使用することです。 privateKeyはキーストアに格納され、publicKeyはapp-serverにパブリッシュされます。クライアントを認証するために、生成されたランダムなStringがprivateKey(署名の作成)で署名され、署名と文字列がサーバーに送信されます。サーバーは、署名とそのpublicKeyを使用してStringを検証します。
良いアイデアですか?
これは非常に安全ではありませんが、クリアテキストのパスワードを保存するよりも優れていることは分かります。

これに関するご提案はありますか?
パスワード保護のための100%安全な代替手段にする必要はありません。

ありがとうございました。

答えて

2

公開鍵/秘密鍵の暗号化で十分です。 パスワードをLDAPサーバーに保存し、サーバーとクライアントの両方にLDAPにアクセスできるようにすることもできます。しかし、これにより、サーバーが1台増え、ネットワーク使用量が増えます。 究極のセキュリティはSecure RMIを使用することです。これはRMIメッセージを保護し、サーバーへの接続を保護します。

関連する問題