C’est une des bases de la cybersécurité alors nous avons déjà écrit et parlé à propos du 2FA (two-factor authentication), aussi connu sous la validation à 2 étapes.
La plupart d‘entre nous a déjà une bonne connaissance du principe général du 2FA : à savoir, la nécessité de vous identifier de 2 manières différentes, avant de pouvoir vous connecter à votre compte ou bien à un service.
Par exemple, lorsque vous retirez de l’argent à un distributeur automatique de billets, insérer votre carte n’est pas suffisant. Vous devez aussi entrer votre code PIN (Personal Identification Number).
Cependant, on trouve de nombreux autres sortes de 2FA, et la plupart d’entre eux ne se basent pas uniquement sur un code secret statique de type PIN, comme votre carte bancaire. Ils fonctionnent à partir d’un code à usage unique qui change à chaque fois que vous vous voulez vous connecter.
En théorie, il est beaucoup plus difficile pour un escroc d’obtenir assez d’informations pour avoir accès à votre compte, car n’importe quel code qu’il arriverait à voler aujourd’hui sera inutilisable demain.
Le problème est le suivant : ces systèmes 2FA fonctionnement de manière différente, et ils ont tous des avantages et des inconvénients.
Cet article vous aide à comprendre ces différences.
Mots de passe à usage unique par SMS
C’est le moment où l’on vous demande d’enter un code additionnel numérique, après vous être authentifié, grâce à votre identifiant et votre mot de passe.
Le code est envoyé sur votre téléphone portable par SMS.
Une fois le code reçu, vous l’entrez dans le champ prévu à cet effet, et le processus de login est lancé.
Il est important de souligner, tout particulièrement pour ce type de 2FA, que les codes envoyés par SMS ne fonctionnent pas pour tout le monde.
Le serveur peut ne pas avoir votre pays sur sa liste des régions qu’ils acceptent.
Pour des raisons évidentes, cela ne fonctionnera pas non plus avec des lignes fixes, cependant il existe une variante où l’on vous appelle en vous dictant le code.
2FA par SMS : avantages
- Le code est diffèrent à chaque fois, ainsi si on vous dérobe votre mot de passe, cela ne sera pas suffisant pour aller plus loin.
- Le code est lié à votre numéro de téléphone portable, qui ne peut être changé par le biais d’un malware sur votre ordinateur.
2FA par SMS : inconvénients
- Si le réseau mobile ne fonctionne pas ou bien que vous êtes dans une région sans couverture, vous ne pouvez pas recevoir le code.
- Un escroc peut se connecter à votre numéro de téléphone portable (grâce à la technique connue sous le nom de SIM swap), grâce à un complice travaillant dans un magasin de téléphones portables, par exemple. Ainsi, il peut recevoir vos appels et vos messages jusqu’à ce que vous vous rendiez compte que votre téléphone est HS.
- Si vous vous connectez et recevez votre code par SMS sur le même équipement (par exemple une tablette ou un smartphone), vos codes de login sont autant en danger que vos mots de passe.
Application d’authentification
Les applications d’authentification vous fournissent le même type de service que le 2FA par SMS. Cependant, à la place de recevoir les codes, ils sont générés localement au sein de votre smartphone ou votre tablette.
Ce type d’authentification repose sur des algorithmes cryptographiques générant des mots de passe à usage unique, et intégrant la notion de temps.
Le fonctionnement de base repose sur une clé secrète de démarrage, appelée « seed », qui est générée et stockée sur le serveur. Ensuite cette dernière encodée et cryptée par mélange avec l’heure et la date, dès que vous vous connectez. Un code lié étroitement et la date et l’heure est alors généré, habituellement valide pendant 30 à 60 secondes.
Quand vous paramètrez votre compte, le “seed” vous est envoyé (par exemple en utilisant un QR code), et importé au sein de votre application d’authentification que vous utilisez.
Ainsi, si la date et l’heure de votre équipement sont précis, dans une fourchette de 30 à 60 secondes, et si le « seed » a été importé correctement, l’application va générer des codes de login qui correspondent à ceux calculés au niveau du serveur.
Même si un escroc enregistre vos 10, 50 ou encore 10 000 derniers mots de passe, il n’a aucune chance de reconstruire la séquence et trouver la prochaine, à moins qu’il ne mette la main sur le “seed”.
Il existe beaucoup d’implantations de ce type de service, mais Google Authenticator est probablement l’un des meilleurs fournisseurs.
Microsoft a également sorti une version qui fonctionne avec Windows Phone.
Application d’authentification : avantages
- Elle ne se base pas sur un SMS chaque fois que vous vous connectez. Vous devez simplement être en ligne lorsque vous paramétrez votre compte, afin de pouvoir recevoir le « seed ».
- Une application d’authentification peut fonctionner pour de multiples comptes.
Application d’authentification : inconvénients
- Si un escroc met la main sur votre “seed” (soit depuis votre équipement, soit en piratant le serveur), il peut calculer n’importe quels futurs codes.
- Si vous vous connectez et utilisez l’application d’authentification sur le même équipement, vos codes d’authentification sont autant en danger que vos mots de passe.
Validation du login
La validation de login, est une autre variante possible, des sujets abordés plus haut.
A présent, au lieu que l’on vous demande d’entrer un code, une notification de login va être envoyée sur votre téléphone portable. Une fois que cette dernière sera approuvée, vous serez autorisé au niveau du site en question.
Ce processus n’utilise pas de clé secrète, ou un “seed”, qui doivent être partagés entre votre équipement et le serveur.
A la place, il utilise une cryptographie à clé publique, afin de vérifier votre identité.
Une clé privée est générée et conservée au sein de l’application présente et sur votre équipement. La clé publique, quant à elle, est envoyée à un serveur où elle est stockée pour de futurs logins.
A chaque login, un challenge est généré par le site, et une notification est ensuite transmise à votre équipement.
Si cette dernière est approuvée, votre équipement confirmera alors le challenge émis, en le renvoyant au site en question, afin qu’il soit validé (car seul votre équipement doit être capable de confirmer le challenge, et ce grâce à la clé privée). Ainsi le login pourra se poursuivre au travers de votre navigateur.
Twitter a mis en place ce type de système l’an dernier.
Validation du login : avantages
- L’envoie d’un SMS n’est pas indispensable chaque fois que vous vous connectez.
- Une application de validation du login peut fonctionner pour plusieurs comptes.
Validation du login : inconvénients
- Si un escroc met la main sur votre clé privée, il peut alors facilement prendre votre place !
- Si vous vous connectez et lancer l’application de validation du login sur le même équipement, votre clé privée est autant en danger que votre mot de passe.
Le veritable 2FA (two-factor authentification)
Auparavant, nous avons évoqué le 2FA et le 2SV.
Ils sont pratiquement identiques, cependant il faut souligner que le nom 2SV évite prudemment de faire ressortir l’existence de 2 facteurs séparés, au sein de leur système.
Un système à 2 facteurs, comme son nom l’indique, a besoin de 2 facteurs d’authentification distincts, pas seulement 2 étapes !
Ainsi, un compte en ligne qui améliore sa sécurité grâce à des codes à usage unique, envoyés par SMS, n’est pas considéré comme utilisant une procédure à 2 facteurs, dans la mesure où vous avez lancé votre navigateur, et recevez le SMS sur le même ordinateur ou équipement mobile.
Pour qu’un système puisse être considéré comme un véritable 2FA, il a besoin de 2 composants qui agissent indépendamment l’un de l’autre, et évite ainsi tout danger par d’éventuelles interférences.
Ce système se retrouve au sein des cartes à puce (smart cards), des jetons de login tels que RSA SecurID, ou encore dans les Yubikeys.
Les cartes à puce nécessitent un lecteur spécifique afin de communiquer avec la puce présente sur la carte. Cependant, cette puce agit comme un véritable ordinateur miniature et autonome avec son propre processeur, sa mémoire sécurisée, et ses capacités cryptographiques.
Yubikey a son propre processeur cryptographique, mais communique par le biais d’un port USB, en se transformant en une sorte de clavier. En effet, lorsque vous connectez Yubikey, il tape, en réalité, un code de login à usage unique, qui a été calculé à l’intérieur de la clé.
Les jetons ont aussi leur propre processeur indépendant, et en général ne se connecte à aucun moment à votre ordinateur. A la place vous avez un écran LCD miniature qui affiche, tout simplement, le code de login actuel.
Véritable 2FA : avantages
- Ne se base pas sur des SMS
- Ne nécessite pas de téléphone ou de tablette
- Il s’agit d’un équipement de sécurité indépendant, qui est toujours séparé de votre ordinateur, téléphone ou tablette.
Véritable 2FA : inconvénients
- Le risque est de se retrouver avec un porte-clés rempli de jetons, un pour chaque compte.
- Il se peut que ce service ne soit pas disponible gratuitement auprès de votre fournisseur actuel.
Pour en savoir plus
Pour savoir si le service en ligne que vous utilisez accepte le 2FA, vous pouvez visitez le site : twofactorauth.org.
Vous trouverez une liste complète (sans être exhaustive), de plusieurs services en ligne qui accepte le 2FA ou encore el 2SV.
Activer le et améliorer votre sécurité !
Billet inspiré de : “Two-factor authentication: Understanding the options” de John Shier de Naked Security