从登录服务器安全地转发客户端身份验证到游戏服务器

时间:2014-12-10 22:09:41

标签: java authentication networking client server

简单的架构和困境总结:

  • 入口点: 客户端成功验证单身 LoginServer (通过TCP连接提供有效的用户名+密码)。 LoginServer 是唯一可以访问盐渍登录数据库的服务器。
  • LoginServer GameServer 列表中智能地选择单个 GameServer 以分配此客户端。在分配到 GameServer 之后,客户端将独家向所述 GameServer 发送I / O请求,这将根据游戏设计的性质进行内部处理
  • 困境 GameServer 不包含客户端的数据,并且不知道之间发生的“握手” LoginServer 客户端 GameServer 无法将 LoginServer 的身份验证信息放到适当映射的客户端中......因为它必须使用什么?< / p>

  • 潜在解决方案:使用 LoginServer 成功进行身份验证后,客户端将获得一个唯一令牌,以使用 GameServer验证自身(S)

旁注:由于潜在的IP欺骗,我假设使用任何基于IP的安全问题。

1 个答案:

答案 0 :(得分:0)

您可以在服务器和客户端之间创建会话。

会话详细信息应由您决定,并应在用户使用LoginServer登录时创建。然后,登录服务器应将这些详细信息转发给游戏服务器,以便CLIENT和SERVER都知道他们的身份。

额外阅读 -

Creating a secure login using sessions and cookies in PHP

http://blog.teamtreehouse.com/how-to-create-bulletproof-sessions

What are sessions? How do they work?

PHP Session Security