2014-02-15 23 views
1

我選擇SSL在我的遊戲客戶端註冊。客戶端與存儲鹽漬/散列密碼的遊戲服務器通信。SSL認證用戶如何通過UDP數據包證明其真實性?

如果我使用SSL在登錄時對用戶進行身份驗證,但遊戲確實與UDP數據包進行了所有通信,服務器如何知道它接收到的UDP數據包來自已驗證的用戶?

+0

請注意,我最關心的是確保用戶通過身份驗證。我不關心UDP數據包的隱私。 – BahKoo

回答

1

潛在地,您可以通過SSL提供令牌,並在UDP數據包中傳遞該令牌。但是沒有加密就沒有用處:攻擊者可以攔截UDP數據包,獲取令牌並使用被盜的令牌快速進行攻擊。

另一種選擇是通過SSL交換對稱密鑰並使用這些密鑰來加密UDP數據包。但要正確地做到這一點,您還必須添加MAC,最後您將最終重新創建TLS :)。

最好的選擇是使用DTLS--通過UDP工作的TLS的味道。您的所有溝通都將通過這種方式進行身份驗證和保護。使用DTLS的可能性取決於您使用的語言/平臺以及您可以調用的外部庫(如果有)。