Мазмұны:

Arduino TOTP генераторы: 3 қадам
Arduino TOTP генераторы: 3 қадам

Бейне: Arduino TOTP генераторы: 3 қадам

Бейне: Arduino TOTP генераторы: 3 қадам
Бейне: TOTP Arduino authenticator with USB keyboard emulation 2024, Шілде
Anonim
Arduino TOTP генераторы
Arduino TOTP генераторы
Arduino TOTP генераторы
Arduino TOTP генераторы
Arduino TOTP генераторы
Arduino TOTP генераторы

Шабыт

Криптография мен қауіпсіздікке қызығушылық танытатын досым болғандықтан, мен туған күніне тамаша сыйлық жасағым келді.

*Бұл менің туған күніме сыйлық ретінде жасаған және қысқа мерзімде жасалған жоба (лас жұмыс үшін кешірім сұраймын)

ЕСКЕРТПЕ: Бұл жобада пайдаланылатын 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 генерациясына жақсы аппараттық компонент енгізгісі келеді. Бұл нұсқаулық электроника диаграммасын және қарапайым бағдарламалауды түсінудің негізін түсінетін аудиторияға арналған, бірақ егер сіз осы нұсқаулықты дәл орындауды жоспарласаңыз, тәжірибеңіз болмаса, алаңдамаңыз және сұрақтар қойыңыз. пікірлер! Сонымен қатар, жоба тәжірибелі өндірушілер үшін қызықты болуы мүмкін, өйткені түпкілікті өнім - бұл менің ойымша) жақсы бөлшек қана емес, сонымен қатар кеңейту мен жаңа мүмкіндіктер үшін үлкен қиындықсыз.

Жабдықтар

Материалдар:

  1. 1x Arduino Nano (Amazon)
  2. 1x DS3231 AT24C32 нақты уақыттағы сағат (RTC) модулі (Amazon)
  3. 1x SH5461AS жалпы катод 4 цифрлық 7 сегментті (Amazon)
  4. 1x батырмасы (Amazon)
  5. 1x 10k резисторы (Amazon)
  6. ҚОСЫМША 1х 5х7 см ПХД (Amazon)
  7. ҚОСЫМША ПХД -ға дәнекерлеуге арналған сым
  8. ҚАЛАУЛЫ 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 байқауына менің нұсқаулығыма дауыс беріңіз және төменде пікіріңізді/сұрақтарыңызды қалдырыңыз!

Ұсынылған: