Mot de passe
Un mot de passe ou mdp (en anglais : password ou passwd ou pwd) est un moyen d'authentification pour utiliser une ressource ou un service dont l'accès est limité et protégé.
Le mot de passe doit être tenu secret pour éviter qu'un tiers non autorisé puisse accéder au service. Le mot de passe est une méthode parmi d'autres pour effectuer une authentification, c'est-à-dire vérifier qu'une personne correspond bien à l'identité déclarée. Il s'agit d'une preuve que l'on possède et que l'on transmet à l'organe ou au service chargé d'autoriser l'accès.
Dans le conte Ali Baba et les quarante voleurs des Mille et une nuits figure un des plus célèbres mots de passe : « Sésame, ouvre-toi ! ».
Sommaire |
[modifier] Constitution
Le terme « mot de passe » est d'origine militaire. Il s'agit d'un « signe » oral de reconnaissance pour, par exemple entrer dans un camp militaire. Il est donc partagé par un groupe de personnes. Quand il s'agit d'un code personnel, il vaut mieux utiliser l'expression « code confidentiel » pour mettre en évidence le caractère secret du code et responsabiliser son détenteur.
Généralement, un mot de passe est constitué de quelques lettres, celles-ci formant un mot, signifiant ou non quelque chose. Toutefois, il peut aussi comprendre des chiffres, espaces ou des signes de ponctuations, de sorte qu'il puisse s'agir d'une phrase.
La qualité et la longueur du mot de passe sont des éléments cruciaux pour la sécurité. Un mot de passe trop court ou provenant d'un dictionnaire est susceptible d'être attaqué via une recherche dans une table contenant une liste de mots de passe. D'une manière plus systématique, une attaque par force brute tente toutes les possibilités et, avec suffisamment de temps, il est théoriquement possible de retrouver le mot de passe. Un compromis est la table arc-en-ciel, une amélioration du principe du compromis temps-mémoire.
La robustesse d'un mot de passe dépend de plusieurs critères :
- Sa longueur. Il est conseillé d'utiliser des mots de passe de plus de huit caractères.
- Le nombre de types de caractères différents. Il est conseillé de mélanger des majuscules, des minuscules, des chiffres et des caractères spéciaux.
- Sa durée de vie. Un mot de passe est d'autant plus robuste qu'il est changé régulièrement (par exemple, tous les six mois).
Par ailleurs, notons que le choix d'un mot de passe doit se faire suivant la criticité de ce dernier (par exemple, un mot de passe permettant d'accéder à l'interface d'administration d'une application ou d'un équipement sera considéré comme étant très critique).
[modifier] Limites à la sécurisation par mot de passe
Une limite juridique, existe en France à la sécurisation par mot de passe : si des données chiffrées sont saisies par la justice, la loi sur la sécurité quotidienne vous oblige à fournir la méthode de chiffrement et les clés ou mots de passe.
D'autres limites, techniques, existent : plusieurs situations existent où un mot de passe peut être découvert, plus ou moins facilement, par une personne malintentionnée. On distinguera les cas où le mot de passe est chiffré ou non.
[modifier] Capture d'un mot de passe "en clair"
On appelle "en clair" un message non chiffré. Pour capturer un mot de passe en clair, on peut imaginer plusieurs situations.
- Espionnage direct du clavier de la personne qui saisit son mot de passe.
- Mise en place d'un enregistreur de frappes (Keylogger), qui saisit tout texte tapé par un utilisateur à son insu.
- Ecoute du réseau. Si un attaquant arrive à écouter une communication non chiffrée où la cible doit s'identifier par un mot de passe, ce mot de passe apparaîtra en clair à l'attaquant.
- Vol d'un mot de passe écrit sur un post-it.
[modifier] Capture d'un mot de passe chiffré
Dans le cas où un mot de passe chiffré est capturé, il n'est pas directement utilisable : la personne malintentionnée (l'attaquant) doit découvrir le clair correspondant, en le déchiffrant si c'est possible, ou avec d'autres techniques. On dit que l'attaquant "craque" ou "casse" le mot de passe. On distingue deux principaux cas de figure : le mot de passe fait partie d'une communication, ou c'est seulement le mot de passe chiffré qui est capturé.
[modifier] Toute la communication est chiffrée
Dans ce cas, il faudra trouver un moyen de déchiffrer toute la communication pour trouver le mot de passe. Il faut donc trouver une faille dans l'algorithme de chiffrement, ou dans une de ses implémentations. Si le chiffrement est cassé, peut importe la taille du mot de passe il sera retrouvé dans le texte déchiffré.
[modifier] Seul le mot de passe chiffré est capturé
C'est généralement un condensat (ou hash) du mot de passe qui est capturé, c'est-à-dire le résultat d'un algorithme non réversible. C'est une bonne pratique, utilisée dans de nombreux cas : sites web, comptes d'utilisateur de système d'exploitation... Dans le cas où cet algorithme n'est pas vraiment irréversible (à cause d'erreurs de design ou d'implémentation), il peut être possible de retrouver le clair correspondant à un condensat. Par exemple, la gestion des mots de passe pour protéger les fichiers Excel et Word d'Office 97 comporte des failles qui font qu'il est facile de trouver les mots de passe utilisés.
Mais en général pour "casser" un hash, on utilise d'autres techniques. En connaissant la fonction de hachage, on peut imaginer différentes attaques :
- l'attaque par force brute : on se donne un espace de mots de passe à explorer en se fixant une longueur et un ensemble de caractères ; on énumère tous les mots de passe possibles de cet espace ; pour chacun de ces mots de passe on calcule l'empreinte par la fonction de hachage, et on compare cette empreinte avec celle que l'on a capturée. Pour empêcher ces attaques, l'utilisation d'un mot de passe long et complexe est recommandée. Par mot de passe complexe, on entend mot de passe comprenant différents types de caractères : des lettres minuscules et majuscules, des chiffres, et des caractères non alphanumériques (comme !:/#@ ...). La longueur du mot de passe assurera qu'il n'est pas énuméré lors d'une attaque par force brute : plus l'espace à énumérer est grand et plus l'attaque prend de temps. Voir le graphique ci-contre (attention l'échelle est logarithmique).
- l'attaque par dictionnaire : même chose que pour l'attaque par force brute, mais où les mots sont choisis dans un dictionnaire. L'utilisation de caractères différents des lettres et chiffres assurera généralement que le mot de passe n'appartient pas à un dictionnaire, et qu'il ne sera donc pas sensible à une attaque par dictionnaire.
- des attaques plus complexes, issues de la cryptanalyse, comme l'utilisation de tables arc-en-ciel. L'utilisation d'un mot de passe complexe ne protège pas nécessairement de ce type d'attaque. La préparation d'une attaque de ce type est longue et gourmande en espace de stockage, mais elle est loin d'être inaccessible de nos jours.
[modifier] Fausse faille
Certains logiciels (ex: Mozilla Firefox) permettent de rendre visible les mots de passe des formulaires. Les caractères "cachés" (ex: rond, astérisque) sont simplement là pour éviter qu'une personne derrière vous ne lise ce que vous saisissez. Dans le programme, à ce moment-là, le mot de passe est bien présent et encore non chiffré, le rendre visible consiste simplement à changer une option d'affichage.
[modifier] Sur Internet
Par abus de langage, on assimile authentifications « faibles » à une authentification par identifiant et mot de passe car historiquement, sur Internet les identifiants et mot de passe étaient transmis en clair (non chiffré) vers les serveurs. L'absence de chiffrement était due au fait que les protocoles de communication (HTTP, FTP...) et Internet dans sa globalité n'ont pas été conçus dans une optique de sécurité. De plus, la puissance requise pour chiffrer des données pouvait à l'époque être rédhibitoire.
En 2009, l'activation du protocole SSL/TLS (généralement symbolisé par un cadenas dans les navigateurs) permet de chiffrer la communication, et plus particulièrement le login (identifiant) et le mot de passe. La capture d'une communication (contenant login et mot de passe) est toujours possible. Mais cette communication est, en théorie, inintelligible pour une tierce personne.
SSL permet l'authentification du serveur et du client. Mais généralement seul le serveur s'authentifie, avec une clé publique, et un certificat. L'utilisateur s'identifie avec son identifiant et son mot de passe, mais ne présente en général pas de certificat au serveur. C'est pourquoi on parle toujours d'authentification faible.
Une authentification plus forte mettrait en œuvre des mécanismes plus élaborés du côté du client : l'utilisation d'une clé au lieu d'un mot de passe, et un certificat de sa clé publique. SSL ne renforce donc pas l'authentification du client, mais assure la confidentialité des échanges à l'aide de chiffrement.
Le mot de passe joue ici encore un rôle : la clé que possède le client est généralement stockée sous forme chiffrée, sur un support physique spécifique. Le mot de passe sert alors à chiffrer/déchiffrer la clé. Ceci assure sa protection, car la compromission de la clé signifie la compromission de toute communication chiffrée à l'aide de cette clé. C'est pourquoi on chiffre la clé elle même pour la stocker.
[modifier] Dans la pratique
Une étude portant sur 32 millions de mots de passe du site RockYou.com a montré que 30 % de ces mots de passe comptent moins de six caractères et que le plus fréquent (un peu moins d'un sur cent) est « 123456 »[1].
[modifier] Notes et références
- ↑ « Etude : les 20 mots de passe les plus populaires sont.... », Clubic, 22 janvier 2010.
[modifier] Annexes
[modifier] Bibliographie
[modifier] Articles connexes
- Authentification
- Cassage de mot de passe
- Attaque par force brute
- Politique des mots de passe
- Signature numérique
- Sécurité informatique
- Cryptographie asymétrique
- Phishing
- Authentification forte
- LM hash
[modifier] Liens externes
- (fr) Informations pour bâtir un bon mot de passe
- (fr) Programme qui génère des mots de passe, en évalue et en améliore la robustesse
- (fr) Liste de programmes (génération, récupération, gestion des mots de passe)
- (fr) Générateur de mots de passe aléatoires
- (fr) Générateur de mots de passe aléatoires et qui en évalue la sûreté