Come molte persone - Sto sviluppando un'applicazione con base di codice condivisa (Windows Store + Android + MonoTouch + [successivo] WP8).C'è qualche spazio di archiviazione sicuro in Android tramite Monodroid fuori dalla scatola?
Inoltre, come con molte app, ho lo stato locale di cui ho bisogno per mantenere questa app.
Una parte di informazioni che memorizzo è un token di autenticazione per l'utente che ha eseguito l'accesso. Sulla piattaforma di Windows Store ho implementato l'archiviazione di questo con una combinazione di impostazioni di roaming (ApplicationData.Current.RoamingSettings
) per i dati ausiliari del token (nome utente e data di emissione) e lo PasswordVault
per il valore di token effettivo. Pertanto il token è protetto dall'introspezione a livello di sistema operativo, poiché è crittografato dal sistema operativo.
Ora sto implementando la stessa interfaccia per il mio build MonoDroid, e non vedo in alcun modo, fornito dalla piattaforma, di memorizzare dati che possono essere decifrati dalla mia applicazione - allo stesso modo della password vault può essere utilizzato per le app Store.
Come risultato, al momento sto semplicemente utilizzando l'interfaccia Android.Content.ISharedPreferences
tramite il metodo Application.Context.GetSharedPreferences
per leggere e scrivere questi valori.
Quindi ho ragione nel ritenere che la piattaforma (MonoDroid o Android) non offra spazio di archiviazione sicuro OOB? È l'unica alternativa per implementare la crittografia all'interno dell'app, che ovviamente richiederà la cottura della chiave di crittografia nel codice? Oppure posso prendere il certificato utilizzato per firmare l'app e usarlo come chiave?
In ultima analisi, non è la fine del mondo se non riesco crittografare questi dati, dal momento che il token è tempo limitato in ogni caso - ma sarebbe bello se potessi farlo davvero correttamente!
Oh oops! Con 'OOB' intendo 'out of the box'! C'è un meccanismo fornito di piattaforma per lo storage criptato fornito fuori dalla scatola :-). Cambierò il titolo della domanda ... –
; o) Va bene, ho frainteso. –