Ü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 das Erkennen potenziell riskanter und betrügerischer Interaktionen, z. B. von manipulierten App-Versionen und nicht vertrauenswürdigen Umgebungen, kann der Back-End-Server Ihrer Anwendung mit geeigneten Maßnahmen reagieren, um Angriffe zu verhindern und Missbrauch zu reduzieren.

Wenn deine App oder dein Spiel auf einem Android-Gerät mit dem Google Play Store verwendet und von den Google Play-Diensten unterstützt wird, liefert die Play Integrity API eine Antwort, mit der du feststellen kannst, ob du mit Folgendem interagierst:

  • Echtes App-Binärprogramm:Prüfen Sie, ob Sie mit Ihrem unveränderten Binärprogramm interagieren, das Google Play erkennt.
  • Echte Play-Installation:Prüfe, ob das aktuelle Nutzerkonto lizenziert ist, was bedeutet, dass der Nutzer deine App oder dein Spiel bei Google Play installiert oder dafür bezahlt hat.
  • Echtes Android-Gerät:Prüfen 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.

Sie können auch festlegen, dass Sie in Ihrer Play Integrity API-Antwort Informationen zur Umgebung erhalten möchten, darunter:

  • Risiko des App-Zugriffs:Ermitteln Sie, ob Apps ausgeführt werden, die verwendet werden könnten, um den Bildschirm aufzunehmen, Overlays anzuzeigen oder das Gerät zu steuern.
  • Risiko durch bekannter Malware:Prüfen Sie, ob Google Play Protect aktiviert ist und ob auf dem Gerät installierte Apps gefunden wurden, die ein potenzielles Risiko darstellen.

Übersicht

Wenn ein Nutzer eine Aktion in deiner App ausführt, kannst du die Play Integrity API aufrufen, um zu prüfen, ob dies in deinem echten App-Binärprogramm passiert ist, das von Google Play installiert wurde und auf einem echten Android-Gerät ausgeführt wird. Sie können auch zusätzliche Informationen in der Antwort aktivieren, z. B. die Anzahl der Anfragen, die ein Gerät kürzlich gestellt hat, und Signale zur Umgebung, einschließlich des Urteils zum Risiko des App-Zugriffs und des Play Protect-Ergebnisses. Wenn mit den Ergebnissen etwas nicht stimmt, kann der Back-End-Server Ihrer App entscheiden, wie er sich vor Problemen wie Missbrauch und Betrug, Missbrauch und Betrug, nicht autorisiertem Zugriff und Angriffen schützen soll.

Übersicht über die Play Integrity API

Sicherheitsaspekte

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

Strategie gegen Missbrauch

Die Play Integrity API funktioniert am besten, wenn sie zusammen mit anderen Signalen als Teil deiner gesamten Strategie gegen Missbrauch verwendet wird und nicht als dein einziger Mechanismus zur Vermeidung von Missbrauch. Verwenden Sie diese API in Verbindung mit anderen geeigneten Best Practices für die Sicherheit Ihrer Anwendung. Standardmäßig kann Ihre Anwendung bei allen Installationen insgesamt bis zu 10.000 Anfragen pro Tag senden. Sie können beantragen, dass Ihr Tageslimit erhöht wird.

Telemetriedaten erheben und Zielgruppen besser verstehen, bevor sie aktiv werden

Bevor du das Verhalten deiner App entsprechend den Ergebnissen der Play Integrity API änderst, kannst du die aktuelle Situation bei deiner bestehenden Zielgruppe nachvollziehen, indem du die API ohne Erzwingung implementierst. Sobald Sie wissen, welche Ergebnisse Ihre aktuelle Installationsbasis liefert, können Sie die Auswirkungen der geplanten Erzwingung abschätzen und Ihre Strategie gegen Missbrauch entsprechend anpassen.

Entscheiden, wie Integritätsergebnisse angefordert werden

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

Standard-API-Anfragen eignen sich für jede App oder jedes Spiel. Sie können bei Bedarf gestellt werden, um zu überprüfen, ob eine Nutzeraktion oder Serveranfrage echt ist. Standardanfragen haben die niedrigste Latenz (im Durchschnitt einige hundert Millisekunden) und eine hohe Zuverlässigkeit beim Erhalt eines brauchbaren Ergebnisses. Bei Standardanfragen wird Smart-On-Device-Caching genutzt und der Schutz vor bestimmten Angriffsarten wird an Google Play delegiert.

Auch klassische API-Anfragen, die ursprüngliche Methode zum Anfordern von Integritätsergebnissen, sind weiterhin verfügbar. Klassische Anfragen haben eine höhere Latenz (im Durchschnitt einige Sekunden) und es liegt in Ihrer Verantwortung, das Risiko bestimmter Angriffsarten zu minimieren. Klassische Anfragen verbrauchen mehr Daten und Akkukapazität als Standardanfragen, da sie eine neue Bewertung initiieren. Daher sollten sie nur einmalig ausgeführt werden, um zu prüfen, ob eine höchst sensible oder wertvolle Aktion echt ist. Wenn Sie eine klassische Anfrage stellen und zur späteren Verwendung im Cache speichern möchten, sollten Sie stattdessen eine Standardanfrage senden, 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
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 ✔️ (einige Sekunden) ❌ Vorstellung
Typische Anfragelatenz Einige hundert Millisekunden Ein paar Sekunden
Mögliche Häufigkeit der Anfragen Häufig (On-Demand-Prüfung für Aktionen oder Anfragen) Selten (einmalige Prüfung auf Aktionen mit dem höchsten Wert oder auf die meisten sensiblen Anfragen)
Abwehren von Replay- und ähnlichen Angriffen Automatische Schadensminderung durch Google Play Feld nonce mit serverseitiger Logik verwenden

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

Zum richtigen Zeitpunkt ein Integritätsergebnis anfordern

Sie sollten ein Ergebnis zu einem App-Zugriffsrisiko so nah wie möglich vor dem Zeitpunkt der Aktion oder Serveranfrage anfordern, die Sie vor Zugriff schützen möchten, um zu verhindern, dass Betrüger die Integritätsprüfung Ihrer Anwendung umgehen.

Erschwert die Replikation von API-Anfragen

Standard-API-Anfragen haben ein Feld mit dem Namen requestHash, das zum Schutz vor Manipulation und ähnlichen Angriffen dient. In dieses Feld sollten Sie einen Digest aller relevanten Werte aus der Anfrage Ihrer Anwendung einfügen. Folgen Sie der Anleitung unter Inhaltsbindung verwenden, um die Standardanfragen Ihrer Anwendung zu schützen.

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

Caching-Integritätsergebnisse vermeiden

Das Caching Integritätsergebnisse erhöht das Risiko von Proxying. Dies ist ein Angriff, bei dem ein böswilliger Akteur ein Ergebnis eines guten 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.

Gestaffelte Erzwingungsstrategie

Das Integritätsergebnis der Play Integrity API hat eine Reihe möglicher Antworten, die es ermöglichen, eine Strategie gegen Missbrauch mit mehreren Erzwingungsstufen zu erstellen. Dazu können Sie den Back-End-Server Ihrer Anwendung so konfigurieren, dass er sich je nach möglicher Antwort oder Gruppe von Antworten unterschiedlich verhält.

Du kannst deine Erzwingungsstrategie auch auf Grundlage der Vertrauenswürdigkeit des Geräts abstufen. Aktiviere dazu den Empfang zusätzlicher Gerätelabels in deiner API-Antwort von der Play Console. Jedes Gerät gibt alle Labels zurück, deren Kriterien es erfüllt. Nachdem Sie beispielsweise festgelegt haben, dass alle Gerätelabels empfangen werden sollen, können Sie einem Gerät, das MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY und MEETS_BASIC_INTEGRITY zurückgibt, mehr als einem Gerät vertrauen, das nur MEETS_BASIC_INTEGRITY zurückgibt. Sie können vom Server in jedem Szenario anders antworten.

Mehrere Antworten vom Server an die App senden

Eine Reihe von Entscheidungsergebnissen lässt sich schwerer replizieren, als für jede Antwort eine binäre Zulassen-/Ablehnen-Antwort vom Server zurück an die Anwendung zu senden. Sie können beispielsweise eine Reihe verwandter Antworten wie „Zulassen“, „Mit Limits zulassen“, „Nach Abschluss des CAPTCHA-Tests mit Limits zulassen“ und „Ablehnen“ verwenden.

Umfassenden Missbrauch anhand der letzten Geräteaktivitäten erkennen

Mit der Funktion Letzte Geräteaktivität in der Play Integrity API kannst du Geräte finden, die eine große Anzahl von Integritätstokens anfordern. Nutzer, die Aktivitäten mit hohem Volumen abbrechen, 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. Sie können anhand des Levels der letzten Geräteaktivität prüfen, wie viele Attestierungen Ihre App in der letzten Stunde auf diesem Gerät generiert hat.

Umsetzbare Fehlermeldungen anzeigen

Sende dem Nutzer nach Möglichkeit nützliche Fehlermeldungen und teile ihm mit, wie er das Problem beheben kann, z. B. einen neuen Versuch, die Internetverbindung zu aktivieren oder zu prüfen, ob die Play Store App auf dem neuesten Stand ist.

Planen Sie unerwartete Probleme oder Ausfälle ein

Das Play-Status-Dashboard enthält Informationen zum Dienststatus der Play Integrity API sowie Informationen zu Störungen und Ausfällen. Sie sollten im Voraus planen, wie Ihr Back-End-Server im unwahrscheinlichen Fall eines umfassenden Ausfalls der Play Integrity API funktionieren soll.

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

Unternehmenskunden, die nach einer umfassenden Lösung für die Betrugs- und Bot-Verwaltung suchen, können reCAPTCHA Enterprise für Mobilgeräte erwerben. Diese umfasst SDKs für Android, die Entwicklern ein Betrugsrisikobewertungsergebnis liefern. reCAPTCHA Enterprise berücksichtigt automatisch Play Integrity API-Signale und kombiniert sie mit reCAPTCHA-Netzwerk- und -Anwendungssignalen für Kunden, was eine nahtlose, unsichtbare Betrugsmanagement-Lösung bietet. Sie kann auch Schutz für Android-Apps bieten, für die die Play Integrity API nicht verfügbar ist.

Beim Zugriff auf hochwertige oder sensible Funktionen riskante Zugriffe herausfordern

Ermittle hochwertige oder vertrauliche Aktionen in deiner App oder deinem Spiel, die geschützt werden sollen, mit der Play Integrity API, anstatt den Zugriff direkt zu verweigern. Wenn möglich, sollten Sie riskante Zugriffe herausfordern, bevor Sie hochwertige Aktionen fortsetzen. Wenn das Risiko des App-Zugriffs beispielsweise darauf hindeutet, dass eine App ausgeführt wird, die den Bildschirm erfassen könnte, bitten Sie den Nutzer, Apps, die den Bildschirm erfassen können, zu deaktivieren oder zu deinstallieren, bevor Sie mit den Funktionen fortfahren können, die Sie schützen möchten.

Nutzungsbedingungen und Datensicherheit

Durch den Zugriff auf die Play Integrity API oder die Verwendung der Play Integrity API stimmst du den Nutzungsbedingungen für die Play Integrity API zu. Bitte lesen und verstehen Sie alle geltenden Nutzungsbedingungen und Richtlinien, bevor Sie auf die API zugreifen.

Bei Google Play gibt es einen Abschnitt zur Datensicherheit, in dem Entwickler die Erhebung, Weitergabe und Sicherheitsmaßnahmen ihrer Apps offenlegen können, um ihre Nutzer auf dem Laufenden zu halten. Informationen dazu, wie die Play Integrity API Daten verarbeitet, findest du hier. Dort findest du Informationen zum Ausfüllen des Datenformulars.