2012-03-26 169 views
0

我正在通過RMI進行服務器到服務器身份驗證。應用程序服務器(服務器部分)和幾個通過RMI進行通信的Web服務器(客戶端部分)。 Web服務器必須在應用程序服務器上進行身份驗證。最簡單的方法是使用存儲在Web服務器的配置文件(明文)中的密碼,但這顯然是非常糟糕的做法。Java(RMI)服務器到服務器的身份驗證方法?

我的想法是使用在Web服務器(客戶端)上生成的公鑰/私鑰。 privateKey存儲在密鑰庫中,publicKey發佈到應用程序服務器。爲了驗證客戶端,一個生成的隨機字符串用privateKey(創建一個Signature)和兩者簽名,簽名和字符串被髮送到服務器。服務器用簽名驗證字符串,它是publicKey。
好主意?
我知道這不是非常安全,但比存儲明文密碼更好。

對此有何建議?
有沒有必要使它100%安全,只是一個很好的替代密碼保護。

謝謝你,祝你有美好的一天。

回答

2

公鑰/私鑰加密應該足夠好。 其他的替代方案是將密碼存儲在LDAP服務器中,並允許服務器以及客戶端訪問LDAP。但是,這會增加一臺服務器的負擔和一些更多的網絡使用。 最終的安全性將是使用安全RMI,這將保護您的RMI消息以及保護到服務器的連接。