Cripta i dati delle app Android e invia al servizio web

3

Desidero sviluppare un'app per Android che possa contenere informazioni sensibili sull'identificazione personale (numero identificativo nazionale, numero di telefono, ecc.) tra gli altri dati che verranno memorizzati su un telefono Android.

Diciamo che questi dati saranno mantenuti sul telefono, che è offline la maggior parte del tempo, e ha una finestra temporale molto piccola e non molto frequente per inviare i dati a un server remoto.

Voglio proteggere (crittografare?) questi dati in modo che in una situazione in cui il telefono venga rubato, qualcuno con una conoscenza tecnologica non possa effettuare il root del telefono, accedere alla memoria dell'app e accedere alle informazioni.

I dati non devono essere decodificati sul telefono, quindi possono essere inviati crittografati al server, ma il server deve essere in grado di decrittografarli lì.

Quali sono le opzioni qui? I certificati o le chiavi pubbliche / private sono adatte a questo, oppure sono troppo difettosi?

Quali sono i vantaggi e gli svantaggi di ciascuna soluzione?

    
posta catteneo 11.04.2014 - 16:33
fonte

1 risposta

1

Le chiavi pubbliche / private sembrano il modo logico di fare, ma potresti non voler programmare da zero.

Guarda come lo fa TextSecure: link

Fa tutto ciò che farebbe la tua app (criptare i dati / inviare al servizio web).

Probabilmente dovresti usare il codice / le librerie di crittografia direttamente dalla loro base di codice anche se la licenza (GPLv3) potrebbe essere restrittiva a seconda del tuo caso d'uso.

    
risposta data 18.04.2014 - 08:39
fonte

Leggi altre domande sui tag