Übersicht über die Play Integrity API

Mit der Play Integrity API können Sie prüfen, ob Nutzeraktionen und Serveranfragen von Ihrer echten App stammen, die über Google Play installiert wurde und auf einem echten Android-Gerät ausgeführt wird. Wenn Sie riskante Interaktionen erkennen, z. B. von manipulierten App-Versionen, nicht vertrauenswürdigen Geräten oder emulierten Umgebungen, kann Ihr Backend-Server mit entsprechenden Maßnahmen reagieren, um Missbrauch und unbefugten Zugriff zu verhindern, Betrug zu bekämpfen, Cheating zu verhindern und Nutzer vor Angriffen zu schützen.

Play Integrity API – Übersicht
Ablauf

Die API gibt Ergebnisse zurück, mit denen Sie potenzielle Bedrohungen erkennen können, darunter:

  • Unautorisierter Zugriff: Das accountDetails-Ergebnis hilft Ihnen, zu ermitteln, ob der Nutzer Ihre App oder Ihr Spiel bei Google Play installiert oder dafür bezahlt hat.
  • Code-Manipulation: Das Ergebnis appIntegrity hilft Ihnen, festzustellen, ob Sie mit Ihrem unveränderten Binärprogramm interagieren, das von Google Play erkannt wird.
  • Risikobehaftete Geräte und emulierte Umgebungen: Das deviceIntegrity-Ergebnis hilft Ihnen, festzustellen, ob Ihre App auf einem echten, Play Protect-zertifizierten Android-Gerät oder einer echten Instanz von Google Play Spiele für PC ausgeführt wird.

Google Play-Entwickler können auch zusätzliche Ergebnisse erhalten, um ein breiteres Spektrum potenzieller Bedrohungen zu erkennen, darunter:

  • Geräte ohne Patch: Mit der MEETS_STRONG_INTEGRITY-Antwort im deviceIntegrity-Ergebnis können Sie feststellen, ob auf einem Gerät die aktuellen Sicherheitsupdates angewendet wurden (für Geräte mit Android 13 und höher).
  • Riskanter Zugriff durch andere Apps:Mit der appAccessRiskVerdict können Sie ermitteln, ob Apps ausgeführt werden, die zum Aufzeichnen des Bildschirms, zum Einblenden von Overlays oder zum Steuern des Geräts verwendet werden könnten (z. B. durch Missbrauch der Berechtigung für Barrierefreiheit).
  • Bekannte Malware:Mit dem playProtectVerdict können Sie feststellen, ob Google Play Protect aktiviert ist und ob auf dem Gerät installierte Apps gefunden wurden, die als riskant oder gefährlich eingestuft werden.
  • Hyperaktivität:Mit dem recentDeviceActivity-Level können Sie feststellen, ob ein Gerät in letzter Zeit eine ungewöhnlich hohe Anzahl von Anfragen gesendet hat. Dies kann auf automatisierten Traffic hindeuten und ein Zeichen für einen Angriff sein.
  • Wiederholter Missbrauch und wiederverwendete Geräte:Mit deviceRecall (Beta) können Sie feststellen, ob Sie mit einem Gerät interagieren, das Sie zuvor gemeldet haben, auch wenn Ihre App neu installiert oder das Gerät zurückgesetzt wurde.

Die API kann für alle Android-Formfaktoren verwendet werden, einschließlich Smartphones, Tablets, Falt-Smartphones, Android Auto, Android TV, Android XR, ChromeOS, Wear OS und Google Play Spiele für PC.

Sicherheitsaspekte

Die Play Integrity API bringt für Ihre App den größten Nutzen, wenn Sie die folgenden Best Practices einhalten:

Strategie zur Verhinderung von Missbrauch

Im Rahmen deiner Strategie gegen Missbrauch solltest du die Play Integrity API am besten zusammen mit anderen Signalen verwenden. Verwenden Sie diese API in Verbindung mit anderen geeigneten Sicherheits-Best Practices für Ihre App. Standardmäßig kann Ihre App pro Tag insgesamt bis zu 10.000 Anfragen für alle Installationen stellen. Sie können eine Erhöhung des täglichen Maximums beantragen.

Telemetriedaten erfassen und Zielgruppe analysieren, bevor Sie Maßnahmen ergreifen

Bevor Sie das Verhalten Ihrer App basierend auf den Ergebnissen der Play Integrity API ändern, können Sie die aktuelle Situation bei Ihren bestehenden Nutzern nachvollziehen, indem Sie die API ohne Erzwingung implementieren. Sobald Sie wissen, welche Ergebnisse Ihre aktuelle Installationsbasis liefert, können Sie die Auswirkungen von geplanten Maßnahmen schätzen und Ihre Strategie zur Missbrauchsbekämpfung entsprechend anpassen.

Entscheiden Sie, wie Sie Integritätsergebnisse anfordern möchten

Die Play Integrity API bietet zwei Optionen zum Anfordern und Empfangen von Integritätsergebnissen. Unabhängig davon, ob Sie Standardanfragen, klassische Anfragen oder eine Kombination aus beiden Arten von Anfragen senden, wird die Antwort mit dem Integritätsurteil im selben Format zurückgegeben.

Standard-API-Anfragen eignen sich für jede App oder jedes Spiel und können bei Bedarf gestellt werden, um zu prüfen, ob eine Nutzeraktion oder Serveranfrage echt ist. Standardanfragen haben die niedrigste Latenz (durchschnittlich einige Hundert Millisekunden) und eine hohe Zuverlässigkeit bei der Erstellung eines brauchbaren Ergebnisses. Bei Standardanfragen wird intelligentes On-Device-Caching verwendet, während der Schutz vor bestimmten Arten von Angriffen an Google Play delegiert wird.

Klassische API-Anfragen, die ursprüngliche Methode zum Anfordern von Integritätsergebnissen, sind weiterhin verfügbar. Klassische Anfragen haben eine höhere Latenz (durchschnittlich einige Sekunden) und Sie sind dafür verantwortlich, das Risiko bestimmter Arten von Angriffen zu minimieren. Bei klassischen Anfragen werden mehr Daten und Akku des Nutzers verwendet als bei Standardanfragen, da eine neue Bewertung initiiert wird. Sie sollten daher nur selten als einmalige Aktion verwendet werden, um zu prüfen, ob eine hochsensible oder wertvolle Aktion echt ist. Wenn Sie eine klassische Anfrage stellen und sie für die spätere Verwendung im Cache speichern möchten, sollten Sie stattdessen eine Standardanfrage stellen, um das Risiko von Angriffen zu verringern.

In der folgenden Tabelle sind einige wichtige Unterschiede zwischen den beiden Arten von Anfragen aufgeführt:

Standard-API-Anfrage Klassische API-Anfrage
Mindestanforderung an die Android SDK-Version Android 5.0 (API‑Level 21) oder höher Android 4.4 (API‑Level 19) oder höher
API-Warm-up erforderlich ✔️ (einige Sekunden)
Typische Anfragelatenz Einige Hundert Millisekunden Ein paar Sekunden
Mögliche Häufigkeit von Anfragen Häufig (On-Demand-Prüfung für jede Aktion oder Anfrage) Selten (einmalige Prüfung für Aktionen mit dem höchsten Wert oder die vertraulichsten Anfragen)
Schutz vor Replay- und ähnlichen Angriffen Automatische Risikominderung durch Google Play Feld nonce mit serverseitiger Logik verwenden

Eine Tabelle mit weiteren Unterschieden finden Sie unter Überlegungen zu klassischen Anfragen.

Integritätsprüfung zum richtigen Zeitpunkt anfordern

Sie sollten so kurz wie möglich vor der Aktion oder Serveranfrage, die Sie vor unbefugtem Zugriff schützen möchten, ein Risikourteil für den App-Zugriff anfordern, um zu verhindern, dass Betrüger die von Ihrer App durchgeführte Integritätsprüfung umgehen.

API-Anfragen schwer nachzubilden

Standard-API-Anfragen haben ein Feld namens requestHash, das zum Schutz vor Manipulationen und ähnlichen Angriffen verwendet wird. In diesem Feld sollten Sie eine Zusammenfassung aller relevanten Werte aus der Anfrage Ihrer App angeben. Inhaltsbindung verwenden, um die Standardanfragen Ihrer App zu schützen

Klassische API-Anfragen haben ein Feld namens nonce (Abkürzung für „number once“), das zum Schutz vor bestimmten Arten von Angriffen wie Replay- und Manipulationsangriffen verwendet wird. Folgen Sie der Anleitung zum Generieren von Nounces, um die klassischen Anfragen Ihrer App zu schützen.

Ergebnisse zur Integrität nicht im Cache speichern

Durch das Zwischenspeichern von Integritätsergebnissen erhöht sich das Risiko von Proxying. Bei dieser Art von Angriff verwendet ein böswilliger Akteur ein Ergebnis von einem vertrauenswürdigen Gerät für missbräuchliche Zwecke in einer anderen Umgebung. Anstatt Antworten zu cachen, können Sie eine Standard-API-Anfrage senden, um bei Bedarf ein Ergebnis zu erhalten.

Stufenweise Durchsetzung

Das Integritätsergebnis der Play Integrity API kann verschiedene Antworten liefern, die eine mehrstufige Strategie ermöglichen. Sie können den Backend-Server Ihrer App so konfigurieren, dass er sich je nach möglicher Antwort oder Gruppe von Antworten anders verhält.

Sie können Ihre Erzwingungsstrategie auch nach der Vertrauenswürdigkeit des Geräts staffeln, indem Sie in der Play Console zusätzliche Gerätelabels in Ihrer API-Antwort aktivieren. Für jedes Gerät werden alle Labels zurückgegeben, deren Kriterien es erfüllt. Wenn Sie sich beispielsweise dafür entschieden haben, alle Gerätelabels zu erhalten, können Sie ein Gerät, das MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY und MEETS_BASIC_INTEGRITY zurückgibt, als vertrauenswürdiger einstufen als ein Gerät, das nur MEETS_BASIC_INTEGRITY zurückgibt. Sie können in jedem Szenario anders auf den Server reagieren.

Eine Reihe von Antworten von Ihrem Server an Ihre App senden

Eine Reihe von Entscheidungsergebnissen ist schwieriger zu replizieren als das Senden einer binären Antwort (Zulassen/Ablehnen) vom Server zurück an die App für jede Antwort. Sie könnten beispielsweise eine Reihe von zusammenhängenden Antworten wie „Zulassen“, „Mit Einschränkungen zulassen“, „Mit Einschränkungen zulassen, nachdem das CAPTCHA abgeschlossen wurde“ und „Ablehnen“ verwenden.

Wiederholte Fälle von Missbrauch mithilfe der Gerätewiedererkennung erkennen und gleichzeitig die Privatsphäre der Nutzer schützen

Mit der Gerätewiedererkennung können Apps benutzerdefinierte Daten, die mit einem bestimmten Gerät verknüpft sind, so speichern und wiedererkennen, dass die Privatsphäre der Nutzer geschützt bleibt. Die Daten werden auf Google-Servern gespeichert, sodass deine App zuverlässig Daten für jedes Gerät abrufen kann, auch wenn die App neu installiert oder das Gerät zurückgesetzt wurde. So können Sie ein Gerät, das in der Vergangenheit für Missbrauch verwendet wurde, zuverlässig wiedererkennen und Maßnahmen ergreifen, um zu verhindern, dass es noch einmal für Missbrauch verwendet wird. Sie können die Bedeutung der drei Werte, aus denen die Daten zum Rückruf von Geräten bestehen, selbst definieren:

  • Sie können sie als bis zu drei separate Flags oder boolesche Werte verwenden. Die Werte können beispielsweise angeben, ob ein Konto auf einem Gerät erstellt wurde, ob ein Probeabo eingelöst wurde oder ob das Gerät für schwerwiegenden Missbrauch bekannt ist.
  • Alternativ können Sie alle Status der Werte in bis zu acht benutzerdefinierten Labels kombinieren, z. B. ein Label für den Standardstatus, wenn alle drei Werte unverändert sind, und sieben Labels mit benutzerdefinierten Bedeutungen. So können Sie alle Geräte anhand von Verhaltensweisen oder Aktionen, die Sie definieren, in bis zu acht Gruppen segmentieren. In diesem Fall gibt die zuletzt aktualisierte der drei writeDates an, wann Sie das Label zuletzt aktualisiert haben.

Beachten Sie auch die Voraussetzungen und andere Aspekte, wenn Sie mit Daten zum Rückruf von Geräten arbeiten.

Umfangreichen Missbrauch anhand der letzten Geräteaktivitäten erkennen

Mit der Funktion Letzte Geräteaktivitäten in der Play Integrity API können Sie Geräte ermitteln, die eine große Anzahl von Integritäts-Tokens anfordern. Betrüger, die Aktivitäten mit hohem Volumen ausführen, generieren häufig gültige Attestierungsergebnisse von echten Geräten und stellen sie Bots zur Verfügung, um Angriffe auf gerootete Geräte und Emulatoren zu automatisieren. Anhand des Aktivitätsniveaus der letzten Geräteaktivitäten können Sie prüfen, wie viele Attestierungen in der letzten Stunde von Ihrer App auf diesem Gerät generiert wurden.

Aktionsfähige Fehlermeldungen anzeigen

Falls möglich, solltest du Nutzern informative Fehlermeldungen zur Problembehebung bereitstellen. Dazu gehört, dass du ihnen mitteilst, was sie tun können, um das Problem zu beheben, z. B. die Aktion noch einmal ausführen, die Internetverbindung aktivieren oder prüfen, ob die Play Store App auf dem neuesten Stand ist.

Plan für unerwartete Probleme oder Ausfälle

Das Google Play-Status-Dashboard enthält Informationen zum Dienststatus der Play Integrity API sowie Informationen zu Unterbrechungen und Ausfällen. Sie sollten im Voraus planen, wie sich Ihr Backend-Server im unwahrscheinlichen Fall eines groß angelegten Ausfalls der Play Integrity API verhalten soll. Ihr Backend-Server sollte auch für den Fall gerüstet sein, dass gerätespezifische Android Platform Key Attestation-Schlüssel widerrufen werden.

End-to-End-Lösungen für Betrug in Unternehmen in Betracht ziehen

Unternehmen, die eine umfassende Lösung für die Betrugs- und Bot-Verwaltung suchen, können reCAPTCHA Enterprise für Mobilgeräte erwerben. Diese Lösung umfasst SDKs für Android, die Entwicklern Betrugsrisikobewertungen zur Verfügung stellen. reCAPTCHA Enterprise umfasst automatisch Play Integrity API-Signale und kombiniert sie mit reCAPTCHA-Netzwerk- und Anwendungssignalen für Kunden. So wird eine reibungslose, unsichtbare Lösung für die Betrugsverwaltung geboten. Außerdem kann sie Android-Apps schützen, für die die Play Integrity API nicht verfügbar ist.

Risikoreichen Traffic bei Zugriff auf wertvolle oder vertrauliche Funktionen herausfordern

Identifizieren Sie in Ihrer App oder Ihrem Spiel Aktionen mit hohem Wert oder vertrauliche Aktionen, die Sie mit der Play Integrity API schützen möchten, anstatt den Zugriff direkt zu verweigern. Fordern Sie Nutzer mit riskantem Traffic nach Möglichkeit auf, sich zu authentifizieren, bevor sie Aktionen mit hohem Wert ausführen. Wenn das Risiko von App-Zugriffen beispielsweise darauf hinweist, dass eine App ausgeführt wird, die den Bildschirm aufzeichnen könnte, fordern Sie den Nutzer auf, Apps, die den Bildschirm aufzeichnen können, zu deaktivieren oder zu deinstallieren, bevor Sie ihm erlauben, mit der Funktion fortzufahren, die Sie schützen möchten.

Nutzungsbedingungen und Datensicherheit

Wenn Sie auf die Play Integrity API zugreifen oder sie verwenden, stimmen Sie den Nutzungsbedingungen für die Play Integrity API zu. Lesen Sie sich bitte alle anwendbaren Nutzungsbedingungen und Richtlinien durch, bevor Sie auf die API zugreifen.

In Google Play gibt es einen Abschnitt zur Datensicherheit, in dem Entwickler die Praktiken ihrer Apps hinsichtlich Datenerhebung, -weitergabe und -sicherheit offenlegen können, um Nutzer auf dem Laufenden zu halten. Weitere Informationen dazu, wie die Play Integrity API Daten verarbeitet