aWallet Password Manager (Español)

NOTA: Esta pregunta es una subparte de la pregunta original sobre un Administrador de contraseñas de Wallet publicado en Cryptography.StackExchange. Como sugirió @SEJPM , lo estoy publicando aquí ya que el tema de la pregunta se adapta mejor a InformationSecurity.StackExchange.


Después de leer muchos artículos sobre cómo aumentar la seguridad de mis cuentas web, comencé a usar aWallet Password Manager para Android para realizar copias de seguridad mis contraseñas. Me gusta por las siguientes razones:

  • Puedo tener contraseñas de buena entropía : Puedo agregar una combinación de & mayúsculas en minúsculas, dígitos, caracteres especiales (incluidos espacios) y tener contraseñas razonablemente largas (más de 10 caracteres )
  • Guardar mis contraseñas de forma segura me permite tener contraseñas distintas para cada cuenta web que de otro modo serían imposible. Esto evitaría un efecto en cascada (regalar las credenciales de todas las cuentas) que se crearía ted si una de mis cuentas, cuyas credenciales de inicio de sesión comparto con varias cuentas, se ve comprometida.

No hace falta decir que ese segundo punto es discutible porque tener todas las credenciales almacenado en un solo lugar presenta un punto único de falla y presenta el mismo riesgo de reacción en cadena mencionado anteriormente.


Dado mi conocimiento limitado de criptografía y mis dudas sobre la privacidad (dados los incidentes recientes de robos en línea), quiero testificar la seguridad de unWallet Password Manager antes de almacenar mi Datos bancarios / de la tarjeta en él. Esto es lo que afirman en su página de Google PlayStore :

CARACTERÍSTICAS DE SEGURIDAD

• Todos los datos están cifrados, incluidos los nombres de las entradas, las definiciones de categorías y los datos en sí.

• Cifra los datos utilizando algoritmos AES y Blowfish con tamaños de clave de 256, 192 y 128 bits.

• Cuando se descifra el archivo de datos, se prueban todas las combinaciones de algoritmo, tamaño de clave y modo de operación de cifrado (CBC, CFB, OFB y ECB) con la contraseña maestra para desbloquear el archivo de datos. prolonga los ataques de fuerza bruta. La aplicación en sí no almacena ninguna pista sobre el cifrado real, el tamaño de la clave o el modo de operación del cifrado.

• Utiliza una «sal» generada aleatoriamente combinada con la contraseña maestra. Salt ayuda para protegerse de ataques de diccionario fuera de línea.

• La clave para abrir el archivo de datos se crea combinando su contraseña maestra con la «sal» de 512 bits. El resultado es hash 1000 veces por SHA-256 . El hash repetitivo genera una fuerza bruta en tack más difícil.

Si bien ninguno de estos puntos tiene mucho sentido para mí, lo poco que sé sobre criptografía me dice que [corrija si me «equivoco»] repetir una técnica de cifrado varias veces no «mejora matemáticamente la seguridad ; solo puede dar una falsa impresión de seguridad adicional.


Y debido a esta inconsistencia, comencé a dudar de la validez de sus otras afirmaciones. Mis preguntas son: –

  1. ¿Existe alguna herramienta / técnica que pueda utilizar para intentar descifrar el archivo data.crypt utilizado por una aplicación de Wallet para probar su seguridad?
  2. aWallet no ofrece ningún almacenamiento en la nube propio y nos permite (opcionalmente) hacer una copia de seguridad del archivo data.crypt en Google Drive o Dropbox. ¿Qué tan seguro sería si uso la autenticación de dos factores para mi cuenta de Google?
  3. En general, ¿es seguro almacenar las credenciales de inicio de sesión o los datos bancarios o ambos en un administrador de contraseñas?

Comentarios

  • ¿Es el hash repetitivo lo que le hizo sospechar? Eso no es lo mismo que el cifrado repetitivo y, de hecho, es una práctica estándar. Vea esto .
  • Is it safe to store login credentials or banking details or both in a password manager No ‘ t tiene que ser una seguridad perfecta, tiene que ser mejor que crear su propia contraseña y recordarla.
  • » todas las combinaciones de algoritmo, tamaño de clave y Se prueba el modo de operación de cifrado (CBC, CFB, OFB y ECB) » Esto suena idiota … ¿por qué no utilizar una función de derivación de clave adecuada?El hecho de que aparentemente te permitan usar ECB es una gran señal de alerta (y si no ‘ no te permiten usar ECB, entonces intentar descifrar con él no ‘ no hago nada para ralentizar al atacante de todos modos)
  • Yo ‘ me gustaría señalar a cualquiera que quiera comentar sobre los detalles criptográficos de este » administrador de contraseñas » a la publicación vinculada en Crypto.SE , donde se evalúan y discuten estos problemas.

Respuesta

Tenga en cuenta: esta publicación en realidad responde a la (s) pregunta (s) en la pregunta y no comenta (mucho) sobre la seguridad de aWallet. Le sugiero que visite el Versión Crypto.SE de esta pregunta para una revisión de los detalles criptográficos.

¿Hay alguna herramienta / técnica que pueda usar? intentar descifrar el archivo data.crypt utilizado por una aplicación de Wallet para probar su seguridad?

Una búsqueda rápida no arrojó nada, así que Supongamos que este administrador de contraseñas no es lo suficientemente grande / no se ha investigado lo suficiente como para que alguien más escriba una herramienta para atacar este administrador de contraseñas.

aWallet no ofrece ningún almacenamiento en la nube propio y nos permite (opcionalmente) hacer una copia de seguridad del archivo data.crypt en Google Drive o Dropbox. ¿Qué tan seguro sería si utilizo la autenticación de 2 factores para mi cuenta de Google?

Esto depende en gran medida.
Suponiendo una billetera «s Las medidas de seguridad son realmente buenas y usa una contraseña segura y / o un archivo de clave local, luego cargar la base de datos de contraseñas encriptadas a un servicio en la nube no daña la seguridad, ya que su contraseña y / o archivo de claves aún proteger las contraseñas. Por supuesto, la autenticación adicional y el control de acceso de estos servicios en la nube significa que es probable que solo usted y el proveedor tengan acceso y, por lo general, lo mejor para el proveedor es no filtrar archivos de usuario.

En general, ¿es seguro almacenar las credenciales de inicio de sesión o los datos bancarios o ambos en un administrador de contraseñas?

Sí, mucho, si el administrador de contraseñas es decente.
El uso de un administrador de contraseñas le permite tener fácilmente, contraseñas seguras por sitio web, lo que significa que se requiere un compromiso de su base de datos de contraseñas o de su cliente local. Como ya hemos establecido, la contraseña segura evita un compromiso de la copia de seguridad, por lo que esto deja al cliente comprometido como vector para aprender la contraseña. Pero tan pronto como su cliente se vea comprometido, todas las apuestas se cancelan de todos modos, ¡porque el atacante podría simplemente olfatear su teclado o monitorear / interceptar los datos de su red! Así que, en general, tiene poco que perder y mucho que ganar utilizando (buenos) administradores de contraseñas.

Sin embargo, si aWallet es un buen administrador de contraseñas es una pregunta diferente (y se responde en Crypto.SE).

Respuesta

aWallet específicamente: no lo uses. El creador obviamente no sabe lo que están haciendo. Solo señalaré una preocupación (hay varias que probablemente serán más obvias para People Smarter Than Me): podría cifrar su base de datos en modo ECB (a veces, pero no siempre).

Modo ECB en particular, no es seguro porque el mismo texto plano siempre se cifra en el mismo texto cifrado. Por lo tanto, el modo ECB «no oculta bien los patrones de datos … no proporciona una confidencialidad seria del mensaje , y no se recomienda su uso en protocolos criptográficos «.

Administradores de contraseñas en general: use uno. Pero elija uno conocido con buena reputación como 1Password, LastPass, KeePass, Dashlane, etc. O al menos use uno creado o recomendado por una empresa de seguridad o un investigador de seguridad reconocidos si no sabe dónde más buscar. Un buen administrador de contraseñas con cifrado competente ( no aWallet aparentemente) es perfectamente seguro para guardarlo en la nube, siempre que su contraseña maestra sea segura.


Editar: De acuerdo, no puedo resistirme a elegir algunos otros puntos que me llaman la atención para gritar» aléjate «:

  • Con respecto a la transformación de la contraseña maestra en una clave de cifrado: «SHA-256 aplica un hash al resultado 1000 veces». Esto es ridículamente insuficiente. Si se hicieran correctamente, como mínimo usarían PBKDF con 10,000 rondas o más en lugar de un bucle hash personalizado de solo 1000. Incluso eso sería apenas suficiente y se compararía mal con los administradores de contraseñas implementados correctamente. Cientos de miles o más rondas serían más parecidas. O abandone el hash de contraseña basado en SHA y use algo como bcrypt o argon2. Este software no se puede comparar con las herramientas modernas.
  • «Admite la autodestrucción del archivo de datos después de que se haya intentado un número predefinido de desbloqueos fallidos». Esto no afecta a un atacante en absoluto. La única persona a la que puede dañar es el usuario legítimo. Un atacante hará una copia de la base de datos o utilizará software modificado para eliminar el límite de conjeturas. Usted en el otra parte puede perder accidentalmente todas sus contraseñas, para que nunca más se las vuelva a ver, si accidentalmente activa el bloqueo de mayúsculas, o una tecla muerta, o algo así.

Responder

Respondiendo específicamente a su pregunta:

¿Hay alguna herramienta / técnica que pueda utilizar para intentar descifrar el archivo data.crypt utilizado por una aplicación de Wallet para probar su seguridad.

Aquí «hay una pequeña secuencia de comandos en Python que descifra data.crypt archivos e imprime el contenido en stdout. Tenga en cuenta que no es seguro ya que todo es visible en texto plano, así que solo esto en una máquina segura o con un archivo de datos ficticio.

La secuencia de comandos se creó utilizando el documentación técnica en awallet.org.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *