La petite histoire du mot de passe

0f998eb814e8d1735220af5eff7e5fd6
La petite histoire du mot de passe
Crédits : designer491/iStock

Le 6 mai, c'était la journée mondiale du mot de passe. Un dispositif de sécurité que l'on utilise désormais au quotidien, mais qui est plus que jamais contesté tant il peut être complexe à être bien mis en œuvre. Si certains rêvent de le voir disparaître, ce n'est pas encore près d'arriver, loin de là.

Le mot de passe n’est pas mort, contrairement à celui qu’on considère comme son inventeur, Fernando Corbató, qui nous a quitté en 2019. N’en déplaise aux nombreux vendeurs de solutions d’authentification, cet outil a encore de beaux jours devant lui, à condition de le considérer pour ce qu’il devrait être : un secret.

Tout comme la biométrie, qui est une invention préhistorique puisque les artistes du paléolithique utilisaient déjà la forme de leur main pour signer leurs peintures, l’utilisation du mot de passe ne date pas d’hier. Mis en œuvre par les militaires à toutes les époques, il pouvait suffire à entrer dans un lieu particulier, ou faire office de réponse à un challenge afin de permettre une identification. Depuis, c'est surtout sa forme qui a changé.

On génère ainsi des mots de passe complexes d'un clic, parfois stockés dans un navigateur ou un gestionnaire spécialisé, un type d'outil désormais courant même pour le grand public. Puis il y a les clés de sécurité, pouvant générer des codes à usage unique ou stocker des clés privées. Le tout favorisé par les standards FIDO2/WebAuthn.

Nous sommes encore dans une phase de transition des dispositifs de sécurité. Le moment parfait pour revenir aux fondamentaux, à ce qu'était un mot de passe à l'origine et ce qu'il doit réellement protéger.

Pourquoi un mot de passe en informatique ?

Le développement de l’informatique s’est retrouvé, dans les années 60, face à un problème qui nous paraît naturel aujourd’hui, mais qui ne l’était pas forcément à l’époque : le partage des ressources (puissance de calcul, stockage, etc.). Leur rareté et leur coût élevé faisaient que l’on était souvent obligé de partager l'accès à une machine. Assez ironiquement, la situation est à la fois inversée et similaire aujourd'hui : c'est face à l’abondance des ressources informatiques que l'on se partage des infrastructures entières, désormais placées dans le cloud.

Pour partager l'accès, il fallait à l'époque séparer et ségréguer : au MIT, Corbató mis au point le Compatible Time-Sharing System (CTSS), un système d’exploitation à temps partagé. Chaque utilisateur disposait de ses propres ressources (fichiers, temps CPU, etc.), il devenait donc nécessaire de l’identifier.

Pour entrer ses commandes et faire tourner ses programmes, il fallait donc s’identifier avec la commande LOGIN. Mais il ne suffisait pas de donner son identité : il faut aussi prouver qu’on était bien celui que l’on prétendait être, pour éviter les abus (piquer le temps CPU de ses petits camarades) et protéger les données d’un regard indiscret.

Il incombait donc au système de s’assurer que Joe était bien Joe (et non Donald se faisant passer pour Joe). Pour cela, on introduisit un secret ne devant être connu que du système et de l’utilisateur, le fameux mot de passe. Si l’utilisateur se connecte en fournissant ce secret, il y a  de fortes chances qu’il ne soit pas un usurpateur.

Une mécanique d'autant plus importante que CTSS, précurseur dans de nombreux domaines, fournissait déjà à l'époque l'un des premiers outils de messagerie entre utilisateurs. Pour l’anecdote, CTSS fut suivi par Multics, issue de la même équipe projet dirigée par Corbató et qui lui valut le prix Turing, équivalent d’un prix Nobel d’informatique. Multics fut ensuite à la base d’une version simplifiée baptisée Unics puis... Unix.

À peine créé, déjà piraté

La seule protection du mot de passe consistait à ne pas imprimer ce qui était saisi, cf. CTSS Programmer’s Guide – Section AH.1.01 – 12/69 1. L’ensemble de mots de passe était stocké dans un fichier spécial, UACCNT.SECRET.

Ce qui devait arriver arriva : Allan Scherr, un étudiant ayant travaillé sur CTSS, avait besoin de beaucoup de temps de calcul pour sa thèse en cours ; il s’aperçut qu’il pouvait facilement imprimer ce fichier et récupérer ainsi un peu de temps CPU à ses collègues. Si le stratagème a vite été détecté, il n'aura pas été démasqué avant longtemps.

Sortie imprimante The Compatible Time-Sharing System Exemple de sortie sur imprimante d’une connexion utilisateur, sans affichage du mot de passe
The Compatible Time-Sharing System, A Programmer's Guide (MIT Press)

Comme toute connexion était loguée sur l’imprimante principale, certains étudiants ont bien vu des traces de connexions anormales avec leur identité, sans en retrouver l’auteur. Les prémices d'une plus grande exigence en matière de sécurité étaient là. Scherr ne se confessera que 25 ans plus tard, sans toutefois perdre son doctorat.

Des règles de base, tout est secret

De cette histoire, on retient l'un des fondamentaux de la sécurité informatique : en cas de faille, l’analyse des traces est primordiale. Une connexion inhabituelle est l'un des principaux signaux à surveiller.

On voit également que dans un tel système, le secret doit être protégé des deux côtés. Celui de l’utilisateur tout d'abord, dont le mot de passe ne doit pas être facile à deviner par une personne malveillante. En choisir un relève d’ailleurs parfois du défi et l’« hygiène » numérique qui en découle demande un certain investissement personnel.

Du côté du système informatique ensuite : le fichier contenant les mots de passe ne doit pas être accessible en clair par tous. Stocker un secret de la sorte n’est pas la meilleure des pratiques de sécurité. Mais rappelons le contexte : ce mécanisme n’avait pour but premier que d’optimiser l’efficacité du système et le partage des ressources.

De nos jours, ce code secret peut être bien mieux protégé, avec des fonctions de hachage qui reviennent à un chiffrement à sens unique (comme sha256 ou bcrypt) renforcées par d’autres techniques comme le salage. Mais il existe nombre d’autres techniques pour protéger le mot de passe et, plus généralement, l’authentification.

Le multi-facteurs

On peut bien sûr demander plusieurs preuves de son identité (facteur d’authentification) : on a tous utilisé un second code reçu par SMS venant confirmer une première authentification. Mais la multiplication des facteurs d’authentification n’est pas la panacée, surtout si on utilise des moyens faillibles et faciles à contourner.

On parle trop souvent d’authentification forte pour l’authentification multi-facteurs, alors que cela n’a pas de sens : la force d’une authentification ne devrait être évaluée que vis-à-vis des menaces encourues et des risques pressentis. Expliquons cela avec une analogie : l’accès de votre maison est protégé par une porte dotée d'une serrure, et vous apprenez que des cambriolages ont lieu près de chez vous.

Une option possible sera d’ajouter un moyen de protection, en mettant un piège à loups derrière la porte. Vous aurez ainsi une deuxième protection, mais sera-t-elle plus efficace qu’une porte blindée ? Vous aurez beau avoir deux dispositifs, il suffira au cambrioleur de donner un bon coup de pied dans la porte pour l’ouvrir, et de regarder où il marche pour éviter le piège à loups, alors qu’avec la porte blindée il lui faudra du temps, du matériel et un certain savoir-faire pour ouvrir la porte. Autre possibilité : il arrive à passer par une fenêtre restée ouverte.

L'authentification multiple permet néanmoins d'ajouter un élément qu'un éventuel pirate devra récupérer, rendant l'opération plus difficile en demandant au pirate des moyens supplémentaires. Cela pourra aussi parfois accélérer la détection (vous recevez un SMS sans avoir tenté de vous connecter par exemple).

C’est là que cette pratique a tout son sens : quand elle complique réellement la tâche du pirate. Mais il faut avant tout s'assurer que le service utilisé ne stocke pas vos identifiants en clair et les garde en sécurité.

C’est quoi ce code PIN à 6 chiffres ?

Revenons d'ailleurs sur une pratique souvent critiquée, montrant qu'un moyen d’authentification a priori faible peut assurer une sécurité suffisante s’il est convenablement employé, et couplé à d’autres mesures de sécurité : l'utilisation d'un simple code PIN à quatre ou six chiffres proposés par certains services ou dispositifs de sécurité.

Reprenons l’exemple précédent : la porte peut toujours être enfoncée d’un coup d’épaule, mais au lieu d’un piège à loups, on installe une centrale d’alarme avec une sirène puissante. Si le cambrioleur passe la porte, il déclenchera une sirène qui va casser les oreilles mais aussi alerter tout le voisinage, voire les forces de police.

Cela montre à nouveau que c'est en combinant judicieusement des moyens complémentaires les uns des autres, la sécurité est réellement plus forte face à la menace redoutée. Ainsi, un code à 6 chiffres (1 million de possibilités seulement, contre 300 millions avec un alphabet de 26 lettres et 19,7 milliards avec des majuscules/minuscules), qui paraît de prime abord peu sûr, peut se révéler suffisamment efficace s’il est couplé à d’autres mesures : limitations du nombre de tentatives, anti-keyloggers, anti-captures d’écran, interdiction des connexions simultanées, etc.

Pourquoi se limiter si on peut faire mieux ?

Il serait encore plus efficace d’avoir une porte blindée avec une alarme. En informatique, un mot de passe costaud bien protégé et accompagné d’autres mesures sera encore meilleur qu’un simple code PIN.

Mais il ne faut pas oublier un autre principe qui est à la base de la sécurité, lorsqu'il faut la mettre en pratique : il s'agit d'un compromis constant entre le niveau de sécurité apporté et la praticité pour l'utilisateur. Pour contrarier les attaquants, il faut leur compliquer la tâche. Mais on complique aussi la vie de l’utilisateur légitime. 

Si ce dernier est trop embêté par certains dispositifs, on risque d'arriver à un résultat inverse. C'est ce qu'il se produit lorsque l'on en voit certains arriver à une solution pire que bien d'autres : noter un mot de passe sur un post-it visible de tous, ou avoir un fichier « mdp.txt » qui traine sur le bureau du système d'exploitation.

Autre exemple courant, lorsqu'une société demande à ses utilisateurs de changer leurs mots de passe tous les mois avec des règles strictes, certains peuvent être tentés d’aller à la simplicité avec : 1Janvier, 2Fevrier, 3Mars… et faire tomber comme un château de cartes la sécurité mise en place. Il faut trouver le bon compromis.

Gestion des risques, gestion des râleurs

Le rôle de la sécurité sera souvent de proposer les solutions les plus acceptables, dans un contexte donné. Il n’y a aucun absolu en la matière, il faut souvent ménager la chèvre et le chou : fournir une protection suffisante, quitte à accepter certains risques et donc certaines attaques, tout en préservant l’utilisateur qui doit pouvoir utiliser son service sans trop de contraintes. Il faut protéger sa maison sans l'empêcher de rentrer chez lui.

Il a été dit que 00000000 a longtemps été le code de la force nucléaire des États-Unis. De quoi donner des sueurs froides… En informatique, le code PIN est souvent utilisé comme moyen d’authentification car il est jugé plus simple d’emploi, et présentant suffisamment de sécurité lorsqu’il est adossé à d’autres dispositifs.

De nombreuses banques l’utilisent comme premier moyen d’authentification. Pour le comprendre, il faut se rappeler que les premiers services bancaires automatisés utilisaient le téléphone fixe, avec un clavier numérique. On ne pouvait donc rentrer son identifiant et son code secret que sous forme numérique.

Le code PIN est également utilisé pour le paiement par carte et l’accès aux distributeurs automatiques de billets (DAB) et guichets automatiques bancaires (GAB). Ce code secret numérique resta longtemps seul, et fut reconduit tel quel avec les premières applications web, afin que les clients puissent avec les mêmes identifiants utiliser le service internet et le service téléphonique. On lui a depuis ajouté un moyen supplémentaire sous forme d’OTP reçu par SMS ou d’application de validation sur smartphone.

Depuis l’avènement de la directive DSP2 sur les moyens de paiement, l’authentification à deux facteurs se généralise, mais l’usage d’un code secret numérique persiste en pratique.

Code PIN or not code PIN

On confond d'ailleurs souvent code PIN et code secret numérique. Pourtant, stricto sensu, ce n’est pas un PIN (Personal Identification Number), il n’a aucune signification en termes d’identité. Si c’était le cas, avec un code PIN sur 4 chiffres, il n’y aurait que 10 000 identités possibles. Le terme est mal choisi, mais il faut faire avec.

Votre numéro de sécurité sociale, lui, est un numéro d’identification personnel en France, car aucun résident en France ne dispose du même. Mais il n’est pas secret : c’est son usage qui est restreint, pour préserver les libertés individuelles (pourvu que ça dure).

Définition du code PIN Payment Card Industry (PCI) PIN Security Définition du code PIN - Payment Card Industry (PCI) PIN Security, Requirements and Testing Procedures, version 3.0

Revenons là encore à l’origine : un code PIN ne désignait pas au départ un code de sécurité numérique mais un code secret numérique permettant d’authentifier le possesseur d’une carte de paiement (utilisant des moyens cryptographiques). Cette définition et cet usage sont ceux retenus par PCI DSS (la norme de sécurité de l’industrie des cartes de paiement) et la norme ISO 9564.

Il servait donc à confirmer l’identité portée par la carte, et c’est en ce sens qu’il était un code personnel. Son usage très répandu fit qu’on finit par confondre l’usage et la forme, et tout code à 4 ou 6 chiffres est devenu un code PIN.

Sous Windows, un code PIN qui ressemble à un mot de passe

Un mot de passe (code secret) doit être stocké quelque part, en général sous forme chiffrée et à sens unique (hash), soit localement, soit sur un serveur d’authentification. Depuis Windows Hello, il est possible d’utiliser plusieurs méthodes d’authentification au sein de l'OS de Microsoft, dont le code PIN.

Et qu’est-ce qu’on voit ? Windows nous propose la possibilité... d’inclure des lettres et des symboles. Quelle est alors la différence avec un mot de passe ? Elle se trouve dans le fonctionnement. Le code PIN de Windows Hello n’est pas stocké sur votre ordinateur, contrairement à un mot de passe, et il est lié à l’appareil physique.

Code PIN Windows 10

Quel est l’intérêt pour un particulier ? Il pourra ainsi se connecter sur un même compte Windows sur plusieurs machines avec un code secret différent sur chacune d'entre elles, réduisant le risque que son « secret » soit récupéré par un attaquant. Cela ne facilite pas le SSO (Single Sign On, permettant à l’inverse de se connecter à plusieurs machines à partir d’une authentification centrale), mais on voit bien les implications :

  • Avoir un code PIN sur chaque machine Windows empêche un attaquant de se connecter à votre compte Windows depuis n’importe où. La sécurité est donc meilleure.
  • Par contre, si l’utilisateur légitime souhaite se connecter depuis une autre machine (cybercafé, lieu de vacances, etc.), son code PIN ne lui servira à rien et il devra trouver une autre solution.
  • Avoir un SSO est un gage de confort pour l’utilisateur, qui n’a à s’authentifier qu’une fois pour accéder à de nombreuses ressources.
  • Le confort est meilleur, mais la sécurité moins bonne au sens où la compromission du compte affectera toutes les ressources.

Un dernier rappel, s'il en était besoin, que confort et sécurité sont bel et bien antinomiques : tout est affaire de choix, et la tâche des spécialistes de sécurité sera bien souvent de trouver le bon équilibre entre les deux.

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !