2010-04-09 12 views
10

Sto scrivendo un'applicazione in cui gli utenti a volte effettuano ordini attraverso di essa. Voglio dare agli utenti la possibilità di salvare le loro informazioni di fatturazione (nome, indirizzo, ecc.) In modo che possano essere rapidamente ripristinate in un secondo momento se vogliono fare un altro ordine. L'utente inserirà una password per proteggere i dati.C'è un modo per archiviare in modo sicuro i dati dell'utente su un dispositivo Android?

Ovviamente non posso semplicemente mettere questo come un file sul dispositivo, come chiunque può eseguire il root/trovare i dati. Esiste un metodo Android integrato per la memorizzazione di dati protetti che è bloccato con una password? In caso contrario, quale è un buon punto di partenza per archiviare questi dati in modo sicuro utilizzando Java?

Modifica: per chiarire, quando dico che l'utente immetterà una password, non intendo dire che abbia trovato un modo per proteggere i dati ancora. Sto solo cercando di trasmettere il metodo con cui l'utente si impegna a proteggere i dati dalla loro parte; ora sto cercando di capire come mantenere la mia parte del patto. :)

+0

@Daniel: Anche un fan di Braid? –

+0

@Martijn: Molto molto. :) Dovrei però correggere i canali alfa sulla mia icona. –

+0

Ho scritto (coperto) Braid in Java. Funziona bene! –

risposta

9

È possibile utilizzare le classi javax.crypto incluse per crittografare qualsiasi informazione sensibile.

È possibile visualizzare il codice sorgente dell'applicazione Secrets for Android per alcuni esempi.

Segreti per Android è un'applicazione per memorizzare e gestire in modo sicuro le password e segreti sul tuo cellulare Android. Lo standard utilizza tecniche come la crittografia avanzata e la disconnessione automatica per garantire che i tuoi segreti rimangano sicuri (supponendo che tu abbia una buona password principale!). I suggerimenti sensibili al contesto ti guidano lungo lo attraverso le sue operazioni, semplificando l'uso di .

8

Ovviamente non si può semplicemente mettere questo come un file sul dispositivo, come chiunque può root/trovare i dati.

Vero, ma se si consente all'utente di definire una password per il file di backup, qualcuno che ha rubato il file avrebbe comunque bisogno di decifrare la crittografia. Possono trovare l'algoritmo che stai utilizzando, ma non la password.

Esiste un metodo incorporato Android per memorizzazione sicura dei dati che è bloccato con una password?

Android non offre un archivio di file crittografato. Puoi crittografare i file tu stesso, che è quello che presumevo stavi facendo quando hai scritto che "l'utente inserirà una password per proteggere i dati".

0

Dai un'occhiata a SQLCipher per Android. È possibile memorizzare tali informazioni in un database e quindi crittografarle con AES a 256 bit. http://sqlcipher.net/sqlcipher-for-android/ Il progetto principale è appropriato ma è possibile ottenere gratuitamente i binari di Android tramite their GitHub, e alcuni esempi di utilizzo.

+0

Come conserverai la chiave? – dimitris93

Problemi correlati