Panoramica dell'API Play Integrity

L'API Play Integrity ti aiuta a verificare che le interazioni e le richieste del server siano proveniente dal programma binario dell'app originale in esecuzione su un dispositivo Android originale. Di rilevare interazioni potenzialmente rischiose e fraudolente, ad esempio quelle manomesse versioni dell'app e ambienti non attendibili, il server di backend dell'app può rispondere con azioni appropriate per prevenire gli attacchi e ridurre gli abusi.

Quando la tua app o il tuo gioco vengono utilizzati su un dispositivo Android con il Google Play Store e con Google Play Services, l'API Play Integrity fornisce una risposta che ti aiuta a stabilire se stai interagendo con:

  • File binario dell'app originale: consente di stabilire se stai interagendo o meno con il tuo binario non modificato riconosciuto da Google Play.
  • Installazione Play originale: consente di stabilire se l'account utente corrente è licenza, ovvero che l'utente ha installato o pagato l'app o il gioco. su Google Play.
  • Dispositivo Android originale: consente di stabilire se la tua app è in esecuzione su un un dispositivo Android originale con Google Play Services (o un un'istanza di Google Play Giochi per PC).

Puoi anche scegliere di ricevere informazioni sull'ambiente nella risposta dell'API Play Integrity, tra cui:

  • Rischio di accesso alle app: determina se le app sono in esecuzione che potrebbero essere utilizzate per acquisire lo schermo, visualizzare gli overlay o controllare il dispositivo.
  • Rischio derivante da malware noto:consente di stabilire se Google Play Protect è attivo e se ha trovato app rischiose o pericolose installate sul dispositivo.

Panoramica

Quando un utente esegue un'azione nella tua app, puoi chiamare l'API Play Integrity per verificare che sia successo nel file binario dell'app originale, installato da Google Play. in esecuzione su un dispositivo Android originale. Puoi anche attivare ulteriori Informazioni nella risposta, incluso il volume di richieste effettuate da un dispositivo di recente e indicatori sull'ambiente, tra cui il rischio di accesso all'app e l'esito di Play Protect. In caso di problemi con l'esito, il server di backend della tua app può decidere cosa fare per difenderti dai problemi come abusi e attività fraudolente, uso improprio e imbrogli, accessi non autorizzati e attacchi.

Panoramica dell'API Play Integrity
flusso

Considerazioni sulla sicurezza

L'API Play Integrity fornisce il massimo valore per la tua app se segui questi pratiche consigliate:

Adottare una strategia anti-abuso

L'API Play Integrity funziona al meglio se utilizzata insieme ad altri indicatori nell'ambito di: strategia anti-abuso generale e non come unico meccanismo anti-abuso. Utilizza le funzionalità di questa API insieme ad altre best practice per la sicurezza pratiche per la tua app. Per impostazione predefinita, può effettuare fino a 10.000 richieste totali al giorno per tutte le installazioni. Puoi di aumentare il livello di efficienza massimo.

Raccogli dati di telemetria e comprendi il tuo pubblico prima di intraprendere qualsiasi azione

Prima di modificare il comportamento della tua app in base agli esiti dell'API Play Integrity, puoi: per comprendere la situazione attuale con il tuo pubblico esistente implementando il senza applicazione forzata. Quando conosci gli esiti delle tue installazioni attive attuali viene restituito, puoi stimare l'impatto di qualsiasi applicazione delle norme che intendi modifica di conseguenza la tua strategia anti-abuso.

Decidi come richiedere gli esiti relativi all'integrità

L'API Play Integrity offre due opzioni per richiedere e ricevere l'integrità e le decisioni. Sia che effettui richieste standard, richieste classiche o una combinazione per entrambi i tipi di richiesta, la risposta dell'esito relativo all'integrità verrà restituita nel nello stesso formato.

Le richieste API standard sono adatte a qualsiasi app o gioco e possono essere effettuate su di verificare che le azioni dell'utente o le richieste del server siano veritiere. Standard hanno la latenza più bassa (alcune centinaia di millisecondi in media) e elevata affidabilità nell'ottenimento di un verdetto utilizzabile. Le richieste standard utilizzano la memorizzazione nella cache smart on-device e delega la protezione contro alcuni tipi di un attacco a Google Play.

Anche le richieste API classiche, il modo originale per richiedere esiti relativi all'integrità continuano a essere disponibili. Le richieste classiche hanno una latenza maggiore (pochi secondi media) ed è tua responsabilità mitigare il rischio di determinati tipi di attacchi informatici. Le richieste della versione classica utilizzano più dati e batteria dell'utente rispetto a quelle standard richieste perché avviano una nuova valutazione e quindi dovrebbero essere fatte non di frequente una tantum per verificare se un'azione altamente sensibile o redditizia sia autentica. Se stai considerando di effettuare una richiesta classica e memorizzarla nella cache utilizzare in un secondo momento, è consigliabile effettuare una richiesta standard per ridurre il rischio attacchi informatici.

La tabella seguente evidenzia alcune differenze fondamentali tra i due tipi di richieste:

Richiesta API standard Richiesta API classica
Versione minima dell'SDK Android richiesta Android 5.0 (livello API 21) o versioni successive Android 4.4 (livello API 19) o versioni successive
Riscaldamento dell'API richiesto ✔️ (pochi secondi)
Latenza tipica delle richieste Poche centinaia di millisecondi Pochi secondi
Frequenza potenziale delle richieste Frequente (controllo su richiesta per qualsiasi azione o richiesta) Raro (controllo una tantum delle azioni di valore più elevato o della maggior parte delle richieste sensibili)
Mitigare contro le repliche e gli attacchi simili Mitigazione automatica di Google Play Utilizza il campo nonce con la logica lato server

Puoi visualizzare una tabella con più differenze nelle considerazioni relative alle richieste nella versione classica.

Richiedi un esito relativo all'integrità al momento opportuno

Devi richiedere un esito del rischio di accesso all'app il più vicino possibile al momento in cui dell'azione o della richiesta del server che vuoi difendere dall'accesso, per impedire ai truffatori di aggirare il controllo dell'integrità eseguito dal tuo dell'app.

Rendere difficili le richieste API da replicare

Le richieste API standard hanno un campo denominato requestHash che viene utilizzato per proteggere contro manomissioni e attacchi simili. In questo campo, devi includere una digest di tutti i valori pertinenti della richiesta della tua app. Segui le indicazioni su come utilizzare l'associazione di contenuti per proteggere le richieste standard della tua app.

Le richieste API classiche hanno un campo denominato nonce (abbreviazione di numero una volta), che è usato per proteggere da certi tipi di attacchi, come la riproduzione e manomissioni degli attacchi. Segui le indicazioni su come generare nonce per proteggere la versione classica dell'app richieste.

Evita gli esiti relativi all'integrità della memorizzazione nella cache

Gli esiti relativi all'integrità nella cache aumentano il rischio di proxying, che è un attacco in cui un malintenzionato riutilizza l'esito di un dispositivo valido per scopi illeciti in in un altro ambiente. Invece di memorizzare le risposte nella cache, puoi creare un'API standard richiesta per ottenere un esito on demand.

Avere una strategia di applicazione a più livelli

L'esito relativo all'integrità dell'API Play Integrity ha una serie di possibili risposte permettendo di mettere a punto una strategia anti-abuso con più livelli di dell'applicazione delle norme. Puoi farlo configurando il server di backend dell'app in modo che si comporti in modo diverso a seconda di ogni possibile risposta o gruppo di risposte.

È anche possibile adeguare la strategia di applicazione su più livelli in base al dispositivo. di affidabilità attivando la ricezione di dispositivi aggiuntivi etichette nell'API risposta da Play Console. Ogni dispositivo restituirà tutte le etichette i criteri che soddisfa. Ad esempio, dopo aver scelto di ricevere tutti i dati le etichette, puoi scegliere di considerare attendibile un dispositivo MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY e MEETS_BASIC_INTEGRITY più di un dispositivo che restituisce solo MEETS_BASIC_INTEGRITY. Puoi rispondere in modo diverso rispetto al server.

Invia una serie di risposte dal tuo server alla tua app

Avere una serie di risultati decisionali è più difficile da replicare rispetto all'invio di un file binario Consenti/Rifiuta risposta dal server all'app per ogni risposta. Per Ad esempio, puoi utilizzare una serie di risposte correlate come Consenti, Consenti con limiti, Consenti con limiti dopo il completamento di CAPTCHA e Nega.

Rileva abusi su larga scala utilizzando le attività recenti del dispositivo

Usa la funzionalità relativa alle attività recenti del dispositivo nell'API Play Integrity per trovare che richiedono un numero elevato di token di integrità. Attività a volume elevato chi commette abusi di solito genera risultati di attestazione validi da dispositivi reali e fornireli ai bot per automatizzare gli attacchi su emulatori e dispositivi rooted. Puoi usare il livello di attività recente del dispositivo per controllare quante le attestazioni sono state generate dalla tua app sul dispositivo nell'ultima ora.

Mostra messaggi di errore strategici

Se possibile, fornisci all'utente messaggi di errore utili e comunicagli cosa possono fare per correggerlo; ad esempio riprovare, abilitare la connessione a internet o verificando che l'app Play Store sia aggiornata.

Prepara un piano per problemi o interruzioni imprevisti

La dashboard dello stato di Google Play mostra informazioni sullo stato del servizio dell'API Play Integrity, oltre a e fornire informazioni su eventuali interruzioni del servizio. Dovresti pianificare in anticipo come vuoi che il tuo server di backend funzioni nell'improbabile eventualità di un server di backend Interruzione dell'API Play Integrity.

Valuta le soluzioni antifrode aziendali end-to-end

Clienti aziendali che cercano una soluzione completa per la gestione delle frodi e dei bot possono acquistare reCAPTCHA Enterprise per dispositivi mobili, include SDK per Android che forniscono punteggi di rischio di attività fraudolenta agli sviluppatori. reCAPTCHA Enterprise automaticamente include gli indicatori dell'API Play Integrity e li combina con la rete reCAPTCHA e indicatori delle applicazioni per i clienti, offrendo attività fraudolente di Google Cloud pronta all'uso. Inoltre, può garantire protezione per Android Le app in cui l'API Play Integrity non è disponibile.

Sfida il traffico rischioso quando si accede a funzionalità sensibili o di alto valore

Identifica le azioni sensibili o di valore elevato nella tua app o nel tuo gioco da proteggere con il all'API Play Integrity, invece di negare del tutto l'accesso. Se possibile, verifica e rischioso prima di consentire il completamento di azioni di alto valore. Ad esempio, quando il rischio di accesso all'app indica che è in esecuzione un'app che potrebbe acquisire schermata, chiedi all'utente di disattivare o disinstallare le app in grado di acquisire la schermata prima di consentire il passaggio alle funzionalità che vuoi proteggere.

Termini di servizio e sicurezza dei dati

Se accedi all'API Play Integrity o la utilizzi, accetti le norme di Play Integrity. Termini di servizio delle API. Leggi e comprendi tutti i termini e le norme applicabili prima di accedere all'API.

Google Play ha una sezione Sicurezza dei dati che consente agli sviluppatori di divulgare le informazioni relative alle loro app di raccolta, condivisione e sicurezza dei dati per tenere informati gli utenti. A compilare il modulo relativo ai dati, leggere queste informazioni su come funziona L'API Integrity gestisce i dati.