Мазмұны:
Бейне: Arduino TOTP генераторы: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Шабыт
Криптография мен қауіпсіздікке қызығушылық танытатын досым болғандықтан, мен туған күніне тамаша сыйлық жасағым келді.
*Бұл менің туған күніме сыйлық ретінде жасаған және қысқа мерзімде жасалған жоба (лас жұмыс үшін кешірім сұраймын)
ЕСКЕРТПЕ: Бұл жобада пайдаланылатын TOTP генерациясы 6 таңбалы кодты шығарады және қолданады, бірақ менің қолымдағы аппараттық құралдың арқасында мен соңғы 2 цифрды кесіп, 4-ті көрсетіп, қолдануды шештім. қауіпсіздік.
Негізгі ақпарат
Бұл жоба әр 30 секунд сайын алдын ала бөлінген кілт пен ағымдағы уақытты қолдана отырып жаңа код жасайды (ол нақты уақыттағы модульдің қолданылуын бақылайды) және түйме басылғанда оны дисплейде көрсетеді. Ең жиі қолданылатын жағдай-аутентификация үшін уақытқа негізделген бір реттік парольге (TOTP) және HMAC-қа негізделген бір реттік парольге (HOTP) негізделген екі факторлы тексеру.
TOTP-ортақ құпия кілт пен бір уақыттағы құпия сөзді есептейтін алгоритм. HTOP-бұл бір реттік пароль жасау үшін HMAC алгоритмін қолданатын алгоритм.
Google, Microsoft және Steam сияқты компаниялар екі факторлы аутентификация үшін TOTP технологиясын қолданады
Қызықты сілтемелер
Google бұл технологияны пайдаланушылардың аутентификациясы үшін қалай қолданатынын түсіндіретін мақала-https://medium.com/@tilaklodha/google-authenticator-and-how-it-works-2933a4ece8c2
JavaScript HOTP және TOTP, бұл жобаны қолданатын бағдарламалық жасақтама жасау кезінде қолданылуы мүмкін -
Бұл жобада қолданылатын Arduino криптографиялық кітапханасы -
TOTP құжаты -
Мамандық деңгейі
Бұл нұсқаулық қауіпсіздікке қызығушылық танытатын энтузиастарға арналған және олардың TOTP генерациясына жақсы аппараттық компонент енгізгісі келеді. Бұл нұсқаулық электроника диаграммасын және қарапайым бағдарламалауды түсінудің негізін түсінетін аудиторияға арналған, бірақ егер сіз осы нұсқаулықты дәл орындауды жоспарласаңыз, тәжірибеңіз болмаса, алаңдамаңыз және сұрақтар қойыңыз. пікірлер! Сонымен қатар, жоба тәжірибелі өндірушілер үшін қызықты болуы мүмкін, өйткені түпкілікті өнім - бұл менің ойымша) жақсы бөлшек қана емес, сонымен қатар кеңейту мен жаңа мүмкіндіктер үшін үлкен қиындықсыз.
Жабдықтар
Материалдар:
- 1x Arduino Nano (Amazon)
- 1x DS3231 AT24C32 нақты уақыттағы сағат (RTC) модулі (Amazon)
- 1x SH5461AS жалпы катод 4 цифрлық 7 сегментті (Amazon)
- 1x батырмасы (Amazon)
- 1x 10k резисторы (Amazon)
- ҚОСЫМША 1х 5х7 см ПХД (Amazon)
- ҚОСЫМША ПХД -ға дәнекерлеуге арналған сым
- ҚАЛАУЛЫ 1x тестілеу тақтасы (Amazon)
1 -қадам: құрастыру және тестілеу
Нан тақтасындағы барлық компоненттерді жинап, оларды бекітілген сымдар схемасына сәйкес сыммен бекітіңіз (фризинг файлы осында).
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 қосымшасын смартфонға жүктеп алып, QEX кодын сканерлеп немесе қосымшаға «Google Authenticator кодын» теріп, HEX массивін құру үшін пайдаланылатын сайтқа оралсаңыз, онда сіз бағдарламада көрсетілген нөмірді көресіз. Егер бәрі дұрыс жұмыс істеп тұрса, түймені басқанда, көрсетілген 4 цифр смартфон қосымшасында көрсетілген ағымдағы кодтың алғашқы 4 -іне сәйкес келуі керек. Егер бұлай болмаса, Arduino кодын жүктеу үшін пайдаланылатын компьютер UTC уақытына орнатылғанын тексеріп, әрекетті қайталаңыз.
2 -қадам: ПХД -ге көшіру
Барлығы жұмыс істеп тұрғанына көз жеткізгеннен кейін, сіз компоненттерді ПХД -ге ауыстыра аласыз және барлығын сәйкесінше дәнекерлей аласыз. Мен Fritzing файлына қосымша ПХД диаграммасын тіркедім (мұнда бар). Назар аударыңыз, мен барлық компоненттерді эстетика үшін тақтаның жоғарғы жағына қойдым, бірақ оны астына орнатуға болады, содан кейін оны тазарту үшін корпустың ішіне кіргізуге болады. Мен Sharpie -мен боялған попсикул таяқшаларын ПХД -нің екі жағына кесіп, ыстық желіммен жапсырдым. Тағы бір қосымша қадам-9 вольтты батарея қысқышын Arduino-ның VIN және GND түйреуіштеріне бекіту, бұл батареямен жұмыс жасайды.
3 -қадам: Аяқталды
Менің аяқталған генераторым осылай шықты, егер сіз оны өзіңіз қадағалап, өзіңіз жасасаңыз, төменде бөлісіңіз!
Егер сізге қажет деп санасаңыз, STEM байқауына менің нұсқаулығыма дауыс беріңіз және төменде пікіріңізді/сұрақтарыңызды қалдырыңыз!
Ұсынылған:
4-20ma генераторы/сынаушы Arduino көмегімен: 8 қадам
4-20ma генераторы/сынаушысы Arduino арқылы: 4-20мА генераторлар ebay-де қол жетімді, бірақ мен өз қолыммен бөлшектерді қолданатын бөлшектерді қолданамын. Мен біздің PLC-дің аналогтық кірістерін тестілеуді тексеру үшін тексергім келді. 4-20мА аспаптардың шығуын тексеру. Ло бар
DDS AD9910 Arduino қалқанында 100 кГц-600 МГц жиілік сигнал генераторы: 5 қадам
DDS AD9910 Arduino Shield-де 100 кГц-600 МГц жиіліктегі сигнал генераторы: Arduino-да төмен шу, жоғары дәлдік, тұрақты РЖ генераторы (AM, FM модуляциясымен)
Arduino көмегімен интерактивті лазер парағы генераторы: 11 қадам (суреттермен)
Arduino көмегімен интерактивті лазерлік парақ генераторы: Лазерлерді керемет визуалды эффекттер жасау үшін пайдалануға болады. Бұл жобада мен интерактивті және музыка ойнайтын лазерлік дисплейдің жаңа түрін жасадым. Құрылғы екі лазерді айналдырып, құйынды тәрізді екі жарық парағын құрайды. Мен қашықтық датчигін енгіздім
Arduino толқындық генераторы: 5 қадам (суреттермен)
Arduino Waveform генераторы: 2021 ж. Ақпан жаңарту: Raspberry Pi Pico негізіндегі іріктеу жылдамдығының 300 есе жаңа нұсқасын тексеріңіз. Зертханада жиі белгілі бір жиіліктің, пішін мен амплитуданың қайталанатын сигналы қажет. Бұл күшейткішті сынау, тізбекті тексеру болуы мүмкін
Ауа райына негізделген музыка генераторы (ESP8266 негізіндегі Midi генераторы): 4 қадам (суреттермен)
Ауа -райына негізделген музыкалық генератор (ESP8266 негізіндегі Midi генераторы): Сәлеметсіз бе, мен бүгін ауа -райына негізделген музыкалық генераторды қалай жасау керектігін түсіндіремін, ол ESP8266 негізінде жасалған, ол Arduino сияқты, ол температураға, жаңбырға жауап береді. және жарық қарқындылығы.Ол бүкіл әндер мен аккордтар жасайды деп күтпеңіз