BurnLock - Gestor de Contraseñas Offline

BurnLock es una aplicación móvil que prioriza la privacidad para la generación de contraseñas seguras y verdaderamente aleatorias, operando completamente offline y sin almacenar datos sensibles. Su innovador sistema de compartición de contraseñas divide la clave de desbloqueo entre el usuario y un servidor mínimo (que no guarda la contraseña hasheada), permitiendo una implementación segura de 2FA para el acceso compartido.

En Desarrollo...

BurnLock - Gestor de Contraseñas Offline

Desafío: Reinventando la Seguridad y Privacidad en la Gestión de Contraseñas

El desarrollo de BurnLock surgió de la necesidad de una solución de gestión de contraseñas que priorizara la seguridad y la privacidad del usuario. A diferencia de otros gestores de contraseñas, BurnLock no almacena datos en servidores, lo que reduce el riesgo de filtraciones de datos.

Tecnologías

  • React Native
  • Expo
  • Firebase

Desafíos

Implementación de Autenticación de Dos Factores (2FA)

Integré un sistema de autenticación de dos factores para añadir una capa adicional de seguridad. Esto implica que al compartirse una contraseña y su respectiva clave de desbloqueo, el usuario creador debe aceptar el acceso a la misma en un plazo de 15 minutos.

Generación de Semillas Criptográficas a partir de Patrones Gráficos

Al iniciar la app, se le pide al usuario hacer un dibujo en la pantalla, ese dibujo es convertido en coordenadas, aleatorizado y usado como semilla para crear contraseñas realmente aleatorias sin depender de valores pseudoaleatorios. Si la semilla es robada, el atacante no podrá obtener las contraseñas, ya que estas son generadas con variaciones de la semilla y aleatorizadas.

Sistema de Compartición de Secretos Divididos para Transferencia Segura

Desarrollé una funcionalidad que permite a los usuarios compartir contraseñas de forma segura sin exponer la contraseña en un servidor. El usuario inserta una contraseña y clave de desbloqueo, esto encripta la contraseña en local usando 2 claves (usuario y servidor). El servidor almacena una parte de la contraseña, el usuario otra, sin una de las dos claves, la contraseña no puede ser desbloqueada. Esto permite que el usuario pueda compartir la contraseña con otros usuarios sin que el servidor tenga acceso a la contraseña completa.

Diseño de Interfaz Enfocada en la Usabilidad para Tareas de Seguridad

Diseñé una interfaz simple de usar, entrar y crear, permitiendo al usuario guardar pressets para usar en cualquier momento.

Aprendizajes

Con BurnLock, fortalecí mis conocimientos en seguridad, criptografía básica y generación de aleatoriedad robusta. Fue un ejercicio práctico en la implementación de 2FA y el diseño de arquitecturas móviles que minimizan la exposición de datos. Este proyecto me permitió aplicar React Native y Firebase en un contexto donde la privacidad del usuario es primordial.