“Picture password” est une nouvelle manière de se connecter à son ordinateur dans Windows 8, actuellement disponible en version de développement. Plus facile que de taper un mot de passe alphanumérique (Windows 8 laisse une place importante au tactile), la méthode est surtout bien plus sécurisée.
La connexion a un ordinateur avec un clavier virtuel peut être un véritable calvaire entre les minuscules, les majuscules et les chiffres qui imposent de “changer de clavier”. Taper un mot de passe complexe peut prendre jusqu’à 30 secondes. Les ingénieurs s’occupant de Windows 8 ont alors essayé de trouver une manière de s’authentifier rapide, fluide et sécurisée.
Les premières méthodes d’authentification sont encore pour le moment les codes PIN (les combinaisons numériques). Quasiment tout le monde en a déjà utilisé et c’est extrêment facile et rapide de taper un code de 4 chiffres avec un clavier. Mais les combinaisons numériques présentent néanmoins des soucis car les séquences les plus faciles à retenir sont aussi les moins sécurisées : 0000, 1111, 1234 ou des dates de naissances (ces informations peuvent facilement être trouvées et ce sont les premières combinaisons qui seront testées par un pirate). Dans un tel cas, cette combinaison jugée “personnelle” par l’utilisateur met en péril sa sécurité. Les ingénieurs de Microsoft ont alors planché sur un système d’authentification rapide, fluide, sécurisé et personnel.
Une authentification personnelle
Votre “picture password” est composée de deux parties complémentaires : une photo de votre bibliothèque d’images et les gestes associés à celle-ci. Au lieu d’avoir un échantillon d’images prédéfini, vous pouvez choisir n’importe quelle image avec la combinaison de gestes que vous désirez. L’intérêt est double : votre image est personnelle et vous plait et vous décidez vous-même des gestes que vous y associez en fonction des parties de l’image qui comptent pour vous, augmentatant ainsi la sécurité et la mémorabilité de votre mot de passe.
La combinaison de gestes à votre disposition sont les cercles, les lignes et les tapotements. Ces gestes permettent de mettre en valeur ou de relier les parties de l’image qui comptent pour vous. La direction de ces gestes importe également : il ne suffit pas de savoir quelles parties de l’image vous avez décidé de mettre en valeur avec les gestes choisis mais il faut connaitre les points de départs et d’arrivées et ceci dans l’ordre que vous avez choisi.
Les ingénieurs de Microsoft ont également expérimenté de laisser le choix dans les gestes à l’utilisateur mais ceci était un échec : les gens mettaient plus de temps pour réproduire les gestes qu’ils avaient défini (17s en moyenne pour des gestes libres et 4s pour les lignes / cercles / tapotements). De plus, les utilisateurs mettaient très souvent en évidence des zones précises de leur image et changeaint ensuite leurs gestes pour être en adéquation avec cette idée de mise en évidence de zones dans l’image. Ils choisissaient alors naturellement des lignes ou des tapotements.
Comment ceci fonctionne
Une fois que l’utilisateur a sélectionné l’image, celle-ci est divisée dans une grille de 100 segments de même taille en long et en large, formant des carrés au final.
Les gestes sont ensuite identifiés selon leurs coordonnées dans ce repère et sont caractérisés par des points de coordonnées (x,y). Pour les lignes, les coordonnées des points de départ et d’arrivée sont enregistrés ainsi que l’ordre dans lequel ils sont atteints. Pour un cercle, on enregistre la coordonnée du point central, le rayon du cercle et la direction dans laquelle il est tracé. Pour le tapotement, on enregistre la coordonnée du point de contact.
Quand vous essayez de vous authentifier, les coordonnées enregistrées quand vous faites vos gestes sont comparées avec les coordonnées du mot de passe de l’image. Si le type de geste est faux (ça devrait être un cercle mais vous avez tracé une ligne), l’authentification échoue instantannément. Quand le type de gestes et l’ordre est bon, vous ne serez authentifié que si le pourcentage de ressemblances des coordonnées est suffisament proche de 100 %.
Prenons l’exemple du tapotement, qui est le geste le plus simple des 3. Les coordonnées du tapotement effectué sont comparées à celui enregistré : le pourcentage varie de 100 % si la coordonnée est la même et décroit jusqu’à 0 % si le point touché est trop éloigné de celui enregistré. Le geste est validé si le pourcentage de ressemblance est >= 90 %. Voici une représentation visuelle des pourcentages de correspondance :
Le pourcentage de 100 % de correspondance est associé aux points situés dans un rayon de 3 du point de coordonnée original. Pour chaque point, ce sont les 37 points “autour” de lui qui auront un pourcentage de correspondance associé. Les calculs sont similaires pour les lignes et les cercles.
Sécurité et nombre de gestes
Quand on s’occupe du nombre de gestes nécessaires à l’utilisation de “Picture password” on considère la sécurité, la mémorabilité et la rapidité tout en offrant un compromis entre l’expérience utilisateur et la sécurité. Pour déterminer le nombre de gestes nécessaires apportant une sésurité suffisante, on compare “Picture password” aux autres méthodes d’authentification : le code PIN et le mot de passe alphanumérique.
Pour un code PIN de 4 chiffres (4 chiffres de 10 possibilités indépendantes) il y a 10^4 = 10 000 combinaions possibles.
Quand on s’occupe des mots de passe alphanumériques, l’analyse peut être simplifiée en considérant que la séquence de caractères est composée de lettres minuscules (26), lettres majuscules (26), chiffres (10) et symboles (10). Dans le cas le plus basique, quand un mot de passe est composé de n lettres, il y a 26^n combinaisons. Quand le mot de passe est composé de 1 à n lettres il y a alors tant de combinaisons :
Par exemple, un mot de passe de 8 caractères possède 208 milliards de combinaisons, ce qui apparait énorme pour beaucoup de personnes.
Malheureusement, la plupart des gens n’utilisent pas de mots de passe aléatoires. Ils utilisent des mots communs et des phrases, des noms de famille et ainsi de suite…
Dans ce cas, considérons que l’utilisateur compose son mot de passe de tout sauf deux lettres miniscules et inclut une majuscule et un chiffre ou un symbole. La lettre majuscule et le symbole peuvent être placés en n’importe quelle position. Le nombre de combinaisons est alors :
On obitent alors le tableau suivant, donnant le nombre de combinaisons possibles selon la taille du mot de passe :
On mène une analyse similaire pour chacun des types de gestes de “Picture password”. Les tableaux suivants comptent pour un geste unique en tenant compte de la clémence de l’algorithme de reconnaisance.
Pour le tapotement, le nombre de gestes uniques en fonction du nombre de tapotements est le suivant :
Le cercle est plus compliqué que le tapotement mais moins compliqué que la ligne. Pour estimer la sécurité d’un cercle, on peut prévoir que l’attaquant estime que le rayon est compris entre 6 et 25 et que les positions X et Y sont comprises entre 5 et 95 (on exclut des cercles aux bords de l’image). Ce qui laisse une solution potentielle dans l’image définie comme suit :
En fonction du nombre de cercles, le nombre de combinaisons à réaliser est le suivant :
Le geste le plus complexe est une ligne. Une ligne est composée de 2 points sur la grille de 100×100 avec un ordre dans ces points. Ce qui donne 100 millions de lignes possibles, mais comme les lignes doivent être d’au minimum 5 portions de long, le nombre de possibilités est abaissé à 99 336 960. Contrairement aux cercles, on ne peut pas faire des hypothèses où les lignes peuvent se situer : elles peuvent rejoindre un bord à l’autre de l’écran comme elles peuvent être très courtes.
En fonction du nombre de lignes, le nombre de combinaisons à réaliser est le suivant :
Maintenant que l’on comprend la sécurité de chaque geste individuel, les données peuvent être ajoutées afin d’avoir une combinaison de plusieurs gestes. Ceci peut être fait en faisant la somme de chaque geste unique des 3 types de gestes d’une longueur donnée n et en l’élevant à la puissance n. Le résultat est dans le tableau suivant qui compare “Picture password” à la méthode du PIN et aux mots de passe alphanumérique.
Comme on peut le voir, l’utilisation de 3 gestes propose une sécurité similaire à un mot de passe de 6 caractères choisis au hasard. De plus, l’utilisation de 3 gestes assure un mot de passe facile à mémoriser et rapide à utiliser.
En addition au nombre de combinaisons possible, la sécurité a été augmentée en mettant en place deux protections supplémentaires. Comme les PIN, au bout de 5 essais incorrects avec “Picture password” vous ne pouvez plus vous connecter qu’avec votre mot de passe alphanumérique. De plus, “Picture password” est désactivé dans les sessions distantes, ce qui empêche une attaque réseau contre cette fonctionnalité.
En clair, “Picture password” est une méthode d’authentification complémentaire au mot de passe alphanumérique et n’est pas un remplacement de celui-ci.
Sécuriser contre les traces de doigts
Les gens sont parfois concernés par les tâches sur les claviers virtuels qui permettent de savoir ce que l’on a tapé précédemment. Néanmoins ceci reste compliqué car il faut pouvoir deviner l’ordre des différents gestes, la tâche est quasiment impossible sur un écran “sale” qui correspond à une utilisation normale.
Le risque potentiel est que les traces laissées par votre authentification puissent trahir votre “Picture password”. On peut comparer différentes manières de s’authentifier (clavier normal, un code PIN et “Picture password) pour comparer la difficulté de deviner la véritable séquence d’authentification. Imaginons le pire des scénarios :
– Votre écran est aussi propre qu’un miror
– Vous touchez exactement les bons endroits pour vous authentifier
– Vous vous éloignez de votre appareil sans plus le toucher
– Un attaquant vole votre appareil et peut deviner 100 % de chacun de vos gestes pour s’authentifier.
Bien évidemment, les choses ne se passent habituellement pas comme ça. Mais ce scénaria permet de comparer les 3 formes d’authentification et leur vulnérabilité à ce type d’attaque.
Un code PIN laissera une trace pour chacun des chiffres utilisés. Si il y a n chiffres, et que chaque chiffre n’a été utilisé qu’une fois (le cas le plus compliqué), il y aura alors n! possibilités. Pour un code de 4 chiffres, il y aura alors 24 (4x3x2x1) combinaisons possibles.
Pour un clavier, il y a également n! façons de saisir un mot de passe de n caractères. Pour un mot de passe complexe, l’utilisateur va utiliser la touche majuscule (ou un autre bouton) pour sélectionner le caractère adéquat. La pression de cette touche sera visible pour l’attaquant, mais il ne pourra pas savoir quand cette touche aura été utilisée. Si on fait la simplication qu’il n’y a qu’un caractère qui requiert l’utilisation de la touche majuscule, il y a alors combinaisons possibles.
Les gestes comportent également n! possibilités. Pour chaque ligne ou cercle utilisé dans la séquence de gestes, le nombre de possibilités augmente par un facteur de 2. Si tous les gestes sont des lignes ou des cercles alors le nombre de combinaisons est identique au mot de passe utilisant la touche majusucle.
Le tableau suivant fait la synthèse du nombre de possibilités pour chacune des méthodes selon la taille de la séquence :
Encore une fois on consiède un écran totalement propre où seuls les gestes d’authentification apparaissent. Si on considère un scénario ou l’attaquant ne peut pas retirer d’informations grâce aux tâches sur l’écran (parce que l’appareil a été beaucoup utilisé auparavant par exemple) ou parce que la personne utilise un clavier et une souris, les chances de déviner sont énormément réduites. Avec nos 3 types de gestes, et une séquence de plus de 3 gestes, le nombre de possibilités est de 1 155 509 803 comme vu précédemment.
La dernière attaque possible est de considérer les points d’intêrets de l’image, où les gens ont le plus de chances de faire leurs gestes dans ces zones. Bien que les études menées montrent qu’il est très difficile de deviner où un utilisateur va tracer une ligne plutôt qu’un cercle, on peut simuler une attaque en considérant que la photo a m points d’intêrets. Si l’utilisateur peut utiliser des tapotements, des lignes ou des cercles, le nombre total de possibilités est de où n est le nombre de gestes du “Picture password”. On obtient le tableau suivant de combinaisons possibles :
En considérant que l’image a 10 points d’intêrets et qu’il y a 3 gestes dans la combinaison de l’utilisateur, il y a alors 8 millions de possibilités, ce qui semble compliqué à deviner en 5 essais.
A noter que les administrateurs réseaux ont la possibilité de définir s’ils veulent utiliser ou non sur leur réseau “Picture password”. Et bien évidemment, sur les ordinateurs personnels, “Picture password” reste une option et ne remplace pas le traditionnel mot de passe alphanumérique.