Μετακινηθείτε για να ασφαλίσετε το 2FA στο blockchain

Τα μηνύματα SMS είναι η πιο δημοφιλής μέθοδος ελέγχου ταυτότητας δύο παραγόντων (2FA). Χρησιμοποιείται από τράπεζες, ηλεκτρονικά και κρυπτογραφικά πορτοφόλια, γραμματοκιβώτια και κάθε είδους υπηρεσίες. ο αριθμός των χρηστών της μεθόδου πλησιάζει το 100%.

Είμαι αγανακτισμένος με αυτό το σενάριο, γιατί αυτή η μέθοδος δεν είναι ασφαλής. Η εκ νέου αντιστοίχιση ενός αριθμού από τη μια κάρτα SIM στην άλλη ξεκίνησε στην αρχή της εποχής του κινητού - έτσι αποκαθίσταται ο αριθμός όταν χαθεί μια κάρτα SIM. Οι «ειδικοί της κλοπής ψηφιακών χρημάτων» συνειδητοποίησαν ότι η επιλογή «επαναγράψτε την κάρτα SIM» μπορεί να χρησιμοποιηθεί σε δόλια προγράμματα. Σε τελική ανάλυση, αυτός που ελέγχει την κάρτα SIM μπορεί να ελέγξει τις ηλεκτρονικές τραπεζικές συναλλαγές άλλων ανθρώπων, τα ηλεκτρονικά πορτοφόλια, ακόμη και τα κρυπτονομίσματα. Και μπορείτε να αποκτήσετε τον αριθμό ενός άλλου ατόμου δωροδοκώντας έναν υπάλληλο τηλεπικοινωνιών, χρησιμοποιώντας εξαπάτηση ή πλαστά έγγραφα.

Μετακινηθείτε για να ασφαλίσετε το 2FA στο blockchain

Χιλιάδες επεισόδια ανταλλαγής SIM έχουν αποκαλυφθεί, όπως ονομάζεται αυτό το σχέδιο απάτης. Το μέγεθος της καταστροφής υποδηλώνει ότι ο κόσμος σύντομα θα εγκαταλείψει το 2FA μέσω SMS. Αλλά αυτό δεν συμβαίνει - μέσα έρευνα Λένε ότι δεν είναι οι χρήστες που επιλέγουν τη μέθοδο 2FA, αλλά οι ιδιοκτήτες υπηρεσιών.

Προτείνουμε τη χρήση της ασφαλούς μεθόδου 2FA με παράδοση κωδικών μίας χρήσης μέσω του blockchain και θα σας πούμε πώς μπορεί να τη συνδέσει ο κάτοχος της υπηρεσίας.

Ο αριθμός φτάνει σε εκατομμύρια

Το 2019, η απάτη για ανταλλαγή SIM αυξήθηκε κατά 63% σύμφωνα με την αστυνομία του Λονδίνου και ο «μέσος λογαριασμός» ενός εισβολέα ήταν 4,000 GBP. Δεν έχω βρει στατιστικά στοιχεία στη Ρωσία, αλλά υποθέτω ότι είναι ακόμη χειρότερα.

Η ανταλλαγή SIM χρησιμοποιείται για την κλοπή δημοφιλών λογαριασμών Twitter, Instagram, Facebook, VK, τραπεζικούς λογαριασμούς και πρόσφατα ακόμη και κρυπτονομίσματα - αναφέρει η εφημερίδα Times σύμφωνα με τον επιχειρηματία του Bitcoin Joby Weeks. Περιπτώσεις κλοπής κρυπτονομισμάτων υψηλού προφίλ με ανταλλαγή SIM έχουν εμφανιστεί στον Τύπο από το 2016. Το 2019 γνώρισε μια πραγματική κορύφωση.

Τον Μάιο, το Γραφείο του Εισαγγελέα των ΗΠΑ για την Ανατολική Περιφέρεια του Μίσιγκαν απήγγειλε κατηγορίες εννέα νέοι μεταξύ 19 και 26 ετών: πιστεύεται ότι είναι μέρος μιας συμμορίας χάκερ που ονομάζεται «The Community». Η συμμορία κατηγορείται για επτά επιθέσεις ανταλλαγής, με αποτέλεσμα οι χάκερ να κλέψουν κρυπτονομίσματα αξίας άνω των 2,4 εκατομμυρίων δολαρίων. Και τον Απρίλιο, ο φοιτητής από την Καλιφόρνια Joel Ortiz καταδικάστηκε σε 10 χρόνια φυλάκιση για ανταλλαγή SIM. Η παραγωγή του ήταν 7.5 εκατομμύρια δολάρια σε κρυπτονομίσματα.

Μετακινηθείτε για να ασφαλίσετε το 2FA στο blockchain
Φωτογραφία του Joel Ortiz σε συνέντευξη Τύπου του πανεπιστημίου. Δύο χρόνια αργότερα θα τεθεί υπό κράτηση για απάτη στον κυβερνοχώρο.

Πώς λειτουργεί η εναλλαγή SIM

«Ανταλλαγή» σημαίνει ανταλλαγή. Σε όλα αυτά τα συστήματα, οι εγκληματίες αναλαμβάνουν τον αριθμό τηλεφώνου του θύματος, συνήθως μέσω της επανέκδοσης μιας κάρτας SIM, και τον χρησιμοποιούν για να επαναφέρουν τον κωδικό πρόσβασης. Μια τυπική εναλλαγή SIM θεωρητικά μοιάζει με αυτό:

  1. Υπηρεσία πληροφοριών. Οι απατεώνες ανακαλύπτουν τα προσωπικά στοιχεία του θύματος: όνομα και αριθμό τηλεφώνου. Μπορούν να βρεθούν σε ανοιχτές πηγές (κοινωνικά δίκτυα, φίλοι) ή να ληφθούν από συνεργό - υπάλληλο εταιρείας κινητής τηλεφωνίας.
  2. Αποκλεισμός. Η κάρτα SIM του θύματος είναι απενεργοποιημένη. Για να το κάνετε αυτό, απλώς καλέστε την τεχνική υποστήριξη του παρόχου, δώστε τον αριθμό και πείτε ότι το τηλέφωνο χάθηκε.
  3. Λήψη, μεταφορά του αριθμού στην κάρτα SIM. Συνήθως αυτό γίνεται και μέσω συνεργού στην εταιρεία τηλεπικοινωνιών ή μέσω πλαστογραφίας εγγράφων.

Στην πραγματική ζωή τα πράγματα είναι ακόμα πιο σοβαρά. Οι επιτιθέμενοι επιλέγουν ένα θύμα και στη συνέχεια παρακολουθούν την τοποθεσία του τηλεφώνου καθημερινά - ένα αίτημα για λήψη πληροφοριών ότι ο συνδρομητής έχει μεταβεί σε περιαγωγή κοστίζει 1-2 σεντ. Μόλις ο κάτοχος της κάρτας SIM φύγει στο εξωτερικό, διαπραγματεύονται με τον διευθυντή στο κατάστημα επικοινωνίας για την έκδοση νέας κάρτας SIM. Κοστίζει περίπου $50 (βρήκα πληροφορίες - σε διαφορετικές χώρες και με διαφορετικούς χειριστές από $20 έως $100), και στη χειρότερη περίπτωση ο διευθυντής θα απολυθεί - δεν υπάρχει καμία ευθύνη για αυτό.

Τώρα όλα τα SMS θα λαμβάνονται από τους εισβολείς και ο κάτοχος του τηλεφώνου δεν θα μπορεί να κάνει τίποτα γι 'αυτό - βρίσκεται στο εξωτερικό. Στη συνέχεια, οι κακοποιοί αποκτούν πρόσβαση σε όλους τους λογαριασμούς του θύματος και αλλάζουν τους κωδικούς πρόσβασης εάν το επιθυμούν.

Πιθανότητες επιστροφής κλεμμένων περιουσιών

Μερικές φορές οι τράπεζες φιλοξενούν τα θύματα στα μισά του δρόμου και αποσύρουν εμβάσματα από τους λογαριασμούς τους. Ως εκ τούτου, είναι δυνατή η επιστροφή χρημάτων fiat ακόμη και αν ο εγκληματίας δεν βρεθεί. Αλλά με τα πορτοφόλια κρυπτονομισμάτων όλα είναι πιο περίπλοκα - και τεχνικά, και νομοθετικά. Μέχρι στιγμής, ούτε ένα ανταλλακτήριο/πορτοφόλι δεν έχει καταβάλει αποζημίωση σε θύματα ανταλλαγής.

Εάν τα θύματα θέλουν να υπερασπιστούν τα χρήματά τους στο δικαστήριο, κατηγορούν τον χειριστή: δημιούργησε τις προϋποθέσεις για την κλοπή χρημάτων από τον λογαριασμό. Αυτό ακριβώς έκανα Μάικλ Τέρπιν, ο οποίος έχασε 224 εκατομμύρια δολάρια λόγω ανταλλαγής. Τώρα μηνύει την εταιρεία τηλεπικοινωνιών AT&T.

Μετακινηθείτε για να ασφαλίσετε το 2FA στο blockchain

Μέχρι στιγμής, κανένα κράτος δεν έχει λειτουργικά προγράμματα για την νομική προστασία των κατόχων κρυπτονομισμάτων. Είναι αδύνατο να ασφαλίσετε το κεφάλαιό σας ή να λάβετε αποζημίωση για την απώλεια του. Επομένως, η πρόληψη μιας επίθεσης ανταλλαγής είναι ευκολότερη από την αντιμετώπιση των συνεπειών της. Ο πιο προφανής τρόπος είναι να χρησιμοποιήσετε έναν πιο αξιόπιστο "δεύτερο παράγοντα" για το 2FA.

Η εναλλαγή SIM δεν είναι το μόνο πρόβλημα με το 2FA μέσω SMS

Οι κωδικοί επιβεβαίωσης στα SMS δεν είναι επίσης ασφαλείς από τεχνική άποψη. Τα μηνύματα μπορούν να υποκλαπούν λόγω μη επιδιορθωμένων ευπαθειών στο Σύστημα Σηματοδότησης 7 (SS7). Το 2FA μέσω SMS αναγνωρίζεται επίσημα ως μη ασφαλές (το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας των ΗΠΑ το λέει αυτό στο Οδηγός ψηφιακού ελέγχου ταυτότητας).

Ταυτόχρονα, η παρουσία του 2FA συχνά δίνει στον χρήστη μια αίσθηση ψευδούς ασφάλειας και επιλέγει έναν απλούστερο κωδικό πρόσβασης. Επομένως, αυτός ο έλεγχος ταυτότητας δεν δυσκολεύει, αλλά διευκολύνει έναν εισβολέα να αποκτήσει πρόσβαση στον λογαριασμό.

Και συχνά τα SMS φτάνουν με μεγάλη καθυστέρηση ή δεν φτάνουν καθόλου.

Άλλες μέθοδοι 2FA

Φυσικά, το φως δεν συνέκλινε σε smartphone και SMS. Υπάρχουν και άλλες μέθοδοι 2FA. Για παράδειγμα, κωδικοί TAN μιας χρήσης: μια πρωτόγονη μέθοδος, αλλά λειτουργεί - εξακολουθεί να χρησιμοποιείται σε ορισμένες τράπεζες. Υπάρχουν συστήματα που χρησιμοποιούν βιομετρικά δεδομένα: δακτυλικά αποτυπώματα, σαρώσεις αμφιβληστροειδούς. Μια άλλη επιλογή που φαίνεται ως εύλογος συμβιβασμός όσον αφορά την ευκολία, την αξιοπιστία και την τιμή είναι οι ειδικές εφαρμογές για το 2FA: RSA Token, Google Authenticator. Υπάρχουν επίσης φυσικά κλειδιά και άλλες μέθοδοι.

Θεωρητικά, όλα φαίνονται λογικά και αξιόπιστα. Αλλά στην πράξη, οι σύγχρονες λύσεις 2FA έχουν προβλήματα και εξαιτίας αυτών, η πραγματικότητα διαφέρει από τις προσδοκίες.

Σύμφωνα με έρευνα, η χρήση του 2FA είναι κατ' αρχήν μια ταλαιπωρία και η δημοτικότητα του 2FA μέσω SMS εξηγείται από "λιγότερη ταλαιπωρία σε σύγκριση με άλλες μεθόδους" - η λήψη κωδικών μίας χρήσης είναι κατανοητή για τον χρήστη.

Οι χρήστες συσχετίζουν πολλές μεθόδους 2FA με τον φόβο ότι θα χαθεί η πρόσβαση. Το φυσικό κλειδί ή η λίστα των κωδικών πρόσβασης TAN μπορεί να χαθεί ή να κλαπεί. Προσωπικά είχα κακές εμπειρίες με τον Επαληθευτή Google. Το πρώτο μου smartphone με αυτήν την εφαρμογή χάλασε - εκτιμήστε τις προσπάθειές μου για την αποκατάσταση της πρόσβασης στους λογαριασμούς μου. Ένα άλλο πρόβλημα είναι η εναλλαγή σε νέα συσκευή. Ο Επαληθευτής Google δεν έχει επιλογή εξαγωγής για λόγους ασφαλείας (αν μπορούν να εξαχθούν κλειδιά, ποια ασφάλεια υπάρχει;). Μόλις κουβαλούσα τα κλειδιά χειροκίνητα και μετά αποφάσισα ότι ήταν ευκολότερο να αφήσω το παλιό smartphone σε ένα κουτί σε ένα ράφι.

Η μέθοδος 2FA θα πρέπει να είναι:

  • Ασφαλής - μόνο εσείς και όχι οι εισβολείς θα πρέπει να αποκτήσετε πρόσβαση στον λογαριασμό σας
  • Αξιόπιστο - έχετε πρόσβαση στον λογαριασμό σας όποτε το χρειάζεστε
  • Βολικό και προσβάσιμο - η χρήση του 2FA είναι σαφής και απαιτεί ελάχιστο χρόνο
  • Φτηνός

Πιστεύουμε ότι το blockchain είναι η σωστή λύση.

Χρησιμοποιήστε 2FA στο blockchain

Για τον χρήστη, το 2FA στο blockchain μοιάζει με τη λήψη κωδικών μίας χρήσης μέσω SMS. Η μόνη διαφορά είναι το κανάλι παράδοσης. Η μέθοδος απόκτησης ενός κωδικού 2FA εξαρτάται από το τι προσφέρει το blockchain. Στο έργο μας (οι πληροφορίες βρίσκονται στο προφίλ μου) αυτή είναι μια εφαρμογή Web, Tor, iOS, Android, Linux, Windows, MacOS.

Η υπηρεσία δημιουργεί έναν κωδικό μιας χρήσης και τον στέλνει στον αγγελιοφόρο στο blockchain. Στη συνέχεια, ακολουθήστε τα κλασικά: ο χρήστης εισάγει τον κωδικό που έλαβε στη διεπαφή υπηρεσίας και συνδέεται.

Μετακινηθείτε για να ασφαλίσετε το 2FA στο blockchain

Στο άρθρο Πώς λειτουργεί ένας αποκεντρωμένος αγγελιοφόρος στο blockchain; Έγραψα ότι το blockchain διασφαλίζει την ασφάλεια και το απόρρητο της μετάδοσης μηνυμάτων. Για το θέμα της αποστολής κωδικών 2FA, θα επισημάνω:

  • Ένα κλικ για να δημιουργήσετε έναν λογαριασμό - χωρίς τηλέφωνα ή email.
  • Όλα τα μηνύματα με 2 κωδικούς FA είναι κρυπτογραφημένα End-to-End curve25519xsalsa20poly1305.
  • Η επίθεση MITM αποκλείεται - κάθε μήνυμα με τον κωδικό 2FA είναι μια συναλλαγή στο blockchain και υπογράφεται από τον Ed25519 EdDSA.
  • Το μήνυμα με τον κωδικό 2FA καταλήγει στο δικό του μπλοκ. Η σειρά και η χρονική σήμανση των μπλοκ δεν μπορούν να διορθωθούν και επομένως η σειρά των μηνυμάτων.
  • Δεν υπάρχει κεντρική δομή που να ελέγχει την «αυθεντικότητα» ενός μηνύματος. Αυτό γίνεται από ένα κατανεμημένο σύστημα κόμβων που βασίζεται στη συναίνεση και ανήκει στους χρήστες.
  • Δεν είναι δυνατή η απενεργοποίηση - οι λογαριασμοί δεν μπορούν να αποκλειστούν και τα μηνύματα δεν μπορούν να διαγραφούν.
  • Αποκτήστε πρόσβαση σε κωδικούς 2FA από οποιαδήποτε συσκευή ανά πάσα στιγμή.
  • Επιβεβαίωση παράδοσης μηνύματος με κωδικό 2FA. Η υπηρεσία που στέλνει τον κωδικό πρόσβασης μίας χρήσης γνωρίζει με βεβαιότητα ότι έχει παραδοθεί. Δεν υπάρχουν κουμπιά "Αποστολή ξανά".

Για να συγκρίνω με κάποιες άλλες μεθόδους 2FA, έφτιαξα έναν πίνακα:

Μετακινηθείτε για να ασφαλίσετε το 2FA στο blockchain

Ο χρήστης λαμβάνει έναν λογαριασμό στο blockchain messenger για να λαμβάνει κωδικούς σε ένα δευτερόλεπτο - μόνο μια φράση πρόσβασης χρησιμοποιείται για τη σύνδεση. Επομένως, οι μέθοδοι εφαρμογής μπορεί να είναι διαφορετικές: μπορείτε να χρησιμοποιήσετε έναν λογαριασμό για να λαμβάνετε κωδικούς για όλες τις υπηρεσίες ή μπορείτε να δημιουργήσετε έναν ξεχωριστό λογαριασμό για κάθε υπηρεσία.

Υπάρχει επίσης μια ταλαιπωρία - ο λογαριασμός πρέπει να έχει τουλάχιστον μία συναλλαγή. Για να λάβει ο χρήστης ένα κρυπτογραφημένο μήνυμα με κωδικό, πρέπει να γνωρίζετε το δημόσιο κλειδί του και εμφανίζεται στο blockchain μόνο με την πρώτη συναλλαγή. Έτσι καταφέραμε να ξεφύγουμε από αυτό: τους δώσαμε την ευκαιρία να λαμβάνουν δωρεάν μάρκες στο πορτοφόλι τους. Ωστόσο, μια καλύτερη λύση είναι να ονομάσετε τον λογαριασμό δημόσιο κλειδί. (Για σύγκριση, έχουμε τον αριθμό λογαριασμού U1467838112172792705 είναι παράγωγο του δημόσιου κλειδιού cc1ca549413b942029c4742a6e6ed69767c325f8d989f7e4b71ad82a164c2ada. Για το messenger αυτό είναι πιο βολικό και ευανάγνωστο, αλλά για το σύστημα αποστολής κωδικών 2FA είναι περιορισμός). Νομίζω ότι στο μέλλον κάποιος θα πάρει μια τέτοια απόφαση και θα μεταφέρει το “Convenience and Accessibility” στην πράσινη ζώνη.

Η τιμή αποστολής ενός κωδικού 2FA είναι πραγματικά χαμηλή - 0.001 ADM, τώρα είναι 0.00001 USD. Και πάλι, μπορείτε να αυξήσετε το blockchain σας και να κάνετε την τιμή μηδέν.

Πώς να συνδέσετε το 2FA στο blockchain στην υπηρεσία σας

Ελπίζω ότι μπόρεσα να ενδιαφέρω μερικούς αναγνώστες να προσθέσουν εξουσιοδότηση blockchain στις υπηρεσίες τους.

Θα σας πω πώς να το κάνετε αυτό χρησιμοποιώντας ως παράδειγμα τον αγγελιοφόρο μας και κατ' αναλογία μπορείτε να χρησιμοποιήσετε ένα άλλο blockchain. Στην εφαρμογή επίδειξης 2FA χρησιμοποιούμε το postgresql10 για την αποθήκευση πληροφοριών λογαριασμού.

Στάδια σύνδεσης:

  1. Δημιουργήστε έναν λογαριασμό στο blockchain από τον οποίο θα στείλετε κωδικούς 2FA. Θα λάβετε μια φράση πρόσβασης, η οποία χρησιμοποιείται ως ιδιωτικό κλειδί για την κρυπτογράφηση μηνυμάτων με κωδικούς και για την υπογραφή συναλλαγών.
  2. Προσθέστε ένα σενάριο στον διακομιστή σας για να δημιουργήσετε κωδικούς 2FA. Εάν χρησιμοποιείτε ήδη οποιαδήποτε άλλη μέθοδο 2FA με παράδοση κωδικού μίας χρήσης, έχετε ήδη ολοκληρώσει αυτό το βήμα.
  3. Προσθέστε ένα σενάριο στον διακομιστή σας για να στείλετε κώδικες στον χρήστη στο blockchain messenger.
  4. Δημιουργήστε μια διεπαφή χρήστη για την αποστολή και την εισαγωγή ενός κωδικού 2FA. Εάν χρησιμοποιείτε ήδη οποιαδήποτε άλλη μέθοδο 2FA με παράδοση κωδικού μίας χρήσης, έχετε ήδη ολοκληρώσει αυτό το βήμα.

1 Δημιουργία λογαριασμού

Η δημιουργία λογαριασμού στο blockchain σημαίνει τη δημιουργία ενός ιδιωτικού κλειδιού, ενός δημόσιου κλειδιού και μιας παράγωγης διεύθυνσης λογαριασμού.

Μετακινηθείτε για να ασφαλίσετε το 2FA στο blockchain

Αρχικά, δημιουργείται η φράση πρόσβασης BIP39 και υπολογίζεται από αυτήν ο κατακερματισμός SHA-256. Ο κατακερματισμός χρησιμοποιείται για τη δημιουργία του ιδιωτικού κλειδιού ks και του δημόσιου κλειδιού kp. Από το δημόσιο κλειδί, χρησιμοποιώντας το ίδιο SHA-256 με αντιστροφή, λαμβάνουμε τη διεύθυνση στο blockchain.

Εάν θέλετε να στέλνετε 2 κωδικούς FA κάθε φορά από έναν νέο λογαριασμό, ο κωδικός δημιουργίας λογαριασμού θα πρέπει να προστεθεί στον διακομιστή:

import Mnemonic from 'bitcore-mnemonic'
this.passphrase = new Mnemonic(Mnemonic.Words.ENGLISH).toString()

…

import * as bip39 from 'bip39'
import crypto from 'crypto'

adamant.createPassphraseHash = function (passphrase) {
  const seedHex = bip39.mnemonicToSeedSync(passphrase).toString('hex')
  return crypto.createHash('sha256').update(seedHex, 'hex').digest()
}

…

import sodium from 'sodium-browserify-tweetnacl'

adamant.makeKeypair = function (hash) {
  var keypair = sodium.crypto_sign_seed_keypair(hash)
  return {
    publicKey: keypair.publicKey,
    privateKey: keypair.secretKey
  }
}

…

import crypto from 'crypto'

adamant.getAddressFromPublicKey = function (publicKey) {
  const publicKeyHash = crypto.createHash('sha256').update(publicKey, 'hex').digest()
  const temp = Buffer.alloc(8)
  for (var i = 0; i < 8; i++) {
    temp[i] = publicKeyHash[7 - i]
  }
  return 'U' + bignum.fromBuffer(temp).toString()
}

Στην εφαρμογή επίδειξης, την απλοποιήσαμε - δημιουργήσαμε έναν λογαριασμό στην εφαρμογή web και στείλαμε κωδικούς από αυτήν. Στις περισσότερες περιπτώσεις, αυτό είναι επίσης πιο βολικό για τον χρήστη: γνωρίζει ότι η υπηρεσία στέλνει κωδικούς 2FA από έναν συγκεκριμένο λογαριασμό και μπορεί να τον ονομάσει.

Μετακινηθείτε για να ασφαλίσετε το 2FA στο blockchain

2 Δημιουργία κωδικών 2FA

Πρέπει να δημιουργηθεί ένας κωδικός 2FA για κάθε σύνδεση χρήστη. Χρησιμοποιούμε τη βιβλιοθήκη speakeasy, αλλά μπορείτε να επιλέξετε οποιοδήποτε άλλο.

const hotp = speakeasy.hotp({
  counter,
  secret: account.seSecretAscii,
});

Έλεγχος της εγκυρότητας του κωδικού 2FA που έχει εισαχθεί από τον χρήστη:

se2faVerified = speakeasy.hotp.verify({
  counter: this.seCounter,
  secret: this.seSecretAscii,
  token: hotp,
});

3 Αποστολή κωδικού 2FA

Για να υποβάλετε έναν κωδικό 2FA, μπορείτε να χρησιμοποιήσετε το API κόμβου blockchain, τη βιβλιοθήκη JS API ή την κονσόλα. Σε αυτό το παράδειγμα, χρησιμοποιούμε την κονσόλα - αυτή είναι η διεπαφή γραμμής εντολών, ένα βοηθητικό πρόγραμμα που απλοποιεί την αλληλεπίδραση με το blockchain. Για να στείλετε ένα μήνυμα με κωδικό 2FA, πρέπει να χρησιμοποιήσετε την εντολή send message κονσόλες.

const util = require('util');
const exec = util.promisify(require('child_process').exec);

…

const command = `adm send message ${adamantAddress} "2FA code: ${hotp}"`;
let { error, stdout, stderr } = await exec(command);

Ένας εναλλακτικός τρόπος αποστολής μηνυμάτων είναι να χρησιμοποιήσετε τη μέθοδο send στη βιβλιοθήκη JS API.

4 Διεπαφή χρήστη

Πρέπει να δοθεί στον χρήστη η επιλογή να εισαγάγει έναν κωδικό 2FA, αυτό μπορεί να γίνει με διαφορετικούς τρόπους ανάλογα με την πλατφόρμα της εφαρμογής σας. Στο παράδειγμά μας αυτό είναι το Vue.

Μετακινηθείτε για να ασφαλίσετε το 2FA στο blockchain

Μπορείτε να δείτε τον πηγαίο κώδικα για την εφαρμογή επίδειξης ελέγχου ταυτότητας δύο παραγόντων blockchain GitHub. Υπάρχει ένας σύνδεσμος στο Readme σε μια ζωντανή επίδειξη για να το δοκιμάσετε.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο