Passer au contenu principal
Le système de gestion des licences du Microsoft Store effectue une vérification de licence au lancement d’un jeu distribué par le Microsoft Store. Le système d’exploitation ne lance pas le jeu à moins que l’utilisateur ne dispose d’une licence valide pour le produit, y compris la propriété directe, une licence partagée ou une licence de disque (console XBOX uniquement). Toutefois, sur PC, une fois qu’un utilisateur dispose d’une licence valide, il peut facilement déchiffrer le contenu, l’exécuter en dehors du contexte du Microsoft Store, le partager avec d’autres personnes et contourner le système de gestion des licences du Microsoft Store. Par conséquent, nous vous recommandons d’ajouter une vérification de licence de base à tout jeu PC qui souhaite se protéger contre ce comportement.

Niveaux de protection de la gestion des droits numériques (DRM)

Sur PC, le système de gestion des licences du Microsoft Store protège uniquement contre les attaques les plus élémentaires. Nous vous recommandons de ne pas vous y fier exclusivement pour le contenu qui nécessite une protection. Voici plusieurs étapes qui peuvent ajouter des couches de protection contre des attaques plus avancées.
  1. Vérification de licence lancée par le jeu au démarrage
  2. Protection anti-falsification pour la vérification de licence du jeu
  3. Vérification de licence côté service à l’aide d’un jeton de licence

Vérification de licence de base

Au minimum, nous vous recommandons d’ajouter une vérification de licence de base à tout jeu qui souhaite une protection DRM. L’exemple de code suivant montre une implémentation de base pour effectuer cette vérification, même si vous n’utilisez aucun autre appel d’API lié au Gaming Runtime. Vous pouvez ajouter le code à votre chemin de démarrage et ajouter une interface utilisateur précise qui s’affiche en cas d’échec de la vérification de licence.
Une licence accordée au moyen de XBOX Game Pass retourne isActive = true, comme une licence achetée. La structure XStoreGameLicense ne comprend aucun champ indiquant comment la licence a été acquise; une vérification de licence côté client ne peut donc pas distinguer l’accès Game Pass d’un achat direct. Pour faire cette distinction, utilisez la requête côté service décrite dans Détecter l’accès par abonnement XBOX Game Pass à partir de votre service.

Protection anti-falsification non Microsoft

Bien que l’exemple de vérification de licence de base offre une certaine protection, il est courant que les attaquants contournent ce type de protection en modifiant les exécutables du jeu pour contourner cette vérification. Ainsi, la prochaine étape pour sécuriser votre jeu consiste à utiliser un produit anti-falsification non Microsoft pour empêcher ces types d’attaques. Des options sont offertes pour les jeux PC GDK. Collaborez avec votre fournisseur de solution anti-falsification pour obtenir des instructions détaillées sur l’intégration de cette protection à votre jeu.

Vérification de licence côté service

Les protections anti-falsification protègent bien les titres au lancement, mais un grand nombre d’entre elles finissent par être contournées. Pour aller plus loin, les jeux en ligne peuvent effectuer une vérification de licence côté service et bloquer de nombreuses attaques côté client. Pour plus d’informations, consultez Vue d’ensemble des jetons de licence. Les grandes lignes sont les suivantes.
  1. Le service de jeu demande un jeton de licence au client de jeu et inclut un GUID généré par le service de jeu qui représente cette requête unique.
  2. Le client appelle ensuite une API cliente XStoreQueryLicenseTokenAsync.
  3. L’API appelle le service de gestion des licences et détermine si le jeu doit retourner une licence à cet utilisateur.
  4. Si l’API obtient une licence valide, elle retourne un jeton de licence signé qui contient l’identificateur de session fourni par le service.
  5. Le client renvoie ensuite le jeton de licence au service de jeu.
  6. Le service de jeu valide la signature, ce qui garantit que la licence provient du Microsoft Store et n’a pas été modifiée.
  7. Le service de jeu vérifie ensuite que le GUID de session correspond à celui transmis au client à l’étape 1.
  8. Le service de jeu peut alors se fier à la validité des informations de licence contenues dans le jeton.
Cette technique fonctionne uniquement en ligne et nécessite que le jeu dispose de son propre service. Elle offre le plus haut niveau de protection actuellement disponible.

Documentation de référence de l’API

Références

Informations sur le commerce propres aux titres compatibles PC Modèle de partage de produits pour les jeux Vue d’ensemble des jetons de licence Vue d’ensemble du commerce Référence de l’API XStore
Dernière modification le 6 octobre 2026