Estou pensando em usar o protocolo DTLS para o meu jogo multiplayer online. Para quem não sabe, é essencialmente uma porta de datagramas TLS para UDP.
De acordo com este artigo , a principal sobrecarga do protocolo está na fase de handshake, que levou 950 ms em seus testes. No entanto, este estudo (link quebrado; veja a cópia em archive.org ) indica que, durante o transporte criptografado real, geralmente há menos de 1 milissegundo de atraso.
Isso soa como uma dádiva de Deus para jogos em tempo real. É um canal criptografado de baixa latência e altamente seguro que opera sobre UDP. Ele fornece confiabilidade e proteção para a fase do aperto de mão e sai do caminho. No entanto, nunca ouvi falar dele sendo usado em um jogo antes, embora a especificação RFC tenha sido escrita em 2006 e implementada no OpenSSL.
Por que nem todos os jogos o usam?
fonte
Respostas:
Por que nem todos os jogos o usam? Em primeiro lugar, duvido que a maioria das pessoas tenha ouvido falar desse protocolo. A segurança da rede não é bem conhecida entre os desenvolvedores de jogos e, de qualquer maneira, essa é uma variante bastante obscura. Em segundo lugar, nem todo jogo usa UDP. Em terceiro lugar, o desempenho é uma preocupação. Um atraso de um quinto de milissegundo em cada pacote de 200 bytes obviamente significa que você só pode manipular 5000 pacotes por segundo, mesmo que o sistema não faça mais nada (o que é improvável). E há a comparação do desempenho de gravação - a criptografia pode ser mais cara que a descriptografia.
fonte
Quais seriam os benefícios?
Não confunda a ofuscação como um método de segurança em jogos multiplayer. Ser capaz de interceptar / injetar tráfego normalmente não é uma preocupação, pois um cliente não deve modificar o estado do jogo além dos parâmetros normais (também conhecido como trapaça). Se você está criptografando o tráfego como forma de evitar isso, provavelmente está escrevendo seu código de rede errado e precisa mover mais servidores de simulação.
Então .. em resposta à sua pergunta - segurança desse tipo geralmente não importa em jogos.
Desculpe se eu talvez tenha entendido errado. Talvez você possa descrever por que você acha que os jogos devem usar isso. Você poderá encontrar uma resposta para sua pergunta (se não for esse o caso)
fonte