web-dev-qa-db-fra.com

Quel est le risque et l'atténuation de taper accidentellement un mot de passe YUBIKEY dans un forum ouvert?

J'ai un youbikey dans mon ordinateur portable (pour tester) et j'ai accidentellement diffusé mon mot de passe Yubikey sur Internet. Comme il s'agit seulement d'une clé de test et n'a aucun accès à rien de la valeur, voici quelques échantillons de clés OTP:

cCCCCCBHKNBGUNFEJCDUUFICRGLHBCKGBBUGJEGBBBJ

cCCCCCBHKNBGNCBJURRUFIDRVJVJNBGLUVNJTCCJHIF

Je crois comprendre que dans la configuration par défaut, les caractères de tête sont un identifiant (ID unique) de TRES: ccccccbhknbg. Je ne suis pas clair s'il s'agit d'une valeur codée, ou si c'est une valeur brute ASCII.

  • Quel est le risque d'envoyer ces mots de passe sur Internet? Une vie privée était-elle perdue?

  • Cela compte-t-il s'il est connecté au nuage YUBIKEY, ou s'il fait partie d'une configuration autonome?

  • Comment puis-je récupérer de cela? Puis-je régénérer des identificateurs? Comment puis-je invalider les mots de passe?

22
goodguys_activate

Il y a quelques explications sur ce que Yubikey fait ici . Fondamentalement, le mot de passe que les "types" YUBIKEY (du point de vue de l'ordinateur, il s'agit d'un clavier) peut être un mot de passe statique, soit un mot de passe unique. S'il s'agit d'un mot de passe statique, vous venez de l'avoir révélé, et il est temps d'être très désolé (et de changer rapidement ce mot de passe).

Les mots de passe ponctuels, ce que YUBIKEY produit suit HOTP . La cryptographie en hotp est telle qu'elle n'est pas possible de recaloncer le "secret maître" d'un ou plusieurs mots de passe ponctuels produits avec Hotp. De plus, chaque mot de passe est calculé à l'intérieur d'un comptoir. Le YUBIKEY et le serveur gèrent tous deux le même compteur et le serveur permet un manque limité de synchronisation. À savoir, lorsque le compteur actuel du serveur a valeur N et reçoit un mot de passe comme tentative d'authentification, il générera à l'interne les mots de passe pour valeurs N + 1, ==, N + 2, ... jusqu'à, dites, N + 100 (c'est configurable). Si une correspondance est trouvée avec (disons) mot de passe N + 17, l'accès est accordé et le compteur du serveur est défini sur N + 17; Sinon, la connexion est rejetée et le compteur du serveur n'est pas modifié.

Par conséquent, ce que vous avez publié par inadvertance "sur Internet" est Un mot de passe qui accordera un accès au serveur correspondant, jusqu'à votre propre authentification suivante sur ce serveur, car cette authentification meta à jour le compteur de serveur à une autre valeur de comptoir. D'une certaine manière, en utilisant OTP avec compteur de valeur k Invalide toutes les valeurs OTP avec des valeurs J <k. Ce qui conduit à la procédure de récupération suivante: Si vous avez publié une valeur OTP, connectez-vous rapidement au serveur afin d'invalider cette valeur publiée. Ensuite, vous pouvez simplement l'ignorer; Une fois invalidé, il est inoffensif.

( REMARQUE: Si vous génèverez de nombreux mots de passe "vierges" avec votre clé sans authentifier sur le serveur, votre YUBIKEY peut sortir du synchronisation avec celle-ci. du serveur - la clé utilisant les valeurs de compteur, bien au-delà de ce que le serveur accepterait actuellement. Ne laissez pas votre vieille de 3 ans avec votre YUBIKEY! Dans une situation similaire, pour les clés de la voiture infrarouge, la synchronisation du comptoir est forcée à travers RFID lorsque vous démarrez le moteur.)

18
Thomas Pornin

Le YUBIKEY soutient le YUIBCO OTP, qui est la longue OTP générée.Le mot de passe d'une fois YUBIKEY (OTP) est un identifiant public de 44 caractères, une utilisation et un mot de passe du public crypté de 128 bits, à proximité impossible à spoof.

L'OTP est composé de deux parties principales; Les 12 premiers caractères restent constants et représentent l'identifiant public du jeton YUBIKEY lui-même.

Les 32 caractères restants constituent un code d'essai unique pour chaque OTP généré. Le code d'accès est généré à partir d'une multitude de sources aléatoires, y compris des compteurs pour les sessions YUBIKEY et les OTPS générées. Lorsqu'un YUBIKEY est validé, les valeurs de la session et du compteur OTP sont comparées aux dernières valeurs soumises. Si les compteurs sont moins nombreux, les valeurs précédemment utilisées, l'OTP est rejeté. La copie d'un OTP ne permettra pas à un autre utilisateur de spoof un YUBIKEY - la valeur de comptoir permettra au serveur de validation de savoir quelles OTPS ont déjà été utilisées.

Vous pouvez en savoir plus sur le YUBIKEY OTP ICI

5
Yubi_David

Tu vas bien. Vous avez seulement perdu un type d'identifiant "nom d'utilisateur".

Thomas n'est pas tout à fait correct en ce qui concerne la pièce sur le serveur générant 100 mots de passe pour vérifier.

La deuxième partie, le "OTP" est crypté. Le serveur décrypte l'OTP à l'aide de la clé AES. Le contenu déchiffré a le comptoir. Si le compteur est égal ou inférieur au dernier compteur du serveur authentifié, il s'agit d'une attaque de replay.

Si vous souhaitez créer une nouvelle clé AES, vous pouvez, vous pouvez alors le télécharger à Yubico, mais ils disent qu'il n'a pas la même garantie de disponibilité. Cependant, il suffit de vomir que quelques OTP ne vous compromettent pas.

2
Dustin Graham

La chaîne de jeton OTP YUBIKEY est générée en codant sur le hextring des données brutes dans un sous-ensemble spécial de caractères alpha minuscules (latin). Par exemple, c se trouve être le codage de nibble hexadécimal (chiffre) 0.

Par défaut, les 12 premiers caractères (6 octets) du jeton OTP de la "vanille" YUBIKEY, avec la configuration et les touches par défaut, est le numéro de série. Donc, vous venez de la divulguer: 14***93, n'est-ce pas?

Le reste est des données cryptées AES-128 (comptoir, nonce aléatoires, ..) Donc je ne serais donc pas inquiet.

Le codage s'appelle Yubico Modhex et il est conçu pour empêcher toute ambiguïté des scancodes de clavier sur différentes dispositions de clavier (E.G. QWERTY VS Azerty):

0123456789abcdef
cbdefghijklnrtuv

Il y a aussi en ligne démo et convertisseur .

1
mykhal