2012-03-26 165 views
0

我正在通过RMI进行服务器到服务器身份验证。应用程序服务器(服务器部分)和几个通过RMI进行通信的Web服务器(客户端部分)。 Web服务器必须在应用程序服务器上进行身份验证。最简单的方法是使用存储在Web服务器的配置文件(明文)中的密码,但这显然是非常糟糕的做法。Java(RMI)服务器到服务器的身份验证方法?

我的想法是使用在Web服务器(客户端)上生成的公钥/私钥。 privateKey存储在密钥库中,publicKey发布到应用程序服务器。为了验证客户端,一个生成的随机字符串用privateKey(创建一个Signature)和两者签名,签名和字符串被发送到服务器。服务器用签名验证字符串,它是publicKey。
好主意?
我知道这不是非常安全,但比存储明文密码更好。

对此有何建议?
有没有必要使它100%安全,只是一个很好的替代密码保护。

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

回答

2

公钥/私钥加密应该足够好。 其他的替代方案是将密码存储在LDAP服务器中,并允许服务器以及客户端访问LDAP。但是,这会增加一台服务器的负担和一些更多的网络使用。 最终的安全性将是使用安全RMI,这将保护您的RMI消息以及保护到服务器的连接。