Estaba usando System.Data.SQLite para SQLite en Windows Mobile. Tiene soporte de cifrado incorporado. He encontrado muchas implementaciones de SQLite para Windows Phone 7. Pero ninguna de ellas tiene soporte incorporado para el cifrado. ¿Alguien sabe alguna implementación SQLite para Windows Phone 7 que admita Encryption?Windows Phone 7 - SQLite con cifrado
Respuesta
Terminé usando SQL CE introducido en la versión de Mango (Windows Phone 7.1) que tiene compatibilidad integrada de encriptación (contraseña). Consulte http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2011/05/24/windows-phone-mango-what-s-new-local-database-part-1-of-8.aspx que tiene una muy buena explicación.
No parece haber ninguna API en Windows Phone 7 que le permita cifrar/descifrar datos en función de las credenciales de usuario similares a DPAPI, por lo que debe hacerlo usted mismo. El documentation sugiere que los siguientes algoritmos están disponibles en Windows Phone 7:
- AES
- HMACSHA1
- HMACSHA256
- Rfc2898DeriveBytes
- RSA
- SHA1
- SHA256
Estos algoritmos deberían dar todo lo que necesita para crear un esquema de cifrado decente y debería ser lo suficientemente bueno como para cifrar las columnas sensibles en su esquema de base de datos y no en toda la base de datos.
El único problema entonces sería ver qué tecla usar. Si es posible pedirle una contraseña al usuario (esto depende mucho del tipo de aplicación que esté creando), entonces puede usar Rfc2898DerivedBytes para derivar una contraseña de la entrada del usuario. De lo contrario, puede crear una clave a partir de algunos datos del dispositivo. (Consulte: How do I get a symmetric key in Windows Phone 7?) Después de derivar una clave, puede usar AES para hacer su encriptación.
Sé que esto es exactamente lo que quería, pero al menos debería apuntarle en la dirección correcta.
- 1. Windows Phone 7: SQLite
- 2. ASCIIEncoding En Windows Phone 7
- 3. NUnit con Windows Phone 7
- 4. WCF + Windows Phone 7
- 5. Windows Phone 7 SDK
- 6. Windows Phone 7 botones
- 7. Windows Phone 7: ¿Tombstoning con URI?
- 8. Problema con Windows Phone 7 scrollviewer
- 9. Lista desplegable Windows Phone 7
- 10. DataContractJsonSerializer en Windows Phone 7
- 11. MessageBox.Show para Windows Phone 7
- 12. Windows phone 7 config/appSettings?
- 13. Windows phone 7 button "borders"
- 14. Windows Phone 7 WebBrowserTask problem
- 15. HttpUtility.UrlEncode en Windows Phone 7?
- 16. Windows Series Phone 7 "Cloud"
- 17. Windows 7 phone - close keyboard
- 18. App.config en Windows Phone 7?
- 19. Desarrolle Windows Phone 7 en Windows XP
- 20. Windows Phone 7 - Generador de iCal - C#
- 21. Windows Phone 7 Sobrecarga de botón físico
- 22. ¿Es compatible MD5 en Windows Phone 7?
- 23. posición: arreglado en Windows Phone 7
- 24. Windows Phone 7 - Animación de carga
- 25. Reemplazando temas en Windows Phone 7
- 26. Windows Phone 7: Resalte el ítem Selectedboxbox
- 27. Windows Phone 7: Programación de socket
- 28. Cliente FTP para Windows Phone 7 Mango?
- 29. Desarrollo de aplicaciones para Windows Phone 7
- 30. ¿Puedo usar NHibernate en Windows Phone 7?
He comenzado una nueva discusión en el sitio codeplex (http://sqlitewindowsphone.codeplex.com/). Esperando la respuesta del autor. –
¿Qué es lo que quieres encriptar? Toda la base de datos? –
Puede obtener SqlCipher: una variante de SQLite de fuente abierta con crypto suppoort. El paquete estándar está dirigido a un entorno Unix, pero he leído rumores de una versión de Windoze (de escritorio). Hice un puerto para el escritorio de Windows y no fue terriblemente difícil, pero requería cierto conocimiento de encriptación y la versión que hice fue como un hack. (Las interfaces de cifrado de escritorio de Windows accesibles son bastante feas y bastante inadecuadas para el uso generalizado, no realmente listas para el "horario de máxima audiencia". Puede haber algunas interfaces mejores en la implementación de Mobile.) –