Aperçu
L’authentification à deux facteurs (également appelée 2FA) est un mécanisme qui combine deux méthodes d’authentification différentes pour authentifier les utilisateurs. En mars 2011, Google a annoncé l’utilisation de l’authentification à deux facteurs en ligne, suivie par MSN et Yahoo.
En plus de vérifier le nom d’utilisateur et le mot de passe, l’authentification à deux facteurs nécessite également la combinaison d’un autre appareil physique, tel qu’un jeton RSA ou un téléphone mobile. Les produits certifiés à deux facteurs peuvent être globalement divisés en deux catégories :
Dispositifs matériels capables de générer des jetons Application smartphone
OTP
Le mot de passe utilisé lors de la vérification en deux étapes est un mot de passe à usage unique (OTP), également appelé mot de passe dynamique. C’est une technologie d’authentification puissante qui utilise la cryptographie pour partager des clés entre clients et serveurs, et constitue un moyen technique très pratique pour améliorer l’authentification statique actuelle par mot de passe, et constitue une technologie d’authentification de vérification en deux étapes importante.
OTP est l’abréviation de One-Time Password, qui signifie mot de passe à usage unique. Elle est divisée en deux types suivants :
HOTP (algorithme de mot de passe à usage unique basé sur HMAC)
HOTP est un mot de passe à usage unique généré sur la base de l’algorithme HMAC, également connu sous le nom de mot de passe dynamique pour la synchronisation d’événements, qui est une spécification d’algorithme publiée par ITEF, et le pseudocode est le suivant :
Le client et le serveur négocient à l’avance une clé K pour la génération d’un mot de passe à usage unique. Le client et le serveur disposent chacun d’un compteur d’événements C et synchronisent les valeurs de comptage à l’avance. Tronquer est un algorithme qui convertit une chaîne de 20 octets générée par HMAC-SHA-1 en plusieurs chiffres décimaux.
TOTP (Algorithme de mot de passe à usage unique basé sur le temps)
TOTP est une version améliorée de HOTP qui utilise le temps pour remplacer le compteur d’événements C de HOTP, également appelé chiffre dynamique pour la synchronisation temporelle. Pseudocode :
T0 est le temps initial du test, qui par défaut est 0 X est le pas de temps, qui est par défaut de 30 secondes La documentation officielle donne un chiffre chien, en supposant que l’heure unix actuelle = 59, T0 = 0, X = 30, puis T=1 En supposant que le temps unix actuel = 60, T0 = 0, X = 30, puis T=2 C’est-à-dire que la valeur de T est arrondie à la baisse, et la décimale est décartée
D’après la figure ci-dessus, on peut voir qu’il y a deux éléments principaux dans l’algorithme d’entrée : l’un est la clé partagée (également appelée graine), et l’autre est le comptage (ou facteur temps), calculé par un algorithme spécifique. Si les deux éléments sont cohérents, le côté serveur et le côté client calculeront le même résultat, activant ainsi la fonctionnalité d’authentification.
|