Zum Inhalt springen

Android Setup & Backend-Verifizierung

GitHub

Bei Android verwendet dieses Plugin Google Play Integrity Standard API:

  • prepareIntegrityToken Während prepare()
  • requestStandardIntegrityToken Für createAttestation() und createAssertion()

Anforderungen

Anforderungen
  • Android-App, die über das Google Play-Ökosystem verteilt wird
  • Google Play-Dienste sind auf dem Gerät verfügbar
  • Play Integrity API ist für Ihre App aktiviert
  • Google Cloud-Projekt-ID ist konfiguriert

Google-Einrichtung

Einrichten
  1. Ein Play Integrity API in Ihrem Google Cloud-Projekt.
  2. Öffnen Sie das Google Play Console und konfigurieren Sie den Zugriff auf Play Integrity für Ihre App.
  3. Bereitstellen cloudProjectNumber den Plugin-Parameter
capacitor.config.ts
plugins: {
AppAttest: {
cloudProjectNumber: '123456789012',
},
}

Sie können auch pro Aufruf in den Methode-Optionen übergeben. cloudProjectNumber Client-Flow']}

import { AppAttest } from '@capgo/capacitor-app-attest';
const { keyId } = await AppAttest.prepare({
cloudProjectNumber: '123456789012',
});
const attestation = await AppAttest.createAttestation({
keyId,
challenge: 'backend-registration-challenge',
});
const assertion = await AppAttest.createAssertion({
keyId,
payload: 'backend-request-payload',
});

token ist ein Play Integrity-Token und muss serverseitig entschlüsselt werden.

Registrierung (createAttestation)createAttestation)

Abschnitt mit dem Titel ‘Registrierung (createAttestation)’
  1. Hintergrund erstellt einen einmaligen challenge.
  2. App ruft createAttestation({ keyId, challenge }).
  3. Hintergrund ruft Google decodeIntegrityToken API.
  4. Hintergrund überprüft mindestens:
    • requestDetails.requestHash === base64url(SHA256(challenge))
    • appIntegrity.packageName entspricht Ihrer Android-Anwendungs-ID
    • appIntegrity.certificateSha256Digest enthält Ihren Release-Signierungs-Zertifikats-Digest
    • Integritätsurteile entsprechen Ihrer Sicherheitspolitik

Anfrage schützen (createAssertion)createAssertion)

Sektion: Anfrage schützen (createAssertion)
  1. Hintergrund erstellt einen einmaligen payload.
  2. App ruft createAssertion({ keyId, payload }).
  3. Hintergrund entschlüsselt Token und überprüft requestHash === base64url(SHA256(payload)).
  4. Zwingen Sie die Wiederholungsvermeidung (einezeitig + TTL) und die Integritätsurteilsrichtlinie durch.
sequenceDiagram
participant App as Android App
participant Plugin as AppAttest plugin
participant PlaySDK as Play Integrity SDK
participant BE as Backend
participant Google as decodeIntegrityToken API
App->>Plugin: prepare(cloudProjectNumber)
Plugin->>PlaySDK: prepareIntegrityToken()
PlaySDK-->>Plugin: provider handle (keyId)
BE->>App: one-time challenge
App->>Plugin: createAttestation(keyId, challenge)
Plugin->>PlaySDK: requestStandardIntegrityToken(requestHash)
PlaySDK-->>Plugin: integrity token
Plugin-->>App: token + platform + format + keyId
App->>BE: token + challenge + keyId
BE->>Google: decodeIntegrityToken(token)
Google-->>BE: decoded payload
BE->>BE: verify requestHash + app identity + verdicts
BE->>App: one-time payload
App->>Plugin: createAssertion(keyId, payload)
Plugin->>PlaySDK: requestStandardIntegrityToken(requestHash)
PlaySDK-->>Plugin: integrity token
App->>BE: token + payload + keyId
BE->>Google: decodeIntegrityToken(token)
Google-->>BE: decoded payload
BE->>BE: verify requestHash + replay policy

Registrierung:

{
"platform": "android",
"format": "google-play-integrity-standard",
"keyId": "string",
"challenge": "string",
"token": "string"
}

Behauptung:

{
"platform": "android",
"format": "google-play-integrity-standard",
"keyId": "string",
"payload": "string",
"token": "string"
}

Wenn Sie “Android Setup & Backend-Verifizierung” verwenden Android Setup & Backend-Verifizierung um Sicherheit und Compliance zu planen, verbinden Sie es mit Verwendung von @capgo/capacitor-app-attest Für die native Fähigkeit in Verwendung von @capgo/capacitor-app-attest, Verschlüsselung Für die Implementierungsdetail in Verschlüsselung, Zuverlässigkeit Für die Implementierungsdetail in Zuverlässigkeit, Capgo Sicherheits-Scanner Für den Produktworkflow in Capgo Sicherheits-Scanner, und Capgo Sicherheit Für den Produktworkflow in Capgo Sicherheit.