Lebih Tua ke Konten

Pengaturan Android & Verifikasi Backend

GitHub

Bab berjudul “Menggunakan sistem native Android”

Pada Android, plugin ini menggunakan

Standar Keamanan Google Play Integrity __CAPGO_KEEP_0__ Google Play Integrity Standard API:

  • prepareIntegrityToken during prepare()
  • requestStandardIntegrityToken untuk createAttestation() dan createAssertion()
  • Aplikasi Android yang didistribusikan melalui ekosistem Google Play
  • Jasa Google Play tersedia di perangkat
  • Integritas Permainan API diaktifkan untuk aplikasi Anda
  • Nomor Projek Google Cloud yang dikonfigurasi
  1. Mengaktifkan Play Integrity API di proyek Google Cloud Anda.
  2. Terbuka Play Console dan atur akses Play Integrity untuk aplikasi Anda.
  3. Berikan cloudProjectNumber ke plugin.
Konfigurasi capacitor.config.ts
plugins: {
AppAttest: {
cloudProjectNumber: '123456789012',
},
}

Salin ke clipboard cloudProjectNumber per panggilan dalam opsi metode.

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 adalah token integritas Play dan harus di-dekode di sisi server.

Pendaftaran (createAttestation)

Bab Pendaftaran (createAttestation)
  1. Backend membuat kode satu kali challenge.
  2. App calls createAttestation({ keyId, challenge }).
  3. Backend memanggil Google decodeIntegrityToken API.
  4. Backend memverifikasi setidaknya:
    • requestDetails.requestHash === base64url(SHA256(challenge))
    • appIntegrity.packageName sama dengan ID aplikasi Android Anda
    • appIntegrity.certificateSha256Digest mengandung tanda tangan sertifikat rilis Anda (digest)
    • verifikasi integritas sesuai dengan kebijakan keamanan Anda

Request perlindungan (createAssertion)

Bab berjudul “Request perlindungan (createAssertion)”
  1. Backend membuat token satu kali payload.
  2. App calls createAssertion({ keyId, payload }).
  3. Backend memecahkan token dan memeriksa requestHash === base64url(SHA256(payload)).
  4. Menggunakan kebijakan verifikasi integritas dan mencegah ulang penggunaan (single-use + 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

Kontrak minimal payload backend

Judul bagian: Kontrak Payload Backend Minimal

Registrasi:

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

Klaim:

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

Lanjutkan dari Pengaturan Android & Verifikasi Backend

Bab: Lanjutkan dari Pengaturan Android & Verifikasi Backend

Jika Anda menggunakan Pengaturan Android & Verifikasi Backend untuk merencanakan keamanan dan keterbatasan, hubungkannya dengan Menggunakan @capgo/capacitor-app-attest untuk kemampuan asli dalam Menggunakan @capgo/capacitor-app-attest, Kriptografi untuk detail implementasi di Kriptografi, Kemutakhiran untuk detail implementasi di Kemutakhiran, Capgo Scanner Keamanan untuk alur kerja produk di Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur kerja produk di Capgo Keamanan.