Sisukord:
Video: Arduino TOTP generaator: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Inspiratsioon
Kuna mul oli sõber, kes on huvitatud krüptograafiast ja turvalisusest, tahtsin luua täiusliku sünnipäevakingi.
*See on projekt, mille tegin sünnipäevakingiks ja mis loodi lühikese ajapiiranguga (vabandust räpase töö eest)
MÄRKUS. Selles projektis kasutatav TOTP-põlvkond genereerib ja kasutab 6-kohalisi koode, kuid oma praeguse käepärase riistvara tõttu otsustasin kärpida 2-kohalisi numbreid ning kuvada ja kasutada 4, vaieldamatult (kuid mitte oluliselt) turvalisus.
Üldine informatsioon
See projekt genereerib iga 30 sekundi järel uue koodi, kasutades eeljagatud võtit ja praegust aega (mida jälgitakse reaalajas kella mooduli kasutamisel) ning kuvab selle nupule vajutamisel ekraanile. Kõige tavalisem kasutusviis on kahefaktoriline kinnitamine, mis põhineb ajapõhisel ühekordsel paroolil (TOTP) ja autentimiseks HMAC-põhisel ühekordsel paroolil (HOTP).
TOTP on algoritm, mis arvutab jagatud salajase võtme ja praeguse aja ühekordse parooli. HTOP on algoritm, mis kasutab ühekordse parooli genereerimiseks HMAC-algoritmi.
Sellised ettevõtted nagu Google, Microsoft ja Steam kasutavad juba kaheastmelise autentimise jaoks TOTP-tehnoloogiat
Huvitavad lingid
Artikkel, mis selgitab, kuidas Google kasutab seda tehnoloogiat kasutajate autentimiseks-https://medium.com/@tilaklodha/google-authenticator-and-how-it-works-2933a4ece8c2
HOTP ja TOTP JavaScripti rakendamine, mida võib kasutada seda projekti kasutava tarkvara loomisel -
Selles projektis kasutatav Arduino krütograafikakogu -
TOTP -paber -
Asjatundlikkuse tase
See juhend on mõeldud entusiastidele, kes on huvitatud turvalisusest ja võivad soovida oma TOTP -i genereerimiseks rakendada kena riistvarakomponendi. See juhend on kirjutatud publikule, kes juba mõistab elektroonika skeemide tõlgendamise ja algelise programmeerimise põhitõdesid, kuid kui kavatsete lihtsalt seda juhendit täpselt järgida, ärge muretsege, kui teil pole kogemusi, ja esitage julgelt küsimusi kommentaarid! Lisaks võib projekt olla huvitav ka kogenumatele tegijatele, kuna lõpptoode pole mitte ainult kena tükk (minu arvates), vaid sellel on nii palju laienemisvõimalusi ja uusi funktsioone ilma palju probleemideta.
Tarvikud
Materjalid:
- 1x Arduino Nano (Amazon)
- 1x DS3231 AT24C32 reaalajas kella (RTC) moodul (Amazon)
- 1x SH5461AS Common Cathode 4-kohaline 7-segmendiline (Amazon)
- 1x nupp (Amazon)
- 1x 10k takisti (Amazon)
- VALIKULINE 1x 5x7cm PCB (Amazon)
- VALIKUD Traat trükkplaadile jootmiseks
- VALIKULINE 1x leivaplaat testimiseks (Amazon)
Samm: kokkupanek ja testimine
Pange kõik leivaplaadi komponendid kokku ja ühendage need vastavalt lisatud ühendusskeemile (Fritzingi fail on siin).
Veenduge, et Arduino IDE oleks installitud (kui te seda ei leia, leiate selle Internetist) ja installige järgmised teegid:
github.com/lucadentella/TOTP-Arduino
github.com/adafruit/RTClib
github.com/maniacbug/Cryptosuite
Laadige alla lisatud visand (sellele pääseb juurde ka siit: https://gist.github.com/shiv213/569f01a54988cb0207966be9a65cc5ab) ja avage see Arduino IDE abil. Avage see link (https://www.lucadentella.it/OTP/) ja sisestage konto nime väljale mis tahes nimi ning järgmisesse väljale kohandatud salajane võti (10 tähemärki pikk), salvestades kindlasti mõlemad väärtused varundamiseks turvalises kohas. Kopeerige välja "Arduino HEX array:" sisu ja lülitage tagasi Arduino redaktorisse, asendades massiivi real 25 (hmacKey) saidilt kopeeritud massiiviga.
Pärast iga juhtmeühenduse kahekordset kontrollimist veenduge, et RTC-moodulis on mündirakk, ja ühendage Arduino sülearvutiga USB-minikaabli abil ning laadige üles lisatud visand.
Pärast üleslaadimist peaks nupule vajutamisel ekraanile ilmuma number. Kui laadite nutitelefonist alla rakenduse Google Authenticator ja lähete tagasi saidile, mida kasutati HEX -massiivi loomiseks, skannides QR -koodi või sisestades rakendusse „Google Authenticatori koodi”, peaksite nägema rakenduses näidatud numbrit. Kui kõik töötab õigesti, peaksid nupule vajutades kuvatud 4 numbrit vastama nutitelefonirakenduses kuvatava praeguse koodi esimesele neljale. Kui see nii ei ole, veenduge, et Arduino koodi üleslaadimiseks kasutatav arvuti on seatud UTC aja järgi ja proovige uuesti.
Samm: ülekandmine PCB -le
Pärast seda, kui olete veendunud, et kõik on töökorras, võite komponendid PCB -le üle kanda ja kõik kokku joota, kui teile tundub sobiv. Lisaks Fritzingi failile (saadaval siit) olen lisanud PCB diagrammi. Pange tähele, et ma paigutasin kõik komponendid esteetika huvides tahvli ülaosale, kuid neid saab ka alla paigaldada ja seejärel mingisse korpusesse suletud, et muuta see puhtamaks. Lõikasin ja kuumliimitud Sharpiega värvitud popsikepulgad PCB külgedele, et luua seadmele ajutine kast. Teine valikuline samm on 9-voldise akuklambri kinnitamine Arduino VIN- ja GND-tihvtidele, muutes selle patareitoitel.
3. samm: valmis
Nii osutus minu valminud generaatoriks, kui järgisite ja tegite ise, jagage seda allpool!
Hääletage kindlasti minu Instructable STEM -võistlusele, kui näete vajalikuks, ja jätke allpool kommentaar/küsimused!
Soovitan:
Maksimaalne MSP ümbritseva silmuse generaator: 19 sammu
Max MSP Ambient Loop Generator: See on õpetus, kuidas alustada Max MSP -s ümbritseva ahela generaatori loomist. See õpetus eeldab, et teil on põhiteadmised Max MSP, DAW liideste ja signaalitöötluse kohta. Kui soovite kasutada selles juhendis loodud programmi
4-20ma generaator/tester Arduino abil: 8 sammu
4-20ma generaator/tester Arduino abil: 4-20mA generaatorid on saadaval eBay-s, kuid mulle meeldib ühe asjade isetegemise osa ja nende osade kasutamine, mis mul on. Ma tahtsin testida meie PLC analoogsisendeid, et kontrollida meie scada näitu ja 4-20 mA instrumentide väljundi testimiseks. On loa
Arduino lainekuju generaator: 5 sammu (piltidega)
Arduino lainekuju generaator: veebruari 2021 värskendus: vaadake uut versiooni 300 -kordse proovivõtu sagedusega, mis põhineb Raspberry Pi Picol. Laboris on sageli vaja teatud sageduse, kuju ja amplituudiga korduvat signaali. See võib olla võimendi testimine, vooluahela kontrollimine
Generaator - alalisvoolu generaator Reed lüliti abil: 3 sammu
Generaator - alalisvoolu generaator Reed lülitit kasutades: lihtne alalisvoolu generaator Alalisvoolu (DC) generaator on elektrimasin, mis muudab mehaanilise energia alalisvoolu elektrienergiaks. Oluline: alalisvoolu (DC) generaatorit saab kasutada alalisvoolumootorina ilma konstruktsioonita muudatused
Arduino Yún Morse generaator: 4 sammu (piltidega)
Arduino Yún Morse Generator: Kas olete kunagi olnud baaris, kus te ei saanud oma sõbraga rääkida, sest muusika oli liiga vali? no nüüd võite temalt morsekoodis õlut küsida! Alustame