Lebih cepat ke konten

Pengaturan Android & Verifikasi Backend

GitHub

Pada Android, plugin ini menggunakan Standar Kebenaran Keamanan Google Play API:

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

Anda juga dapat melewati cloudProjectNumber per panggilan dalam opsi metode.

Alur Klien

Alur Klien
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 merupakan token Integrasi Play dan harus di-dekode di sisi server.

Alur Backend (Android)

Alur Klien

Pendaftaran (createAttestation)

Alur Klien: Pendaftaran (createAttestation)
  1. Backend membuat token satu kali challenge.
  2. Aplikasi memanggil 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 digital sertifikat rilis Anda
    • Hasil integritas sesuai dengan kebijakan keamanan Anda

Permintaan perlindungan (createAssertion)createAssertion)

Buat Perlindungan (createAssertion)
  1. Backend membuat token satu kali payload.
  2. Aplikasi memanggil createAssertion({ keyId, payload }).
  3. Backend menerjemahkan token dan memeriksa requestHash === base64url(SHA256(payload)).
  4. Menggunakan kebijakan integritas dan pencegahan ulang penggunaan.

Schemas Android

Schemas Android
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

Pendaftaran:

{
"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"
}

Teruskan dari Pengaturan Android & Verifikasi Backend

Judul bagian “Teruskan 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 di Menggunakan @capgo/capacitor-app-attest, Enkripsi untuk detail implementasi di Enkripsi, Kemampuan untuk detail implementasi di Kemampuan, Capgo Scanner Keamanan untuk alur kerja produk di Capgo Scanner Keamanan, dan Capgo Keamanan untuk alur kerja produk di Capgo Keamanan.