Esta página fue traducida automáticamente del portugués y puede contener errores. La versión en portugués es la canónica.
Seguridad
Dos pilares prácticos para proteger datos en el dispositivo: base de datos cifrada y biometría como puerta de acceso.
Base de datos cifrada (SQLite3MC)
Abre SQLite con una clave — cifra ChaCha20-Poly1305 por defecto (o SQLCIPHER):
byte[] chave = derivarChaveDaSenha(senhaUsuario); // ⚠️ deriva de la contraseña con KDF — NUNCA hardcode
try (SqliteDb db = SqliteDb.open("cofre.db", chave)) {
// … datos cifrados de forma transparente …
db.rekey(novaChave); // cambia la clave (ej.: cuando el usuario cambia la contraseña)
}
- Costo-cero sin clave, cifra transparente con clave — sin clave es SQLite normal; con clave, todo se cifra/descifra en el acceso, sin cambiar tu SQL.
- Nunca hardcodees la clave. Derívala de una contraseña del usuario con un KDF; guarda solo el material necesario en el keystore de la plataforma.
- Cuidado al quitar la cifra (
rekeypara desproteger) — el archivo pasa a ser legible en claro.
Biometría como puerta de acceso
Antes de un área sensible (financiera, datos personales), exige biometría:
if (Biometry.isAvailable()) {
Biometry.authenticate("Acessar cofre", "Cancelar", false,
(res, msg) -> Component.onUI(() -> {
if (res == Biometry.AuthResult.SUCCESS) abrirCofre();
else loginPorSenha(); // fallback siempre
}));
} else {
loginPorSenha();
}
- Los datos biométricos nunca salen del dispositivo — la app solo recibe
SUCCESS/FAILURE/etc. - La biometría es autenticación local: complementa, no sustituye, la autenticación de la aplicación (login en el servidor).
Otros cuidados
- Clipboard: no copies secretos al portapapeles (
Device.clipboardCopy) — queda accesible a otras apps. - Archivos/
homeFolder: los datos enDevice.homeFolderno están cifrados por defecto — usa la base cifrada para lo sensible. - Logs: no registres contraseñas/tokens con
Debug.log.
Buenas prácticas
- Datos sensibles → SQLite cifrado; clave derivada de contraseña (KDF), nunca en el código.
- Biometría como gate local + siempre un fallback de aplicación.
- Nada de secretos en clipboard, archivo en claro o log.
Errores comunes
- Clave hardcodeada en el código (cualquiera la extrae del binario).
- Tratar la biometría como si sustituyera el login del servidor.
- Guardar token/contraseña en archivo no cifrado en el
homeFolder.
Ver también
¿Te resultó útil esta página?¡Gracias por tu opinión!