Les mécanismes d’authentification : biométrie et authentification multi-facteurs

Catégorie(s) : Sécurité - RGPD

Troisième volet de notre dossier sur l’authentification, cet article se concentre particulièrement sur la biométrie et les mécanismes d’authentification multi-facteurs !

Retrouvez également les autres articles de ce dossier :

Biométrie

Cette classe d’authentification, abondamment présentée dans les films de science-fiction ou d’espionnage, apparait comme la plus pertinente et la plus sûre : elle consiste à authentifier un client par ce qui le caractérise, ou « ce qu’il est ».

Remarque : le terme de « biométrie » est bien plus large que la seule finalité de l’authentification, et plus large que l’anthropométrie. La taille ou le poids sont des mesures biométriques, sans grand intérêt pour les problématiques d’authentification. Pour être utilisable, une mesure biométrique doit être stable dans le temps. Cependant, faute d’un meilleur terme, celui-ci a le mérite d’être simple et déjà couramment employé, par conséquent nous l’emploierons également.

Avec un utilisateur humain, il s’agit typiquement de l’authentification faciale (visage), digitale (par empreintes digitales, ou dactylogrammes) ou oculaire (par l’œil : iris ou rétine), pour les techniques les plus courantes.

Il existe d’autres techniques moins répandues : la forme de l’oreille, du nez ou des lèvres, les dents (il y a peu d’informations disponibles sur la sécurité ou l’usage de ces techniques biométriques), et d’autres plus « fantaisistes » : l’odeur, empreinte des pieds, la chaleur du visage, etc. Plus classique : il y a la voix, qui est relativement simple à imiter donc peu fiable, le sang ou l’ADN (plus discriminants) qui sont rarement utilisées, notamment parce qu’elles impliquent des capteurs spécifiques et d’effectuer un prélèvement à chaque authentification, si possible sans gène ni douleur, puis l’analyser, ce qui reste complexe et contraignant à mettre en œuvre et à miniaturiser à ce stade.

Certaines de ces données biométriques sont d’ailleurs les mêmes que celles utilisées par les forces de l’ordre pour les recherches de suspects (empreintes digitales, ADN), l’identification de victimes (dentition), et les douanes pour contrôler les identités aux frontières (reconnaissance faciale, photos sur passeports).

À première vue, la biométrie semble un excellent candidat pour une authentification forte : il est indéniable que certaines données biométriques sont extrêmement discriminantes, voir théoriquement uniques pour certaines : empreinte digitale, oculaire ou ADN. De plus, les authentifications biométriques n’imposent pas aux utilisateurs de mémoriser des secrets, ce qui représente un grand avantage, ce n’est pas anodin ! Autre avantage : contrairement aux authentifiants classiques, les authentifiants biométriques interdisent à plusieurs personnes de partager un même compte, ce qui est également un plus par rapport aux autres mécanismes d’authentification, car un mot de passe, ou un jeton d’authentification, peuvent être prêtés.

Certains argumentent que les authentifiants biométriques sont plus difficiles à voler aux utilisateurs : s’il est certes difficile de voler un visage, un doigt, un œil ou l’ADN (sauf dans certains films ;o)), toutefois ce n’est pas la bonne question à poser, car un pirate n’en a pas besoin !

À noter que pour voler l’empreinte digitale (ou l’ADN) d’une personne, pas besoin de lui couper son doigt : rien n’est plus simple si on peut approcher physiquement l’utilisateur ou ce qu’il a touché.

Cependant, ce dont un pirate à besoin c’est soit de tromper un capteur ou une caméra biométrique, soit de copier l’empreinte biométrique codifiée que conserve le fournisseur de ressources pour vérifier l’authentification, et cela est d’autant plus simple lorsqu’elles ne sont pas, ou mal, sécurisées par le fournisseur de ressources, ce que les piratages et fuites de données biométriques tendent à montrer, malheureusement.

En effet, même si l’on ne peut l’affirmer pour tous les dispositifs biométriques actuels, la donnée biométrique n’est pas copiée et stockée entièrement par le capteur et le fournisseur de services. Seule une « empreinte », i.e. un résumé, une petite partie, mais suffisamment discriminante, est codée et utilisée : c’est un sous-ensemble de points caractéristiques suffisants. Tout le problème réside dans l’interprétation de ce qui est « suffisant » : les failles proviennent souvent d’un sous-ensemble trop petit, ou de points pas assez caractéristiques, et qui peuvent donc être aisément usurpés.

Ceci dit, certaines données biométriques sont certes très discriminantes, mais elles posent d’autres problèmes lorsqu’on les utilise comme authentifiant :

  • Les données biométriques sont des données personnelles, hautement sensibles (cf article 9 du RGPD), les utiliser comme authentifiant nécessite de les collecter, les échanger et les stocker, du moins leurs empreintes codifiées (cf. plus haut), or chacune de ces étapes engendre un risque élevé pour le respect des données personnelles et de la vie privée des utilisateurs. Il faut en particulier assurer une sécurité accrue de ces données.
  • Les techniques de biométrie ne sont pas si rigoureuses, elles peuvent échouer à authentifier l’utilisateur légitime : les capteurs d’empreintes digitales en sont un bon exemple. Ils ne reconnaissent en effet pas toujours l’empreinte légitime : il y a beaucoup de faux négatifs. Cela s’explique par de multiples raisons :
    • Les algorithmes ne sont déjà pas fiables à 100% : ce n’est pas l’empreinte complète qui est vérifiée, mais seulement un ensemble plus ou moins restreint de points caractéristiques spécifiques. D’ailleurs, les capteurs physiques eux-mêmes ne sont pas entièrement fiables, ils peuvent être plus ou moins précis, ou simplement tomber en panne, être abimés ou vandalisés.
    • De plus, il y a une multitude de causes externes, indépendantes du système d’authentification biométrique, pouvant empêcher l’authentification de l’utilisateur légitime : capteur sale ou dégradé, doigt sale ou avec blessures, visage modifié (blessures, maquillage, nouvelle barbe ou barbe rasée, etc.), iris modifié ou déformé par des lentilles de contact ou des lunettes…
    • Mieux vaut donc avoir toujours un moyen d’authentification de secours, non biométrique, en prenant garde à ce qu’il ne soit pas plus faible et devienne ainsi le maillon faible !
  • Les techniques de biométrie ne sont pas si infaillibles, c’est-à-dire qu’on peut les tromper plus ou moins aisément, et ne sont pas exemptes de failles. Les systèmes d’authentification biométriques sont régulièrement piratés, même si on peut raisonnablement espérer qu’ils s’améliorent. Voici quelques exemples :
    • La voix peut être enregistrée, y compris à l’insu de l’utilisateur, voire synthétisée (avec ou sans intelligence artificielle) à partir de bribes de conversations anodines : (Re)voir le film « Les experts » de 1992 : « Ma voix est mon passeport, contrôlez-moi » ;).
    • Concernant l’authentification par reconnaissance faciale, plusieurs utilisateurs peuvent avoir un visage similaire, comme les vrais jumeaux ou les sosies, un visage peut être imité par maquillage, et il existe bien d’autres techniques : certaines exploitants des failles, comme celle de Windows Hello, le système d’authentification faciale de Microsoft, en 2021 ou comme des journalistes l’ont montré en 2018, en imprimant un visage en 3D, qui a trompé plusieurs types de smartphones. Il ne faut pas non plus négliger le fait qu’un visage change avec le temps (vieillissement), ce qui peut poser des problèmes sur le long terme, et on retombe sur les risques de faux négatifs ;
    • Pour ce qui relève des empreintes digitales, couramment utilisées :
    • Les faux positifs, tels qu’une empreinte digitale illégitime qui est reconnue à la place d’une empreinte légitime, ne sont pas impossibles, même si des progrès ont été fait :
      • Par exemple, Apple reconnait une probabilité de faux positifs de 1 sur 50 000 avec sa technologie TouchID la plus récente, c’est certes faible, mais cela reste considérablement plus élevé qu’avec les techniques d’authentification non biométriques (voir ci-après) ;
      • À ce sujet, les faux positifs sont également théoriquement possibles avec les mots de passe, puisque le vérifieur ne les compare normalement pas avec une copie du mot de passe, mais avec un haché du mot de passe. Toutefois, avec un algorithme de hachage de qualité cryptographique (tel que la norme SHA-256), une collision (i.e. deux mots de passe différents produisant le même haché) reste théoriquement possible, par contre sa probabilité est infinitésimale, de l’ordre de 1 sur 1038, une probabilité « astronomiquement » faible.
    • (liste non exhaustive)…

Il ne faut pas non plus oublier les piratages de bases de données biométriques mal protégées côté fournisseurs de services, et même s’il ne s’agit que d’empreintes codées et non de copies intégrales des données biométriques, celles-ci peuvent être utilisées pour duper d’autres systèmes similaires. De plus, contrairement aux autres mécanismes d’authentification : une donnée biométrique volée ne pourra jamais être changée, c’est irréversible !

De plus, l’ANSSI dans son « guide de l’authentification« , déconseille la biométrie comme facteur unique d’authentification (recommandations R40 et R41).

Avec un prouveur de type informatique (authentification entre matériels et/ou logiciels), il est déjà plus difficile d’envisager une authentification abiométrique (abio = non vivant, par opposition à bio-métrique) car aucune information n’est réellement unique dans un matériel ou un logiciel : les machines (ordinateurs, smartphones, serveurs, etc) sont fabriquées en série sur un même modèle, et les instances de logiciel sont des copies exactes d’un original.

L’une des rares informations a priori unique par matériel informatique – smartphone, ordinateur, imprimante ou objet connecté, est son, ou ses, adresse MAC, mais cette information n’est pas impossible à usurper, donc elle ne peut pas être utilisée comme un authentifiant principal, cependant elle peut servir en complément d’une autre technique d’authentification. Précision : l’adresse IP est encore moins unique que l’adresse MAC, et encore plus facile à changer et à usurper, ce n’est donc pas un bon authentifiant. Ceci dit, les adresses IP publiques peuvent être utilisées comme premier niveau de filtrage (pare-feu) en complément d’une authentification.

Atouts Faiblesses
  • Généralement très simple d’utilisation, mais dépend fortement du type de biométrie et du capteur.
  • Pourrait être très discriminant, mais dépend fortement du type de biométrie et de l’algorithme.
  • L’authentifiant ne peut pas être prêté ou utilisé par plusieurs utilisateurs.
  • Évite la copie / vol de l’authentifiant en « regardant par dessus l’épaule » (par exemple dans les transports en commun)
  • Pose des contraintes légales (RGPD), et des inquiétudes légitimes sur l’utilisation et la protection de ces données sensibles (côté fournisseur de ressources accédées).
  • Risques importants si les données biométriques fuitent côté fournisseur de ressources accédées, de plus le vol d’une donnée biométrique est irrémédiable.
  • De nombreuses solutions n’apportent que peu de garanties sur l’authentification (voix, reconnaissance faciale), d’autres possèdent des failles importantes (empreintes digitales).
  • Authentifiant statique, ne peut pas être renouvelé, sauf en changeant de type de biométrie.
  • Nécessite des capteurs (côté client), et des algorithmes d’analyses spécifiques.
  • Produit des faux négatifs (courants) en usage légitime
  • Existence des faux positifs (par construction), plus fréquent qu’avec d’autres systèmes.

Bi-facteurs (two-factor authentication)

Les authentifications multi-facteurs (MFA = Multi-Factor Authentication) sont, comme leur nom l’indique, des alternatives combinant plusieurs authentifiants de nature différente : ce dernier point étant crucial ! La plupart des techniques mono-facteur listées précédemment (en fait presque toutes) peuvent être utilisées en mode multi-facteurs, mais n’en font pas nécessairement une MFA robuste.

Les authentifications multi-facteurs sont plutôt à rapprocher des protocoles, combinant plusieurs classes unitaires d’authentification (celles vues précédemment), mais sans introduire de nouvelle classe d’authentification proprement dite.

En pratique, l’écrasante majorité des techniques multi-facteurs sont bi-facteurs (2FA = Two-Factor Authentication), d’où le titre de ce chapitre, tout simplement parce qu’au-delà de deux facteurs, elles deviendraient trop contraignantes pour des utilisateurs humains. À noter aussi que la plupart ne sont utilisables que par des personnes physiques, pas avec des personnes morales, ni avec des matériels ou logiciels, puisqu’il y a pratiquement toujours une étape « humaine et individuelle » à chaque authentification.

Rappel : dans la section « Qu’est-ce qu’une authentification forte (robuste) ?« , nous avions expliqué qu’une authentification bi-facteurs n’est pas nécessairement une authentification forte, et qu’une authentification bi-facteurs peut même être moins forte qu’une authentification mono-facteur robuste.

Ceci dit, pour une authentification multi-facteurs sécurisée, l’ANSSI a publié des recommandations, afin que celle-ci soit considérée comme robuste. En voici un aperçu partiel (le document dispense 42 recommandations) :

  • Utiliser des moyens d’authentification forts (recommandations R2 et R5), c’est-à-dire basés sur des mécanismes cryptographiques, y compris pour la génération des authentifiants ;
  • Chaque facteur doit être de nature différente des autres (cf. chapitres 4, 5 et 6 des recommandations de l’ANSSI) : un facteur de connaissance, un facteur de possession et un facteur inhérent, par exemple :
    • Deux facteurs tels qu’un mot de passe et un code de passe fixe (comme un code PIN) sont de même nature et ne respectent pas cette règle ;
    • Un mot de passe statique et un code de passe unique (OTP), tous deux robustes, respectent cette règle si le second est reçu par un canal sûr, ou généré par un dispositif matériel (jeton matériel ou logiciels sur un smartphone par exemple, voir la section « Jetons d’authentification (authentication token)« ).
  • Respecter des règles strictes sur la complexité des authentifiants (R21 à R23, R27), que l’utilisateur choisisse lui-même l’un de ses authentifiants (dans ce cas il faut vérifier que son authentifiant respectent des contraintes), ou qu’ils soient générés aléatoirement ;
  • Protéger particulièrement l’environnement qui génère les authentifiants (R4) ;
  • Toujours utiliser des canaux sécurisés (R6 et R11) pour distribuer les authentifiants et pour chaque étape de l’authentification. L’ANSSI cite explicitement le cas du canal SMS (R8) et ses faiblesses, et indique de proscrire l’usage de codes reçus par SMS ;
  • Si l’un des facteurs est un facteur de connaissance (par exemple un code ou mot de passe), il ne doit pas être connu du vérifieur (R13) et donc ne doit en aucun cas être conservé en clair, ni même chiffré, mais sous forme de haché cryptographique salé ;
  • Sensibiliser ses utilisateurs à la SSI (R17, R32 à R38), sur les dangers et les bonnes pratiques, tels que les coffres-forts numériques (R31) pour les facteurs de connaissance (qui restent les plus courants).

À ce jour, force est de constater qu‘encore peu de systèmes bi-facteurs respectent ces recommandations pourtant simples : les deux défauts les plus constatés sont de ne pas utiliser des authentifiants de natures différentes et d’utiliser des canaux non sécurisés (notamment SMS), parfois même les deux.

En matière de législation, un exemple qui concerne tout le monde est la Directive Européenne DSP2 (de 2015) qui a notamment rendu obligatoire l’authentification forte pour les services bancaires, et impose même explicitement une authentification multi-facteurs, en fait bi-facteurs, en détaillant les critères :

Je cite l’article 4, définition 30 : « authentification forte du client », une authentification reposant sur l’utilisation de deux éléments ou plus appartenant aux catégories « connaissance » (quelque chose que seul l’utilisateur connaît), « possession » (quelque chose que seul l’utilisateur possède) et « inhérence » (quelque chose que l’utilisateur est) et indépendants en ce sens que la compromission de l’un ne remet pas en question la fiabilité des autres, et qui est conçue de manière à protéger la confidentialité des données d’authentification.

Dans ce cas précis, le législateur impose des contraintes précises et claires : facteurs provenant de natures distinctes – ce qu’on connait et/ou ce qu’on possède et/ou ce qu’on est – et que les authentifiants soient indépendants, ce qui rejoint (sans surprise) les recommandations de l’ANSSI. Toutefois, la Directive DSP2 n’exclue pas explicitement les canaux non sécurisés tels que SMS et courriel pour l’échange d’un authentifiant.

Pour certaines banques, que je ne citerai pas (n’insistez pas 😉 ), ces règles ne sont pas respectées scrupuleusement pour accéder à son propre espace client, ou effectuer un virement : la plupart des authentifiants ne dépassant par une entropie de 35-40 bits, voire moins de 15 bits pour certains ! Voici quelques exemples issues d’expériences réelles, sans en dévoiler les détails précis :

  • 1er exemple : paiements avec sa carte bancaire (ce que l’on possède), qui a une puce a priori correctement sécurisée (du moins depuis qu’ils ont pris en compte les révélations de Serge HUMPICH, hacker « chapeau blanc ») et nécessite le CVV (Card Validation Value, qui se trouve sur la carte elle-même) ou le code confidentiel (code PIN), tous deux numériques, avec très peu de chiffres (généralement de 3 à 4 chiffres) ;
  • 2e exemple : systèmes avec deux codes fixes, l’un numérique, l’autre alphanumérique de quelques caractères, mais seulement des majuscules et chiffres, et les deux authentifiants étant de la même catégorie : facteur de connaissance ;
  • 3e exemple : systèmes avec un seul code numérique (de quelques chiffres) calculé (non fixe) par un jeton matériel ;
  • 4e exemple : systèmes avec un code numérique fixe (de quelques chiffres) et un code numérique non fixe (de quelques chiffres également) reçu par SMS (canal à faible sécurité).

Deux authentifiants à très faible entropie n’en font pas un authentifiant d’entropie forte : 2 fois 35 bits font au mieux 70 bits, on est loin des 100 bits préconisés, car 30 bits de moins, cela représente 230 combinaisons de moins, soit 1 073 741 824 fois plus faible que 100 bits ! Pour les systèmes où l’un des facteurs est calculé ou reçu via un canal non sûr, cela augmente potentiellement la sécurité, mais c’est difficile à quantifier.

Le mécanisme le plus répandu de double authentification semble être celui composé d’un mot de passe, parfois choisi par l’utilisateur, puis d’un code de passe à usage unique, d’une très faible complexité, envoyé par courriel ou SMS, canaux non sûrs.

  • On constate tout d’abord que l’utilisateur doit toujours connaitre au moins un mot de passe, ce type de système bi-facteurs pourtant courant n’est donc pas meilleur pour l’expérience utilisateur qu’un système unitaire (mono-facteur) ;
  • On peut comprendre pourquoi le code de passe (second authentifiant dynamique) est souvent un simple code numérique court, car l’utilisateur doit ensuite le recopier manuellement (ou au mieux le copier puis le coller), toutefois ce mécanisme possède deux faiblesses : il est impossible de s’assurer que seul l’utilisateur a accès au message contenant le code de passe.
    Exemple : avec une boite de messagerie non individuelle, c’est-à-dire utilisée par plusieurs personnes, ou un smartphone non verrouillé, par usurpation de carte SIM, via des mouchards SMS, etc. De plus, cet autre canal de transmission devrait être un canal sécurisé (donc chiffré), ce qui est rarement le cas avec les SMS et les courriels, même si cela existe (par exemple, les messageries chiffrées, mais encore trop peu de gens les utilisent).
  • Bien évidemment, si le fournisseur du service n’empêche pas l’utilisateur de choisir un mot de passe faible, ou s’il lui génère un mot de passe fort, mais lui fournit dans un canal non sécurisé, la double authentification apportera certes une amélioration, mais le problème est traité « à l’envers » : il serait bien plus sécurisé d’empêcher les mots de passe faibles ! Dans ce cas, la double authentification, même avec un code numérique simple par un canal non sécurisé, deviendrait bien plus robuste.
  • L’utilisation de canaux non sécurisés (courriel, SMS) pour envoyer un authentifiant, même à usage unique, est à proscrire en terme de SSI, c’est une évidence, même si cela a côté « pratique ». Certains fournisseurs de services commencent à le comprendre (parfois à la suite de fuites, malheureusement) et vont même jusqu’à l’expliquer.
    • Par exemple, cet extrait tiré de la FAQ de NVidia de février 2023 préconise une authentification bi-facteurs pour ses comptes clients (sans toutefois l’imposer), mais à base de jeton matériel (voir précédemment) comme second facteur, et n’utilise ainsi plus les SMS :

Il ne faut pas négliger les problématiques liées aux comptes destinés à des personnes morales : ce type de comptes est courant dans les organismes privés comme publics, tels les « comptes clients » chez les fournisseurs, par exemple. Dans ce cas, une authentification bi-facteurs imposant un numéro de téléphone mobile peut poser problème : si le collaborateur qui détient le smartphone associé est absent (en déplacement, congé ou maladie), l’entreprise n’aura pas accès au compte de la société, ce qui peut s’avérer bloquant.

C’est l’une des raisons pour lesquelles les fournisseurs de services destinés aux organismes, s’ils souhaitent mettre en place une authentification bi-facteurs, doivent anticiper cette situation. Par exemple, il s’agira soit d’autoriser le choix d’un second facteur ne nécessitant pas de numéro téléphone mobile, soit de permettre l’indication d’au moins un autre numéro de secours. Cette seconde solution semble préférable, avec l’inconvénient de fournir encore plus de données personnelles !

Il n’en reste par moins que les technologies bi-facteurs restent un domaine de prédilection pour de nombreuses recherches actives, donc à surveiller, car elles pourraient nous surprendre, en bien, comme en mal.

Le tableau suivant n’apportera pas beaucoup d’éléments globaux, car les systèmes d’authentification bi-facteurs sont nombreux et très variés, il est donc difficile d’en tirer des atouts et faiblesses générales (souvent cela s’applique à l’un des facteurs).

Atouts Faiblesses
  • Mêmes atouts que chaque mécanisme unitaire d’authentification utilisé (voir articles précédents).
  • Réellement robustes seulement si basés sur deux authentifications de nature différente (connaissance, possession ou inhérence) et n’utilisant que des canaux sécurisés.
  • (selon systèmes) Au moins un authentifiant dynamique (OTP), ce qui évite de devoir se souvenir du second facteur.
  • (si utilise un jeton d’authentification, facteur de possession) Au moins un authentifiant difficile à copier, altérer ou espionner.
  • En général, l’authentification bi-facteurs empêche deux utilisateurs de se partager un même compte (ce qui est également un inconvénient pour les comptes de personnes morales, cf plus haut).
  • Certains systèmes sont des normes ou standard ouverts, et peuvent donc être étudiés en profondeur par des chercheurs indépendants.
  • (difficile de généraliser, vu le grand nombre de combinaisons possibles bi-facteurs)
  • Mêmes faiblesses que chaque mécanisme unitaire d’authentification utilisé (voir articles précédents).
  • Encore trop peu de systèmes bi-facteurs respectent les recommandations de sécurité : deux facteurs différents parmi : facteur de connaissance, de possession et intrinsèque, et des authentifiants de natures distinctes (au moins un qui n’est pas un code/mot de passe).
  • N’améliore généralement pas l’expérience utilisateur par rapport à un mécanisme unitaire, puisqu’il y a presque toujours au moins un mot/code de passe à connaitre, en plus d’un autre facteur, même si ce dernier ne nécessite pas nécessairement de le retenir.
  • Ralentit le processus d’authentification, à chaque connexion.
  • Impose souvent un prérequis supplémentaire pour les utilisateurs : avoir un smartphone (ou un jeton matériel) en état de marche et à disposition, avec soi et chargé au moment de l’authentification.
  • (si au moins un facteur de possession) Oubli, perte, vol, destruction, panne du support physique du jeton matériel, ou du dispositif hébergeant un jeton logiciel, tel qu’un smartphone.
  • Si l’un des facteurs est reçu par un canal non sécurisé (SMS ou courriel), il peut être espionné.
  • Dans certains cas : deux facteurs de même type (mot et code de passe par exemple) et dont l’entropie est moyenne, voir faible.
  • Certains systèmes sont basés sur des principes propriétaires et fermés, et ne peuvent pas être étudiés en profondeur par des chercheurs indépendants.
  • (difficile de généraliser, vu le grand nombre de combinaisons possibles bi-facteurs)

Suite et fin de notre dossier sur l’authentification dans notre prochain article consacré à la gestion du cycle de vie des authentifiants et aux enseignements à tirer sur l’authentification (4/4) !

Date

24 octobre 2023

Auteur