Агуулгын хүснэгт:

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

Энэхүү төслийг ашиглан програм хангамж үүсгэхэд ашиглаж болох HOTP болон TOTP -ийн JavaScript -ийн хэрэгжилт -

Энэхүү төсөлд ашигласан Arduino -ийн криптографийн номын сан -

TOTP баримт бичиг -

Туршлагын түвшин

Энэхүү зааварчилгаа нь аюулгүй байдлыг сонирхож буй хүмүүст зориулагдсан бөгөөд TOTP -ийг бий болгохын тулд тоног төхөөрөмжийн сайн бүрэлдэхүүн хэсгийг ашиглахыг хүсч магадгүй юм. Энэхүү зааварчилгаа нь электроникийн диаграмм, энгийн програмчлалын тайлбарыг ойлгох үндсийг аль хэдийн ойлгосон хүмүүст зориулагдсан болно, гэхдээ хэрэв та энэ зааврыг яг таг дагаж мөрдөх гэж байгаа бол туршлагагүй бол санаа зовох хэрэггүй бөгөөд асуултаа асууж болно. сэтгэгдэл! Цаашилбал, төсөл нь илүү туршлагатай үйлдвэрлэгчдийн хувьд сонирхолтой байж болох юм. Учир нь эцсийн бүтээгдэхүүн нь зөвхөн өөрийнхөөрөө байх сайхан хэсэг биш, харин тэлэх боломж, шинэ бэрхшээлгүйгээр маш их бэрхшээл учруулдаг.

Хангамж

Материал:

  1. 1x Arduino Nano (Амазон)
  2. 1x DS3231 AT24C32 бодит цагийн цаг (RTC) модуль (Амазон)
  3. 1x SH5461AS нийтлэг катод 4 оронтой 7 сегмент (Амазон)
  4. 1х товчлуур (Амазон)
  5. 1х 10к эсэргүүцэл (Амазон)
  6. СОНГОЛТЫН 1х 5х7см хэмжээтэй ПХБ (Амазон)
  7. СОНГУУЛИЙН ПХБ -д гагнах утас
  8. СОНГОЛТТОЙ 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 код" -ыг аппликешнд оруулбал апп дээр харуулсан дугаар гарч ирнэ. Хэрэв бүх зүйл зөв ажиллаж байвал товчлуурыг дарахад 4 оронтой тоо нь ухаалаг гар утасны програм дээр үзүүлсэн кодын эхний 4 -тэй тохирч байх ёстой. Хэрэв тийм биш бол Arduino кодыг байршуулахад ашиглаж буй компьютерийг UTC цагт тохируулсан эсэхийг шалгаад дахин оролдоно уу.

Алхам 2: ПХБ руу шилжүүлэх

ПХБ руу шилжүүлж байна
ПХБ руу шилжүүлж байна
ПХБ руу шилжүүлж байна
ПХБ руу шилжүүлж байна

Бүх зүйл хэвийн байгаа эсэхийг шалгасны дараа та бүрэлдэхүүн хэсгүүдийг ПХБ -д шилжүүлж, тохирсон мэт бүх зүйлийг гагнах боломжтой. Би Fritzing файлаас гадна ПХБ -ийн диаграмыг хавсаргав (энд байгаа). Би бүх эд ангиудыг гоо зүйн үүднээс самбарын дээд талд байрлуулсан боловч доор нь суулгаж, илүү цэвэр болгохын тулд ямар нэгэн орон сууцанд хийж болно гэдгийг анхаарна уу. Би Sharpie -ээр будсан халуун модоор хийсэн модны савыг ПХБ -ийн хажуу талд хайчилж, нэгжийн түр зуурын хайрцгийг үүсгэв. Өөр нэг нэмэлт алхам бол 9 вольтын батерейны хавчаарыг Arduino-ийн VIN ба GND зүүгээр холбож, батерейгаар ажилладаг болно.

Алхам 3: Дууссан

Дууссан!
Дууссан!
Дууссан!
Дууссан!
Дууссан!
Дууссан!

Миний дууссан генератор ингэж гарч ирэв, хэрэв та өөрөө дагаж, өөрөө хийсэн бол доор хуваалцаарай!

Хэрэв танд хэрэгтэй гэж үзвэл STEM уралдааны зааварчилгаанд саналаа өгч, доорх сэтгэгдлээ үлдээгээрэй.

Зөвлөмж болгож буй: