Estas práticas recomendadas são fornecidas como referências exemplares. Avalie suas implementações de forma independente.
- Confidencialidade
- Integridade
- Autenticação
Confidencialidade
Protege a comunicação contra observação externa, limitando a visibilidade aos parceiros participantes. É obtida por meio da criptografia das mensagens usando algoritmos e cifras criptográficas fortes. Somente mensagens com criptografia forte garantem que apenas os detentores das chaves de criptografia/descriptografia possam lê-las ou produzi-las; portanto, o compartilhamento de chaves está fortemente ligado à autenticação. A confidencialidade do endereço IP do jogador também é importante. Encaminhe a comunicação por meio de servidores dedicados ou retransmissores para que um único canal direto (como o chat de voz) não exponha o IP de um jogador.Integridade
Detecta adulterações durante a transmissão. É obtida por meio de hash seguro das mensagens, além de números de sequência ou carimbos de data/hora.- Hashes seguros criam um resumo da mensagem que revela qualquer adulteração.
- Números de sequência/carimbos de data/hora impedem que invasores dupliquem e reproduzam mensagens.
Autenticação
Valida com segurança a identidade dos parceiros de comunicação e impede a falsificação de identidade. É obtida com certificados verificáveis publicamente para serviços e tokens de autenticação da plataforma para clientes.- Exija autenticação de todos os parceiros de comunicação como padrão.
- Para dados públicos somente leitura (configuração, mensagem do dia), autenticar apenas o serviço de origem pode ser aceitável — mas tome cuidado para não estender esse padrão a outros casos.
- Os clientes de jogo em uma plataforma de jogos devem sempre usar tokens seguros de autenticação da plataforma. Segredos codificados nos clientes são insuficientes — os invasores podem adivinhá-los ou extraí-los.
- Tokens de serviço/conta do jogo também são aceitáveis se seguirem as diretrizes de tokens seguros e forem emitidos após a validação do token da plataforma.
Documentação de API relacionada
- Referência da API XCurl — cliente HTTPS com suporte a TLS
- Referência do libHttpClient — transporte HTTPS/WebSocket usado pelo XSAPI
- Referência da API de rede — Winsock e endereços de dispositivo seguros
- Referência da API XNetworking — verificação de certificados e dicas de conectividade
- Referência REST do XSAPI — chamadas autenticadas por XSTS para os XBOX services
