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

প্রথম যাচাই: জোড়ার কোন অর্ধেকটি আপনার ক্লিপবোর্ডে আছে

অ্যাসিমেট্রিক কী জোড়ায় জোড়ায় আসে, আর উদ্ভবের দিকটাই আসল কথা। WireGuard-এ প্রাইভেট কী হলো 32টি এলোমেলো বাইট এবং পাবলিক কী তা থেকে গণনা করা হয়; উল্টো দিকে যাওয়া যায় না। wg genkey প্রাইভেট মানটি লেখে, wg pubkey পাবলিক মানটি নির্ণয় করে, এবং পিয়ারের কাছে বার্তায় কেবল দ্বিতীয়টিই যায়।

wg genkey | tee private.key | wg pubkey > public.key
chmod 600 private.key
openssl x509 -noout -pubkey -in server.crt

সার্টিফিকেটের জগত একই বিভাজন ব্যবহার করে, তবে আরও বেশি চলমান অংশ নিয়ে। একটি সার্ভার সার্টিফিকেট পাবলিক কী এবং নাম বহন করে, আর এটি একটি CA-র প্রাইভেট কী দিয়ে স্বাক্ষরিত হয় যা কখনও CA ছাড়ে না। যে ক্লায়েন্ট সেই সার্ভার যাচাই করে তার CA সার্টিফিকেট দরকার, যা পাবলিক, এবং CA-র প্রাইভেট স্বাক্ষর কী তার কোনো কাজেই আসে না।

কোন মানটি ধরে আছেন তা নিয়ে সন্দেহ থাকলে ফাইলের নাম নয়, মার্কারটি দেখুন। যে PEM ব্লক শুরু হয় -----BEGIN PRIVATE KEY----- দিয়ে, অথবা পুরোনো BEGIN RSA PRIVATE KEY রূপটি, সেটিই গোপন অর্ধেক। যে মানটি ওই মার্কার ছাড়াই পেস্ট করা যায়, সেটি শেয়ার করার প্রার্থী, পরের দুই যাচাই সাপেক্ষে।

দ্বিতীয় যাচাই: ডিপ্লয়মেন্ট ওই পাবলিক মানের সাথে কী বাঁধে

ক্রিপ্টোগ্রাফিক নিরাপত্তা আর নামহীনতা দুটি আলাদা গুণ। WireGuard পিয়ারের পাবলিক কী ডিপ্লয়মেন্টের ভেতরে একটি স্থির শনাক্তকারী: সার্ভার কনফিগ এটি তালিকাভুক্ত করে, হ্যান্ডশেক এটির নাম নেয়, এবং লগ পড়া প্রশাসক সেই পিয়ার যতবার সংযুক্ত হয় ততবার একই স্ট্রিং দেখেন। আপনার সেটআপ নিয়ে একটি প্রশ্নের পাশে কীটি পোস্ট করুন, আর আপনি সেই স্ট্রিংটিকে পোস্টের বাকি সবকিছুর সাথে যুক্ত করে ফেললেন।

সার্টিফিকেট ডিজাইন অনুসারেই পরিচয় ফাঁস করে। Subject এবং subject alternative name পড়া যায়, আর সর্বজনীনভাবে বিশ্বস্ত TLS সার্টিফিকেটের ক্ষেত্রে সার্টিফিকেটটি নিজেই Certificate Transparency লগে প্রকাশিত হয়, যা খোঁজা যায়। এর কোনোটিই প্রাইভেট কী প্রকাশ করে না, আর সবটাই একটি সম্পর্ক প্রকাশ করে।

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

তৃতীয় যাচাই: আপনি কী বাতিল করতে পারেন, আর কত দ্রুত

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

বাতিল করা একটি কনফিগারেশন কাজ, ক্রিপ্টোগ্রাফিক কাজ নয়। WireGuard কোনো বাতিল তালিকা দেয় না, তাই আপনি পিয়ারটি সরিয়ে দেন:

wg set wg0 peer <peer-public-key> remove
# then delete the [Peer] block from the config so it does not return on restart

OpenVPN সার্টিফিকেটভিত্তিক ডিপ্লয়মেন্ট সার্টিফিকেট বাতিল করে এবং একটি CRL প্রকাশ করে যা সার্ভার সত্যিই crl-verify দিয়ে যাচাই করে। ওই নির্দেশনা ছাড়া বাতিল তালিকা কেবল সাজসজ্জা। যেভাবেই হোক ক্রম একই: একটি প্রতিস্থাপন ইস্যু করুন, সমর্থিত চ্যানেলে তা বিতরণ করুন, তারপর পুরোনো পরিচয়টি অবসরে পাঠান।

তিনটি যাচাই একসাথে গুলিয়ে ফেলার ভুলগুলো

বেশিরভাগ বাস্তব ফাঁস কোনো ব্যক্তির প্রাইভেট কী প্রকাশ করার সিদ্ধান্ত নয়। এগুলো হলো ফোরামে পেস্ট করা একটি পুরো প্রোফাইল: WireGuard .conf যাতে আছে PrivateKey লাইন, অথবা .ovpn বান্ডেল যাতে ইনলাইন কী ব্লক আছে, অথবা ক্লায়েন্ট উইন্ডোর স্ক্রিনশট যেখানে কী ফিল্ডটি হয়ে যায়। পাবলিক মানটি সম্ভবত ঠিকই ছিল; সেটি ওই অংশটির সাথে ভ্রমণ করেছে যা ঠিক ছিল না।

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

লগ আর স্ক্রিনশট একই শ্রেণিতে পড়ে। ডায়াগনস্টিক আউটপুটে কী-সংক্রান্ত উপাদান, সেশন শনাক্তকারী এবং অভ্যন্তরীণ ঠিকানা থাকতে পারে, আর একটি প্রশ্নের উত্তর পেতে সবকিছু পোস্ট করা অল্প সুবিধার বিনিময়ে বড় ধরনের প্রকাশ ঘটায়।

প্রাইভেট মান ফাঁস হলে পরিচয়টি অবসরে পাঠান

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

তারপর বিতরণ লিখে রাখুন: কোন কী কোন ডিভাইসের, কার কাছে কপি আছে, প্রতিস্থাপন কীভাবে পৌঁছায়, আর অবসরপ্রাপ্ত পিয়ার কে সরায়। এসবই মানুষ ভুলে যায়, আর এগুলোই ঠিক করে একটি ফাঁস কতদিন কাজে লাগে।

সম্পর্কিত নিবন্ধ