ভাষা নির্বাচন করুন

ওয়েব বট অথ কী জেনারেটর ও সাইনিং কনফিগারেশন

ব্রাউজারে Ed25519 কী জোড়া তৈরি করুন, ডিরেক্টরি JSON পান এবং বট রিকোয়েস্ট সাইনিং কনফিগারেশন সহজে সেটআপ করুন।

ওয়েব বট অথ কী জেনারেটরকীভাবে কাজ করে ↓
https অরিজিন যা আপনার কী ডিরেক্টরি হোস্ট করবে। এটি Signature-Agent হেডার মান হিসেবে ব্যবহৃত হয়।
কেবল নিচের স্বাক্ষরিত উদাহরণ অনুরোধের জন্য ব্যবহৃত হয়
ডিরেক্টরি এন্ট্রিতে nbf এবং exp লেখে

কী জোড়া আপনার ব্রাউজারের Web Crypto API দ্বারা তৈরি হয় এবং কখনই এই পৃষ্ঠা ত্যাগ করে না। রিলোড করলে এটি মুছে যাবে, তাই প্রস্থান করার আগে প্রাইভেট কী ডাউনলোড করুন।

Mehmet Demiray (মেহমেত দেমিরায়) প্রকাশিত আপডেট হয়েছে
শেয়ার করুন

ওয়েব বট অথ কী এবং কেন এটি প্রয়োজন

ওয়েব ক্রলার এবং এআই বট শনাক্ত করার সনাতন পদ্ধতি ছিল User-Agent হেডার অথবা আইপি ঠিকানার তালিকা যাচাই করা। কিন্তু User-Agent হেডার খুব সহজেই নকল বা স্পুফ করা যায়। অন্য প্রান্তে আইপি অ্যাড্রেস তালিকা রক্ষণাবেক্ষণ করা জটিল এবং ক্লাউড অবকাঠামো পরিবর্তনের কারণে ভঙ্গুর। এই সমস্যার সমাধান হিসেবে আইইটিএফ (IETF) ইন্টারনেট ড্রাফটের অধীনে RFC 9421 HTTP Message Signatures ভিত্তিক Web Bot Auth কাঠামোর প্রস্তাব করা হয়েছে। এই প্রক্রিয়ায় প্রতিটি বট তার নিজস্ব প্রাইভেট কী দিয়ে এইচটিটিপি রিকোয়েস্ট ক্রিপ্টোগ্রাফিকভাবে সাইন করে। ওয়েব সার্ভারগুলো বটের পাবলিক কী যাচাই করে নিশ্চিত হতে পারে যে রিকোয়েস্টটি আসলেই নির্দিষ্ট বট অপারেটরের কাছ থেকে এসেছে। এই পদ্ধতিতে কোনো ভুয়া বট অন্য কারো পরিচয় চুরি করতে পারে না। এটি এখনো আইইটিএফ ড্রাফট স্তরে রয়েছে, তবে বট ভেরিফিকেশনের জন্য এটি ভবিষ্যতের সবচেয়ে নিরাপদ ও কার্যকর প্রযুক্তিগত মানদণ্ড হিসেবে দ্রুত গ্রহণযোগ্যতা পাচ্ছে।

ওয়েব বট অথ কী জেনারেটর কী কী আউটপুট তৈরি করে

ওয়েব বট অথ কী জেনারেটর ব্রাউজারের অভ্যন্তরে Web Crypto API ব্যবহার করে এক ক্লিকে সম্পূর্ণ স্টার্টার কিট তৈরি করে। এই টুলের প্রতিটি আউটপুট কার্ডের নির্দিষ্ট প্রযুক্তিগত উদ্দেশ্য রয়েছে। প্রথমত, এটি RFC 8037 এবং RFC 7638 নিয়ম মেনে একটি ইউনিক Key ID তৈরি করে, যা মূলত পাবলিক কী-এর এসএইচএ-২৫৬ ক্রিপ্টোগ্রাফিক থাম্বপ্রিন্ট। দ্বিতীয়ত, এটি /.well-known/http-message-signatures-directory পাথের জন্য প্রয়োজনীয় পাবলিক কী ডিরেক্টরি JSON ফাইল এবং ডিরেক্টরি রেসপন্স হেডার প্রদান করে। তৃতীয়ত, বটের সার্ভার কনফিগারেশনের জন্য প্রাইভেট কী JWK ও PKCS#8 PEM ফরম্যাটে এবং পাবলিক কী SPKI PEM ফরম্যাটে সরবরাহ করে। চতুর্থত, এটি একটি কার্যকর সাইনড রিকোয়েস্টের নমুনা প্রদান করে যার মেয়াদ ৫ মিনিট এবং সাথে ডিবাগিংয়ের জন্য হুবহু Signature Base টেক্সট তৈরি করে দেয়।

পাবলিক কী ডিরেক্টরি হোস্ট ও কনফিগার করার নিয়ম

ওয়েব বট অথ সফলভাবে কার্যকর করতে পাবলিক কী ডিরেক্টরি সঠিক ইউআরএলে হোস্ট করা জরুরি। এটি আপনার ডোমেইনের /.well-known/http-message-signatures-directory পাথে সংরক্ষণ করতে হয়। সার্ভার থেকে এই ফাইলটি পরিবেশন করার সময় সঠিক মিডিয়া টাইপ বা Content-Type হেডার পাঠাতে হবে। প্রোডাকশন পরিবেশে ডিরেক্টরি রেসপন্স নিজেও একটি ডিজিটাল স্বাক্ষর বহন করে, যা সাধারণত ২৪ ঘণ্টা মেয়াদের জন্য সাইন করা থাকে। কী ব্যবস্থাপনার সুবিধার্থে পাবলিক কী অবজেক্টে nbf (নট বিফোর) এবং exp (এক্সপায়ার্স) সময়সীমা নির্ধারণ করা যায়। কী পরিবর্তনের ক্ষেত্রে মেয়াদ ৩০ দিন, ৯০ দিন বা ৩৬৫ দিন নির্বাচন করে নিয়মিত কী রোটেশন নিশ্চিত করা উচিত। পুরনো কী বাতিল করার আগে নতুন কী ডিরেক্টরিতে যোগ করলে ক্রলিং কার্যক্রমে কোনো বিঘ্ন ঘটে না।

আরএফসি ৯৪২১ অনুযায়ী এইচটিটিপি রিকোয়েস্ট সাইন করার পদ্ধতি

RFC 9421 কাঠামো অনুযায়ী প্রতিটি এইচটিটিপি রিকোয়েস্টে সাইনিং প্রক্রিয়া নির্দিষ্ট কিছু হেডারের ওপর ভিত্তি করে তৈরি হয়। এই প্রক্রিয়ায় Signature-Input হেডারে বেশ কিছু প্যারামিটার যুক্ত থাকে, যেমন created, expires, keyid, alg, nonce এবং tag="web-bot-auth"। স্বাক্ষর তৈরির জন্য প্রথমে কাভার্ড কম্পোনেন্টগুলো যেমন @authority এবং signature-agent একত্রিত করে ক্যানোনিকাল Signature Base তৈরি করা হয়। এই টেক্সট ব্লকের প্রতিটি লাইন নির্দিষ্ট বিন্যাসে সাজানো থাকে। এরপর বট অপারেটরের Ed25519 প্রাইভেট কী ব্যবহার করে এই বেইসের ওপর ক্রিপ্টোগ্রাফিক স্বাক্ষর প্রস্তুত করা হয়। স্বাক্ষরটি পরবর্তীতে এনকোড করে Signature হেডারে যুক্ত করা হয়, যা যাচাই করার জন্য ডেটা হ্যান্ডলিংয়ের ক্ষেত্রে বেস৬৪ এনকোডার বা টোকেন সংক্রান্ত কাজের জন্য জেডব্লিউটি ডিকোডার সহায়ক হতে পারে। রিসিভিং সার্ভার পাবলিক কী দিয়ে এই স্বাক্ষর মিলিয়ে দেখে রিকোয়েস্টের সত্যতা নিশ্চিত করে।

প্রাইভেট কী সংরক্ষণ ও ব্রাউজারভিত্তিক নিরাপত্তা

ক্রিপ্টোগ্রাফিক নিরাপত্তার মূল শর্ত হলো প্রাইভেট কী সম্পূর্ণ সুরক্ষিত রাখা। ওয়েব বট অথ কী জেনারেটর পুরোপুরি আপনার ব্রাউজারের অভ্যন্তরে কাজ করে, তাই জেনারেট করা প্রাইভেট কী কখনোই কোনো রিমোট সার্ভার বা তৃতীয় পক্ষের কাছে পাঠানো হয় না। ব্রাউজার পেজটি রিলোড বা বন্ধ করার সাথে সাথেই মেমোরিতে থাকা সমস্ত কী স্থায়ীভাবে মুছে যায়। টুল থেকে প্রাপ্ত JWK বা PKCS#8 PEM ফরম্যাটের প্রাইভেট কী অবিলম্বে ডাউনলোড করে সিক্রেট ম্যানেজার বা নিরাপদ এনভায়রনমেন্ট ভ্যারিয়েবলে সংরক্ষণ করতে হবে। একটি বিষয় মনে রাখা অত্যন্ত জরুরি: পাবলিক কী ডিরেক্টরি প্রকাশ করার সময় তাতে যেন কোনোভাবেই প্রাইভেট প্যারামিটার d অন্তর্ভুক্ত না থাকে। পাবলিক ডিরেক্টরিতে শুধুমাত্র crv, kty, x এবং বৈধতার মেটাডেটা থাকবে।

ক্রলার নিয়ন্ত্রণ ও অ্যাক্সেস পলিসির সমন্বয়

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

যেগুলোর উত্তর আমরা সবচেয়ে বেশি দিই।

আমার বটের জন্য Web Bot Auth কীভাবে সেটআপ করব?

ওয়েব বট অথ কী জেনারেটর ব্যবহার করে প্রথমে একটি Ed25519 কি জোড়া তৈরি করুন। এরপর পাবলিক কি সম্বলিত JSON ফাইলটি আপনার ডোমেইনের /.well-known/http-message-signatures-directory পাথে হোস্ট করুন। আপনার বট যখন কোনো ওয়েবসাইটে রিকোয়েস্ট পাঠাবে, তখন প্রাইভেট কি দিয়ে প্রতিটি রিকোয়েস্টে RFC 9421 মান অনুযায়ী ক্রিপ্টোগ্রাফিক সিগনেচার যোগ করুন। বট নিয়ন্ত্রণের নিয়ম যাচাই করতে রোবটস ডট টিএক্সটি টেস্টার ব্যবহার করতে পারেন।

আমার প্রাইভেট কি কি আপনাদের সার্ভারে সংরক্ষিত বা পাঠানো হয়?

একদমই না। সমস্ত কি জেনারেশন প্রক্রিয়া ব্রাউজারের নিজস্ব Web Crypto API-এর মাধ্যমে ক্লায়েন্ট ডিভাইসে সম্পন্ন হয়। প্রাইভেট কি কোনো সার্ভারে পাঠানো বা সংরক্ষণ করা হয় না, তাই পেজ থেকে বের হওয়ার আগে আপনার প্রাইভেট কি নিরাপদ স্থানে সংরক্ষণ করে নেওয়া জরুরি।

Key ID কী এবং এটি কীভাবে হিসাব করা হয়?

Key ID হলো পাবলিক কি-এর একটি নির্দিষ্ট পরিচয়সূচক, যা প্রতিটি সিগনেচারে keyid প্যারামিটার হিসেবে ব্যবহৃত হয়। এটি মূলত RFC 7638 ও RFC 8037 নির্দেশিকা অনুসরণ করে তৈরি করা একটি JWK থাম্বপ্রিন্ট। পাবলিক কি-এর নির্দিষ্ট ক্ষেত্রগুলোর SHA-256 হ্যাশ তৈরি করে সেটিকে Base64URL ফরম্যাটে রূপান্তরের মাধ্যমে এই মান গণনা করা হয়। ডেটা এনকোডিং বোঝার জন্য বেস৬৪ এনকোডার দেখতে পারেন।

অন্যান্য ক্রিপ্টোগ্রাফিক অ্যালগরিদমের বদলে Ed25519 কেন বেছে নেওয়া হয়েছে?

Web Bot Auth খসড়া স্পেসিফিকেশনে Ed25519 অ্যালগরিদম মানদণ্ড হিসেবে নির্ধারিত হয়েছে। এটি খুব ছোট আকারের কি ও সিগনেচার তৈরি করে, যা HTTP হেডারের ওপর বাড়তি চাপ কমায়। পাশাপাশি এটি অত্যন্ত দ্রুত কাজ করে এবং কার্যকর নিরাপত্তা নিশ্চিত করে।

পেজ রিলোড দিলে তৈরি করা কি কি হারিয়ে যাবে?

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

সাধারণ User-Agent বা IP ভেরিফিকেশনের চেয়ে Web Bot Auth কেন বেশি কার্যকর?

প্রচলিত User-Agent স্ট্রিং বা IP অ্যাড্রেস খুব সহজেই জাল বা স্পুফ করা সম্ভব। Web Bot Auth ক্রিপ্টোগ্রাফিক সিগনেচারের মাধ্যমে নিশ্চিত করে যে রিকোয়েস্টটি প্রকৃত ডোমেইন মালিকের বট থেকেই এসেছে। ওয়েব ক্রলার এবং AI এজেন্টের জন্য রুলস তৈরি করতে এআই ক্রলার রোবটস ডট টিএক্সটি জেনারেটর ব্যবহারের পাশাপাশি সিগনেচার প্রোটোকল আধুনিক সুরক্ষার সমাধান দেয়।

কি তৈরির সময় কি মেয়াদের সীমা নির্ধারণ করা উচিত?

এটি সম্পূর্ণ আপনার সিস্টেমের কি রোটেশন পরিকল্পনার ওপর নির্ভর করে। নিরাপত্তা নিশ্চিত করতে সাধারণত ৯০ দিন বা ৩৬৫ দিন মেয়াদের কি ব্যবহার করা ভালো, যাতে নিয়মিত কি বদলানোর অভ্যাস থাকে। তবে রোটেশন অটোমেশন ব্যবস্থা না থাকলে কোনো মেয়াদ নির্ধারণ না করে প্রয়োজনমতো ম্যানুয়ালি কি পরিবর্তন করা সহজ হতে পারে।