La contraseña maestra es un tipo de algoritmo implementado por primera vez por Maarten Billemont para crear contraseñas únicas de manera reproducible. Se diferencia de los gestores de contraseñas tradicionales en que las contraseñas no se almacenan en un disco o en la nube, sino que se regeneran cada vez a partir de la información introducida por el usuario: su nombre, una contraseña maestra y un identificador único para el servicio al que está destinada la contraseña (normalmente la URL). [1]
Al no almacenar las contraseñas en ningún lugar, este enfoque dificulta que los atacantes las roben o intercepten. También elimina la necesidad de sincronización entre dispositivos, copias de seguridad de posibles bases de datos de contraseñas y riesgos de filtración de datos . Esto a veces se denomina gestión de contraseñas sin sincronización .
La implementación de Billemont involucra los siguientes parámetros: [1]
En la implementación de Billemont, la clave maestra es una clave secreta global de 64 bytes generada a partir de la contraseña maestra secreta del usuario y con su nombre completo. La sal se utiliza para evitar ataques basados en tablas arco iris . El algoritmo scrypt , una función de derivación de claves intencionalmente lenta , se utiliza para generar la clave maestra y hacer que un ataque de fuerza bruta sea inviable.
sal = "com.lyndir.masterpassword" + longitud ( nombre ) + nombre master_key = scrypt ( contraseña_maestra , sal , 32768 , 8 , 2 , 64 )
La semilla de plantilla es un secreto específico del sitio en formato binario, generado a partir de la clave maestra, el nombre del sitio y el contador mediante el algoritmo HMAC-SHA256 . Posteriormente se convierte en una cadena de caracteres mediante las plantillas de contraseñas. La semilla de plantilla hace que cada contraseña sea única para el sitio web y para el usuario.
semilla = hmac_sha256 ( clave_maestra , "com.lyndir.masterpassword" + longitud ( nombre_sitio ) + nombre_sitio + contador )
La semilla de plantilla binaria se convierte luego en uno de los seis tipos de contraseña disponibles. El tipo predeterminado es la contraseña de máxima seguridad ; se pueden seleccionar otros si la política de contraseñas del servicio no permite contraseñas de ese formato:
Billemont también creó múltiples implementaciones de software libre del algoritmo Master Password, licenciado bajo la GPLv3 .: [2]
Sitio web oficial