Мазмуну:
Video: Arduino TOTP генератору: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Илхам
Криптографияга жана коопсуздукка кызыккан досум бар болгондуктан, мен туулган күнүмө эң сонун белек түзгүм келди.
*Бул менин туулган күнүмө белек кылган жана кыска убакыттын ичинде түзүлгөн долбоор (башаламан иштөө үчүн кечирим сурайм)
ЭСКЕРТҮҮ: Бул долбоордо колдонулган TOTP мууну 6 цифралуу коддорду жаратат жана колдонот, бирок менин учурдагы жабдыктарыма байланыштуу, мен акыркы 2 цифраны кесип, 4 дисплейди колдонууну чечтим, бирок (бирок анча деле эмес) коопсуздук.
Жалпы маалымат
Бул долбоор алдын ала бөлүшүлгөн ачкычты жана учурдагы убакытты (реалдуу убакыт саатынын модулун колдонууну көзөмөлдөп турат) колдонуп, 30 секунд сайын жаңы кодду чыгарат жана баскыч басылганда дисплейде көрсөтүлөт. Эң кеңири таралган учур-аныктыгын текшерүү үчүн Time-One One Password (TOTP) жана HMAC негизделген One Time Password (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 Common Cathode 4 орундуу 7-сегмент (Amazon)
- 1x баскычтар (Амазонка)
- 1x 10k каршылыгы (Amazon)
- ОПЦИОНАЛДУУ 1x 5x7см PCB (Amazon)
- ОПЦИОНАЛДЫК ПХБга ширетүү үчүн зым
- ОПЦИОНАЛДУУ 1x тестирлөө тактасы (Amazon)
1 -кадам: Монтаждоо жана тестирлөө
Нан тактасындагы бардык компоненттерди чогултуп, аларды тиркелген зымдардын схемасына ылайык зымдап бериңиз (Fritzing file бул жерде).
Сизде 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 массиви:" талаасынын мазмунун көчүрүп, 25 -саптагы (hmacKey) массивди сайттан көчүргөнүңүзгө алмаштырып, Arduino редакторуна кайтыңыз.
Ар бир зым туташуусун эки жолу текшергенден кийин, RTC модулунда тыйын уячасы бар экенин текшериңиз жана Arduino'ду ноутбукка USB мини шнуру аркылуу туташтырып, тиркелген эскизди жүктөңүз.
Жүктөп бергенден кийин, баскыч басылганда, экранда бир сан көрүнүшү керек. Эгер сиз Google Authenticator тиркемесин смартфонго жүктөп алып, HEX массивин түзүү үчүн колдонулган сайтка кайтып барсаңыз, QR кодун сканерлеп же "Google Authenticator кодун" колдонмого терсеңиз, колдонмодо көрсөтүлгөн номерди көрөсүз. Эгерде баары туура иштеп жатса, баскычты басканыңызда, көрсөтүлгөн 4 цифр смартфондун колдонмосунда көрсөтүлгөн учурдагы коддун биринчи 4үнө дал келиши керек. Эгер андай болбосо, Arduino кодун жүктөө үчүн колдонулган компьютер UTC убактысына коюлганын текшерип, кайра аракет кылыңыз.
2 -кадам: ПХБга өткөрүү
Баары иштөөдө экенине ынангандан кийин, сиз компоненттерди ПХБга өткөрүп, өзүңүзгө ылайыктуу көрүнсө да, баарын чогуу ширете аласыз. Мен Fritzing файлына кошумча ПХБ диаграммасын тиркеп койдум (бул жерде жеткиликтүү). Белгилей кетчү нерсе, мен бардык компоненттерди эстетика үчүн тактайдын үстүнө койгом, бирок аны астына орнотуп, андан кийин аны таза кылуу үчүн кандайдыр бир корпуска кошсо болот. Мен кесим жана бирдик үчүн убактылуу кутуча түзүү үчүн ПХБнын капталына Sharpie менен боёлгон попсикул таякчаларын кесип алдым. Дагы бир кошумча кадам-бул 9-вольттуу батареяны клипти Arduino'дун VIN жана GND казыктарына туташтырып, аны батарея менен иштөө.
3 -кадам: Бүттү
Менин бүткөн генераторум ушундай болуп чыкты, эгер сиз өзүңүз ээрчип, өзүңүз жасасаңыз, төмөндө бөлүшүңүз!
Эгерде сиз өзүңүзгө ылайыктуу деп эсептесеңиз, STEM Конкурсуна менин Нускоочулук номериме добуш бериңиз жана төмөндө комментарий калтырыңыз/сизди кызыктырган суроолор!
Сунушталууда:
RF сигнал генератору 100 KHz-600 MHZ боюнча DDS AD9910 Arduino Shield: 5 кадам
RF сигналынын генератору 100 KHz-600 MHZ DDS AD9910 Arduino Shield: Arduinoдо аз ызы-чуу, жогорку тактык, туруктуу RF генератору (AM, FM модуляциясы менен)
Arduino толкун формасынын генератору: 5 кадам (сүрөттөр менен)
Arduino Waveform Генератору: 2021 -жылдын февраль жаңыртуусу: Raspberry Pi Pico негизделген 300x үлгү алуу ылдамдыгы менен жаңы версиясын карап көрүңүз. Бул күчөткүчтү сыноо, чынжырын текшерүү болушу мүмкүн
MIDI/Arduino көзөмөлдөгөн 8 биттик үн генератору (AY-3-8910): 5 кадам
MIDI/Arduino көзөмөлдөгөн 8 биттик үн генератору (AY-3-8910): ретро үндүү 8 биттик үн генераторун куруңуз жана MIDI аркылуу башкарыңыз. Бул дизайн жарым-жартылай Chiptune энтузиасттары тарабынан Arduino схемаларын куруп, Chiptune файлдарын жана кээ бирлери Эрте видео оюндун кемчиликтеринин үнүн бириктирүү үчүн менин жеке идеяларым
Аба ырайына негизделген музыка генератору (ESP8266 негизделген Midi генератору): 4 кадам (сүрөттөр менен)
Аба ырайына негизделген музыка генератору (ESP8266 негизделген Midi генератору): Саламатсызбы, мен бүгүн өзүңүздүн кичинекей аба ырайына негизделген музыкалык генераторду кантип жасоону түшүндүрүп берем. жана жарыктын интенсивдүүлүгү. Бул бүтүндөй ырларды же аккорд программасын түзөт деп күтпөңүз
3 фазалуу синус толкун генератору Arduino Due негизделген: 5 кадам
3 фазалуу синус толкун генератору Arduino Due негизделген: бул үлүштүн максаты Due'нын көбүрөөк иштөөсүн колдонууга аракет кылып жаткан адамга жардам берүү + маалымдаманын жоктугу + пайдалуу эмес маалыматтык баракча. Бул долбоор 3 фазалуу синус толкунун @ 256 чейин түзө алат үлгүлөр / цикл төмөн жыштыкта (< 1kHz) жана 16 сек