ওয়েবসাইটের জন্য দুই-উপাদানভিত্তিক প্রমাণীকরণ

দুই-উপাদানভিত্তিক প্রমাণীকরণ, যা 2FA, দুই-ধাপের যাচাই বা সংক্ষেপে TFA নামেও পরিচিত, নিরাপত্তার একটি অতিরিক্ত স্তর। এটি “বহু-উপাদানভিত্তিক প্রমাণীকরণ”-এর একটি ধরন। এতে শুধু পাসওয়ার্ড ও ব্যবহারকারীর নাম নয়, এমন কিছুও দরকার যা কেবল সেই ব্যবহারকারীর কাছেই আছে—যেমন শুধু তাঁর জানা কোনো তথ্য বা সঙ্গে রাখা কোনো বাস্তব টোকেন। আমাদের ক্ষেত্রে সেটি একটি ফোন, যার জন্য ট্রেস করা যায় এমন একটি ফোন নম্বর বরাদ্দ আছে।

নিচের নির্দেশিকায় আপনার নতুন বা বিদ্যমান ওয়েবসাইটে দুই-উপাদানভিত্তিক প্রমাণীকরণ সেট আপ করার পদ্ধতি ব্যাখ্যা করা হবে।

প্রথমে আপনার অ্যাকাউন্টে লগইন করুন এবং 2-ফ্যাক্টর প্রমাণীকরণের স্ক্রিনটি খুঁজুন:

- "অ্যাপ্লিকেশন" টাইলে ক্লিক করুন:

2-ধাপ প্রমাণীকরণ - ধাপ 1

- অ্যাপ্লিকেশন পৃষ্ঠায় গেলে, "2-কারক প্রমাণীকরণ" টাইলে ক্লিক করুন:

2-ধাপ প্রমাণীকরণ - ধাপ 2

- “2 ফ্যাক্টর প্রমাণীকরণ” পৃষ্ঠায় এলে, “নতুন তৈরি করুন” বোতামে ক্লিক করুন।

আপনি যেসব বিকল্প দেখবেন তা এখানে দেওয়া হলো:

2-ধাপ প্রমাণীকরণ - ধাপ 3

উপলব্ধ বিভিন্ন বিকল্প সম্পর্কে একটি ব্যাখ্যা এখানে দেওয়া হল:

1. নাম : দুই-উপাদানভিত্তিক প্রমাণীকরণের এই ইনস্ট্যান্সের নাম

2. বিবরণ: একটি সংক্ষিপ্ত বিবরণ

3. CallerID : আউটবাউন্ড কল করার সময় (আউটবাউন্ড কলিং সক্রিয় থাকলে) এই CallerID ব্যবহৃত হবে।

4. SenderID : এটি SMS/টেক্সটিং SenderID (প্রেরকের নম্বর) যা SMS/টেক্সট বার্তা পাঠানোর সময় ব্যবহৃত হবে। মনে রাখবেন, যুক্তরাষ্ট্র/কানাডার জন্য এই বিকল্পটি নির্বাচন করার আগে আপনার অ্যাকাউন্টে একটি SMS সক্রিয় ফোন নম্বর থাকতে হবে।

5. ডায়াল করার অনুমতি দিন : এই বিকল্পটি আপনার শেষ-ব্যবহারকারী/ভিজিটরদের কল গ্রহণের মাধ্যমে তাদের ফোন নম্বর যাচাই করার সুযোগ দেবে। "হ্যাঁ" এ সেট করলে আরও একগুচ্ছ বিকল্প দেখা যাবে। বিবরণের জন্য নিচে স্ক্রল করুন।

6. PIN দৈর্ঘ্য : পিনের দৈর্ঘ্য, ডিফল্টভাবে 4 অক্ষর

৭. POST URL : এটি আপনার নির্ধারণযোগ্য সবচেয়ে গুরুত্বপূর্ণ অপশনগুলোর একটি : এই URL ব্যবহার করে আমরা আপনার কাছে প্রমাণীকরণ/যাচাইকরণের তথ্য পাঠাব। এটি পুরোপুরি সার্ভার-সাইডে ঘটে, তাই আপনার শেষ ব্যবহারকারীরা এই URL সম্পর্কে জানতে পারবেন না।

8. POST পাঠানোর স্থানীয় URL : এটি সেই URL যেখানে আমাদের ছোট অ্যাপ গ্রাহকের জন্য তৈরি ইন্টারফেস থেকে POST অনুরোধে তথ্য পাঠাবে, যাতে আপনার অ্যাপ ব্যবহারকারীর নিবন্ধন বা লগইনের কাজ আরও প্রক্রিয়া করতে পারে।

9. DIV ID : আমাদের 2-ফ্যাক্টর প্রমাণীকরণ অ্যাপ এই div id দিয়ে পেজে যুক্ত করা ইউজার ইন্টারফেস (UI) পূরণ করবে। পেজের HTML কোডে এটিকে খালি DIV হিসেবে নির্ধারণ করতে হবে।
যেমন, DIV ID-তে "2fa" সেট করলে লগইন বা সাইনআপ পেজ সম্পাদনা করে এই রকম একটি খালি div যোগ করুন:

. এখানেই 2FA অ্যাপলেটটি দেখা যাবে।

10. প্রমাণীকরণের ধরন : দুটি বিকল্প আছে: “Post URL” (URL-এ পাঠান), যা উপরে “7. POST URL”-এ ব্যাখ্যা করা URL/বিকল্পে অনুরোধ পাঠায়, এবং “Enable Directly” (সরাসরি সক্রিয় করুন), যা ফর্মটিকে “8. Local Post URL”-এ পরবর্তী তথ্য পাঠাতে দেয় (কম নিরাপদ)।

11. ডোমেইন : আপনি আপনার ওয়েবসাইট যে ডোমেইন ব্যবহার করে সেই ডোমেইনে এটিকে সীমাবদ্ধ করতে পারেন এবং করা উচিত। আপনার ওয়েবসাইট যদি www.test.com হয়, তাহলে অনুগ্রহ করে ব্যবহার এই ডোমেইনে সীমাবদ্ধ করুন যাতে 2FA অ্যাপটি শুধুমাত্র এই ডোমেইনে কাজ করে।

12. Captcha দেখান : এই বিকল্পটি ওয়েবসাইটে যুক্ত করা যায় এমন 2FA ব্যবহারকারী ইন্টারফেসে Captcha প্রদর্শন নিয়ন্ত্রণ করে।

13. সর্বোচ্চ পুনঃপ্রচেষ্টা: প্রতি দর্শনার্থীর জন্য আমরা কতগুলো পুনঃপ্রচেষ্টার অনুমতি দেব?

14. অনন্য শনাক্তকারী: সরাসরি যুক্ত করা যায় এমন এই 2FA অ্যাপলেটের জন্য আপনি এই অনন্য শনাক্তকারী ব্যবহার করবেন। কীভাবে ব্যবহার করতে হয় তা পরে ব্যাখ্যা করব (নিবন্ধটি পড়তে থাকুন :) )

15. SMS পুনঃপ্রচেষ্টার সর্বোচ্চ সংখ্যা : শেষ ব্যবহারকারীকে SMS পাঠানোর জন্য কতবার পুনঃচেষ্টার অনুমতি দেওয়া উচিত?

16. সর্বোচ্চ কল পুনঃচেষ্টা : শেষ ব্যবহারকারীকে তার নম্বরে কতবার পুনরায় কল করার অনুমতি দেওয়া হবে?

17. SMS বার্তা : একটি কনফিগারযোগ্য SMS বার্তা পাঠানোর সুযোগ দেয় (অপশনটি এখনও উপলব্ধ নয়)

18. সহায়তা লিঙ্ক : এটি এম্বেড করা যায় এমন 2FA অ্যাপলেটে প্রদর্শিত সহায়তা লিঙ্ক হবে। কোনোটি নির্দিষ্ট না থাকলে, কিছুই দেখানো হবে না।

"Allow Dialing" yes সেট করা হলে নিচের অপশনগুলো পাওয়া যাবে:

2-ধাপ প্রমাণীকরণ - ধাপ 4

অতিরিক্ত অপশনগুলোর ব্যাখ্যা এখানে দেওয়া হলো:

১. অডিও নির্বাচন: ব্যবহারকারীকে প্রমাণীকরণের PIN কীভাবে দেওয়া হবে তা বেছে নিতে দেয়। বিকল্পগুলো হলো TTS এবং অডিও। অডিও নির্বাচন করলে "লেখা থেকে কণ্ঠ" ও "লেখা থেকে কণ্ঠের ভাষা" বিকল্প দুটি লুকিয়ে যাবে। সেগুলোর জায়গায় "আগে থেকে রেকর্ড করা কণ্ঠ" (কী ধরনের কণ্ঠ ব্যবহার করা হবে?) ও "আগে থেকে রেকর্ড করা কণ্ঠের ভাষা" আসবে, যেমন নিচে দেখানো হয়েছে:

2-ধাপ প্রমাণীকরণ - ধাপ 5

2. লেখা থেকে কণ্ঠস্বর : যদি অডিও পছন্দ "TTS"-এ সেট করা থাকে, তাহলে এটি সেই পাঠ্য যা TTS ইঞ্জিন শেষ ব্যবহারকারীকে পড়ে শোনাবে (TTS চার্জ প্রযোজ্য)।

3. টেক্সট থেকে কণ্ঠে রূপান্তরের ভাষা : এই ভাষায় টেক্সটটি পড়ে শোনানো হবে।

4. এক্সটেনশন ডায়ালের অনুমতি দিন : হ্যাঁ সেট করা থাকলে, এন্ড-ইউজার তাঁর এক্সটেনশন নম্বরও ইনপুট দিতে পারবেন (ফলে সরাসরি ফোন নম্বর আছে এমন এন্ড-ইউজারদের পাশাপাশি IVR-এর পেছনে থাকা এন্ড-ইউজারদেরও পাওয়া যাবে)

5. কলের সর্বোচ্চ প্রতি-মিনিট মূল্য : যেহেতু আপনি আউটবাউন্ড কলের জন্য অর্থ প্রদান করছেন, তাই এই কলগুলোর প্রতি মিনিটের খরচ সীমিত করার বিকল্পও আপনার আছে। সম্ভবত আপনি চাইবেন না যে আপনার শেষ-ব্যবহারকারীরা স্যাটেলাইট ফোন ব্যবহার করে নিজেদের প্রমাণীকরণ করুক (সেটি অত্যন্ত ব্যয়বহুল হবে, উফ!)

6. হ্যালো শোনার জন্য অপেক্ষা করুন: “না” (No) সেট করা থাকলে, কলের উত্তর পাওয়ার সঙ্গে সঙ্গেই আমাদের সিস্টেম PIN নম্বরটি পড়ে শোনাবে। “হ্যাঁ” (Yes) সেট করা থাকলে, সিস্টেম প্রথম হ্যালো শোনার জন্য অপেক্ষা করবে (এতে PIN পৌঁছানোর সাফল্য কিছুটা বাড়ে, তবে কিছু ব্যবহারকারী PIN নম্বর শোনার আগেই কল ছেড়ে দিতে পারেন — এই অপশন চালু থাকলে সাধারণত প্রায় 3% ব্যবহারকারী PIN শোনার আগেই কল ছেড়ে দেন)।

সব বিকল্প সেট করা হলে “জমা দিন” (Submit) বোতামে ক্লিক করুন। “অনন্য শনাক্তকারী” (Unique Identifier) সম্পর্কে পরে ব্যাখ্যা করার কথা মনে আছে? এখন সেটি ব্যবহার করুন। (নিচের স্ক্রিপ্টে "WHATEVERID" দেখেছেন?)

আপনার ওয়েবসাইটে দুই-ধাপ প্রমাণীকরণ কীভাবে বাস্তবায়ন করবেন তা এখানে দেখানো হলো:

<!DOCTYPE html>
<head>
  <title>2Factor Authentication test</title>
  <script type="text/javascript">
    (function(d, script) {
      script = d.createElement('script');
      script.type = 'text/javascript';
      script.async = true;
      script.onload = function(){
          // remote script has loaded
      };
      script.src = 'https://api.multitel.net/tfa/js/WHATEVERID/WHATEVERCUSTOMER';
      d.getElementsByTagName('head')[0].appendChild(script);
    }(document));
  </script>
</head>
<html>
  <body>
    <div id="multitel" width="100px"></div>
  <body>
</html>

কোড উদাহরণ · উৎস দেখুন

আর সেই পৃষ্ঠাটি খুললে আপনি এটি দেখতে পাবেন:

2-ধাপ প্রমাণীকরণ - ধাপ 6

এন্ড ইউজাররা ফোন নম্বর টাইপ করা শুরু করলে দেশটি দেখা যেতে শুরু করবে:

যুক্তরাষ্ট্রের নম্বরগুলোর জন্য:

2-ধাপ প্রমাণীকরণ - ধাপ 7

UK নম্বরগুলির জন্য:

2-ধাপ প্রমাণীকরণ - ধাপ 8

ব্যবহারকারীরা এখন “SMS পাঠান” বা “ফোন কল”-এ ক্লিক করতে পারবেন। SMS/টেক্সট বার্তা বা ফোন কল পাওয়ার পর তাঁরা প্রাপ্ত কোডটি লিখে “যাচাই করুন”-এ ক্লিক করতে পারবেন।

সেট করা থাকলে, আমরা সেই তথ্য "WHATEVERCUSTOMERID"-এর সাথে পাঠাব

ডকুমেন্টেশন খুঁজুন