جدول المحتويات:

مولد Arduino TOTP: 3 خطوات
مولد Arduino TOTP: 3 خطوات

فيديو: مولد Arduino TOTP: 3 خطوات

فيديو: مولد Arduino TOTP: 3 خطوات
فيديو: Arduino frequency generator | Arduino square wave generator | diy function generator 2024, شهر نوفمبر
Anonim
مولد Arduino TOTP
مولد Arduino TOTP
مولد Arduino TOTP
مولد Arduino TOTP
مولد Arduino TOTP
مولد Arduino TOTP

إلهام

بعد أن كان لدي صديق مهتم بالتشفير والأمان ، كنت أرغب في إنشاء هدية عيد ميلاد مثالية.

* هذا مشروع قمت بإنشائه كهدية لعيد ميلاد وتم إنشاؤه ضمن قيود زمنية ضيقة (عفو عن الصناعة الفوضوية)

ملاحظة: يُنشئ جيل TOTP المستخدم في هذا المشروع رموزًا مكونة من 6 أرقام ويستخدمها ، ولكن نظرًا للأجهزة المتوفرة حاليًا ، اخترت قطع الرقمين الزائدين وعرض واستخدام 4 ، ويمكن القول (ولكن ليس بشكل كبير) تقليل الأمان.

معلومات عامة

ينشئ هذا المشروع رمزًا جديدًا كل 30 ثانية باستخدام مفتاح مشترك مسبقًا والوقت الحالي (الذي يتم تتبعه باستخدام وحدة ساعة الوقت الحقيقي) ويعرضه على الشاشة عند الضغط على الزر. قد تكون حالة الاستخدام الأكثر شيوعًا هي التحقق من عاملين استنادًا إلى كلمة المرور لمرة واحدة المستندة إلى الوقت (TOTP) وكلمة المرور لمرة واحدة المستندة إلى HMAC (HOTP) للمصادقة.

TOTP هي خوارزمية تحسب كلمة مرور لمرة واحدة من مفتاح سري مشترك والوقت الحالي. HTOP عبارة عن خوارزمية تستخدم خوارزمية HMAC لإنشاء كلمة مرور لمرة واحدة.

تستخدم شركات مثل Google و Microsoft و Steam بالفعل تقنية TOTP للمصادقة ذات العاملين

روابط مثيرة للاهتمام

مقال يشرح كيفية استخدام Google لهذه التقنية لمصادقة المستخدمين -

تنفيذ JavaScript لـ HOTP و TOTP التي يمكن استخدامها عند إنشاء برنامج باستخدام هذا المشروع -

مكتبة Crytographic لاردوينو المستخدمة في هذا المشروع -

ورق TOTP -

مستوى الخبرة

هذا Instructable مخصص للمتحمسين المهتمين بالأمان وقد يرغبون في تنفيذ مكون جهاز لطيف لتوليد TOTP الخاص بهم. تمت كتابة هذا التوجيه للجمهور الذي يفهم بالفعل أساسيات تفسير المخططات الإلكترونية والبرمجة الأولية ، ولكن إذا كنت تخطط ببساطة لاتباع Instructable بالضبط ، فلا تقلق إذا لم تكن لديك خبرة ، ولا تتردد في طرح الأسئلة في الأسفل تعليقات! علاوة على ذلك ، يمكن أن يكون المشروع مثيرًا للاهتمام للصانعين الأكثر خبرة أيضًا نظرًا لأن المنتج النهائي ليس مجرد قطعة جميلة يمكن الحصول عليها (في رأيي) ، ولكن لديه الكثير من الإمكانات للتوسع والميزات الجديدة دون الكثير من المتاعب.

اللوازم

المواد:

  1. 1x أردوينو نانو (أمازون)
  2. 1x DS3231 AT24C32 وحدة ساعة الوقت الحقيقي (RTC) (أمازون)
  3. 1x SH5461AS الكاثود المشترك 4 أرقام 7-المقطع (الأمازون)
  4. 1x زر ضغط (أمازون)
  5. 1x 10 كيلو المقاوم (الأمازون)
  6. اختياري 1 × 5 × 7 سم ثنائي الفينيل متعدد الكلور (أمازون)
  7. سلك اختياري للحام لثنائي الفينيل متعدد الكلور
  8. لوح توصيل اختياري 1x للاختبار (أمازون)

الخطوة 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 array:" ، ثم عد إلى محرر Arduino ، واستبدل المصفوفة الموجودة في السطر 25 (hmacKey) بالمصفوفة التي نسختها من الموقع.

بعد التحقق مرتين من كل اتصال سلك ، تأكد من أن وحدة RTC بها خلية عملة معدنية ، وقم بتوصيل Arduino بجهاز الكمبيوتر المحمول الخاص بك باستخدام سلك USB صغير ، وقم بتحميل الرسم المرفق.

بعد التحميل ، عند الضغط على الزر ، يجب أن يظهر رقم على الشاشة. إذا قمت بتنزيل تطبيق Google Authenticator على هاتف ذكي ورجعت إلى الموقع المستخدم لإنشاء مصفوفة HEX أو مسح رمز الاستجابة السريعة أو كتابة "رمز Google Authenticator" في التطبيق ، فسترى الرقم المعروض في التطبيق. إذا كان كل شيء يعمل بشكل صحيح ، فعند الضغط على زر الضغط ، يجب أن تتطابق الأرقام الأربعة المعروضة مع أول 4 أرقام من الكود الحالي المعروض في تطبيق الهاتف الذكي. إذا لم يكن الأمر كذلك ، فتأكد من ضبط الكمبيوتر المستخدم لتحميل كود Arduino على التوقيت العالمي المنسق وحاول مرة أخرى.

الخطوة 2: التحويل إلى PCB

التحويل إلى ثنائي الفينيل متعدد الكلور
التحويل إلى ثنائي الفينيل متعدد الكلور
التحويل إلى ثنائي الفينيل متعدد الكلور
التحويل إلى ثنائي الفينيل متعدد الكلور

بعد التأكد من أن كل شيء في حالة جيدة ، يمكنك نقل المكونات إلى PCB ولحام كل شيء معًا كما يبدو مناسبًا. لقد أرفقت مخطط ثنائي الفينيل متعدد الكلور بالإضافة إلى ملف فريتزينج (متوفر هنا). لاحظ أنني وضعت جميع المكونات في الجزء العلوي من اللوحة من أجل الجماليات ، ولكن يمكن أيضًا تركيبها تحتها ثم وضعها في نوع ما من المساكن لجعلها أكثر نظافة. لقد قمت بقص وعصي المصاصة الملون مع Sharpie على جوانب PCB لإنشاء صندوق مؤقت للوحدة. خطوة اختيارية أخرى هي إرفاق مقطع بطارية 9 فولت بمسامير VIN و GND في Arduino ، مما يجعلها تعمل بالبطارية.

الخطوة 3: انتهى

تم الانتهاء من!
تم الانتهاء من!
تم الانتهاء من!
تم الانتهاء من!
تم الانتهاء من!
تم الانتهاء من!

هذه هي الطريقة التي تحول بها المولد المكتمل الخاص بي ، إذا تابعت وصنعت واحدًا بنفسك ، فشاركه أدناه!

تأكد من التصويت على Instructable الخاص بي لمسابقة STEM إذا كنت ترى ذلك مناسبًا ، واترك تعليقًا / أي أسئلة قد تكون لديك أدناه!

موصى به: