Pergunta

Alguém sabe o que a tendência é com desenvolvedores MMORPG criptografia seus protocolos cliente / servidor nos dias de hoje?

Os prós e contras de são os seguintes.

protocolo de Criptografia:

  • protege segredos comerciais sobre protocolo cliente / servidor a um grau?
  • Botting não está parado, ele só é alterado porque as pessoas vão criar bots que lêem estados de tela e eventos do mouse gatilho + teclado serão então desenvolvidos, apenas mitigar o desenvolvimento de bots em oposição a impedi-los de qualquer maneira. Ainda bem que o desenvolvimento bot é menos da oferta um pouco, mas a demanda ainda está lá, eles simplesmente obter propostas mais elevadas em rentacoder.com

regular de texto simples:

  • bots mais avançados desde os desenvolvedores são capazes de injetar suas próprias datagramas para o protocolo cliente / servidor. (Ou seja: que atravessa paredes, teletransporte ... que lado o servidor tem que verificar agora, que por sua vez leva a um concurso de desenvolvimento entre as façanhas patching via injecção (demorado)
Foi útil?

Solução

@Samuel & coxymla:

Isso não é inteiramente verdade. Se o protocolo utiliza criptografia assíncrono onde a chave privada do servidor é desconhecido para o cliente, em seguida, o bot não pode descriptografar a saída do cliente. Isto significa que para modificar os dados de saída, o bot na verdade, tem de ligar o processo do jogo e interceptar os dados antes de ser criptografado.

É bastante simples na teoria, mas pode ser tecnicamente desafiadora. Pelo menos você está levantando a barra para os atacantes.

@Zombies: Além troca de chave inicial, a maioria dos esquemas de criptografia não exigem a transferência de dados extra. Além disso, enquanto há trabalho extra a ser feito quando a criptografia é utilizada, a transferência de dados vai certamente ser limitado pela rede e não o processador.

Coloque claramente, a criptografia não leva a mais transferência mais lento / dados.

Nota de advertência: Esta página Wikipedia contém uma história sobre um erro de criptografia comum feita pela desenvolvedores de Phantasy Star online. Vale a pena uma leitura.

Outras dicas

Como adicionar criptografia para seus pacotes só irá retardar uma pessoa que escreve um bot por oh, alguns segundos. Seu cliente precisa saber como criptografar a enviar dados para o servidor e como os dados decrypt a partir do servidor, e assim que o bot.

Com relação à prevenção de deformação através de paredes, você deve fazer essas verificações sempre. Nunca confie a entrada do usuário, mesmo que você tenha escrito o cliente si mesmo.

Como fastcall mencionado, você ainda deve implementar a criptografia de alguns dados. Especificamente os que contêm dados sensíveis, como logins e chat.

No mínimo, o protocolo de login do MMO devem ser criptografados para que as pessoas na rede do jogador não pode farejar pacotes suas informações de conta.

Esta razão pode facilmente ser estendido a outros dados o jogador envia. Por exemplo, bate-papo com outros jogadores podem conter informações confidenciais. Se o jogo já está indo pela dificuldade de criação de um protocolo de criptografia para o processo de login, provavelmente não há muita razão para desligá-lo depois que você fez.

Eu estava sob a impressão de que nenhum dos principais MMOs usado criptografado transporte de dados. Como disse Samuel, você realmente não obter qualquer segurança fora dele desde que o cliente tem de ser capaz de criptografar e descriptografar os dados também.

É bastante irrelevante. Imagino que a criptografar os metadados, como as informações de login e informações de sessão, mas, em seguida, enviar os dados a mecânica de jogo em claro. Afinal de contas, o servidor não pode confiar o cliente de qualquer maneira (não tendo sido cortado).

A maioria dos bots de hack vai ligar para o processo de jogo correr e picar ao redor com sua memória de qualquer maneira, o que é completamente indetectável - que muitas vezes colocar em algum reconhecimento de assinatura, que tenta detectar hackbots conhecidos em execução na memória, mas este é essencialmente inútil contrário.

Outra técnica possível para detectar hackbots é detectar padrões de jogo de outros conhecidos.

A encriptação dos dados não faz nada, como hackbots atacar o cliente, na memória.

Se você tem o tempo, este um + vídeo hora sobre netcode tem uma parte sobre criptografia (entre outras coisas tais como sincronização do cliente e a compressão do pacote).

A citação relevante do vídeo é esta: CPU é barato. Apenas criptografá-lo, você tem tempo de CPU suficiente para encypt eo benefício da criptografia é alta (clientes não verá comandos do seu cliente, aumenta o bar para cortar, etc).

A principal razão pela qual os desenvolvedores devem adicionar criptografia para seus protocolos é razões de marketing. Eles simplesmente só precisa garantir que seu servidor será apenas uma (por exemplo, se eles vão (ou já) quer fazer inscrição paga) e ninguém vai apenas escrever seu próprio emulador de servidor depois de descobrir de protocolo e vai oferecê-lo gratuitamente .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top