Ces bonnes pratiques sont fournies à titre de références exemplaires. Évaluez vos implémentations de manière indépendante.
- Confidentialité
- Intégrité
- Authentification
Confidentialité
Protège la communication contre l’observation externe, en limitant la visibilité aux partenaires participants. Elle est obtenue 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/déchiffrement peuvent les lire ou les produire ; le partage des clés est donc étroitement lié à l’authentification. La confidentialité de l’adresse IP des joueurs est également importante. Acheminez les communications via des serveurs dédiés ou des relais afin qu’un canal direct unique (comme la conversation vocale) n’expose pas l’adresse IP d’un joueur.Intégrité
Détecte toute falsification pendant la transmission. Elle est obtenue par un hachage sécurisé des messages, associé à 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 et horodatages empêchent les attaquants de dupliquer et de rejouer des messages.
Authentification
Valide de manière sécurisée l’identité des partenaires de communication et empêche l’usurpation d’identité. Elle est obtenue à l’aide 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 de n’authentifier que le service d’origine, mais veillez à ne pas étendre ce modèle à d’autres cas.
- Les clients de jeu sur une plateforme de jeu doivent toujours utiliser des jetons d’authentification de la plateforme sécurisés. Les secrets codés en dur dans les clients sont insuffisants : les attaquants peuvent les deviner ou les extraire.
- Les jetons de service ou de compte du jeu sont également acceptables s’ils respectent les instructions relatives aux jetons sécurisés et sont émis après la validation du jeton de la plateforme.
Documentation des API associées
- 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 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 vers les XBOX services
