Présentation de l'API Play Integrity

L'API Play Integrity vous aide à vérifier que les interactions et les requêtes du serveur proviennent du binaire d'application s'exécutant sur un appareil Android authentique. Le serveur backend de votre application détecte les interactions potentiellement risquées et frauduleuses, telles que les versions d'application falsifiées et les environnements non fiables. Il peut ainsi répondre en prenant les mesures appropriées pour empêcher les attaques et réduire les abus.

Lorsque votre application ou votre jeu est utilisé sur un appareil Android avec le Google Play Store et alimenté par les services Google Play, l'API Play Integrity fournit une réponse qui vous aide à déterminer si vous interagissez avec les éléments suivants :

  • Binaire d'application authentique : déterminez si vous interagissez avec le binaire non modifié reconnu par Google Play.
  • Installation Play authentique : déterminez si le compte utilisateur actuel dispose d'une licence, c'est-à-dire si l'utilisateur a installé ou payé votre application ou votre jeu à partir de Google Play.
  • Appareil Android authentique : déterminez si votre application s'exécute sur un appareil Android authentique équipé des services Google Play (ou une instance authentique de Google Play Jeux pour PC).

Vous pouvez aussi choisir de recevoir des informations sur l'environnement dans votre réponse de l'API Play Integrity, y compris:

  • Risque d'accès à l'application:déterminez si des applications en cours d'exécution pourraient être utilisé pour capturer l'écran, afficher des superpositions ou contrôler l'appareil.
  • Risque lié aux logiciels malveillants connus:déterminez si Google Play Protect est activé et s'il a détecté des applications risquées ou dangereuses installées sur l'appareil.

Présentation

Lorsqu'un utilisateur effectue une action dans votre appli, vous pouvez appeler l'API Play Integrity pour vérifier que cela s'est produit dans le binaire de votre application authentique, installé par Google Play, fonctionnant sur un appareil Android authentique. Vous pouvez également activer d'autres Informations incluses dans la réponse, y compris le volume de requêtes effectuées par un appareil et des signaux sur l'environnement, y compris le risque d'accès à l'application l'évaluation et l'évaluation Play Protect. Si quelque chose ne va pas dans les verdicts, le serveur backend de votre application peut alors décider de la marche à suivre pour éviter les problèmes. comme les abus et la fraude, l'usage abusif et la tricherie, l'accès non autorisé et les attaques.

Principales étapes de l'API Play Integrity

Points à noter concernant la sécurité

L'API Play Integrity offre des avantages sans égal pour votre application lorsque vous suivez les pratiques recommandées :

Appliquer une stratégie de lutte contre les abus

L'API Play Integrity fonctionne de manière optimale lorsqu'elle est combinée avec d'autres signaux dans votre stratégie globale de lutte contre les abus plutôt que lorsqu'elle est exécutée comme seul mécanisme de protection. Utilisez cette API conjointement avec d'autres bonnes pratiques de sécurité adaptées à votre application. Par défaut, votre application peut effectuer jusqu'à 10 000 requêtes classiques par jour pour toutes les installations. Vous pouvez demander à augmenter votre limite quotidienne maximale.

Collecter des données télémétriques et cerner votre audience avant d'agir

Avant de modifier le comportement de votre appli en fonction des évaluations de l'API Play Integrity, vous pouvez comprendre la situation actuelle de votre audience en mettant en œuvre sans application forcée. Une fois que vous savez ce qui évalue votre nombre d’installations actuel vous pouvez estimer l'impact des mesures d'application prévues adapter votre stratégie de lutte contre les utilisations abusives en conséquence.

Décider de comment demander les évaluations de l'intégrité

L'API Play Integrity propose deux options pour demander et recevoir des évaluations de l'intégrité. Que vous effectuiez des requêtes standards ou classiques, ou une combinaison des deux, la réponse de l'évaluation de l'intégrité est renvoyée au même format.

Les requêtes API standards conviennent à tous les jeux et applications, et peuvent être effectuées à la demande pour vérifier que toute action de l'utilisateur ou requête du serveur est authentique. Elles présentent la latence la plus faible (quelques centaines de millisecondes en moyenne) et une haute fiabilité d'obtention d'une évaluation utilisable. Les requêtes standards utilisent la mise en cache intelligente sur l'appareil tout en déléguant à Google Play une protection contre certains types d'attaques.

Les requêtes API classiques, avec lesquelles les évaluations de l'intégrité étaient demandées à l'origine, restent également disponibles. Elles ont une latence plus élevée (quelques secondes en moyenne), et vous êtes responsable de l'atténuation des risques liés à certains types d'attaques. Les requêtes classiques consomment plus de données et de batterie que les requêtes standards, car elles lancent une nouvelle évaluation. Elles doivent donc être effectuées à titre exceptionnel pour vérifier si une action hautement sensible ou à forte valeur ajoutée est authentique. Si vous envisagez d'exécuter une requête classique et de la mettre en cache pour l'utiliser ultérieurement, il est conseillé d'effectuer une requête standard afin de réduire le risque d'attaque.

Le tableau suivant met en évidence quelques différences majeures entre ces deux types de requêtes :

Requête API standard Requête API classique
Version minimale du SDK Android requise Android 5.0 (niveau d'API 21) ou version ultérieure Android 4.4 (niveau d'API 19) ou version ultérieure
Préparation de l'API requise ✔️ (quelques secondes)
Latence habituelle des requêtes Quelques centaines de millisecondes Quelques secondes
Fréquence des requêtes potentielles Fréquentes (vérification à la demande pour toute action ou requête) Occasionnelles (vérification ponctuelle des actions les plus intéressantes ou des requêtes les plus sensibles)
Atténuer les risques de rejeu et d'attaques similaires Atténuation automatique par Google Play Utiliser le champ nonce avec la logique côté serveur

Vous trouverez un tableau présentant d'autres différences dans les considérations relatives aux requêtes classiques.

Demander une évaluation de l'intégrité au moment opportun

Vous devez demander une évaluation du risque d'accès à l'application le plus près possible du moment où de l'action ou de la requête de serveur auxquelles vous voulez vous prémunir contre l'accès, pour empêcher les escrocs de contourner le contrôle d'intégrité effectué par votre l'application.

Rendre les requêtes API difficiles à répliquer

Les requêtes API standards comportent un champ nommé requestHash qui protège les utilisateurs contre les accès non autorisés et les attaques similaires. Dans ce champ, vous devez inclure un récapitulatif de toutes les valeurs pertinentes de la requête de votre application. Suivez les instructions sur l'utilisation de la liaison de contenu pour protéger les requêtes standards de votre application.

Les requêtes API classiques comportent un champ appelé nonce qui sert à protéger certains types d'attaques, tels que les attaques par relecture et la falsification. Suivez les conseils sur la génération des nonces pour protéger les requêtes classiques de votre application.

Éviter la mise en cache des évaluations de l'intégrité

La mise en cache des évaluations de l'intégrité augmente le risque de proxying, qui constitue une attaque par laquelle un acteur malintentionné réutilise l'évaluation d'un bon appareil à des fins abusives dans un autre environnement. Plutôt que de mettre en cache les réponses, vous pouvez effectuer une requête API standard pour obtenir une évaluation à la demande.

Adopter une stratégie d'application à plusieurs niveaux

L'évaluation de l'intégrité de l'API Play Integrity offre un éventail de réponses possibles, ce qui permet de créer une stratégie de lutte contre les utilisations abusives avec plusieurs niveaux d'application. Pour ce faire, configurez le serveur backend de votre application de sorte qu'il se comporte différemment en fonction de chaque réponse ou groupe de réponses possible.

Vous pouvez également hiérarchiser votre stratégie d'application en fonction de la fiabilité des appareils en activant la réception de libellés d'appareil supplémentaires dans la réponse de l'API à partir de la Play Console. Chaque appareil renvoie tous les libellés dont il répond aux critères. Par exemple, après avoir activé la réception de tous les libellés d'appareil, vous pouvez choisir de faire confiance à un appareil qui renvoie MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY et MEETS_BASIC_INTEGRITY plus qu'à un appareil qui ne renvoie que MEETS_BASIC_INTEGRITY. Vous pouvez répondre différemment du serveur dans chaque scénario.

Envoyer une plage de réponses de votre serveur à votre application

Il est plus difficile de répliquer une plage de résultats que de renvoyer une réponse binaire (réussite/échec) du serveur à l'application. Par exemple, vous pouvez opter pour une série de réponses associées ("Autoriser", "Autoriser avec des limites", "Autoriser avec des limites après la confirmation du CAPTCHA" et "Refuser", par exemple).

Détecter les abus à grande échelle à l'aide de l'activité récente de l'appareil

Utilisez la fonctionnalité d'activité récente de l'appareil de l'API Play Integrity pour trouver les appareils demandant un grand nombre de jetons d'intégrité. Activité importante les auteurs d'abus génèrent en général des résultats d'attestation valides à partir d'appareils réels et les fournir aux bots pour automatiser les attaques sur les appareils en mode root et les émulateurs. Vous pouvez utiliser le niveau d'activité récente de l'appareil pour vérifier combien attestations ont été générées par votre application sur cet appareil au cours de la dernière heure.

Afficher des messages d'erreur exploitables

Si possible, fournissez des messages d'erreur utiles qui indiquent à l'utilisateur ce qu'il peut faire pour résoudre un problème. Par exemple, vous pouvez lui suggérer de réessayer, d'activer sa connexion Internet ou de vérifier que son application Play Store est à jour.

Anticiper les problèmes ou pannes inattendus

Le tableau de bord d'état de Play affiche des informations sur l'état de fonctionnement de l'API Play Integrity, ainsi que sur les perturbations et les pannes. Vous devez planifier à l'avance comment Vous souhaitez que votre serveur backend fonctionne dans l'éventualité peu probable d'un incident à grande échelle Interruption de l'API Play Integrity.

Envisager des solutions d'entreprise de bout en bout contre la fraude

Les entreprises clientes à la recherche d'une solution complète de lutte contre la fraude et les bots peuvent acheter reCAPTCHA Enterprise pour mobile. Cette application inclut des SDK pour Android qui fournissent aux développeurs des scores de risque de fraude. reCAPTCHA Enterprise inclut automatiquement les signaux de l'API Play Integrity et les combine aux signaux reCAPTCHA relatifs aux réseaux et aux applications, offrant ainsi une solution prête à l'emploi, fluide et invisible pour lutter contre la fraude. Elle peut également protéger les applications Android sur lesquelles l'API Play Integrity n'est pas disponible.

Remettre en question le trafic risqué lorsque vous accédez à des fonctionnalités sensibles ou à forte valeur

Identifiez les actions sensibles ou importantes dans votre application ou jeu pour vous protéger avec l'API Play Integrity, au lieu de refuser complètement l'accès. Si possible, vérifiez la légitimité du trafic dangereux avant de lui permettre d'accéder aux actions importantes. Par exemple, lorsque le risque d'accès à l'application indique qu'une application en cours d'exécution pourrait capturer l'écran, demandez à l'utilisateur de désactiver ou de désinstaller les applications qui peuvent capturer l'écran avant de lui permettre d'accéder à une fonctionnalité que vous souhaitez protéger.

Conditions d'utilisation et sécurité des données

En accédant à l'API Play Integrity et en l'utilisant, vous en acceptez les Conditions d'utilisation. Veuillez lire attentivement l'ensemble des conditions d'utilisation et des règles applicables avant d'accéder à l'API.

Google Play dispose d'une section sur la sécurité des données qui permet aux développeurs de divulguer l'état de leurs applications de collecte, de partage et de sécurité des données pour tenir vos utilisateurs informés. Pour découvrir comment remplir votre formulaire de données, consultez ces informations sur la manière dont l'API Play Integrity traite les données.