Memorizzazione del token di autenticazione sul dispositivo Android

6

Il mio server mi sta inviando l'accesso e un token di aggiornamento durante l'accesso. Devo memorizzarli nelle preferenze condivise di Android crittografandoli? Voglio conoscere la best practice per l'archiviazione di questi token poiché la memorizzazione direttamente nelle preferenze è facilmente sfruttabile.

    
posta Shubham 23.10.2017 - 07:14
fonte

1 risposta

2

Android supporta il bellissimo concetto di Sandbox dell'applicazione , in modo che tutte le applicazioni vengano eseguite come un utente unico e nella propria sandbox. L'archiviazione locale dei dati in un dispositivo non rootato per applicazioni non debugabili non è normalmente accessibile. Tuttavia, se il dispositivo è rootato, il concetto di sandbox dell'applicazione viene compresso e l'applicazione installata può essere eseguita come utente "root" e può quindi accedere ai dati memorizzati da qualsiasi altra applicazione nella loro directory privata (/ data / data / package- nome)

L'archiviazione del token come testo normale nell'archivio dati locale (SharedPreferences) non è un'opzione sicura poiché è possibile accedere facilmente a un dispositivo non rooted. Si consiglia di crittografare il token utilizzando l'algoritmo di crittografia sicura e l'implementazione sicura nell'archivio dati locale.

  1. Utilizza un algoritmo di crittografia sicuro come AES-GCM-256 o ChaCha20-Poly1305 ecc.
  2. Utilizza PBKDF2 per derivazione di chiavi.
  3. Se necessario, memorizza la chiave di crittografia nei Keystore Android.
risposta data 20.02.2018 - 10:43
fonte

Leggi altre domande sui tag