Nous avons récemment annoncé que nous avions renforcé les verdicts de l'API Play Integrity pour les rendre plus rapides, plus résistants aux attaques et plus respectueux de la confidentialité des utilisateurs, ainsi que d'autres améliorations de la 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. Voici les modifications apportées aux verdicts en mai 2025 :
Quoi ? | Qu'est-ce qui a changé ? | Impact estimé* | Quels appareils ? |
---|---|---|---|
Modifications ayant un impact sur tous les développeurs qui envoient des requêtes à l'API Play Integrity | |||
Réponse de l'évaluation de l'appareil : meets-device-integrity | Un verdict Verified Boot positif et soutenu par le matériel est requis. | 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 version ultérieure (~0,4 %). | Android 13 et versions ultérieures |
Réponse sur l'intégrité de l'application : évaluation de reconnaissance de l'application | Aucun changement | Impact minimal, qui reflète la modification du verdict de l'appareil (~0,4 %) | Android 13 et versions ultérieures |
Réponse "Détails du compte" : verdict de la licence Play | L'application à l'origine de la requête doit être installée ou mise à jour par Google Play. | Légère diminution des réponses sous licence (~2,5 %) | Android 6 ou version ultérieure |
Modifications qui n'ont d'incidence que sur les développeurs Play Console et Play SDK Console utilisant des fonctionnalités facultatives | |||
Réponse de l'évaluation de l'appareil : meets-basic-integrity | L'attestation de la clé de plate-forme Android est obligatoire, mais l'état du 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 de l'évaluation de l'appareil : meets-strong-integrity | Doit avoir reçu une mise à jour de sécurité au cours de l'année écoulée | Diminution des réponses fortes (~14,5 %) | Android 13 ou version ultérieure |
Tous les signaux facultatifs (sauf les attributs de l'appareil)** | L'application à l'origine de la requête doit être installée ou mise à jour par Google Play. | Diminution du pourcentage de réponses incluant des signaux facultatifs (~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. Différentes applications peuvent avoir enregistré des variations plus ou moins importantes en fonction de leur base d'installation.
**Les signaux facultatifs (à l'exception des attributs de l'appareil) sont les suivants :
meets-basic-integrity
, meets-strong-integrity
, l'activité récente de l'appareil, le rappel d'appareil (bêta), l'état Play Protect et le risque d'accès aux applications.
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 les abus et les attaques potentiels et y répondre.
Quels signaux l'API Play Integrity fournit-elle ?
L'API Play Integrity inclut l'identité de l'application qui envoie la requête, indique si elle a été installée par Google Play et si l'appareil est un appareil Android authentique et certifié. Ces signaux sont fournis par défaut. Vous pouvez lire ces signaux sur le serveur backend de votre application et décider si et comment votre application doit répondre. Les développeurs Google Play peuvent choisir de recevoir des signaux supplémentaires dans leurs installations Play pour obtenir encore plus d'informations.
Qu'est-ce que l'attestation des clés de plate-forme Android ?
L'attestation de clé de 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 matériel. Elle dépend d'une clé fournie par Google dans le keystore matériel de l'appareil. L'API Play Integrity utilise déjà l'attestation de clé pour obtenir des signaux de sécurité pris en charge par le matériel sur certains appareils. Elle va désormais les intégrer plus profondément sur tous les appareils équipés d'Android 13 ou version ultérieure.
Modifications des verdicts
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é :
- Le verdict de reconnaissance de l'appareil
meets-device-integrity
indique que l'appareil sur lequel l'application est exécutée est un appareil Android authentique et certifié. Ce verdict exige que le bootloader de l'appareil soit verrouillé et que l'OS Android chargé soit une image certifiée du fabricant de l'appareil. - L'évaluation de reconnaissance de l'appareil
meets-strong-integrity
indique qu'il s'agit d'un appareil Android authentique et certifié avec une mise à jour de sécurité récente. Ce verdict exige desmeets-device-integrity
et des mises à jour 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. - Le verdict de reconnaissance de l'appareil
meets-basic-integrity
indique que la vérification a été effectuée sur un appareil physique fonctionnant sous Android. Le bootloader de l'appareil peut être verrouillé ou déverrouillé, et l'état du démarrage peut être validé ou non. Il est possible qu'il ne soit pas certifié. Dans ce cas, Google ne peut fournir aucune garantie concernant la sécurité, la confidentialité ou la 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 rootés 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 à 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 sur Android 12 et versions antérieures. En exigeant une sécurité matérielle sur Android 13 et versions ultérieures, les verdicts de l'API Play Integrity sont plus résistants aux attaques, plus performants pour les applications et plus respectueux 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 d'appareil à collecter et à évaluer pour générer l'évaluation par défaut sur les serveurs Google. Les signaux optionnels continueront de nécessiter la collecte de signaux supplémentaires.
- Amélioration de la latence des verdicts jusqu'à 80 % pour les requêtes standards les plus lentes et jusqu'à 80 % pour toutes les requêtes classiques visant à obtenir le verdict par défaut. Les signaux facultatifs peuvent augmenter la latence.
- Un niveau de fiabilité et d'assistance cohérent pour tous les facteurs de forme Android avec attestation de clé, y compris les mobiles, les tablettes, les appareils pliables, les téléviseurs, les appareils automobiles, Wear OS et ChromeOS.
- Une plus grande différenciation entre chaque libellé d'appareil dans le verdict de reconnaissance des appareils :
meets-strong-integrity
,meets-device-integrity
etmeets-basic-integrity
.
L'évaluation de l'API Play Integrity sur Play Jeux pour PC ne change pas. Elle sera la même sur Android 12 et versions antérieures que sur Android 13 et versions ultérieures.
Comment mettre à jour la logique de backend de mon application pour que les verdicts d'intégrité tiennent compte de 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 du libellé meets-strong-integrity
dans toutes les versions du SDK Android ?
Pour ce faire, mettez à jour la logique du backend de votre application afin d'utiliser meets-strong-integrity
pour les appareils antérieurs à Android 13 et meets-device-integrity
pour les appareils Android 13 ou ultérieurs. Utilisez le 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! }
Comme il s'agit également d'un signal matériel, le champ des attributs de l'appareil est plus fiable sur les appareils équipés d'Android 13 ou version ultérieure.
Quels autres changements ont été apportés aux verdicts ?
Nous investissons continuellement pour rendre les signaux existants de l'API Play Integrity plus fiables et nous lançons régulièrement de nouvelles fonctionnalités pour aider les développeurs à faire face aux nouvelles menaces et aux nouveaux cas d'utilisation. Voici d'autres améliorations que nous avons apportées aux verdicts :
- 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 extrêmes 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 (à l'exception des attributs de l'appareil) exigent 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, le rappel d'appareil (bêta), le verdict sur le risque d'accès aux applications et le verdict 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, la vérification de l'intégrité de l'application et les attributs de l'appareil (si activés). - Modifications des évaluations pour des appareils spécifiques : l'API Play Integrity modifie automatiquement les évaluations des appareils dans davantage de scénarios afin de protéger les applications plus tôt sur toutes les versions du SDK Android, par exemple en cas de preuve d'activité excessive ou de clé compromise. Cela inclut la possibilité pour Play de revenir à d'autres signaux pour générer des verdicts temporaires sur les appareils 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 intégrées à l'application ou de rediriger les utilisateurs vers l'application Play Store pour résoudre les problèmes liés à l'évaluation de l'intégrité. À terme, ces boîtes de dialogue traiteront davantage de scénarios et incluront des conseils spécifiques pour les utilisateurs, en leur indiquant ce qu'ils doivent corriger en fonction de leur appareil ou de leur compte.
Comment signaler des problèmes liés aux verdicts d'intégrité ?
Pour signaler des problèmes liés aux réponses de l'API Play Integrity, qu'il s'agisse des anciennes ou des nouvelles évaluations, suivez les instructions de la page d'assistance.
Disponibilité
Quelles sont les exigences de l'API Play Integrity ?
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 offre désormais le même niveau de fiabilité et d'assistance pour tous les facteurs de forme Android avec une attestation clé, y compris les mobiles, les tablettes, les appareils pliables, les téléviseurs, les appareils automobiles, Wear OS et ChromeOS.
Pourquoi l'API Play Integrity affiche-t-elle des évaluations différentes selon les appareils ?
L'API Play Integrity fournit plusieurs verdicts d'appareil pour s'adapter aux développeurs ayant différents cas d'utilisation et tolérances au risque, et pour permettre une stratégie d'application par 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é ?
Un appareil Android certifié (également appelé appareil Android certifié Play Protect) est un appareil exécutant un logiciel prévisible qui a réussi des centaines de tests de compatibilité Google, qui respecte le modèle de sécurité et d'autorisations Android, et qui a été livré avec la suite de fonctionnalités anti-malware Google Play Protect. Lorsque l'API Play Integrity est en mesure de vérifier qu'un appareil est un appareil Android authentique et certifié, 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 verdict 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 des clés est présente. Cela indique que la vérification a été effectuée sur un appareil physique fonctionnant sous Android, mais Google ne peut pas garantir la sécurité, la confidentialité ni la compatibilité des applications de l'appareil, et ne peut pas non plus garantir que l'appareil n'agit pas en tant que proxy, par exemple pour une instance virtuelle d'Android. En fonction de leurs cas d'utilisation et de leur tolérance au risque, les développeurs peuvent décider de la façon dont leur application s'exécute 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 d'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 les rendre disponibles sur d'autres canaux de distribution peuvent également demander à augmenter leur quota quotidien.
Tous les développeurs peuvent-ils utiliser l'attestation de clé de plate-forme Android ?
Oui, tout développeur Android peut utiliser l'attestation de clé de plate-forme Android pour obtenir un enregistrement d'attestation de clé, qu'il peut valider 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 des clés et d'autres fonctionnalités, sans la complexité de devoir s'intégrer eux-mêmes à l'attestation des clés.
Mesure d'application
Comment les développeurs utilisent-ils les verdicts de l'API Play Integrity ?
Il appartient aux développeurs de décider s'ils souhaitent utiliser les verdicts de l'API Play Integrity et de quelle manière. Certains développeurs collectent les signaux pour une analyse interne contre les utilisations abusives, tandis que d'autres prennent des décisions sur le comportement de leur application en fonction du verdict. Par exemple, les développeurs peuvent décider d'exiger des appareils moins fiables qu'ils effectuent des étapes de validation supplémentaires lors de la création d'un compte, ou qu'ils jouent 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 soi. Il s'agit d'un service de développement facultatif qui fournit des signaux. Les développeurs choisissent comment agir en fonction de ces signaux.
Que doivent faire les utilisateurs si leur appareil échoue aux vérifications de l'API Play Integrity ?
Les utilisateurs peuvent accéder à l'application Play Store sur leur appareil, ouvrir le menu "Paramètres", faire défiler l'écran jusqu'à "À propos", puis rechercher la section "Certification Play Protect". En cas de problème avec la certification Play Protect de leur appareil, un bouton s'affiche pour leur permettre de tenter de résoudre le problème. L'état de certification de l'appareil sera actualisé et des conseils spécifiques sur les corrections à apporter seront fournis.