0 votos

Seguridad de la base de datos en la aplicación Android

Tengo una base de datos sqlite que se utiliza para almacenar algunos datos centrados en la aplicación, incluyendo alguna información confidencial. ¿Cuál es la mejor manera de almacenar esa base de datos (encriptada o no encriptada, sin que ello afecte al rendimiento)?

Para entender mejor, ¿cómo se mantiene whatsapp en los chats? Sé que "encriptan" las copias de seguridad (archivos msgstore.db.crypt12) pero ¿cómo almacena los datos en vivo dentro de la aplicación? ¿Se pueden ver los mensajes de whatsapp directamente sin necesidad de las claves de la db directa?

0voto

Lie Ryan Puntos 15629

Incluso si lo encriptas, tendrás que almacenar la clave en el dispositivo, lo que hará que el descifrado sea trivial. En los dispositivos modernos, el dispositivo ya cuenta con un cifrado completo del disco. La mayoría de las aplicaciones móviles no se molestan en cifrar la base de datos interna por esta razón.

La única buena razón que se me ocurre para querer encriptar la base de datos interna en el contexto de una aplicación móvil es si se trata de dispositivos antiguos que no tienen encriptación completa del disco. O si estás escribiendo una aplicación que tiene datos que necesitan permanecer bloqueados incluso cuando el resto del sistema está desbloqueado, este tipo de aplicación debería requerir una contraseña separada que se pide cada vez que el usuario inicia la aplicación para que el cifrado tenga sentido. Además, si tienes una funcionalidad de exportación de bases de datos, puede ser sensato cifrar los datos exportados.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X