Master Password est un algorithme créé par Maarten Billemont pour créer des mots de passe de manière reproductible. Il est différent du gestionnaire de mots de passe car les mots de passe ne sont pas stockés sur le disque dur ou sur un serveur, mais ils sont recréés à chaque fois que l'utilisateur entre les mêmes informations ; principalement, leur nom complet, un mot de passe maître et un nom unique pour chaque site internet pour lequel il est destiné.

Master Password

Informations
Créateur Maarten Billemont
Première version 15 juin 2012
Dernière version 2.3 (19 avril 2015)
Dépôt https://gitlab.com/MasterPassword/MasterPassword
Écrit en Java, C, JavaScript
Système d'exploitation Microsoft WindowsVoir et modifier les données sur Wikidata
Langues Anglais
Type Générateur de mot de passe
Licence Licence publique générale GNU
Site web https://masterpasswordapp.com

Par le fait de ne stocker aucun mot de passe, cette approche essaye de rendre plus difficile les attaques sur les bases de données ou les interceptions de mots de passe. Elle permet aussi de ne plus avoir besoin de synchronisation entre les appareils ou de sauvegardes de la potentielle base de données. Elle permet aussi d'éliminer le risque d'une fuite de mot de passe depuis la base de données.

L'algorithme

modifier

L'algorithme implique les paramètres suivants[1] :

  • Le nom : Le nom complet de l'utilisateur, utilisé comme un sel.
  • Le mot de passe maître : Le mot de passe utilisé pour générer la clé maîtresse
  • Le nom du site internet : Un nom unique pour chaque service auquel le mot de passe est associé. Souvent le nom de domaine est utilisé comme nom du site.
  • Le compteur : Un nombre entier qui peut être incrémenté quand il faut modifier le mot de passe. Par défaut, sa valeur est 0.
  • Le type de mot de passe : Le type de mot de passe défini la longueur et la constitution du mot de passe finale, voir ci-dessous.

Génération de la clé maîtresse

modifier

La clé maîtresse est une chaine de caractères de 64 octets généré à partir du mot de passe maître et salé en utilisant le nom complet de l'utilisateur. Le sel est utilisé pour éviter les attaques par Rainbow table. L'algorithme scrypt, intentionnellement lent, est utilisé pour générer la clé pour rendre une attaque par brute-force impossible.

salt = "com.lyndir.masterpassword" + length(name) + name
master_key = scrypt(master_password, salt, 32768, 8, 2, 64)

Générations de modèles de départ

modifier

Le modèle de départ (ou template seed) est un mot-de-passe secret unique à chaque site internet, généré à partir de la clé maîtresse, du nom du site et du compteur en utilisant l'algorithme HMAC-SHA256. Il est ensuite converti en une suite de caractères en utilisant les modèles de mots de passes. Le modèle de départ fait en sorte que chaque site aie un mot de passe unique pour l'utilisateur.

seed = hmac_sha256(clé maîtresse, "com.lyndir.masterpassword" + length(nom_du_site) + nom_du_site + compteur)

Implémentations

modifier

Maarten Billemont a créé plusieurs logiciels libres implémentant cet algorithme, sa license est GPLv3[2] :

Références

modifier
  1. Maarten Billemont, « The Master Password Algorithm » [archive du 9 décembre 2017] (consulté le 8 mai 2015)
  2. « License file of the MasterPassword repository » (consulté le 15 mai 2015)
  3. Maarten Billemont, « Release 1.0.0 » (consulté le 15 mai 2015)
  4. Masterpassword's Firefox add-on
  5. Masterpassword's Chrome plugin
  6. Maarten Billemont, « Master Password Homepage » (consulté le 15 mai 2015)

Liens externes

modifier

Site officiel

📚 Artikel Terkait di Wikipedia

FileZilla

26.0-rc1 has been released with support for encrypted passwords protected by a master password. », forum.filezilla-project.org, 25 mai 2017 FileZilla

PBKDF2

suivant : F(Password, Salt, c, i) = U1 ^ U2 ^ ... ^ Uc U1 = PRF(Password, Salt || INT_32_BE(i)) U2 = PRF(Password, U1) ... Uc = PRF(Password, Uc-1) Par

Data Protection API

fichier MKF, pour "Master Key File", nommé par un GUID unique. La clé principale de 512 octets précédemment générée est hashée via l'algorithme SHA-1, puis son

OpenSSL

libcrypto et libssl, fournissant respectivement une implémentation des algorithmes cryptographiques et du protocole de communication SSL/TLS, ainsi qu'une

Liste d'abréviations en informatique

authentication module PAO : Publication assistée par ordinateur PAP : Password Authentication Protocol apple Printer Access Protocol ParPort : Parallel

Europay Mastercard Visa

protocole CAP (Chip Authentication Protocol) permet de générer un One Time Password. Groupement des Cartes Bancaires CB Carte de paiement Identité numérique

Passwd

Kerberos ou LDAP. # passwd autre_compte Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Le fichier /etc/passwd est une