Estoy pensando en la creación de una aplicación que tenga un alto requisito de seguridad. La funcionalidad principal es almacenar los datos de texto e imagen que obtiene de un servidor.
El dispositivo solo se utilizará para esta aplicación específica. Para comenzar a proteger el dispositivo, por supuesto, realizaré el cifrado del dispositivo Android y puedo usar Samsung Knox SDK y Container para hacer lo siguiente:
- certificación
- las aplicaciones de lista blanca solo son necesarias
- deshabilitar las conexiones, excepto GPRS
- crear contenedor de Knox con mi aplicación dentro
La aplicación almacenará todos los datos en una base de datos SQLCipher ( enlace ) Todo lo que se almacene en la base de datos primero será encriptado AES 256 El servidor utilizará un certificado SSL autofirmado que se distribuirá con la aplicación.
Me pregunto qué tan seguro sería esto. Sé que pasar el inicio de sesión y el cifrado del dispositivo no será un problema, pero ¿qué hay del inicio de sesión de Knox? ¿Qué pasa con la posibilidad de obtener acceso remoto al dispositivo y esperar hasta que el usuario ingrese su contraseña de Knox y dentro del contenedor de Knox su contraseña de cifrado?
Actualización:
Preguntas:
¿Será esto suficiente para evitar que los atacantes obtengan acceso a los datos?
¿Todavía es posible obtener acceso remoto al dispositivo (sin tener acceso físico) para esperar y registrar las credenciales cuando se ingresa?
En caso afirmativo, ¿qué hay de la contraseña del contenedor de Knox y la contraseña de cifrado dentro del contenedor de Knox?
¿Es el contenedor de Knox algo en lo que puedo confiar?