web-dev-qa-db-fra.com

Meilleures pratiques pour stocker utilement deux codes de sauvegarde d'authentification facteur?

Pour beaucoup de services Web offrant une authentification à deux facteurs, après la configuration du système, vous recevez une courte liste de codes de sauvegarde (pads ponctuels) d'environ 7 à 10 caractères. Celles-ci sont censées être utilisées dans des cas où vous n'avez pas accès à votre deuxième facteur d'authentification, tel qu'un dispositif perdu, voyager, etc.

Quelles sont les bonnes façons/idées pour pouvoir transporter les codes de sauvegarde sur votre personne afin qu'ils soient:

  1. Non évidemment identifier quel service ils sont connectés, de sorte que d'autres ne voient pas "Google ACCT: 9824 24 312"
  2. Pas facilement capable d'être utilisé par une personne qui vole une carte mémoire avec les codes de sauvegarde à ce sujet par exemple.
  3. Facile pour l'utilisateur de comprendre et d'utiliser sans que rien de plus avancé qu'une calculatrice de base (juste un exemple, il pourrait y avoir des moyens sans aucun dispositif)
6
0d0h0m0s

Utilisez la méthode - pavé ponctuelle pour chiffrer les codes. Ensuite, vous pouvez facilement les déchiffrer avec un stylo et un papier tant que vous vous souvenez de la clé. Étant donné que les caractères du code 2FA sont presque uniformes (tous les caractères sont également susceptibles d'apparaître dans chaque position de clé), vous pouvez utiliser une clé non uniforme telle qu'une phrase facile à mémoriser.

Un bonus pour crypter vos codes est que vous pouvez en transporter plusieurs copies (une dans votre valise, une dans votre portefeuille, une sur une URL publique) et ne vous inquiétez pas pour qu'ils se perdent ou volés.

Une faiblesse de ceci est que si vous utilisez la même clé pour utiliser un pavé ponctuel pour chiffrer tous vos codes de sauvegarde 2FA et l'un de vos codes est forcé brute, l'attaquant peut dériver la clé, puis décrypter tous vos codes. Bien qu'il s'agisse de pratiques standard pour les fournisseurs de titres à évaluer les connexions de limitation pour éviter les attaques de la force brute, certains fournisseurs de comptes peuvent avoir une protection pire que d'autres et il ne faut pas supposer que tous les fournisseurs de comptes ont une protection adéquate. Votre sécurité de code de sauvegarde 2FA est alors aussi bonne que le fournisseur de compte le plus faible. Par conséquent, vous devez utiliser une clé différente pour chaque compte qui annule l'un des avantages majeurs de cette méthode: que vous devez seulement mémoriser une clé.

sur l'uniformité des codes 2fa

Lorsque vous utilisez des pads unique (OTP) pour chiffrer une phrase, la touche doit être niforme pour se protéger contre l'analyse de fréquence. Mais en général, soit le texte en clair ou la clé doit être uniforme. Authentificateur Google et d'autres fournisseurs 2FA utilisent un hachage généré par SHA-1 pour générer les codes 2FA qui sont la norme pour hotp (RFC4226) et TOTP (RFC6238) . Tandis que SHA-1 peut ne pas être parfaitement uniforme, SHA-1 est presque uniforme et suffisamment proche pour uniforme que l'analyse de fréquence n'est pas une attaque réalisable. Par conséquent, toute clé non évidente telle qu'une phrase ou une phrase facile à retenir peut être utilisée pour chiffrer les codes 2FA.

4
Justin J Stark