Բովանդակություն:
Video: Arduino TOTP գեներատոր ՝ 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Ոգեշնչում
Ունենալով գաղտնագրությամբ և անվտանգությամբ հետաքրքրված ընկեր, ես ուզում էի ստեղծել ծննդյան կատարյալ նվեր:
*Սա նախագիծ է, որը ես պատրաստել եմ որպես ծննդյան նվեր և ստեղծվել է սեղմ ժամկետներում (ներեցեք խառնաշփոթ աշխատանքը)
EԱՆՈԹՈ:ԹՅՈՆ. Այս նախագծում օգտագործվող TOTP սերունդը ստեղծում և օգտագործում է 6 նիշանոց ծածկագրեր, սակայն իմ ներկա սարքավորման պատճառով ես նախընտրեցի կտրել հետևի երկնիշ թվերը և ցուցադրել և օգտագործել 4-ը ՝ հավանաբար (բայց ոչ մեծապես) նվազեցնելով անվտանգություն:
Ընդհանուր տեղեկություն
Այս նախագիծը յուրաքանչյուր 30 վայրկյանը մեկ ստեղծում է նոր ծածկագիր ՝ օգտագործելով նախապես փոխանցված ստեղնը և ընթացիկ ժամանակը (որը պահվում է իրական ժամանակի ժամացույցի մոդուլի օգտագործման հետքերով) և ցուցադրում այն էկրանին, երբ կոճակը սեղմվում է: Օգտագործման ամենատարածված դեպքը կլինի երկու գործոնով ստուգումը ՝ հիմնված Timeամանակի վրա հիմնված Մեկանգամյա գաղտնաբառի (TOTP) և HMAC- ի վրա հիմնված Մեկանգամյա գաղտնաբառի (HOTP) վրա ՝ նույնականացման համար:
TOTP- ը ալգորիթմ է, որը հաշվում է մեկանգամյա գաղտնաբառ ընդհանուր գաղտնի բանալուց և ընթացիկ ժամանակից: HTOP- ը ալգորիթմ է, որն օգտագործում է HMAC ալգորիթմը ՝ մեկանգամյա գաղտնաբառ ստեղծելու համար:
Այնպիսի ընկերություններ, ինչպիսիք են Google- ը, Microsoft- ը և Steam- ն, արդեն օգտագործում են TOTP տեխնոլոգիան իրենց երկու գործոնով նույնականացման համար
Հետաքրքիր հղումներ
Հոդված, որը բացատրում է, թե ինչպես է Google- ն օգտագործում այս տեխնոլոգիան օգտվողներին նույնականացնելու համար-https://medium.com/@tilaklodha/google-authenticator-and-how-it-works-2933a4ece8c2
HOTP- ի և TOTP- ի JavaScript- ի ներդրում, որը կարող է օգտագործվել այս նախագիծն օգտագործող ծրագրակազմ ստեղծելիս -
Այս նախագծում օգտագործվող Arduino- ի գրագրային գրադարան -
TOTP թուղթ -
Փորձագիտության մակարդակ
Այս Instructable- ը այն էնտուզիաստների համար է, ովքեր շահագրգռված են անվտանգությամբ և գուցե ցանկանան ներդնել գեղեցիկ սարքավորման բաղադրիչ իրենց TOTP սերնդին: Այս հրահանգը գրված է այն հանդիսատեսի համար, ով արդեն հասկանում է էլեկտրոնիկայի գծապատկերների և տարրական ծրագրավորման մեկնաբանման հիմունքները, բայց եթե մտադիր եք պարզապես հետևել այս հրահանգին, մի անհանգստացեք, եթե փորձ չունեք, և ազատ զգացեք հարցեր տալ ներքևում: մեկնաբանություններ! Ավելին, նախագիծը կարող է հետաքրքիր լինել նաև ավելի փորձառու ստեղծողների համար, քանի որ վերջնական արտադրանքը ոչ միայն հաճելի կտոր է (իմ կարծիքով), այլև ունի այնքան մեծ ընդլայնման և նոր հնարավորությունների հնարավորություն, առանց մեծ դժվարությունների:
Պարագաներ
Նյութեր:
- 1x Arduino Nano (Amazon)
- 1x DS3231 AT24C32 Իրական ժամանակի ժամացույց (RTC) մոդուլ (Amazon)
- 1x SH5461AS Ընդհանուր կաթոդ 4 նիշ 7-հատված (Amazon)
- 1x կոճակ (Amazon)
- 1x 10k դիմադրություն (Amazon)
- ԸՆՏՐՈԹՅՈՆ 1x 5x7 սմ PCB (Amazon)
- ԸՆՏՐՈԹՅՈireՆ մետաղալար `PCB- ին զոդման համար
- ԸՆՏՐՈԹՅՈ 1Ն 1x տախտակ փորձարկման համար (Amazon)
Քայլ 1: Հավաքում և փորձարկում
Հավաքեք տախտակի վրա բոլոր բաղադրիչները և լարեք դրանք կցված էլեկտրագծերի սխեմայի համաձայն (Fritzing ֆայլն այստեղ է):
Համոզվեք, որ տեղադրված եք Arduino IDE- ն (այն կարելի է գտնել առցանց, եթե չունեք) և տեղադրեք հետևյալ գրադարանները.
github.com/lucadentella/TOTP-Arduino
github.com/adafruit/RTClib
github.com/maniacbug/Cryptosuite
Ներբեռնեք կցված ուրվագիծը (կարելի է նաև այստեղ ՝ https://gist.github.com/shiv213/569f01a54988cb0207966be9a65cc5ab) և բացեք այն Arduino IDE- ի միջոցով: Բացեք այս հղումը (https://www.lucadentella.it/OTP/) և հաշվի անվան դաշտում մուտքագրեք որևէ անուն, իսկ հետևյալ դաշտում ՝ հատուկ գաղտնի բանալի (10 նիշ) ՝ համոզվելով, որ կպահեք այդ երկու արժեքները: ապահով վայրում `պահուստավորման համար: Պատճենեք «Arduino HEX զանգված.» Դաշտի բովանդակությունը և վերադառնաք Arduino խմբագրիչ ՝ 25 -րդ տողում (hmacKey) զանգվածը փոխարինելով կայքից պատճենածով:
Յուրաքանչյուր մետաղալար կապի կրկնակի ստուգումից հետո համոզվեք, որ RTC մոդուլում մետաղադրամի բջիջ կա, և Arduino- ն USB նոթբուքի միջոցով միացրեք ձեր նոութբուքին և վերբեռնեք կցված ուրվագիծը:
Բեռնելուց հետո, երբ կոճակը սեղմվում է, էկրանին պետք է հայտնվի մի շարք: Եթե դուք ներբեռնում եք Google Authenticator ծրագիրը սմարթֆոնի վրա և վերադառնում եք այն կայքը, որն օգտագործվում է HEX զանգված ստեղծելու համար, սկանավորում է QR կոդը կամ հավելվածում մուտքագրում «Google Authenticator code» - ը, ապա պետք է տեսնեք հավելվածում ցուցադրված համարը: Եթե ամեն ինչ ճիշտ է աշխատում, սեղմելով կոճակը, ցուցադրվող 4 թվանշանները պետք է համապատասխանեն սմարթֆոնների հավելվածում ցուցադրվող ընթացիկ կոդի առաջին 4 -ին: Եթե դա այդպես չէ, համոզվեք, որ Arduino ծածկագիրը վերբեռնելու համար օգտագործվող համակարգիչը սահմանվել է UTC ժամանակի վրա և նորից փորձել:
Քայլ 2: Տեղափոխում PCB- ին
Համոզվելուց հետո, որ ամեն ինչ կարգին է, կարող եք բաղադրիչները փոխանցել PCB- ին և ամեն ինչ միասին կպցնել, ինչպես որ ձեզ հարմար է թվում: Բացի Fritzing ֆայլից, կցել եմ PCB դիագրամ (հասանելի է այստեղ): Նկատի ունեցեք, որ ես բոլոր բաղադրամասերը դրել եմ տախտակի վերևում ՝ գեղագիտության համար, բայց դրանք կարող են տեղադրվել նաև ներքևում, այնուհետև փակվել ինչ -որ պատյանում ՝ այն ավելի մաքուր դարձնելու համար: Ես կտրում և տաք սոսնձում էի Sharpie- ով ներկված փոշու ձողերը դեպի PCB- ի կողմերը ՝ սարքի համար ժամանակավոր տուփ ստեղծելու համար: Մեկ այլ կամընտիր քայլ է `9 վոլտանոց մարտկոցի ամրակ ամրացնելը Arduino- ի VIN և GND կապումներին` մարտկոցով աշխատող:
Քայլ 3: Ավարտվեց:
Այսպես ստացվեց իմ ավարտված գեներատորը, եթե դուք հետևում եք ինքներդ և պատրաստում եք մեկին, կիսվեք ստորև:
Համոզվեք, որ քվեարկեք իմ Instructable- ին STEM մրցույթի համար, եթե նպատակահարմար եք գտնում, և թողեք մեկնաբանություն/ցանկացած հարց, որը կարող է ունենալ ներքևում:
Խորհուրդ ենք տալիս:
Ինչպես օգտագործել Arduino DDS հաճախականության ազդանշանի գեներատոր AD9850: 7 քայլ
Ինչպես օգտագործել Arduino DDS հաճախականության ազդանշանի գեներատոր AD9850. Այս ձեռնարկում մենք կսովորենք, թե ինչպես պատրաստել հաճախականության ազդանշանի գեներատոր `օգտագործելով AD9850 մոդուլը և Arduino- ն: Դիտեք տեսանյութը: Նշում. Ինձ հաջողվեց ստանալ մինչև +50 ՄՀց հաճախականություն, բայց ազդանշանի որակը ստանում է ավելի վատ հաճախականությունների դեպքում
4-20ma գեներատոր/փորձարկիչ, օգտագործելով Arduino- ն. 8 քայլ
4-20ma գեներատոր/փորձարկիչ Arduino- ի միջոցով. 4-20mA գեներատորները հասանելի են ebay- ում, բայց ես շատ եմ սիրում իրերի DIY մասը և այն մասերը, որոնք տեղադրում եմ շուրջս: Ես ուզում էի փորձարկել մեր PLC- ի անալոգային մուտքերը `մեր սկադայի ընթերցումները և 4-20 մԱ գործիքների ելքը ստուգելու համար: Կան լոա
ՌԴ ազդանշանային գեներատոր 100 KHz-600 MHZ DDS AD9910 Arduino Shield- ում ՝ 5 քայլ
ՌԴ ազդանշանի գեներատոր 100 KHz-600 MHZ DDS AD9910 Arduino Shield- ում. Ինչպես անել ցածր աղմուկ, բարձր ճշգրտություն, կայուն ՌԴ գեներատոր (AM- ով, FM մոդուլյացիայով) Arduino- ում
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի
Գեներատոր - DC գեներատոր օգտագործելով Reed Switch: 3 քայլ
Գեներատոր. փոփոխություններ