Übersicht über die Play Integrity API

Mit der Play Integrity API kannst du prüfen, ob Interaktionen und Serveranfragen von deinem echten App-Binärprogramm stammen, das auf einem echten Android-Gerät ausgeführt wird. Durch die Erkennung potenziell riskanter und betrügerischer Interaktionen wie manipulierte App-Versionen und nicht vertrauenswürdige Umgebungen kann der Back-End-Server Ihrer Anwendung geeignete Maßnahmen ergreifen, um Angriffe zu verhindern und Missbrauch zu reduzieren.

Wenn Ihre App oder Ihr Spiel auf einem Android-Gerät mit dem Google Play Store verwendet wird und von Google Play-Diensten unterstützt wird, liefert die Play Integrity API eine Antwort, mit der Sie feststellen können, ob Sie mit Folgendem interagieren:

  • Echtes App-Binärprogramm:Ermitteln Sie, ob Sie mit Ihrem unveränderten Binärprogramm interagieren, das Google Play erkennt.
  • Echte Play-Installation:Ermitteln Sie, ob das aktuelle Nutzerkonto lizenziert ist, was bedeutet, dass der Nutzer Ihre App oder Ihr Spiel bei Google Play installiert oder dafür bezahlt hat.
  • Echtes Android-Gerät:Ermitteln Sie, ob Ihre App auf einem echten Android-Gerät mit Google Play-Diensten (oder einer echten Instanz von Google Play Spiele für PC) ausgeführt wird.
  • Frei von bekannter Malware:Ermitteln Sie, ob Google Play Protect aktiviert ist und ob riskante oder gefährliche Apps auf dem Gerät installiert wurden.

Übersicht

Wenn ein Nutzer eine Aktion in deiner App ausführt, kannst du die Play Integrity API aufrufen, um zu prüfen, ob die Aktion in deinem echten App-Binärprogramm ausgeführt wurde, das von Google Play installiert wurde und auf einem echten Android-Gerät ausgeführt wird. Sie können auch Signale zur Umgebung aktivieren, z. B. ob Google Play Protect aktiviert ist und bekannte Malware auf dem Gerät gefunden hat. Wenn mit den Ergebnissen etwas nicht in Ordnung ist, kann der Back-End-Server Ihrer Anwendung entscheiden, wie er sich vor Problemen wie Missbrauch und Betrug, Missbrauch und Betrug, nicht autorisierten Zugriff und Angriffen schützt.

Ablauf der Play Integrity API – Übersicht

Sicherheitsaspekte

Die Play Integrity API bietet den größten Nutzen für deine App, wenn du diese empfohlenen Vorgehensweisen befolgst:

Eine Strategie zur Vermeidung von Missbrauch entwickeln

Die Play Integrity API funktioniert am besten, wenn sie zusammen mit anderen Signalen im Rahmen Ihrer allgemeinen Strategie gegen Missbrauch und nicht als einziger Mechanismus gegen Missbrauch verwendet wird. Verwenden Sie diese API zusammen mit anderen geeigneten Best Practices für die Sicherheit für Ihre Anwendung. Standardmäßig kann Ihre Anwendung für alle Installationen insgesamt bis zu 10.000 Anfragen pro Tag stellen. Sie können eine Erhöhung des Tageslimits anfordern.

Entscheiden, wie Sie Integritätsergebnisse anfordern

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 stellen, wird die Antwort zum Integritätsergebnis im selben Format zurückgegeben.

Standard-API-Anfragen eignen sich für jede App und 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 (im Durchschnitt einige hundert Millisekunden) und eine hohe Zuverlässigkeit bei der Erlangung eines brauchbaren Ergebnisses. Standardanfragen nutzen intelligentes Caching auf dem Gerät, während Google Play den Schutz vor bestimmten Angriffsarten delegiert.

Klassische API-Anfragen, die ursprüngliche Methode zum Anfordern von Integritätsergebnissen, sind ebenfalls weiterhin verfügbar. Klassische Anfragen haben eine höhere Latenz (im Durchschnitt einige Sekunden) und Sie sind selbst dafür verantwortlich, das Risiko bestimmter Angriffsarten zu minimieren. Klassische Anfragen verbrauchen mehr Daten und Akkuleistung des Nutzers als Standardanfragen, da sie eine neue Bewertung starten und sie daher nur selten als einmalige Aktion durchgeführt werden sollten, um zu prüfen, ob eine hochsensible oder wertvolle Aktion echt ist. Wenn Sie erwägen, eine klassische Anfrage zu senden und sie zur späteren Verwendung im Cache zu speichern, sollten Sie stattdessen eine Standardanfrage senden, um das Risiko von Angriffen zu verringern.

In der folgenden Tabelle sind einige wichtige Unterschiede zwischen den beiden Anfragetypen aufgeführt:

Standard-API-Anfrage Klassische API-Anfrage
Android SDK-Mindestversion erforderlich Android 5.0 (API-Level 21) oder höher Android 4.4 (API-Level 19) oder höher
API-Aufwärmphase erforderlich ✔️ (ein paar Sekunden)
Typische Anfragelatenz Einige Hundert Millisekunden Einige Sekunden
Potenzielle Anfragehäufigkeit Häufig (On-Demand-Prüfung für jede Aktion oder Anfrage) Selten (einmalige Prüfung von Aktionen mit dem höchsten Wert oder besonders sensiblen Anfragen)
Abwehr von Replay-Angriffen und ähnlichen Angriffen Automatische Risikominderung von Google Play Feld nonce mit serverseitiger Logik verwenden

Unter Überlegungen zu klassischen Anfragen finden Sie eine Tabelle mit weiteren Unterschieden.

Die Replikation von API-Anfragen erschweren

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

Klassische API-Anfragen haben ein Feld namens nonce (kurz für einmal), das zum Schutz vor bestimmten Arten von Angriffen wie Replay- und Manipulationsangriffen verwendet wird. Folgen Sie der Anleitung zum Generieren von Nonnen, um die klassischen Anfragen Ihrer Anwendung zu schützen.

Integritätsergebnisse im Cache vermeiden

Das Caching-Integritätsergebnisse erhöht das Risiko von Proxying. Dabei handelt es sich um einen Angriff, bei dem ein böswilliger Akteur ein Ergebnis eines einwandfreien Geräts für missbräuchliche Zwecke in einer anderen Umgebung wiederverwendet. Anstatt Antworten im Cache zu speichern, können Sie eine Standard-API-Anfrage stellen, um bei Bedarf ein Ergebnis zu erhalten.

Sie haben eine gestaffelte Strategie zur Durchsetzung der Richtlinien.

Das Integritätsergebnis der Play Integrity API bietet eine Reihe möglicher Antworten, wodurch es möglich ist, eine Strategie zur Vermeidung von Missbrauch mit mehreren Erzwingungsebenen zu erstellen. Konfigurieren Sie dazu den Back-End-Server Ihrer Anwendung so, dass er sich in Abhängigkeit von jeder möglichen Antwort oder Gruppe von Antworten unterschiedlich verhält.

Sie können Ihre Erzwingungsstrategie auch basierend auf der Vertrauenswürdigkeit des Geräts stufen. Dazu aktivieren Sie in Ihrer API-Antwort von der Play Console die Option, zusätzliche Gerätelabels zu erhalten. Für jedes Gerät werden alle Labels zurückgegeben, deren Kriterien es erfüllt. Wenn Sie beispielsweise die Option zum Empfang aller Gerätelabels aktiviert haben, können Sie einem Gerät vertrauen, das MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY und MEETS_BASIC_INTEGRITY mehr zurückgibt als einem Gerät, das nur MEETS_BASIC_INTEGRITY zurückgibt. Sie können in jedem Szenario anders als der Server reagieren.

Verschiedene Antworten vom Server an Ihre App senden

Eine Reihe von Entscheidungsergebnissen ist schwieriger zu replizieren als das Senden einer binären Zulassen/Ablehnen-Antwort vom Server für jede Antwort zurück an die Anwendung. Sie können beispielsweise eine Reihe verwandter Antworten verwenden, z. B. „Zulassen“, „Mit Limits zulassen“, „Mit Limits nach Captcha zulassen“ und „Ablehnen“.

Umfassenden Missbrauch erkennen

Verwenden Sie die Funktion Letzte Geräteaktivität in der Play Integrity API, um Geräte zu finden, die eine große Anzahl von Attestierungen anfordern. Nutzer, die hohe Aktivitäten ausführen, generieren in der Regel 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 Ergebnisses der letzten Geräteaktivität können Sie die Anzahl der Attestierungen ermitteln, die von Ihrer Anwendung in der letzten Stunde auf einem Gerät generiert wurden.

Umsetzbare Fehlermeldungen anzeigen

Wenn möglich, solltest du dem Nutzer hilfreiche Fehlermeldungen zur Verfügung stellen und ihm erklären, wie er das Problem beheben kann. Dazu kann er es noch einmal versuchen, 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 Play-Status-Dashboard enthält Informationen zum Dienststatus der Play Integrity API sowie Informationen zu Störungen und Ausfällen. Sie können im Voraus konfigurieren, wie Ihr Back-End-Server im unwahrscheinlichen Fall eines umfangreichen Ausfalls der Play Integrity API funktionieren soll.

Umfassende Betrugslösungen für Unternehmen

Unternehmenskunden, die nach einer vollständigen Betrugs- und Bot-Management-Lösung suchen, können reCAPTCHA Enterprise für Mobilgeräte erwerben. Dazu gehören SDKs für Android, die Entwicklern Betrugsrisikobewertungen für Entwickler liefern. reCAPTCHA Enterprise berücksichtigt automatisch Play Integrity API-Signale und kombiniert sie mit reCAPTCHA-Netzwerk- und -Anwendungssignalen für Kunden. So ist eine sofortige, reibungslose und unsichtbare Lösung zur Betrugsbewältigung verfügbar. Sie kann auch Schutz für Android-Apps bieten, in denen die Play Integrity API nicht verfügbar ist.

Nutzungsbedingungen und Datensicherheit

Wenn du auf die Play Integrity API zugreifst oder sie verwendest, stimmst du den Nutzungsbedingungen der Play Integrity API zu. Bitte lesen Sie sich die geltenden Nutzungsbedingungen und Richtlinien durch, bevor Sie auf die API zugreifen.

In Google Play gibt es einen Abschnitt zur Datensicherheit für Entwickler, in dem sie die Praktiken der Datenerhebung, -weitergabe und -sicherheit in ihren Apps offenlegen, um ihre Nutzer auf dem Laufenden zu halten. Informationen zum Ausfüllen des Datenformulars finden Sie unter Datenverarbeitung durch die Play Integrity API.