2013-02-22 15 views
5

Sto costruendo un'applicazione Windows Store che utilizza SQLite per l'archiviazione dei dati. Ho scoperto che il database è facilmente accessibile attraverso la cartella locale dell'utente (in realtà tutte le app hanno tutti i dati pubblicamente esposti). C'è un modo per proteggere debolmente il database dall'accesso?WinRT SQLite Encryption

risposta

3

è necessario guardare in classe ProtectedData

http://msdn.microsoft.com/en-us/library/windows/apps/windows.security.cryptography.dataprotection.dataprotectionprovider.aspx

Espone facile da usare metodi Unprotect che possono essere utilizzate per cifrare proteggere// decifrare che, a livello di app. crittografare i dati prima di scrivere al db e unencrypt prima di consumare

+0

Buona risposta, qualche idea della performance colpita dal processo di crittografia/decodifica? – dougajmcdonald

+0

c'è sempre un impatto sulle prestazioni .. tuttavia questa è una forma più semplice di crittografia e non dovrebbe essere costosa come la PKI .. ​​crittografate solo i dati sensibili e non la crittografia globale. –

0

Ho anche cercando la stessa soluzione e trovato sqlite-cripta http://sqlite-crypt.com/download.htm

Non so se questo uno abbastanza buono o no. Esiste una versione di prova che limita la passphrase a 6 caratteri e la memorizza come testo normale nell'intestazione. Non sarà adatto se si desidera una protezione completa dei dati. Ma per i test, forse vale la pena provare. Non ho ancora la possibilità di testarlo poiché lavoro ancora sul lato server del mio progetto. Lo aggiornerò quando lo avrò testato in futuro.

MODIFICA: Ok. Ho testato la versione di prova e ha funzionato bene con la versione modificata del wrapper SqliteWinRT su codeplex. Si noti che la versione di prova è limitata a 5-6 caratteri di passphrase e questa sfasatura è memorizzata in testo normale, in più è in binario compilato x86, il che significa che non funzionerà per prodotti reali che necessitano di supporto ARM. Devi acquistare il file binario per ottenere i file binari pronti per la produzione.