我选择SSL在游戏客户端注册。客户端与游戏服务器进行通信,该服务器存储一个咸/散列密码。
如果我在登录时使用SSL对用户进行身份验证,但是游戏完成了与UDP数据包的所有通信,那么服务器如何知道它接收的UDP数据包来自经过身份验证的用户?
请注意,我最感兴趣的是确保对用户进行身份验证。我不关心UDP数据包的隐私。
发布于 2014-02-16 05:11:48
安全的方法是使用DTLS:这是应用于UDP的SSL/TLS。
不太安全的方法是发明你自己的协议。在这种情况下,由于您只担心身份验证,所以情况会是这样的:
正确的包管理以避免重放攻击是一个微妙的问题;将该任务留给已经实现的DTLS库是明智的做法。
发布于 2014-02-15 22:34:22
我不认为你有什么不清楚的地方。要进行SSL身份验证,谁是证书持有者、客户端还是服务器?看来持有证书的客户是合理的。在这种情况下,服务器必须拥有此证书的公钥。因此,实现身份验证的一个简单方法是对UDP包的序列号和一些带有私钥的随机字符串进行加密。因此,如果服务器能够解密UDP中的签名,它将确保包确实来自客户端。
https://security.stackexchange.com/questions/51590
复制相似问题