Mündəricat:
Video: Arduino TOTP Generator: 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
İlham
Kriptoqrafiya və təhlükəsizlik ilə maraqlanan bir dostum olduğu üçün mükəmməl bir ad günü hədiyyəsi yaratmaq istədim.
*Bu, doğum günü hədiyyəsi olaraq hazırladığım və qısa müddət ərzində yaradılmış bir layihədir (səliqəsiz işçiliyi bağışla)
QEYD: Bu layihədə istifadə olunan TOTP nəsli 6 rəqəmli kodlar yaradır və istifadə edir, lakin hazırkı əlimdəki avadanlıq səbəbiylə son 2 rəqəmi kəsib 4 rəqəmi göstərib istifadə etməyi üstün tutdum. təhlükəsizlik.
Ümumi məlumat
Bu layihə, hər 30 saniyədə əvvəlcədən paylaşılmış bir düyməni və cari vaxtı (real vaxt saat modulunun istifadəsini izləyir) istifadə edərək yeni bir kod yaradır və düyməyə basıldıqda ekranda göstərilir. Ən çox istifadə olunan vəziyyət, vaxta əsaslanan birdəfəlik şifrə (TOTP) və HMAC əsaslı birdəfəlik şifrəyə (HOTP) əsaslanan iki faktorlu yoxlama olardı.
TOTP, paylaşılan gizli açardan birdəfəlik şifrəni və cari vaxtı hesablayan bir alqoritmdir. HTOP, birdəfəlik parol yaratmaq üçün HMAC alqoritmindən istifadə edən bir alqoritmdir.
Google, Microsoft və Steam kimi şirkətlər artıq iki faktorlu identifikasiyası üçün TOTP texnologiyasından istifadə edirlər
Maraqlı Linklər
Google-un istifadəçilərin kimliyini təsdiqləmək üçün Google-un bu texnologiyadan necə istifadə etdiyini izah edən məqalə-https://medium.com/@tilaklodha/google-authenticator-and-how-it-works-2933a4ece8c2
Bu layihədən istifadə edərək proqram yaratarkən istifadə edilə bilən HOTP və TOTP -nin JavaScript tətbiqi -
Bu layihədə istifadə olunan Arduino üçün kriptoqrafik kitabxana -
TOTP Kağızı -
Təcrübə səviyyəsi
Bu Təlimat, təhlükəsizlik ilə maraqlanan və TOTP -nin yaradılmasına gözəl bir hardware komponenti tətbiq etmək istəyənlər üçündür. Bu təlimat elektronika diaqramlarının təfsirinin və ilkin proqramlaşdırmanın əsaslarını artıq başa düşən bir tamaşaçı üçün yazılmışdır, ancaq bu Təlimatı tam olaraq yerinə yetirməyi planlaşdırırsınızsa, heç bir təcrübəniz yoxdursa narahat olmayın və suallar verməkdən çekinmeyin. şərhlər! Bundan əlavə, layihə daha təcrübəli istehsalçılar üçün də maraqlı ola bilər, çünki son məhsul yalnız mənim fikrimcə gözəl bir parça deyil, həm də genişlənmə potensialına və çox çətinlik çəkmədən yeni xüsusiyyətlərə malikdir.
Təchizat
Materiallar:
- 1x Arduino Nano (Amazon)
- 1x DS3231 AT24C32 Real-Time Clock (RTC) Modulu (Amazon)
- 1x SH5461AS Ümumi Katod 4 rəqəmli 7 seqment (Amazon)
- 1x düymə (Amazon)
- 1x 10k rezistor (Amazon)
- İSTƏYƏN 1x 5x7cm PCB (Amazon)
- İsteğe bağlı PCB -yə lehimləmə üçün tel
- İsteğe bağlı 1x test üçün çörək paneli (Amazon)
Addım 1: Montaj və Test
Çörək taxtasındakı bütün komponentləri bir yerə yığın və əlavə edilmiş sxemə görə tel edin (Fritzing faylı burada).
Arduino IDE -ni quraşdırdığınızdan əmin olun (yoxsa onlayn olaraq tapa bilərsiniz) və aşağıdakı kitabxanaları quraşdırın:
github.com/lucadentella/TOTP-Arduino
github.com/adafruit/RTClib
github.com/maniacbug/Cryptosuite
Əlavə edilmiş eskizi yükləyin (bura da daxil olmaq olar: https://gist.github.com/shiv213/569f01a54988cb0207966be9a65cc5ab) və Arduino IDE -dən istifadə edərək açın. Bu linki açın (https://www.lucadentella.it/OTP/) və hesab adı sahəsinə hər hansı bir ad daxil edin və bu dəyərlərin hər ikisini də saxladığınızdan əmin olaraq aşağıdakı sahəyə xüsusi bir gizli açar (10 simvol uzunluğunda) daxil edin. ehtiyat üçün təhlükəsiz bir yerdə. "Arduino HEX array:" sahəsinin məzmununu kopyalayın və Arduino redaktoruna geri dönün, 25 -ci sətirdəki (hmacKey) silsiləni saytdan kopyaladığınızla əvəz edin.
Hər bir tel bağlantısını iki dəfə yoxladıqdan sonra, RTC modulunun içərisində bir sikkə yuvası olduğundan əmin olun və USB mini kabeli istifadə edərək Arduino noutbuka qoşun və əlavə edilmiş eskizi yükləyin.
Yüklədikdən sonra düyməyə basıldıqda ekranda bir rəqəm görünməlidir. Google Authenticator tətbiqini bir ağıllı telefona yükləsəniz və QEX kodunu skan edərək və ya "Google Authenticator kodu" nu yazaraq HEX dizisini yaratmaq üçün istifadə olunan sayta qayıtsanız, tətbiqdə göstərilən bir rəqəm görməli olacaqsınız. Hər şey düzgün işləyirsə, düyməni basdığınız zaman, göstərilən 4 rəqəm smartfon tətbiqində göstərilən cari kodun ilk 4 -ə uyğun olmalıdır. Əgər belə deyilsə, Arduino kodunu yükləmək üçün istifadə olunan kompüterin UTC vaxtına təyin olunduğundan əmin olun və yenidən cəhd edin.
Addım 2: PCB -yə köçürmə
Hər şeyin işlək vəziyyətdə olduğundan əmin olduqdan sonra, komponentləri PCB -yə köçürə və uyğun göründüyünüz halda hər şeyi birlikdə lehimləyə bilərsiniz. Fritzing faylına əlavə olaraq bir PCB diaqramı əlavə etdim (burada mövcuddur). Diqqət yetirin ki, bütün komponentləri estetika üçün lövhənin üstünə qoydum, həm də altına quraşdırıla bilər və sonra daha təmiz etmək üçün bir növ korpusa daxil edə bilərik. Bölmə üçün müvəqqəti bir qutu yaratmaq üçün PCB tərəflərinə Sharpie ilə rənglənmiş popsicle çubuqlarını kəsdim və isti yapışdırdım. Başqa bir əlavə addım, Arduinonun VIN və GND pinlərinə 9 voltluq bir batareya klipi bağlamaqdır ki, bu da onu batareyadan idarə edir.
Addım 3: Bitdi
Tamamlanmış generatorum belə oldu, əgər izləyib özünüz yaratmısınızsa, aşağıda paylaşın!
Uyğun görürsünüzsə, STEM Müsabiqəsi üçün Təlimatçılığımı səsləndirdiyinizə əmin olun və aşağıda suallarınızı verə bilərsiniz.
Tövsiyə:
Arduino istifadə edərək 4-20ma Generator/Tester: 8 addım
Arduino istifadə edərək 4-20ma Generator/Tester: 4-20mA generatorlar ebayda mövcuddur, amma mən bir şeyi sevirəm ki, əşyaların DIY hissəsini və ətrafa qoyduğum hissələrdən istifadə edirəm. 4-20mA alətlərinin çıxışını yoxlamaq. Loa var
Arduino Uno ilə Akustik Levitasiya Addım-addım (8 addım): 8 addım
Arduino Uno ilə Akustik Levitasiya Adım Adım (8 addım): ultrasəs səs ötürücüləri L298N Dc dişi qadın adapteri kişi dc pinli Arduino UNOBreadboard Bu necə işləyir: Əvvəlcə Arduino Uno-ya kod yükləyirsiniz (rəqəmsal ilə təchiz edilmiş bir mikro nəzarətçidir) və kodu çevirmək üçün analog portlar (C ++)
Generator: Fidget Spinner Generator 3 -də 1: 3 addımda
Generator: Fidget Spinner Generator 3 -ü 1 -də: fidget spinner generatoru 3 -də - indi mikro generatorun 3 neodim kürəsi və 3 neodim diskindən (led və kiçik bobinli dəmir az) istifadə edərək, fırıldaq generatorunu (üç seçim) konfiqurasiya edə bilərsiniz. INSTAGRAM -da və sadə bir elektrikə baxın
Arduino Yún Morse Generator: 4 addım (şəkillərlə birlikdə)
Arduino Yún Morse Generator: Heç musiqi çox yüksək olduğu üçün dostunuzla danışa bilmədiyiniz bir barda olmusunuzmu? Yaxşı, indi ondan Mors Kodunda bir pivə istəyə bilərsiniz! Gəlin başlayaq
Arduino Synth / Tone Generator: 5 addım
Arduino Synth / Tone Generator: Bu, Arduino üçün doğma olan Tone əmrindən istifadə edən bir Synth / Tone Generatordur. Kvadrat dalğanın istənilən tezliyini oynamaq üçün qurula bilən 12 fərdi düyməyə malikdir. Bir düymə ilə oktavalara yuxarı və aşağı getmək qabiliyyətinə malikdir. O da var s