Utilia

Γεννήτρια κωδικών TOTP και HOTP

Δημιουργήστε κωδικούς 2FA TOTP και HOTP από μυστικό Base32 ή URI otpauth://, με SHA-1, SHA-256 ή SHA-512, αντίστροφη μέτρηση και κωδικό QR για εφαρμογές 2FA.

Ένα μυστικό 2FA είναι εξίσου ευαίσθητο με έναν κωδικό πρόσβασης. Όλα εδώ εκτελούνται τοπικά στο πρόγραμμα περιήγησής σας: το μυστικό, οι κωδικοί και ο κωδικός QR δεν στέλνονται πουθενά.

Ρύθμιση εφαρμογής επαλήθευσης

Προσθέστε εκδότη και όνομα λογαριασμού και στη συνέχεια σαρώστε τον κωδικό QR ή αντιγράψτε τον σύνδεσμο otpauth:// στην εφαρμογή επαλήθευσής σας.

Πώς να δημιουργήσετε κωδικούς TOTP

  1. Επικολλήστε ένα μυστικό Base32 (για παράδειγμα JBSWY3DPEHPK3PXP) ή έναν πλήρη σύνδεσμο otpauth:// στο πεδίο Μυστικό (Base32) ή URI otpauth://. Γίνονται δεκτά κενά, παύλες, πεζά γράμματα και η έλλειψη του συμπληρώματος =.
  2. Οι κωδικοί εμφανίζονται καθώς πληκτρολογείτε ή όταν πατήσετε Εμφάνιση κωδικών. Ένα επικολλημένο URI συμπληρώνει μόνο του τα πεδία Τύπος, Αλγόριθμος, Ψηφία, Περίοδος (δευτερόλεπτα), Εκδότης και Λογαριασμός.
  3. Διαβάστε τον Τρέχοντα κωδικό στη μέση, με τον Προηγούμενο κωδικό και τον Επόμενο κωδικό εκατέρωθεν. Η γραμμή από κάτω μετρά αντίστροφα τα δευτερόλεπτα μέχρι να αλλάξει ο κωδικός, και το Αντιγραφή κωδικού τον αντιγράφει χωρίς το κενό.
  4. Για κωδικούς βάσει μετρητή, επιλέξτε HOTP (βάσει μετρητή), ορίστε τον Μετρητή και χρησιμοποιήστε το Επόμενος μετρητής για να προχωρήσετε.
  5. Για να δημιουργήσετε νέο μυστικό 2FA, πατήστε Νέο τυχαίο μυστικό. Συμπληρώστε Εκδότης και Λογαριασμός και στη συνέχεια σαρώστε τον κωδικό QR με μια εφαρμογή επαλήθευσης, πατήστε Αντιγραφή URI ή Λήψη κωδικού QR (PNG).

Πώς λειτουργούν τα TOTP και HOTP

Το HOTP (RFC 4226) υπολογίζει ένα HMAC ενός μετρητή 8 byte με το κοινό μυστικό και εφαρμόζει στη συνέχεια δυναμική περικοπή: τα τελευταία τέσσερα bit του HMAC επιλέγουν μια μετατόπιση, διαβάζονται τέσσερα byte από εκεί, μηδενίζεται το πρώτο bit και ο αριθμός ανάγεται modulo 10^ψηφία. Το αποτέλεσμα είναι ένας κωδικός 6 έως 8 ψηφίων.

Το TOTP (RFC 6238) είναι HOTP όπου ο μετρητής είναι το τρέχον χρονικό βήμα: T = floor(Unix time / περίοδος), με προεπιλεγμένη περίοδο 30 δευτερολέπτων. Το κινητό σας και ο διακομιστής υπολογίζουν ανεξάρτητα τον ίδιο κωδικό, επειδή μοιράζονται το μυστικό και (περίπου) το ίδιο ρολόι. Γι’ αυτό εμφανίζονται ο Προηγούμενος κωδικός και ο Επόμενος κωδικός: οι διακομιστές συνήθως δέχονται ένα βήμα πριν ή μετά, ώστε να ανέχονται την απόκλιση του ρολογιού.

Το HMAC εκτελείται με το Web Crypto API του προγράμματος περιήγησής σας, με SHA-1, SHA-256 ή SHA-512. Το SHA-1 με 6 ψηφία και 30 δευτερόλεπτα είναι αυτό που χρησιμοποιούν σχεδόν όλες οι υπηρεσίες· τα SHA-256 και SHA-512 επιτρέπονται από το RFC 6238 αλλά ορισμένες εφαρμογές τα αγνοούν, οπότε αλλάξτε τις προεπιλογές μόνο αν το ζητά η υπηρεσία.

Το URI otpauth:// και ο κωδικός QR

Οι εφαρμογές επαλήθευσης ρυθμίζονται με ένα URI όπως otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, που συνήθως εμφανίζεται ως κωδικός QR. Το εργαλείο διαβάζει τέτοια URI (και ετικέτες με κωδικοποίηση ποσοστού, όπως ACME%20Co) και δημιουργεί νέα. Ο κωδικός QR σχεδιάζεται τοπικά από το URI που εμφανίζεται κάτω από το URI otpauth://.

Ένα νέο τυχαίο μυστικό έχει 20 byte (160 bit), το μήκος που συνιστά το RFC 4226, και προέρχεται από την crypto.getRandomValues.

Συμβουλές ασφάλειας

  • Το μυστικό είναι ο ίδιος ο δεύτερος παράγοντας: όποιος το έχει μπορεί να παράγει τους κωδικούς σας. Μην επικολλάτε τα μυστικά σημαντικών λογαριασμών σε κοινόχρηστους υπολογιστές και μην μοιράζεστε ποτέ στιγμιότυπα οθόνης του κωδικού QR.
  • Όλα υπολογίζονται τοπικά· τίποτα δεν στέλνεται στο δίκτυο. Κλείστε την καρτέλα όταν τελειώσετε.
  • Φυλάξτε τους εφεδρικούς κωδικούς της υπηρεσίας: ένα μυστικό που χάνεται δεν ανακτάται.

Συχνές ερωτήσεις

Γιατί ο κωδικός μου δεν ταιριάζει με της εφαρμογής μου;

Ελέγξτε πρώτα το ρολόι της συσκευής σας: οι κωδικοί TOTP αλλάζουν σε κάθε περίοδο, επομένως ένα ρολόι που αποκλίνει πάνω από περίπου 30 δευτερόλεπτα δίνει διαφορετικούς κωδικούς. Έπειτα ελέγξτε ότι ο αλγόριθμος, τα ψηφία και η περίοδος συμφωνούν με όσα χρησιμοποίησε η υπηρεσία.

Είναι το εργαλείο συμβατό με το Google Authenticator και παρόμοιες εφαρμογές;

Ναι. Ακολουθεί το RFC 6238 και τη μορφή URI otpauth που χρησιμοποιούν αυτές οι εφαρμογές. Σαρώστε τον κωδικό QR ή πληκτρολογήστε το μυστικό Base32 στην εφαρμογή και οι δύο θα πρέπει να δείχνουν τον ίδιο Τρέχοντα κωδικό.

Ποια είναι η διαφορά ανάμεσα στο TOTP και στο HOTP;

Το TOTP προχωρά με τον χρόνο, οπότε ένας κωδικός λήγει μετά την περίοδο. Το HOTP προχωρά με έναν μετρητή που αυξάνεται κάθε φορά που χρησιμοποιείται ένας κωδικός, οπότε ένας κωδικός μένει έγκυρος μέχρι να χρησιμοποιηθεί ή να αντικατασταθεί.

Μπορώ να χρησιμοποιώ το εργαλείο ως καθημερινή εφαρμογή επαλήθευσης;

Προορίζεται για δοκιμές, ανάπτυξη και ανάκτηση. Μια εφαρμογή κινητού ή ένα φυσικό κλειδί ασφαλείας είναι ασφαλέστερα για καθημερινή χρήση, επειδή το μυστικό δεν χρειάζεται να επικολλάται κάθε φορά σε μια ιστοσελίδα.

Ελέγχθηκαν οι υπολογισμοί σε σχέση με τα πρότυπα;

Ναι. Το εργαλείο δοκιμάζεται με τις τιμές HOTP του Παραρτήματος D του RFC 4226 και τις τιμές TOTP του Παραρτήματος B του RFC 6238 για SHA-1, SHA-256 και SHA-512.