Java身份验证安全性
我有一个应用程序的中央Java身份验证安全性,java,security,authentication,Java,Security,Authentication,我有一个应用程序的中央admin实例,其中创建了judge帐户。要使用此judge帐户,来自另一台计算机的应用程序的judge实例需要通过中央管理员的身份验证。应用程序的用户实例将向管理员发送一些内容,管理员将把它推给其中一位评委 我的问题是如何认证法官。如果我只是发送密码,它可以被嗅探(因为所有这些实例都需要在同一个网络上) 我不确定使用SSL是否有帮助,但即使有帮助,我也不能使用它(我无法控制它)。您可以在这里使用类似pgp的东西。所以你会使用一些公钥的东西。这样就完全不需要密码了 使用公钥
admin
实例,其中创建了judge
帐户。要使用此judge帐户,来自另一台计算机的应用程序的judge
实例需要通过中央管理员的身份验证。应用程序的用户
实例将向管理员
发送一些内容,管理员将把它推给其中一位评委
我的问题是如何认证法官。如果我只是发送密码,它可以被嗅探(因为所有这些实例都需要在同一个网络上)
我不确定使用SSL是否有帮助,但即使有帮助,我也不能使用它(我无法控制它)。您可以在这里使用类似pgp的东西。所以你会使用一些公钥的东西。这样就完全不需要密码了
使用公钥加密,每个用户都有一个公钥和一个私钥。用一个密钥加密的东西只能用另一个密钥解密。因此,您可以分发公钥。如果有人想给你发送东西,他可以使用你的公钥加密消息,只有你才能解密
因此,发送到服务器的消息将使用用户私钥进行加密。他发送消息和他的公钥。如果知道此公钥,可以在服务器端进行数据库查找。如果你能用这个密钥解密消息,你就知道它是由那个用户发送的
通过一些工作,您可能可以使用它来识别和验证用户
当他们第一次与服务器对话时,您只需使用法官为任何新用户及其公钥进行担保。所以你可以建立一个信任的网络。你可以在这里使用类似pgp的东西。所以你会使用一些公钥的东西。这将完全消除对密码的需要。@iccthedral遗憾的是,问题是任何人都可以嗅到它。@KaiMattern谢谢你的建议,我将对此进行研究。同时,您可以详细说明一下吗?为什么不能使用SSL,自签名证书可以在您控制服务器和客户端时正常工作。