Optimisation de la sécurité du mot de passe image

Nous souhaitions parler davantage de la sécurité des mots de passe image suite à certains de vos commentaires. Jeff Johnson, responsable de l'équipe de développement pour l'expérience utilisateur, est particulièrement intéressé par les formules mathématiques et la sécurité de cette fonctionnalité et a rédigé ce billet sur l'optimisation de la sécurité du mot de passe image. Comme il s'agit d'une nouvelle forme d'ouverture de session qui concerne la sécurité (particulièrement avec les appareils mobiles) ainsi que les nouvelles techniques d'authentification (la fragilité de la reconnaissance faciale par exemple ou les défis que nous avons vus avec la biométrie), il n'est pas surprenant que les utilisateurs aient pensé aux écueils potentiels de cette approche. Notre objectif était de fournir une méthode pratique qui n'était pas moins sécurisée que les mots de passe texte (toutes ces formules mathématiques données par Jeff). Jeff explique en quoi les mots de passe image constituent une solution fiable de manière générale. En lisant ceci, gardez à l'esprit qu'au fil des années, de nombreuses « pratiques recommandées » ont été établies pour la saisie des mots de passe (des stratégies, telles que nombre +lettres+casse mélangée, longueur, impossibilité de recycler les mots de passe, pas de mot du dictionnaire, etc.), ainsi que des précautions importantes (par exemple éviter les terminaux Internet publics avec des caméras potentielles au-dessus de la tête ou des logiciels d'espionnage du clavier). Ces types de pratiques présentent tous des analogies quant à l'utilisation du mot de passe image comme vous pouvez l'imaginer. Jeff souligne certains cas et explique la logique qui se cache sous la sécurité du modèle. --Steven


La question qui nous a fréquemment été posée d'une façon ou d'une autre est la suivante : « Il est important pour moi que ma machine soit en sécurité. Quelles sont les pratiques recommandées pour créer la séquence la plus sécurisée de mouvements d'ouverture de session ? » Cette question donne lieu à une analyse intéressante (en tout cas pour moi, qui suis porté sur les mathématiques). Cela implique la théorie des jeux, mais je vais d'abord détailler les meilleures pratiques suivantes.

  • Choisissez une photo comportant au moins 10 centres d'intérêt. Un centre d'intérêt est une zone qui peut servir de point de repère pour un mouvement : un point que vous touchez, des endroits que vous reliez avec une ligne, une zone que vous encerclez.
  • Utilisez un mélange aléatoire de types de mouvement et créez une séquence. Tandis qu'une ligne est le mouvement qui possède le plus grand nombre de permutations, si vous utilisez toujours 3 lignes, cela simplifie la tâche d'un assaillant, car il peut exclure les séquences comprenant les autres types de mouvement.
  • Si vous choisissez d'utiliser une pression, une ligne et un cercle, choisissez de façon aléatoire l'ordre de ces mouvements. Cela permet de multiplier par 6 le nombre de combinaisons d'un ordre prévisible.
  • Pour les mouvements en cercle, choisissez de façon aléatoire de tracer le cercle dans le sens horaire ou anti-horaire. Vous pouvez également utiliser une taille de cercle supérieure ou inférieure à la taille « attendue ».
  • Pour les mouvements permettant de tracer des lignes, vous pouvez instinctivement toujours dessiner les lignes de gauche à droite, mais il est plus sûr de choisir de façon aléatoire la direction selon laquelle vous reliez les points.
  • Comme avec toutes les formes d'authentification, lorsque vous saisissez votre mot de passe image, évitez de permettre à d'autres gens de regarder lorsque vous ouvrez votre session.
  • Faites en sorte que votre ordinateur soit toujours dans un lieu sécurisé où les personnes non autorisées ne peuvent pas y accéder physiquement. Comme avec n'importe quelle saisie d'un mot de passe, faites attention au champ de vision et aux appareils d'enregistrement potentiels qui s'immiscent sur votre écran.
  • Gardez à l'esprit que les traînées à l'écran peuvent permettre d'identifier vos mouvements. Nettoyez rigoureusement votre écran de façon régulière. Bien que cela augmente le risque si vous nettoyez, ouvrez une session, puis ne faites rien, l'accumulation des traces graisseuses due à l'utilisation répétée est généralement plus facile à voir pour un assaillant (en plus, qui aime utiliser un appareil graisseux ?). Notez que l'accumulation est davantage un problème pour la saisie de codes PIN numériques, lorsque l'appareil est fréquemment activé et désactivé et que vous saisissez la séquence des douzaines de fois par jour (les traces graisseuses peuvent s'accumuler à ces endroits). Regardez de temps à autre votre écran selon un angle oblique lorsque l'écran d'ouverture de session avec mot de passe image est affiché, pour voir si un motif semble laisser deviner votre séquence de mouvements. Si tel est le cas, nettoyez votre écran ou ajoutez des traînées supplémentaires dans la zone du mot de passe image (ce qui augmente les centres d'intérêt abordés ci-dessous).

Si vous suivez ces conseils, vous augmentez de façon significative la sécurité de votre ordinateur.

Comme différents commentaires l'ont suggéré, nous avons également envisagé de réduire la taille de l'image, de l'afficher à des positions aléatoires et d'appliquer de légères rotations à l'écran pour réduire les risques qu'entraînent les traînées. Les commentaires d'utilisabilité nous avaient appris que réduire la taille de l'image rend plus difficile la saisie correcte du mouvement et donne une impression moins immersive de l'ouverture de session. Toutefois, si cela pouvait représenter une amélioration significative de la sécurité, nous voulions prendre en compte les inconvénients et les avantages. Nous avons découvert que, alors que la réduction de l'image pourrait réduire l'accumulation des traînées à des endroits spécifiques, il y avait encore plus de « nuages » visibles de pressions, lignes et cercles identiques les uns par rapport aux autres. Avec ces informations, un assaillant pourrait aisément découvrir les mouvements les uns par rapport aux autres. Il était donc simple de les déplacer dans l'image jusqu'à ce qu'ils semblent coïncider avec les éléments importants de l'image. Cela ne représentait pas d'amélioration notable en matière de sécurité et nous pouvions mesurer des dégradations significatives de la rapidité et de la fluidité de l'expérience utilisateur. En réalité, l'utilisation des traînées est très difficile. Lorsque nous avons pris des tablettes utilisées pendant plusieurs jours par des utilisateurs, il y avaient généralement trop de traînées pour pouvoir être en mesure de déduire leur ensemble de mouvements. Même lorsqu'on nous a appris leur séquence d'ouverture de session et que nous savions quoi chercher, notre succès a été limité. Nous avons inclus cette analyse, car nous pensons qu'il est important que lorsqu'une nouvelle technologie innovante est mise sur le marché, les vecteurs d'attaque potentiels sont révélés et la communauté technique peut atteindre un consensus général sur le degré d'une menace et ses atténuations potentielles. Bien sûr, nous sommes également certains que les technologies des écrans vont continuer à s'améliorer et que les traînées sembleront un jour obsolètes.

L'analyse

Il est également intéressant de calculer les éventualités d'une attaque se produisant selon divers scénarios. Comme expliqué dans le billet précédent, les mouvements reposent sur un quadrillage de 100 x 100, ce qui donne même au mouvement le plus simple (la pression) 10 000 valeurs potentielles (en fonction de la correspondance de proximité, ce nombre est effectivement réduit à 270). En réalité, le nombre de centres d'intérêt est beaucoup plus faible ; le nombre d'emplacements mémorables sur une photographie donnée est limité.

Bien qu'il existe d'autres façons de structurer une analyse, aux fins de cette discussion, nous allons supposer qu'il n'existe qu'un petit nombre de centres d'intérêt et que tous les mouvements impliquent uniquement ces centres (points). Nous supposons que les pressions s'effectuent directement sur un centre d'intérêt, que les cercles n'ont que deux tailles (disons petit autour du point et plus grand autour du point) et deux directions (sens horaire et anti-horaire) et que les lignes relient toujours deux centres d'intérêt. Comme cela n'est pas strictement vrai, le nombre de permutations est en réalité plus grand.

Windows propose une protection supplémentaire pour les mots de passe image (et les codes PIN) en désactivant la méthode d'ouverture de session après 5 tentatives incorrectes (vous devez ensuite utiliser votre mot de passe traditionnel). Tout en gardant cela à l'esprit, il est intéressant pour un scénario donné de concevoir la sécurité relative de deux façons.

D'abord, quelles sont les chances pour qu'un assaillant connaissant l'intégralité de votre méthode de sélection des mouvements soit en mesure d'ouvrir une session sur votre machine avant que le verrouillage ne soit déclenché (nous appellerons ce cas Chances1). S'il existe x séquences de mouvements également semblables, les chances de deviner votre séquence avant le verrouillage sont de 5 / x .

Le second point de vue intéressant suppose qu'on vous ait donné 100 machines, chacune dotée d'un mot de passe choisi de façon aléatoire conformément aux règles du scénario (nous appellerons ce cas Chances100). Quelles sont les chances qu'un assaillant puisse ouvrir une session sur l'une de ces machines au moins ? Puisqu'il s'agit d'événements indépendants, les chances sont les suivantes :
  1)/x)^100.

Scénario élémentaire

Imaginons un scénario non sécurisé à l'extrême : Votre « image » est entièrement noire, avec seulement un point blanc au milieu. Comme elle ne comporte qu'un seul centre d'intérêt, seuls la pression et le mouvement permettant de composer un cercle peuvent être utilisés (il n'y a aucun endroit auquel relier une ligne). De toute évidence, si je n'utilise que la pression, un assaillant réussirait complètement, car la seule séquence valide serait trois pressions sur le point blanc. Supposons que nous n'utilisions que des cercles et aucun point. Nous pouvons choisir de façon aléatoire 4 cercles possibles pour chaque mouvement. Cela nous donne un total de 43 = 64 séquences de mouvements possibles. Pour ce scénario, Chances1 est de 7,81 % et Chances100 de 99,97 %. Il est étonnant que pour une seule machine, les chances de réussite d'une ouverture de session avec mon mot de passe image sont inférieures à 8 % (par intuition, j'aurais pensé à un chiffre plus élevé), mais vous pouvez voir qu'il est virtuellement certain qu'avec 100 machines, au moins l'une d'entre elles serait compromise. Tandis que certains utilisateurs peuvent se satisfaire de ces chances, la plupart des gens soucieux de la sécurité et les administrateurs informatiques qui gèrent un grand nombre de machines trouveraient cela inacceptable.

Compliquons maintenant le scénario en disant que nous allons choisir chaque mouvement de façon aléatoire, qu'il s'agisse d'une pression ou d'un cercle. Il est tentant de dire que cela double la complexité de chaque mouvement, mais tel n'est pas le cas. Il y a 4 cercles possibles et 1 pression possible, par conséquent, il existe 5 mouvements uniques, ce qui donne un total de 125 séquences.

Disons que nous choisissons d'implémenter notre nouvelle méthodologie « aléatoire » comme suit : tirez à pile ou face pour savoir s'il s'agit d'une pression ou d'un cercle. Si c'est un cercle, nous allons décider de façon aléatoire de laquelle des quatre possibilités il s'agira. Bien que cette démarche semble correcte et aléatoire, elle est en réalité moins sûre que la simple utilisation des cercles uniquement. En effet, la moitié du temps, nous choisirons un mouvement pour lequel il n'y a qu'une seule possibilité (la pression). Un assaillant concentrerait son attaque sur les mouvements comportant deux ou trois pressions et aurait plus de succès. La stratégie d'attaque idéale (il en existe d'autres avec des chances identiques) consisterait à tester les 3 pressions, puis à tester deux pressions, suivies par chacun des quatre types de cercle pour les 5 tentatives avant verrouillage. Au lieu de l'évident Chances1 de 4 % (une amélioration par rapport aux 7,81 % précédents), un assaillant atteindrait en réalité Chances1 de 25 %, plus de trois fois moins bien que l'utilisation simple des cercles. Les statistiques peuvent être complexes !

Heureusement, ce scénario peut être résolu facilement. Pour chaque mouvement, nous choisissons un nombre aléatoire situé entre 1 et 5. Si c'est 1, nous utilisons une pression. Sinon, nous utilisons la valeur pour choisir une des quatre possibilités de cercle. Cela donne le résultat suivant : Chances1 de 4 % (presque deux fois aussi bien que le premier scénario), mais Chances100 a toujours une valeur médiocre de 98,31 %.

Une légère amélioration

Apportons une amélioration sensible à notre méthodologie. Ce scénario implique une image avec seulement deux centres d'intérêt (il est très difficile d'imaginer une vraie photo aussi simple, nous pouvons donc prétendre qu'il s'agit d'une toile noire avec deux points blancs). Cela nous permet d'ajouter le mouvement de ligne, mais il n'y a que deux possibilités : tracer du premier point vers le second ou du second vers le premier.

En s'appuyant sur l'exemple précédent, nous allons choisir de façon aléatoire le type de mouvement, puis le mouvement. Nous allons additionner tous les mouvements possibles, puis choisir un nombre aléatoire à associer à une probabilité égale sur chaque mouvement possible. Il existe 2 pressions possibles, 8 cercles possibles et 2 lignes possibles. Le nombre total de séquences de mouvements est de 123 = 1 728. Cela nous donne une Chances1 de 0,29 % et Chances100 de 25,2 %. Il est quelque peu remarquable qu'une image si simple avec seulement 2 centres d'intérêt présente des chances si faibles d'attaques réussies. Même si vous essayez d'accéder à 100 machines, vous ne réussiriez qu'à accéder à au moins une machine sur 4 tentatives.

Accélération

Supposons maintenant que votre image comporte 5 centres d'intérêt. Je peux imaginer certaines images très simples où cela peut être le cas. Nous avons maintenant 5 pressions possibles, 20 cercles possibles et 20 lignes possibles. Cela nous donne 453 = 91 125 séquences possibles. Chances1 devient maintenant très faible à 0,0055 % et Chances100 est également très bas à 0,55 %. Pour de nombreux utilisateurs, ces chances sont suffisantes pour protéger leurs données.

Au maximum

Supposons que la sécurité est plus que primordiale et choisissons une image avec 10 centres d'intérêt. Nous pouvons débattre du nombre réel de centres d'intérêt contenus dans une photo donnée. Toutefois, le nombre de centres d'intérêt « évidents » n'a aucune importance, tant que vous choisissez 10 points que vous pouvez identifier et avec lesquels choisir des mouvements de façon aléatoire. Si certains des points ne sont pas évidents (mais que vous pouvez tout de même les cibler de façon fiable), c'est un plus en matière de sécurité.

Nous avons maintenant 10 pressions possibles, 40 cercles possibles et 90 lignes possibles. Cela donne le nombre très confortable de 1403 = 2 744 000 séquences. Chances1 diminue considérablement à 0,0002 %. En fait, vous avez 50 fois plus de chances de gagner à la loterie nationale que de voir votre machine compromise avec une image comportant 10 centres d'intérêt ! Chances100 est tombé à 0,018 % et même Chances1000 n'est qu'à 0,18 %.

Ingénierie sociale

L'ingénierie sociale est l'une des menaces les plus importantes pour la sécurité des ouvertures de session de tous types, que ce soit par mot de passe, code PIN ou mot de passe image. L'utilisation d'un utilitaire aléatoire pour vous aider à établir votre séquence d'ouverture de session présente la même utilité pour chacune de ces méthodes.

Pour les passionnés de la technique, il est possible d'implémenter les schémas ci-dessus avec peu de programmation ou avec Excel. Toutefois, il serait utile de pouvoir utiliser une méthode moins technique pour créer une séquence d'ouverture de session, afin qu'un plus large public puisse en profiter. Nous ne devons évidemment pas nous faire d'illusions en pensant que le nombre de personnes recherchant ces outils et procédures sera supérieur au nombre de personnes qui choisissent volontairement des mots de passe texte sécurisés, si les administrateurs de sites ne l'exigent pas.

Lancer le dé

J'ai pensé qu'il serait amusant d'élaborer un exercice fantaisiste visant à trouver une méthode analogue pour générer une séquence de mouvements aléatoires. Pour ce faire, j'ai choisi d'utiliser un dé à six côtés (D6 pour les joueurs invétérés :-)) pour générer une séquence de mouvements de 6 centres d'intérêt. En plus de s'adapter parfaitement au dé, une image à 6 centres d'intérêt présente la propriété précieuse selon laquelle le nombre de lignes possibles (30) est exactement égal au nombre de pressions (6) plus les cercles (24). Il est donc facile de déduire également le type de mouvement.

Répétez les étapes suivantes pour chacun des trois mouvements :

  1. Lancez le dé.
    Le nombre indique lequel des six centres d'intérêt utiliser pour le mouvement (pour une ligne, il s'agit du centre d'intérêt du début).
  2. Relancez le dé.
    • Si le dé est impair, le mouvement sera une ligne.
      Relancez le dé.
      Si le nombre correspond au premier lancer qui a permis de choisir le centre d'intérêt initial, relancez jusqu'à obtenir un nombre différent.
      Ce nombre est le second point de la ligne.
    • Si le dé est pair, le mouvement sera une pression ou un cercle.
      Relancez le dé.
      Utilisez la liste de valeurs des lancers ci-dessous pour déterminer le mouvement.
      1 - Le mouvement est une pression.
      2 - Le mouvement est un cercle de petite taille dans le sens horaire.
      3 - Le mouvement est un cercle de petite taille dans le sens anti-horaire.
      4 - Le mouvement est un cercle de plus grande taille dans le sens horaire.
      5 - Le mouvement est un cercle de plus grande taille dans le sens anti-horaire.
      6 - Relancez.

Comme on pouvait s'y attendre, la complexité fournie par les 6 centres d'intérêt se situe entre les nombres correspondant à 5 centres d'intérêt et à 10 centres d'intérêt. Chances1 est de 0,0023 % et Chances100 de 0,23 %.

Nous espérons que vous aimerez utiliser le nouveau mode d'ouverture de session avec mot de passe image autant que nous avons aimé le créer !

--Jeff Johnson