# Authentification forte

L’authentification forte est, en sécurité des systèmes d'information, une procédure d’identification qui requiert la concaténation d’au moins deux facteurs d’authentification différents.
La directive européenne DSP2 entrée en vigueur en 2018 et 2019 fixe notamment les règles de « l'authentification forte » dans le secteur bancaire, secteur influent dans le domaine.
En 2021, l’ANSSI distingue l’authentification forte de l’authentification multifacteur : l’authentification forte, dans cette définition, repose sur des mécanismes cryptographiques jugés forts mais pas nécessairement sur plusieurs facteurs d’authentification.

## Notes sur l'authentification et l'identification

La notion d’authentification s'oppose à celle de l’identification d'une personne physique ou morale (dirigeant et toute personne autorisée). Cette distinction est importante puisque par abus de langage, on parle d'authentification alors qu'il s'agit d'identification. Lorsqu'une personne présente sa pièce d'identité lors d'un contrôle, elle est identifiée grâce à un document officiel, mais n'est pas authentifiée, car le lien entre la pièce d'identité et la personne n'est pas établi de façon indiscutable, irrévocable et reconnue par les tribunaux en cas de litige.
Par opposition, lorsqu'une personne est authentifiée, cette authentification doit être apportée par un tiers de confiance et par une preuve au sens juridique reconnue devant les tribunaux (ex. : la signature électronique de la carte bancaire).
Ainsi, pour le commerce en ligne, un achat réalisé en confirmant le mot de passe ou le SMS reçu sur son téléphone portable, indique seulement que ce message affiché au propriétaire de la ligne de téléphone a été recopié sur une page web du site marchand (même si l'ouverture de session du téléphone se fait par biométrie). Mais ne suppose aucunement de l'engagement du propriétaire de la ligne car ce dernier n'a pas été authentifié (cas du vol d'un portable et utilisation par un tiers). Autrement dit, aucune preuve matérielle ne permet de s'assurer de son engagement dans la transaction.
En synthèse, la charge de la preuve émanant d'un tiers de confiance distingue l'identification de l'authentification en cas de litige ou de contestation.

## Les facteurs de l'authentification forte

Les systèmes d'authentification simple utilisent un seul facteur (en général un facteur mémoriel tel qu'un mot de passe).
Le principe de l'authentification forte est d'utiliser au moins deux facteurs de nature distincte afin de rendre la tâche plus compliquée à un éventuel attaquant.
Les facteurs d'authentification sont classiquement présentés comme suit$^,$ :
* facteur mémoriel ; ce que l'entité connaît (un mot de passe, un code confidentiel, une phrase secrète, etc.) ;
* facteur matériel ; ce que l'entité détient (un mobile multifonction, une carte magnétique, une radio-identification, une clé USB, un assistant personnel numérique, une carte à puce, etc.), c'est-à-dire un élément physique appelé jeton d'authentification, « authentifieur » ou « token » ;
* ce que l'entité
** est ; facteur corporel (soit pour une personne physique, une empreinte digitale, une empreinte rétinienne, la structure de sa main, la structure osseuse de son visage ou tout autre élément biométrique) ;
** sait faire ou fait ; facteur réactionnel (soit pour une personne physique une biométrie comportementale tel que sa signature manuscrite, la reconnaissance de sa voix, un type de calcul connu de lui seul, un comportement, etc.) ;
* où l'entité est, soit un endroit d'où, à la suite d'une identification et authentification réussie, elle est autorisée (accéder à un système logique d'un endroit prescrit).
Dans la majorité des cas, l'entité est un individu (une personne physique ou personne morale), mais elle peut être un objet (comme une application web utilisant le protocole sécurisé SSL, un serveur à chiffrement SSH, un objet de luxe, une marchandise, etc.) ou un animal.
Les cinq mécanismes ou principes de base de sécurisation d'un système informatique sont par ordre croissant d'optimisation :
* la traçabilité (« qui l'a fait ? ») ;
* l'intégrité (« qui peut le modifier ? ») ;
* la confidentialité (« qui peut le voir ? ») ;
* l'autorisation ou contrôle d'accès (« qui peut y avoir accès ? ») ;
* l'authentification (« qui est qui ? »).
Certaines personnes considèrent que la procédure « d'authentification forte » est la « clef de voûte » supportant ces cinq principes.
Cette approche est toutefois modulée officiellement par l'Agence nationale de la sécurité des systèmes d'information (ANSSI) dans son référentiel général de sécurité (RGS) qui précise que la mise en place de la procédure « d'authentification forte » des utilisateurs doit être définie en fonction des besoins des applications mises à disposition par les prestataires de services. Autrement dit ce degré authentification n'est pas la règle.

## Raison d'être de l'authentification forte

Le mot de passe est actuellement le système le plus couramment utilisé pour authentifier un utilisateur. Il n’offre plus le niveau de sécurité requis pour assurer la protection de biens informatiques sensibles, car différentes techniques d’attaque permettent de le trouver facilement. On recense plusieurs catégories d’attaques informatiques pour obtenir un mot de passe :
* Attaque par force brute ;
* Attaque par dictionnaire ;
* écoute du clavier informatique (keylogger ou enregistreur de frappe), par voie logicielle (cheval de Troie...), ou par écoute distante (champ électrique des claviers filaires, ou ondes radio faiblement chiffrées pour les claviers sans fils) ;
* écoute du réseau (password sniffer ou renifleur de mot de passe) : plus facilement avec les protocoles réseau sans chiffrement, comme HTTP, Telnet, FTP, LDAP, etc ;
* Hameçonnage, appelé en anglais phishing ;
* Attaque de l'homme du milieu ou man-in-the-middle attack (MITM) : par exemple avec les protocoles SSL ou SSH ;
* Ingénierie sociale consistant en une manipulation psychologique à des fins d'escroquerie ;
* extorsion d'informations par torture, chantage ou menaces.
L'attaque par force brute n'est pas vraiment une méthode de cassage puisque le principe est applicable à toutes les méthodes. Elle est toutefois intéressante car elle permet de définir le temps maximum que doit prendre une attaque sur une méthode cryptographique. Le but de la cryptographie est de rendre impraticable l'usage de la force brute en augmentant les délais de résistance à cette méthode. En théorie, il suffit que le délai de résistance soit supérieur à la durée de vie utile de l'information à protéger. Cette durée varie selon l'importance de l'information à protéger.

## Technologies pour l'authentification forte

On dénombre trois familles « d'authentifieur » :

### Mot de passe à usage unique

La technologie du mot de passe à usage unique (One Time Password - OTP), qui permet de s'authentifier avec un mot de passe à usage unique ou l'utilisation d'une carte matricielle d'authentification. Il n'est donc pas possible de garantir une véritable non-répudiation. Elle est fondée sur l'utilisation d'un secret partagé (cryptographie symétrique). L'authentifieur contient le secret. Le serveur d'authentification contient le même secret. Grâce au partage de ce dénominateur commun il est alors possible de générer des mots de passe à usage unique (ou OTP). Exemples de solution de type OTP :
* L'utilisation des SMS. Ce système utilise la technologie des SMS. L'utilisateur reçoit un OTP directement sur son téléphone portable. Le téléphone portable est considéré comme un authentifieur.
* La liste à biffer (ou Transaction Authentication Number - TAN). Il s'agit de rentrer un OTP provenant d'une liste de codes fournie par exemple par la banque. Cette liste est considérée comme un authentifieur.
* L'authentification à carte matricielle (ou Matrix card authentication). Il s'agit de rentrer un OTP provenant d'une carte matricielle fournie. Ce système utilise les coordonnées en Y et X. La carte matricielle est considérée comme un authentifieur.
Pour atteindre une authentification forte, en plus du secret partagé, un deuxième dénominateur commun doit être introduit dans le serveur d'authentification. Ce dénominateur est synchrone ou asynchrone :
* authentifieurs synchrones :
** authentifieur fondé sur le temps. Ces authentifieurs utilisent, en plus du secret partagé, un dénominateur commun qui est le temps. Chaque partie est synchronisée sur le temps universel coordonné (UTC). On utilise alors un code PIN comme deuxième facteur d'authentification. Ces authentifieurs sont définis comme une technologie dite synchrone. Chaque minute, par exemple, ces authentifieurs affichent un nouveau « token », le One Time Password. L'exemple le plus connu est le SecurID de la société RSA Security.
** authentifieur fondé sur un compteur. Ces authentifieurs utilisent, en plus du secret partagé, un dénominateur commun qui est un compteur. Chaque partie se synchronise sur le compteur. On utilise alors un code PIN comme deuxième facteur d'authentification. Le code PIN peut être entré sur un mini clavier. Comme la technologie fondée sur le temps, ces authentifieurs ne sont pas capables d'offrir la non-répudiation.
* authentifieurs asynchrones : ces authentifieurs fondés sur une authentification défi-réponse ou « challenge-réponse » utilisent, en plus du secret partagé, un nombre aléatoire (appelé nonce) généré par le serveur d'authentification. Le client reçoit ce nonce et répond au serveur. On utilise alors un code PIN comme deuxième facteur d'authentification. Le code PIN peut être entré sur un mini clavier. Comme cette technologie utilise un secret partagé, ces authentifieurs ne sont pas capables d'offrir la non-répudiation. Ces authentifieurs sont définis comme une technologie asynchrone dite OCRA (pour OATH Challenge-Response Algorithm) normalisée par le consortium OATH visant à développer des normes ouvertes d’authentification forte ;
Du fait que ce type de technologie utilise un secret partagé il n'est pas possible d'assurer la non-répudiation. La technologie du certificat numérique permet a contrario de garantir la non-répudiation.

### Certificat Numérique

Le certificat numérique est fondé sur l'utilisation de la cryptographie asymétrique et l'utilisation d'un défi (challenge). Il est possible de garantir la non-répudiation car seule l'identité possède la clé privée. Ce sont par exemple :
* l'infrastructure à clés publiques (Public Key Infrastructure - PKI) ;
* le chiffrement RSA (inventé par les cryptologues américains Rivest, Shamir et Adleman)
* le protocole PKInit de Kerberos (Cerbère).
Le certificat numérique réside sur une carte à puce ou une clé USB ou un authentifieur hybride :
* Carte à puce. Pour sécuriser la clé privée et stocker le certificat numérique, la carte à puce est une solution très efficace. Cette technologie permet aussi d'implémenter d'autres fonctions telles que la sécurité des bâtiments, l'utilisation de badgeuse, etc. Généralement, la carte à puce est liée à l'utilisation d'un code PIN ou par l'utilisation de la biométrie. Lorsque la biométrie remplace le code PIN, le système offre une preuve « quasi absolue » du porteur de la carte (voir technologie Match-On-Card).
* Authentifieur USB. Ces authentifieurs utilisent la même technologie cryptographique que les cartes à puces. Ce type d'authentifieur est capable de stocker, générer du matériel cryptographique de façon très sécurisée. Ces authentifieurs sont définis comme une technologie dite connectée. En d'autres termes, il est nécessaire de « brancher » cet authentifieur sur l'ordinateur via le port USB. L'inconvénient majeur de cette technologie est qu'elle n'est pas vraiment portable. Par exemple, il est difficile d'utiliser son authentifieur USB sur une borne internet (dans un « kiosque », un hôtel, etc.).
* Authentifieur de type hybride. Ces authentifieurs offrent le meilleur des deux mondes. Ils sont capables de gérer les certificats numériques et d'offrir une solution très portable pour les nomades avec la technologie OTP.

### Biométrie

La biométrie repose sur la reconnaissance d'une caractéristique ou d'un comportement unique. Exemple : la technologie d'authentification biométrique sur carte à puce Match-on-Card (MOC).