I dati memorizzati nei dati principali su iOS sono sicuri?

3

Sono nuovo di Swift e iOS. Supponiamo che non ci fosse alcuna API KeyChain. Sarebbe sicuro inserire la password di un utente (testo normale) nei dati principali?

Supponete che non verrà inviato tramite la rete, ma solo memorizzato nel telefono. Come può un utente malintenzionato ottenere la password? Altre app potrebbero accedere alle informazioni nei dati principali?

Se ciò non è sicuro, quali misure potrebbero essere prese per renderlo sicuro?

    
posta twharmon 05.01.2017 - 04:32
fonte

1 risposta

2

Ci sono più parti per questa risposta. Innanzitutto, tutto ciò che è memorizzato nel file system di un dispositivo iOS è crittografato, a condizione che il dispositivo utilizzi un passcode. Quindi per quanto riguarda i dati effettivamente sul dispositivo iOS, a condizione che tu non stia cercando di nascondere i dati all'utente che conosce il passcode, puoi avere una certa sicurezza che i dati di base siano sicuri.

Tuttavia, per essere chiari, Core Data non è in realtà un modo per archiviare i dati. È un'interfaccia comune a un archivio oggetti, che di solito è supportato da sqlite nel file system del dispositivo.

Come sottolineato da André, questo file sqlite può essere sottoposto a backup, lasciandolo esposto a occhi indiscreti.

La raccomandazione di Apple (che sono d'accordo) è che le password dovrebbero essere sempre memorizzate nel portachiavi, che è facile da fare, e ti permette di controllare quando la voce è accessibile (ad es. mentre il dispositivo è bloccato, dopo sblocco, ecc.).

Le altre app non potranno mai accedere ai dati della tua app in iOS, indipendentemente da dove la scrivi (a meno che non sia jailbroken).

Ecco un tutorial di Ray Wenderlich che ti guida attraverso questo processo con swift: link

    
risposta data 07.02.2017 - 22:24
fonte

Leggi altre domande sui tag