Saltar al contenido

Configuración de Android y verificación del backend

GitHub

En Android, este plugin utiliza Estandar de integridad de Google Play API durante:

  • prepareIntegrityToken durante prepare()
  • requestStandardIntegrityToken para createAttestation() y createAssertion()
  • Aplicación Android distribuida a través del ecosistema de Google Play
  • Servicios de Google Play disponibles en el dispositivo
  • Play Integrity API habilitado para tu aplicación
  • Número de proyecto de Google Cloud configurado

Configuración de Google

Configuración de Google
  1. Enable Play Integrity API en tu proyecto de Google Cloud.
  2. Abre la Consola de Play y configura el acceso a la integridad de Play para tu aplicación.
  3. Proporciona cloudProjectNumber a la extensión.
capacitor.config.ts
plugins: {
AppAttest: {
cloudProjectNumber: '123456789012',
},
}

Copia al portapapeles cloudProjectNumber por llamada en opciones del método.

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 es un token de integridad de Play y debe ser descodificado en el lado del servidor.

  1. Backend crea uno de uso único challenge.
  2. App llamadas createAttestation({ keyId, challenge }).
  3. El backend llama a Google decodeIntegrityToken API.
  4. El backend verifica al menos:
    • requestDetails.requestHash === base64url(SHA256(challenge))
    • appIntegrity.packageName Iguala su identificador de aplicación Android
    • appIntegrity.certificateSha256Digest contiene su certificado de firma de lanzamiento de digest
    • veredictos de integridad coinciden con tu política de seguridad

protección de solicitud (createAssertion)createAssertion)

Sección titulada “Protección de solicitud (createAssertion)”
  1. Crea una credencial única payload.
  2. App llamadas createAssertion({ keyId, payload }).
  3. El backend descifra el token y verifica requestHash === base64url(SHA256(payload)).
  4. Aplicar política de veredicto de integridad y prevención de retransmisión (útil + TTL).
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

Registration:

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

Declaración:

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

Continuar desde Configuración de Android y Verificación de Backend

Sección titulada “Continuar desde Configuración de Android y Verificación de Backend”

Si está utilizando Configuración de Android y Verificación de Backend para planificar la seguridad y la conformidad, conecte con Usando @capgo/capacitor-app-attest para la capacidad nativa en Usando @capgo/capacitor-app-attest, Encriptación para el detalle de implementación en Encriptación, Cumplimiento para el detalle de implementación en Cumplimiento, Capgo Escáner de Seguridad para el flujo de trabajo del producto en Capgo Escáner de Seguridad, y Capgo Seguridad para el flujo de trabajo del producto en Capgo Seguridad.