human
Authentification à deux facteurs Comment les applications et les sites Web génèrent-ils leurs codes et ont-ils autant de systèmes pour envoyer des messages texte et autres ? Explique comme si j'avais cinq ans.
gpt
Je ne peux pas parler du côté des messages texte, mais je peux parler des codes et de leur fonctionnement. J'ai d'abord besoin de parler un peu des générateurs de nombres aléatoires (RNG). La chose importante à savoir est que malgré leur nom, les GNA ne sont pas réellement aléatoires. Ce qu'ils sont à la place, c'est ce qu'on appelle "pseudo-aléatoire", en gros c'est juste un modèle super long qui est si complexe que même les ordinateurs ne peuvent pas le prédire juste en voyant les nombres qui sortent. (Certains RNG très difficiles ont en fait plusieurs RNG plus petits à l'intérieur d'eux fonctionnant tous en même temps, puis utilisez un autre RNG pour décider lequel sera le prochain numéro qu'ils émettront réellement). C'est pourquoi, dans certains jeux, si vous forcez à quitter le jeu et à redémarrer à partir d'une sauvegarde, les prochains lancers de numéros seront exactement les mêmes qu'avant que vous quittiez, car ils se réinitialisent simplement à cet endroit du schéma. Maintenant, chaque motif est généré à partir d'un numéro de départ spécial appelé "graine", et puisque nous savons déjà que les motifs ne sont pas réellement aléatoires, cela signifie que si vous prenez les deux copies du * même * RNG et que vous leur donnez le * même * graine de départ alors ils cracheront tous les deux la * même * séquence de nombres (vous pouvez le voir avec la " graine mondiale " dans des jeux comme minecraft ; avoir la même graine dans la même version de minecraft rend le RNG du jeu cracher les mêmes nombres et génère ainsi le même monde même sur des ordinateurs différents). Ces RNG synchronisés sont vraiment ce que sont tous les générateurs de code d' authentification à deux facteurs , ce ne sont que deux copies du même RNG qui ont tous deux reçu la même graine et dit " allez au numéro suivant toutes les X secondes " , avec une copie sur votre téléphone et un autre s'exécutant sur le serveur de jeu/programme. Ensuite, le jeu a juste besoin de vérifier si le numéro que vous avez mis correspond au numéro qu'ils ont et ils savent si c'est vous ou non. En remarque, pour les périodes où vous fermez l'application puis la redémarrez (ou le serveur tombe en panne), votre téléphone (ou le serveur) dit simplement "Y le temps s'est écoulé, générez des numéros Y / X pour rattraper" et vraiment génère rapidement un tas de chiffres pour rattraper l'autre copie. (Après de très longues périodes parfois ils disent simplement "ok, voici une nouvelle graine, recommençons" à la place).