Nous avons récemment annoncé que nous avions renforcé les évaluations de l'API Play Integrity pour les rendre plus rapides, plus résistantes aux attaques et plus respectueuses de la confidentialité des utilisateurs, ainsi que pour apporter d'autres améliorations de sécurité.
Résumé des modifications
Vous trouverez un résumé détaillé des modifications et des questions fréquentes plus loin dans ce document. Les modifications apportées à l'évaluation en mai 2025 sont les suivantes:
Quoi ? | Qu'est-ce qui a changé ? | Impact estimé* | Quels appareils ? |
---|---|---|---|
Modifications qui affectent tous les développeurs qui envoient des requêtes à l'API Play Integrity | |||
Réponse de l'évaluation de l'appareil: meets-device-integrity | Démarrage validé positif, basé sur du matériel | Impact minimal, car l'API Play Integrity utilise déjà des signaux de sécurité intégrés au matériel sur les appareils Android 13 ou versions ultérieures (~0,4%) | Android 13 ou version ultérieure |
Réponse concernant l'intégrité de l'application: évaluation de reconnaissance de l'application | Aucun changement | Impact minimal, qui reflètera le changement dans l'évaluation de l'appareil (~0,4%) | Android 13 ou version ultérieure |
Réponse concernant les détails du compte: évaluation de la licence Play | L'application à l'origine de la demande doit être installée ou mise à jour par Google Play | Baisse mineure des réponses sous licence (environ 2,5%) | Android 6 ou version ultérieure |
Modifications qui ne concernent que les développeurs de la Play Console et de la Play SDK Console qui utilisent des fonctionnalités facultatives | |||
Réponse de l'évaluation de l'appareil: meets-basic-integrity | L'attestation de clé de la plate-forme Android est obligatoire, mais l'état de démarrage peut être validé ou non. | Légère diminution des réponses de base (~0,4%) | Android 13 ou version ultérieure |
Réponse d'évaluation de l'appareil: meets-strong-integrity | Mise à jour de sécurité requise au cours de la dernière année | Baisse du nombre de réponses fortes (environ 14,5%) | Android 13 ou version ultérieure |
Tous les signaux facultatifs | L'application à l'origine de la demande doit être installée ou mise à jour par Google Play | Baisse du pourcentage de réponses incluant des signaux facultatifs (environ 7 %) | Android 13 ou version ultérieure |
*Tous les pourcentages d'impact estimés mentionnés précédemment étaient basés sur des moyennes. Il est possible que les applications aient enregistré des variations plus ou moins importantes en fonction de leur base d'installations.
Questions fréquentes
Présentation
Qu'est-ce que l'API Play Integrity ?
L'API Play Integrity vous aide à évaluer la fiabilité de l'environnement de l'application de l'utilisateur en obtenant des informations sur l'appareil, l'application et l'utilisateur. Vous pouvez ainsi détecter et répondre aux abus et attaques potentiels.
Quels signaux l'API Play Integrity fournit-elle ?
L'API Play Integrity inclut l'identité de l'application à l'origine de la requête, si l'application à l'origine de la requête a été installée par Google Play et si l'appareil est un véritable appareil Android certifié Play Protect. Ces signaux sont fournis par défaut. Vous pouvez lire ces signaux sur le serveur backend de votre application et décider si votre application doit y répondre et comment. Les développeurs Google Play peuvent activer la réception de signaux supplémentaires dans leurs installations Play pour obtenir encore plus d'informations.
Qu'est-ce que l'attestation des clés de la plate-forme Android ?
L'attestation de clé de la plate-forme Android permet aux applications de vérifier l'état de l'appareil et d'obtenir un signal fort de l'intégrité du démarrage intégrée au matériel. Il dépend d'une clé provisionnée par Google dans le keystore basé sur le matériel de l'appareil. L'API Play Integrity utilise déjà l'attestation de clé pour obtenir des signaux de sécurité intégrés au matériel sur certains appareils et les intégrera désormais plus profondément sur tous les appareils équipés d'Android 13 ou version ultérieure.
Modifications des évaluations
Quels changements ont été apportés aux évaluations de l'API Play Integrity sur les appareils Android 13 ou version ultérieure ?
L'API Play Integrity exige désormais des signaux de sécurité intégrés au matériel pour toutes les évaluations de l'intégrité:
- L'évaluation de la reconnaissance de l'appareil
meets-device-integrity
indique que l'appareil sur lequel l'application s'exécute est un appareil Android authentique certifié par Play Protect. Pour que cette évaluation soit possible, le bootloader de l'appareil doit être verrouillé et l'OS Android chargé doit être une image de fabricant d'appareil certifiée. - L'évaluation de reconnaissance de l'appareil
meets-strong-integrity
indique qu'il s'agit d'un appareil Android authentique certifié par Play Protect avec une mise à jour de sécurité récente. Pour obtenir cette évaluation, vous devez avoir appliqué des mises à jourmeets-device-integrity
et de sécurité au cours de la dernière année pour toutes les partitions de l'appareil, y compris un correctif de partition de l'OS Android et un correctif de partition du fournisseur. Cette condition est susceptible d'évoluer à l'avenir. - L'évaluation de la reconnaissance de l'appareil
meets-basic-integrity
indique que la vérification s'est produite sur un appareil Android physique. Le bootloader de l'appareil peut être verrouillé ou déverrouillé, et l'état de démarrage peut être validé ou non. Il est possible qu'il ne soit pas certifié Play Protect, auquel cas Google ne peut fournir aucune garantie de sécurité, de confidentialité ni de compatibilité des applications, et ne peut pas garantir que l'appareil n'agit pas en tant que proxy, par exemple pour une instance virtuelle d'Android. Cela signifie également que les appareils en mode root peuvent renvoyermeets-basic-integrity
tant que l'attestation des clés est présente.
Ces modifications n'ont aucune incidence sur l'API Play Integrity sur Play Jeux pour PC, qui continuera de renvoyer meets-virtual-integrity
.
Pourquoi les évaluations de l'API Play Integrity ont-elles été modifiées sur les appareils équipés d'Android 13 ou version ultérieure ?
L'API Play Integrity utilisait partiellement des signaux de sécurité intégrés au matériel sous Android 12 et versions antérieures. En exigeant une sécurité intégrée au matériel sur Android 13 et versions ultérieures, les évaluations de l'API Play Integrity sont plus résistantes aux pirates informatiques, plus performantes pour les applications et plus respectueuses de la confidentialité pour les utilisateurs. Les développeurs peuvent s'attendre aux améliorations suivantes sur les appareils équipés d'Android 13 ou version ultérieure:
- Réduction d'environ 90 % des signaux de l'appareil qui doivent être collectés et évalués pour générer l'évaluation par défaut sur les serveurs Google. Les signaux facultatifs continueront de nécessiter la collecte de signaux supplémentaires.
- Amélioration de la latence d'évaluation jusqu'à 80% pour les requêtes standards du pire des cas et jusqu'à 80% pour toutes les requêtes classiques afin d'obtenir l'évaluation par défaut. Les signaux facultatifs peuvent augmenter la latence.
- Niveau de fiabilité et de compatibilité cohérent pour tous les facteurs de forme Android avec attestation de clé, y compris les mobiles, les tablettes, les appareils pliables, la télévision, Android Auto, Wear OS et ChromeOS.
- Une différenciation plus importante entre chaque étiquette d'appareil dans le résultat de la reconnaissance de l'appareil:
meets-strong-integrity
,meets-device-integrity
etmeets-basic-integrity
.
L'évaluation de l'API Play Integrity sur Play Jeux pour PC ne change pas et sera la même sur Android 12 et versions antérieures qu'elle l'est sur Android 13 et versions ultérieures.
Comment mettre à jour la logique backend de mon application pour les évaluations de l'intégrité afin de prendre en compte la version du SDK Android ?
Si vous souhaitez utiliser une logique différente sur le serveur backend de votre application en fonction de la version du SDK Android, vous pouvez utiliser le nouveau champ d'attributs de l'appareil dans l'évaluation. Voici un exemple:
Kotlin
val deviceIntegrity = JSONObject(payload).getJSONObject("deviceIntegrity") val sdkVersion = if (deviceIntegrity.has("deviceAttributes")) { deviceIntegrity.getJSONObject("deviceAttributes").getInt("sdkVersion") } else { 0 } if (sdkVersion >= 30) { // Provide Android R+ specific experience to the user. }
Java
JSONObject deviceIntegrity = new JSONObject(payload).getJSONObject("deviceIntegrity"); int sdkVersion = deviceIntegrity.has("deviceAttributes") ? deviceIntegrity.getJSONArray("deviceAttributes").getInt("sdkVersion") : 0; if (sdkVersion >= 30) { // Provide Android R+ specific experience to the user. }
Comment puis-je utiliser l'ancienne définition de libellé meets-strong-integrity
dans toutes les versions du SDK Android ?
Pour ce faire, mettez à jour la logique backend de votre application pour qu'elle utilise meets-strong-integrity
lorsqu'il s'agit d'un appareil antérieur à Android 13 et meets-device-integrity
lorsqu'il s'agit d'un appareil Android 13 ou version ultérieure à l'aide du nouveau champ d'attributs de l'appareil dans l'évaluation qui contient la version du SDK Android. Voici un exemple:
Kotlin
val deviceRecognitionVerdict = if (deviceIntegrity.has("deviceRecognitionVerdict")) { deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString() } else { "" } val deviceIntegrityToCheckFor = sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY"; if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) { // Looks good! }
Java
JSONObject deviceIntegrity = new JSONObject(payload).getJSONObject("deviceIntegrity"); String deviceRecognitionVerdict = deviceIntegrity.has("deviceRecognitionVerdict") ? deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString() : ""; String deviceIntegrityToCheckFor = sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY"; if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) { // Looks good! }
Étant donné qu'il s'agit également d'un signal basé sur le matériel, le champ des attributs de l'appareil est le plus fiable sur les appareils équipés d'Android 13 ou version ultérieure.
Quelles autres modifications ont été apportées aux évaluations ?
Nous investissons continuellement pour rendre les signaux existants de l'API Play Integrity plus fiables et lançons régulièrement de nouvelles fonctionnalités pour aider les développeurs à faire face aux menaces émergentes et aux nouveaux cas d'utilisation. Voici d'autres améliorations apportées à nos évaluations:
- Réponse avec licence Play:pour renvoyer une réponse avec licence Play, l'API Play Integrity exige désormais toujours que l'application à l'origine de la demande soit installée ou mise à jour par Google Play. Cela corrige certains cas particuliers et facilite l'interprétation de la réponse pour les développeurs.
- Disponibilité des signaux facultatifs:tous les signaux facultatifs disponibles pour les développeurs qui utilisent la Google Play Console ou la Play SDK Console nécessitent désormais que l'application à l'origine de la demande soit installée ou mise à jour par Google Play sur Android 13 ou version ultérieure. Cela inclut
meets-strong-integrity
,meets-basic-integrity
, l'activité récente de l'appareil, l'évaluation du risque d'accès des applications et l'évaluation de Play Protect. Nous avons standardisé toutes les autres requêtes de l'API Play Integrity pour recevoir la vérification de l'appareil (avec le libellémeets-device-integrity
uniquement), la vérification du programme d'installation et la vérification de l'intégrité de l'application. - Modifications de l'évaluation pour des appareils spécifiques:l'API Play Integrity modifie automatiquement l'évaluation de l'appareil dans davantage de scénarios afin de protéger les applications plus tôt dans toutes les versions du SDK Android, par exemple en cas d'activité excessive ou de compromission de clés. Cela inclut la possibilité pour Play de recourir à d'autres signaux pour générer des évaluations temporaires de l'appareil pour les utilisateurs lorsque les signaux basés sur le matériel ne sont pas disponibles. Nous recommandons aux développeurs d'utiliser les boîtes de dialogue de correction Play dans l'application ou de rediriger les utilisateurs vers l'application Play Store pour résoudre les problèmes d'évaluation de l'intégrité. À terme, ces boîtes de dialogue traiteront davantage de scénarios et incluront des conseils spécifiques pour indiquer aux utilisateurs ce qu'ils doivent corriger en fonction de leur appareil ou de leur compte.
Comment signaler des problèmes liés aux évaluations de l'intégrité ?
Pour signaler des problèmes liés aux réponses de l'API Play Integrity, que le problème concerne les évaluations historiques ou les nouvelles, suivez les instructions de la page d'assistance.
Disponibilité
De quoi l'API Play Integrity a-t-elle besoin pour fonctionner ?
L'API Play Integrity nécessite que le Google Play Store et les services Google Play soient installés sur un appareil, y compris les appareils Android et Google Play Jeux pour PC. Les requêtes classiques nécessitent Android 4.4 (niveau d'API 19) ou version ultérieure, et les requêtes standards nécessitent Android 5.0 (niveau d'API 21) ou version ultérieure. Sur les appareils équipés d'Android 13 (niveau d'API 33) ou version ultérieure, l'API Play Integrity aura désormais le même niveau de fiabilité et de compatibilité sur tous les facteurs de forme Android avec attestation de clé, y compris les mobiles, les tablettes, les appareils pliables, la télévision, Android Auto, Wear OS et ChromeOS.
Pourquoi l'API Play Integrity affiche-t-elle des évaluations différentes pour différents appareils ?
L'API Play Integrity fournit plusieurs évaluations de l'appareil pour répondre aux différents cas d'utilisation et niveaux de tolérance au risque des développeurs, et pour permettre d'avoir une stratégie d'application à plusieurs niveaux. Par exemple, lorsqu'une application et un appareil sont plus fiables, un développeur peut simplifier les étapes de validation de l'utilisateur. En revanche, lorsqu'un appareil est inconnu, le développeur peut exiger une validation supplémentaire de l'utilisateur avant d'effectuer des actions protégées ou sensibles. Cela peut être un moyen efficace de réduire les utilisations abusives et les attaques.
Qu'est-ce qu'un appareil Android certifié Play Protect ?
Un appareil Android certifié Play Protect (également appelé appareil Android GMS) est un appareil exécutant un logiciel prévisible qui a réussi des centaines de tests de compatibilité de Google, respecte le modèle de sécurité et d'autorisations Android et est livré avec la suite de fonctionnalités anti-logiciels malveillants Google Play Protect. Lorsque l'API Play Integrity peut vérifier qu'un appareil est un appareil Android certifié Play Protect, elle renvoie la réponse meets-device-integrity
dans l'évaluation de la reconnaissance de l'appareil.
Qu'est-ce qu'un appareil meets-basic-integrity
?
L'API Play Integrity renvoie également une réponse facultative dans l'évaluation de l'appareil, meets-basic-integrity
. Si un appareil ne renvoie que le résultat meets-basic-integrity
sans meets-device-integrity
ni meets-strong-integrity
, cela signifie que l'OS Android ne peut pas être validé, mais que l'attestation de clé est présente. Cela indique que la vérification a eu lieu sur un appareil Android physique, mais Google ne peut pas garantir la sécurité, la confidentialité ni la compatibilité de l'appareil avec les applications, et ne peut pas garantir que l'appareil n'agit pas en tant que proxy, par exemple pour une instance virtuelle d'Android. En fonction des cas d'utilisation et de la tolérance au risque des développeurs, ils peuvent décider de la façon dont leur application doit s'exécuter sur ces appareils.
Tous les développeurs peuvent-ils utiliser l'API Play Integrity ?
Oui, tout développeur Android peut envoyer des requêtes à l'API Play Integrity pour recevoir les évaluations de l'intégrité par défaut. L'utilisation est limitée à 10 000 requêtes par jour, quel que soit le canal de distribution. Les développeurs qui publient leurs applications sur Google Play en plus de tout autre canal de distribution peuvent également demander à augmenter leur quota quotidien.
Tous les développeurs peuvent-ils utiliser l'attestation de clé de la plate-forme Android ?
Oui, tout développeur Android peut utiliser l'attestation de clé de la plate-forme Android pour obtenir un enregistrement d'attestation de clé, qu'il peut vérifier avec le certificat public de la clé racine d'attestation de Google. L'API Play Integrity offre aux développeurs les avantages de l'attestation de clé et des fonctionnalités supplémentaires sans avoir à intégrer eux-mêmes l'attestation de clé.
Mesure d'application
Comment les développeurs utilisent-ils les évaluations de l'API Play Integrity ?
Il appartient aux développeurs de décider d'utiliser ou non les évaluations de l'API Play Integrity, et de choisir de quelle manière procéder. Certains développeurs collectent les signaux pour une analyse interne de lutte contre les utilisations abusives, tandis que d'autres prennent des décisions sur le comportement de leur application en fonction du résultat. Par exemple, les développeurs peuvent décider d'exiger que les appareils moins fiables effectuent des étapes de validation utilisateur supplémentaires lors de la création d'un compte. Ils peuvent également décider que les appareils moins fiables doivent jouer ensemble sur le même serveur multijoueur.
L'API Play Integrity bloque-t-elle des utilisateurs ou des appareils ?
Non, l'API Play Integrity ne bloque pas l'accès à une fonctionnalité en elle-même. Il s'agit d'un service facultatif pour les développeurs qui fournit des signaux. Les développeurs choisissent comment réagir à ces signaux.
Que doivent faire les utilisateurs si les vérifications de l'appareil par l'API Play Integrity échouent ?
Pour y accéder, les utilisateurs peuvent ouvrir l'application Play Store sur leur appareil, accéder au menu "Paramètres", faire défiler la page jusqu'à "À propos", puis consulter la certification Play Protect. Si la certification Play Protect de l'appareil présente un problème, un bouton s'affiche pour que l'utilisateur puisse essayer de résoudre le problème. L'état de certification de l'appareil sera actualisé et des instructions spécifiques vous seront fournies sur ce qui doit être corrigé.