Jump to content

User:Nekloth/sandbox

From Wikipedia, the free encyclopedia

Google Authenticator est un outil informatique d'authentification en deux étapes développé par Google. L'Authentificateur génère un nombre à six chiffres que l'utilisateur doit fournir en même temps que son identifiant de connexion et son mot de passe pour se logguer aux services de Google. L'authentificateur peut également générer des codes pour des applications tiers, telles que LastPass ou Dropbox.

Implémentation

[edit]

Google a développé son Authentificateur pour les plateformes iOS,[1] BlackBerry et Android[2]. Plusieurs implémentations dans des applications tiers sont également disponibles.

Description technique

[edit]

Google génère une clef secrète de 80-bit pour chaque utilisateur, sous forme d'une chaîne de 16 caractères en base32 ou d'un QRCode. Le client crée une clef HMAC-SHA1 en utilisant la clef secrète avec l'information de rester en vie après 30 secondes. Une portion de l'HMCA est alors extrait et converti en code à 6 chiffres.

Pseudocode

[edit]

 function GoogleAuthenticatorCode(string secret)
     key := base32decode(secret)
     message := current Unix time ÷ 30
     hash := HMAC-SHA1(key, message)
     offset := last nibble of hash
     truncatedHash := hash[offset..offset+3]  //4 bytes starting at the offset
     Set the first bit of truncatedHash to zero  //remove the most significant bit 
     code := truncatedHash mod 1000000
     pad code with 0 until length of code is 6
     return code 

Technology

[edit]

Google Authenticator uses the time-based One-time Password Algorithm as defined in RFC 6238.

References

[edit]
[edit]

Category:Google services Category:Computer access control Category:Articles with example pseudocode