Ces pratiques exemplaires sont fournies à titre de références. Évaluez vos implémentations de façon indépendante.
- Confidentialité
- Intégrité
- Authentification
Confidentialité
Protège les communications contre l’observation externe en limitant leur visibilité aux partenaires participants. Elle s’obtient par le chiffrement des messages à l’aide d’algorithmes et de chiffrements cryptographiques robustes. Seuls des messages fortement chiffrés garantissent que seuls les détenteurs des clés de chiffrement et de déchiffrement peuvent les lire ou les produire; c’est pourquoi le partage des clés est étroitement lié à l’authentification. La confidentialité de l’adresse IP des joueurs est également importante. Acheminez les communications par des serveurs dédiés ou des relais afin qu’un seul canal direct (comme le clavardage vocal) n’expose pas l’adresse IP d’un joueur.Intégrité
Détecte la falsification pendant la transmission. Elle s’obtient par un hachage sécurisé des messages, combiné à des numéros de séquence ou à des horodatages.- Les hachages sécurisés créent un condensé du message qui révèle toute falsification.
- Les numéros de séquence ou horodatages empêchent les attaquants de dupliquer et de rejouer des messages.
Authentification
Valide de façon sécurisée l’identité des partenaires de communication et empêche l’usurpation d’identité. Elle s’obtient au moyen de certificats vérifiables publiquement pour les services et de jetons d’authentification de la plateforme pour les clients.- Exigez par défaut l’authentification de tous les partenaires de communication.
- Pour les données publiques en lecture seule (configuration, message du jour), il peut être acceptable d’authentifier uniquement le service d’origine, mais veillez à ne pas étendre ce modèle à d’autres cas.
- Les clients de jeu sur une plateforme de jeu devraient toujours utiliser des jetons d’authentification sécurisés de la plateforme. Les secrets codés en dur dans les clients sont insuffisants : les attaquants peuvent les deviner ou les extraire.
- Les jetons de service de jeu ou de compte sont également acceptables s’ils respectent les directives relatives aux jetons sécurisés et sont émis après la validation du jeton de la plateforme.
Documentation des API connexes
- Référence de l’API XCurl : client HTTPS compatible TLS
- Référence de libHttpClient : transport HTTPS/WebSocket utilisé par XSAPI
- Référence de l’API de réseau : Winsock et adresses d’appareil sécurisées
- Référence de l’API XNetworking : vérification des certificats et indications de connectivité
- Référence REST de XSAPI : appels authentifiés par XSTS aux XBOX services
