0

可能重复:
Java 身份验证安全性

我有一个创建帐户admin的应用程序的中心实例。judge为了使用此法官帐户,judge来自另一台计算机的应用程序实例需要通过中央admin. 该应用程序的一个user实例会将一些内容发送给admin,后者会将其推送给其中一位评委。

评委需要能够登录并通过管理员进行身份验证。主要问题是,由于每个人在同一个网络上并且没有 SSL(我无法控制),因此有人可以嗅探法官发送给管理员的任何内容,然后自己发送该数据并获得法官身份验证。

4

1 回答 1

2

显然,使用 SSL 将是正确的方法。

如果这不是一个选项,您可以自己加密请求的内容并确保它只能使用一次。

您需要:

  • 生成包含用户名、密码和时间戳/随机值的加密令牌。在 stackoverflow 上有一些关于 crypt/decrypt String 操作的好例子。
  • 您的服务器必须确保每个令牌只能使用一次(例如保留地图)
  • 令牌在有限的小间隔后过期......

这不会是不可破解的,但会阻止常规嗅探器重用凭据。

于 2012-09-08T21:38:47.940 回答