Tartalomjegyzék:
Videó: Arduino TOTP generátor: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Ihlet
Miután volt egy barátom, akit érdekel a kriptográfia és a biztonság, meg akartam teremteni a tökéletes születésnapi ajándékot.
*Ezt a projektet születésnapi ajándékként készítettem, és szűk határidőn belül hoztam létre (elnézést a rendetlen kivitelezésért)
MEGJEGYZÉS: Az ebben a projektben használt TOTP generáció 6 számjegyű kódokat hoz létre és használ, de a jelenlegi hardverem miatt úgy döntöttem, hogy levágom a második számjegyet, és megjelenítem és 4-et használok, vitathatatlanul (de nem nagy mértékben) Biztonság.
Általános információ
Ez a projekt 30 másodpercenként generál egy új kódot egy előre megosztott kulccsal és az aktuális idővel (amelyet nyomon követnek a valós idejű óra modul használatával), és megjeleníti azt a kijelzőn, amikor megnyomja a gombot. A leggyakoribb eset az időalapú egyszeri jelszó (TOTP) és a HMAC-alapú egyszeri jelszó (HOTP) alapú kéttényezős hitelesítés lenne.
A TOTP egy algoritmus, amely egyszeri jelszót számít ki a megosztott titkos kulcsból és az aktuális időből. A HTOP egy algoritmus, amely a HMAC algoritmust használja az egyszeri jelszó létrehozásához.
Az olyan vállalatok, mint a Google, a Microsoft és a Steam, már használják a TOTP technológiát kéttényezős hitelesítésükhöz
Érdekes linkek
Cikk, amely elmagyarázza, hogyan használja a Google ezt a technológiát a felhasználók hitelesítésére-https://medium.com/@tilaklodha/google-authenticator-and-how-it-works-2933a4ece8c2
A HOTP és a TOTP JavaScript -implementációja, amely használható a projektet használó szoftver létrehozásakor -
A projektben használt Arduino kriptográfiai könyvtár -
TOTP Paper -
Szakértelem szintje
Ez az Instructable azoknak a rajongóknak szól, akik érdeklődnek a biztonság iránt, és szeretnének egy szép hardverkomponenst megvalósítani TOTP -juk generálásához. Ez az oktatóanyag olyan közönségnek készült, aki már érti az elektronikai diagramok értelmezésének és a kezdetleges programozás alapjait, de ha egyszerűen csak követi ezt az utasítást, ne aggódjon, ha nincs tapasztalata, és tegyen fel kérdéseket a Hozzászólások! Ezenkívül a projekt a tapasztaltabb gyártók számára is érdekes lehet, mivel a végtermék nemcsak egy szép darab (szerintem), hanem rengeteg bővítési és új funkcióval rendelkezik, sok gond nélkül.
Kellékek
Anyagok:
- 1x Arduino Nano (Amazon)
- 1x DS3231 AT24C32 valós idejű óra (RTC) modul (Amazon)
- 1x SH5461AS közös katód 4 számjegyű 7 szegmens (Amazon)
- 1x nyomógomb (Amazon)
- 1x 10k ellenállás (Amazon)
- Választható 1x 5x7 cm -es NYÁK (Amazon)
- Választható huzal PCB -hez való forrasztáshoz
- Választható 1x Breadboard teszteléshez (Amazon)
1. lépés: Összeszerelés és tesztelés
Szerelje össze az összes alkatrészt a kenyértáblán, és kösse be őket a mellékelt kapcsolási rajz szerint (a Fritzing fájl itt található).
Győződjön meg róla, hogy telepítve van az Arduino IDE (ha nem, akkor megtalálható az interneten), és telepítse a következő könyvtárakat:
github.com/lucadentella/TOTP-Arduino
github.com/adafruit/RTClib
github.com/maniacbug/Cryptosuite
Töltse le a mellékelt vázlatot (itt is elérhető: https://gist.github.com/shiv213/569f01a54988cb0207966be9a65cc5ab), és nyissa meg az Arduino IDE használatával. Nyissa meg ezt a linket (https://www.lucadentella.it/OTP/), és írjon be bármilyen nevet a fióknév mezőbe, és egy egyéni titkos kulcsot (10 karakter hosszú) a következő mezőbe, ügyelve arra, hogy mindkettőt mentse el biztonságos helyen a biztonsági mentéshez. Másolja ki az "Arduino HEX tömb:" mező tartalmát, és váltson vissza az Arduino szerkesztőbe, és cserélje le a 25. sor (hmacKey) tömbjét a webhelyről másoltra.
Miután kétszer ellenőrizte az egyes vezetékes csatlakozásokat, győződjön meg arról, hogy az RTC modulban van egy érme, és csatlakoztassa az Arduino-t a laptopjához egy USB mini kábel segítségével, és töltse fel a mellékelt vázlatot.
A feltöltés után, amikor megnyomja a gombot, egy számnak kell megjelennie a képernyőn. Ha letölti a Google Hitelesítő alkalmazást egy okostelefonról, és visszamegy a HEX tömb előállításához használt webhelyre, beolvassa a QR -kódot, vagy beírja a "Google Hitelesítő kódot" az alkalmazásba, akkor egy számot kell látnia az alkalmazásban. Ha minden megfelelően működik, a nyomógomb megnyomásakor a megjelenített 4 számjegynek meg kell egyeznie az okostelefon -alkalmazásban megjelenített aktuális kód első négy számával. Ha nem ez a helyzet, győződjön meg arról, hogy az Arduino kód feltöltésére használt számítógép UTC időre van állítva, és próbálja újra.
2. lépés: Átvitel a NYÁK -ra
Miután meggyőződött arról, hogy minden rendben van, átviheti az alkatrészeket a NYÁK -ra, és mindent összeforraszthat, ahogyan megfelelőnek tűnik. A Fritzing fájl mellett (itt érhető el) csatoltam egy NYÁK diagramot. Ne feledje, hogy az összes elemet a tábla tetejére helyeztem az esztétika érdekében, de alá is szerelhető, majd valamilyen házba zárható, hogy tisztább legyen. Sharpie -val színezett popsicle botokat vágtam és melegen ragasztottam a NYÁK oldalához, hogy rögtönzött dobozt hozzak létre az egység számára. Egy másik opcionális lépés egy 9 voltos elemcsipesz csatlakoztatása az Arduino VIN és GND csapjaihoz, így elemmel működik.
3. lépés: Kész
Így alakult ki az elkészült generátorom, ha követte és maga készítette, ossza meg alább!
Feltétlenül szavazzon az Instructable -mre a STEM versenyre, ha úgy látja jónak, és hagyjon megjegyzést/kérdéseket az alábbiakban!
Ajánlott:
Az Arduino DDS frekvenciajel -generátor használata AD9850: 7 lépés
Az Arduino DDS frekvenciajel -generátor AD9850 használata: Ebben az oktatóanyagban megtanuljuk, hogyan kell frekvenciajel -generátort készíteni egy AD9850 modul és az Arduino segítségével. Nézze meg a videót! rosszabb a magasabb frekvenciákkal
4-20ma generátor/tesztelő az Arduino használatával: 8 lépés
4-20ma generátor/tesztelő Arduino használatával: 4-20mA generátorok kaphatók az ebay-en, de egyrészt szeretem a dolgok barkácsolásának részét, másrészt az általam lefektetett alkatrészeket. Szeretném tesztelni a PLC analóg bemeneteit, hogy ellenőrizze a scada leolvasásokat és 4-20 mA műszerek kimenetének tesztelésére. Vannak olyan
Generátor: Fidget Spinner Generator 3 az 1: 3 lépésben
Generátor: Fidget Spinner Generator 3 az 1 -ben: fidget spinner generátor 3 az 1 -ben - most konfigurálhatja a fidget spinner generátort (három választási lehetőség), a mikrogenerátor 3 neodímium gömböt és 3 neodímium lemezt használ (kevesebb és kevesebb tekercses vas) INSTAGRAMON, és nézzen meg egy egyszerű elektromos
Generátor - DC generátor Reed kapcsolóval: 3 lépés
Generátor - egyenáramú generátor Reed kapcsolóval: Egyszerű egyenáramú generátor Az egyenáramú (DC) generátor egy elektromos gép, amely a mechanikai energiát egyenáramú villamos energiává alakítja. Fontos: Az egyenáramú (DC) generátor konstrukció nélkül is használható egyenáramú motorként. változtatások
Egy generátor öngerjesztése egyenáramú generátor, kondenzátor bank vagy akkumulátor nélkül: 5 lépés (képekkel)
Öngerjesztés generátor, egyenáramú generátor, kondenzátor bank vagy akkumulátor nélkül: Szia! Ez az utasítás arra szolgál, hogy a mezőgerjesztett generátort öngerjesztővé alakítsuk át. Ennek a trükknek az az előnye, hogy nem kell bekapcsolnia a mezőt generátor 12 voltos akkumulátorral, de helyette magától bekapcsol, így