সুচিপত্র:

Arduino TOTP জেনারেটর: 3 ধাপ
Arduino TOTP জেনারেটর: 3 ধাপ

ভিডিও: Arduino TOTP জেনারেটর: 3 ধাপ

ভিডিও: Arduino TOTP জেনারেটর: 3 ধাপ
ভিডিও: আরডুইনো বোর্ডের পরিচিতি । Arduino Bangla course for beginners । Arduino Bangla Tutorial-3 2024, জুলাই
Anonim
Arduino TOTP জেনারেটর
Arduino TOTP জেনারেটর
Arduino TOTP জেনারেটর
Arduino TOTP জেনারেটর
Arduino TOTP জেনারেটর
Arduino TOTP জেনারেটর

অনুপ্রেরণা

ক্রিপ্টোগ্রাফি এবং সুরক্ষার প্রতি আগ্রহী একজন বন্ধু থাকার কারণে, আমি জন্মদিনের জন্য নিখুঁত উপহার তৈরি করতে চেয়েছিলাম।

*এটি একটি প্রকল্প যা আমি জন্মদিনের উপহার হিসাবে তৈরি করেছি এবং কঠোর সময়ের সীমাবদ্ধতার মধ্যে তৈরি করা হয়েছে (অগোছালো কারিগরকে ক্ষমা করুন)

দ্রষ্টব্য: এই প্রকল্পে ব্যবহৃত TOTP প্রজন্ম digit ডিজিটের কোড তৈরি করে এবং ব্যবহার করে, কিন্তু আমার বর্তমান হাতের হার্ডওয়্যারের কারণে, আমি পিছনের ২ টি সংখ্যা কাটতে এবং display টি প্রদর্শন এবং ব্যবহার করার সিদ্ধান্ত নিয়েছি, যুক্তিযুক্তভাবে (কিন্তু ব্যাপকভাবে নয়) নিরাপত্তা

সাধারণ জ্ঞাতব্য

এই প্রকল্পটি প্রতি 30 সেকেন্ডে একটি পূর্বনির্ধারিত কী এবং বর্তমান সময় (যা রিয়েল-টাইম ক্লক মডিউল ব্যবহার করার ট্র্যাক রাখা হয়) ব্যবহার করে একটি নতুন কোড তৈরি করে এবং বোতাম টিপলে ডিসপ্লেতে প্রদর্শন করে। সর্বাধিক প্রচলিত ব্যবহারের ক্ষেত্রে টাইম-ভিত্তিক ওয়ান টাইম পাসওয়ার্ড (টিওটিপি) এবং প্রমাণীকরণের জন্য এইচএমএসি-ভিত্তিক ওয়ান টাইম পাসওয়ার্ড (এইচওটিপি) ভিত্তিক দ্বি-ফ্যাক্টর যাচাইকরণ হবে।

TOTP হল একটি অ্যালগরিদম যা একটি ভাগ করা গোপন কী এবং বর্তমান সময় থেকে এককালীন পাসওয়ার্ড গণনা করে। HTOP হল একটি অ্যালগরিদম যা HMAC অ্যালগরিদম ব্যবহার করে ওয়ান-টাইম পাসওয়ার্ড তৈরি করে।

গুগল, মাইক্রোসফট এবং স্টিমের মতো কোম্পানিগুলি ইতিমধ্যেই তাদের দুই-ফ্যাক্টর প্রমাণীকরণের জন্য TOTP প্রযুক্তি ব্যবহার করে

আকর্ষণীয় লিঙ্ক

ব্যবহারকারীদের প্রমাণীকরণের জন্য গুগল কীভাবে এই প্রযুক্তি ব্যবহার করে তা ব্যাখ্যা করে নিবন্ধ-https://medium.com/@tilaklodha/google-authenticator-and-how-it-works-2933a4ece8c2

HOTP এবং TOTP এর জাভাস্ক্রিপ্ট বাস্তবায়ন যা এই প্রকল্প ব্যবহার করে সফটওয়্যার তৈরির সময় ব্যবহার করা যেতে পারে -

এই প্রকল্পে ব্যবহৃত Arduino এর জন্য ক্রিটোগ্রাফিক লাইব্রেরি -

TOTP পেপার -

দক্ষতার স্তর

এই নির্দেশযোগ্য উত্সাহীদের জন্য যারা নিরাপত্তায় আগ্রহী এবং তাদের TOTP প্রজন্মের জন্য একটি চমৎকার হার্ডওয়্যার উপাদান প্রয়োগ করতে চাইতে পারে। এই নির্দেশযোগ্য একটি শ্রোতার জন্য লেখা হয়েছে যা ইলেকট্রনিক্স ডায়াগ্রাম এবং প্রাথমিক প্রোগ্রামিং ব্যাখ্যা করার মৌলিক বিষয়গুলি ইতিমধ্যেই বুঝতে পারে, কিন্তু যদি আপনি কেবল এই নির্দেশনাটি সঠিকভাবে অনুসরণ করার পরিকল্পনা করেন, যদি আপনার কোন অভিজ্ঞতা না থাকে তবে চিন্তা করবেন না এবং নির্দ্বিধায় প্রশ্ন জিজ্ঞাসা করুন মন্তব্য! তদুপরি, প্রকল্পটি আরও অভিজ্ঞ নির্মাতাদের জন্যও আকর্ষণীয় হতে পারে যেহেতু চূড়ান্ত পণ্যটি কেবল একটি চমৎকার অংশ নয় (আমার মতে), তবে বিস্তার এবং নতুন বৈশিষ্ট্যগুলির জন্য অনেক ঝামেলা ছাড়াই অনেক সম্ভাবনা রয়েছে।

সরবরাহ

উপকরণ:

  1. 1x আরডুইনো ন্যানো (আমাজন)
  2. 1x DS3231 AT24C32 রিয়েল-টাইম ক্লক (RTC) মডিউল (আমাজন)
  3. 1x SH5461AS সাধারণ ক্যাথোড 4 ডিজিট 7-সেগমেন্ট (আমাজন)
  4. 1x পুশবাটন (আমাজন)
  5. 1x 10k রোধকারী (আমাজন)
  6. 1চ্ছিক 1x 5x7cm PCB (আমাজন)
  7. পিসিবিতে সোল্ডারিংয়ের জন্য Wচ্ছিক তার
  8. পরীক্ষার জন্য 1চ্ছিক 1x ব্রেডবোর্ড (আমাজন)

ধাপ 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 মডিউলটিতে একটি মুদ্রা কোষ আছে, এবং একটি USB মিনি কর্ড ব্যবহার করে আপনার ল্যাপটপে আরডুইনো সংযুক্ত করুন এবং সংযুক্ত স্কেচ আপলোড করুন।

আপলোড করার পরে, যখন বোতাম টিপানো হয়, একটি নম্বর স্ক্রিনে দেখা উচিত। আপনি যদি একটি স্মার্টফোনে Google প্রমাণীকরণকারী অ্যাপটি ডাউনলোড করেন এবং HEX অ্যারে তৈরি করতে ব্যবহৃত সাইটটিতে ফিরে যান, QR কোড স্ক্যান করে অথবা অ্যাপটিতে "Google প্রমাণীকরণকারী কোড" টাইপ করেন, তাহলে আপনাকে অ্যাপটিতে দেখানো একটি নম্বর দেখতে হবে। যদি সবকিছু সঠিকভাবে কাজ করে, যখন আপনি পুশ বাটন টিপবেন, তখন প্রদর্শিত 4 টি সংখ্যা স্মার্টফোন অ্যাপে দেখানো বর্তমান কোডের প্রথম 4 এর সাথে মিলবে। যদি এটি না হয়, তবে নিশ্চিত করুন যে কম্পিউটারটি Arduino কোড আপলোড করার জন্য ব্যবহৃত হচ্ছে সেটি UTC টাইমে সেট করা আছে এবং আবার চেষ্টা করুন।

ধাপ 2: PCB- এ স্থানান্তর

পিসিবিতে স্থানান্তর করা হচ্ছে
পিসিবিতে স্থানান্তর করা হচ্ছে
পিসিবিতে স্থানান্তর করা হচ্ছে
পিসিবিতে স্থানান্তর করা হচ্ছে

সবকিছু কার্যক্রমে আছে কিনা তা নিশ্চিত করার পরে, আপনি পিসিবিতে উপাদানগুলি স্থানান্তর করতে পারেন এবং সবকিছু ঠিকঠাক করে ফেলতে পারেন যদিও আপনি উপযুক্ত মনে করেন। আমি ফ্রিজিং ফাইল ছাড়াও একটি পিসিবি ডায়াগ্রাম সংযুক্ত করেছি (এখানে উপলব্ধ)। মনে রাখবেন যে আমি নান্দনিকতার জন্য বোর্ডের উপরে সমস্ত উপাদান স্থাপন করেছি, কিন্তু এটি নীচে মাউন্ট করা যেতে পারে এবং তারপর এটি পরিষ্কার করার জন্য কিছু ধরণের আবাসনে আবদ্ধ করা যেতে পারে। আমি ইউনিটের জন্য একটি অস্থায়ী বাক্স তৈরির জন্য PCB এর পাশে শার্পির সাথে রঙিন গরম আঠালো পপসিকল স্টিকগুলি কেটেছি এবং গরম করেছি। আরেকটি stepচ্ছিক পদক্ষেপ হল Arduino এর VIN এবং GND পিনের সাথে একটি 9-ভোল্টের ব্যাটারি ক্লিপ সংযুক্ত করা, এটি ব্যাটারিচালিত।

ধাপ 3: সমাপ্ত

সমাপ্ত!
সমাপ্ত!
সমাপ্ত!
সমাপ্ত!
সমাপ্ত!
সমাপ্ত!

এইভাবে আমার সম্পূর্ণ জেনারেটরটি পরিণত হয়েছে, যদি আপনি অনুসরণ করেন এবং একটি নিজে তৈরি করেন, এটি নীচে ভাগ করুন!

যদি আপনি উপযুক্ত দেখেন তবে STEM প্রতিযোগিতার জন্য আমার নির্দেশযোগ্য ভোট দিতে ভুলবেন না, এবং নীচে একটি মন্তব্য/আপনার যে কোন প্রশ্ন থাকতে পারে!

প্রস্তাবিত: