תוכן עניינים:

מחולל TOTP Arduino: 3 שלבים
מחולל TOTP Arduino: 3 שלבים

וִידֵאוֹ: מחולל TOTP Arduino: 3 שלבים

וִידֵאוֹ: מחולל TOTP Arduino: 3 שלבים
וִידֵאוֹ: BEST apps to protect your passwords #password #hacking 2024, נוֹבֶמבֶּר
Anonim
מחולל TOTP Arduino
מחולל TOTP Arduino
מחולל TOTP Arduino
מחולל TOTP Arduino
מחולל TOTP Arduino
מחולל TOTP Arduino

הַשׁרָאָה

לאחר שיש לי חבר בעל עניין בקריפטוגרפיה ואבטחה, רציתי ליצור את מתנת יום ההולדת המושלמת.

*זהו פרויקט שהכנתי כמתנת יום הולדת ונוצר תוך מגבלות זמן הדוקות (סליחה על הביצוע המבולגן)

הערה: דור ה- TOTP המשמש בפרויקט זה יוצר ומשתמש בקודים בני 6 ספרות, אך בשל החומרה הנוכחית שלי, בחרתי לחתוך את 2 הספרות הנגררות ולהציג ולנצל 4, ללא ספק (אך לא במידה רבה) להפחית את בִּטָחוֹן.

מידע כללי

פרויקט זה יוצר קוד חדש כל 30 שניות באמצעות מקש משותף מראש והזמן הנוכחי (שעוקב אחר השימוש במודול השעון בזמן אמת) ומציג אותו על הצג בעת לחיצה על הכפתור. מקרה השימוש הנפוץ ביותר יהיה אימות דו-גורמי המבוסס על סיסמה חד פעמית מבוססת זמן (TOTP) וסיסמה חד פעמית מבוססת HMAC (HOTP) לאימות.

TOTP הוא אלגוריתם שמחשב סיסמה חד פעמית ממפתח סודי משותף ומהזמן הנוכחי. HTOP הוא אלגוריתם המשתמש באלגוריתם HMAC ליצירת סיסמה חד פעמית.

חברות כמו גוגל, מיקרוסופט ו- Steam כבר משתמשות בטכנולוגיית TOTP לצורך אימות הדו-גורמים שלהן

קישורים מעניינים

מאמר המסביר כיצד Google משתמשת בטכנולוגיה זו כדי לאמת משתמשים-https://medium.com/@tilaklodha/google-authenticator-and-how-it-works-2933a4ece8c2

יישום JavaScript של HOTP ו- TOTP שעשויים לשמש בעת יצירת תוכנה תוך שימוש בפרויקט זה -

ספרייה קריתוגרפית עבור Arduino בשימוש בפרויקט זה -

נייר TOTP -

רמת מומחיות

מדריך זה מיועד לחובבי התעניינות באבטחה ואולי ירצו ליישם רכיב חומרה נחמד לדור ה- TOTP שלהם. מדריך זה נכתב עבור קהל שכבר מבין את היסודות של פרשנות דיאגרמות אלקטרוניקה ותכנות בסיסי, אך אם אתה מתכוון פשוט לעקוב אחר המדריך הזה בדיוק, אל תדאג אם אין לך ניסיון, ואל תהסס לשאול שאלות בהמשך. הערות! יתר על כן, הפרויקט יכול להיות מעניין גם ליצרנים מנוסים יותר מכיוון שהמוצר הסופי הוא לא רק יצירה נחמדה שיש לה (לדעתי), אלא יש לה כל כך הרבה פוטנציאל הרחבה ותכונות חדשות ללא הרבה טרחה.

אספקה

חומרים:

  1. 1x Arduino Nano (אמזון)
  2. 1x DS3231 AT24C32 מודול שעון בזמן אמת (RTC) (אמזון)
  3. 1x קתודה SH5461AS משותפת בת 7 ספרות בת 7 ספרות (אמזון)
  4. 1 כפתור לחיצה (אמזון)
  5. 1x 10k הנגד (אמזון)
  6. אופציונלי 1x5x7cm PCB (אמזון)
  7. חוט אופציונלי להלחמה ל- PCB
  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 תווים) בשדה הבא, וודא ששומר את שני הערכים הללו במקום בטוח לגיבוי. העתק את תוכן השדה "מערך HEX Arduino:" וחזור לעורך Arduino והחלף את המערך בשורה 25 (hmacKey) בזה שהעתקת מהאתר.

לאחר בדיקה כפולה של כל חיבור חוט, ודא שבמודול RTC יש תא מטבע, וחבר את הארדואינו למחשב הנייד שלך באמצעות כבל מיני USB והעלה את הסקיצה המצורפת.

לאחר ההעלאה, כאשר לוחצים על הכפתור, מספר יופיע על המסך. אם אתה מוריד את אפליקציית Google Authenticator בסמארטפון וחוזר לאתר המשמש ליצירת מערך HEX, סורק את קוד ה- QR או הקלדת האפליקציה "קוד המאמת של Google", אתה אמור לראות מספר המוצג באפליקציה. אם הכל פועל כראוי, כאשר אתה לוחץ על כפתור הלחיצה, ארבע הספרות המוצגות צריכות להתאים ל -4 הראשונות של הקוד הנוכחי המוצג באפליקציית הסמארטפון. אם זה לא המקרה, וודא שהמחשב המשמש להעלאת קוד ה- Arduino מוגדר לזמן UTC ונסה שוב.

שלב 2: העברה ל- PCB

העברה ל- PCB
העברה ל- PCB
העברה ל- PCB
העברה ל- PCB

לאחר שתוודא שהכל תקין, תוכל להעביר את הרכיבים למחשב הלוח וללחם הכל ביחד אך נראה לך כשיר. צירפתי תרשים PCB בנוסף לקובץ Fritzing (זמין כאן). שים לב שהנחתי את כל הרכיבים על החלק העליון של הלוח לאסתטיקה, אך ניתן גם להתקין אותו מתחת ואז לסגור אותו במגוון דירות כדי שיהיה נקי יותר. חתכתי מקלות ארטיק מודבקים שחמים עם Sharpie בצדי הלוח כדי ליצור קופסה מאולתרת ליחידה. שלב אופציונלי נוסף הוא חיבור קליפ סוללה 9 וולט לסיכות ה- VIN וה- GND של הארדואינו, מה שהופך אותו לפעול באמצעות סוללה.

שלב 3: סיים

גָמוּר!
גָמוּר!
גָמוּר!
גָמוּר!
גָמוּר!
גָמוּר!

כך יצא הגנרטור שהושלם שלי, אם עקבת אחריו ועשית אחד כזה בעצמך, שתף אותו למטה!

הקפד להצביע להנחיה שלי לתחרות STEM אם אתה מוצא לנכון, והשאיר הערה/כל שאלה שיש לך למטה!

מוּמלָץ: