tls-auth বনাম tls-crypt: OpenVPN-এ কোনটি কী সুরক্ষা দেয়
tls-auth নিয়ন্ত্রণ প্যাকেটে স্বাক্ষর দেয়, tls-crypt সেগুলো লুকিয়েও রাখে। কোনোটিই সার্টিফিকেট যাচাই বা ডেটা সাইফার প্রতিস্থাপন করে না, আর অমিল দেখতে নীরবতার মতো লাগে।
দুটি অপশনই একটি শেয়ার করা কী ফাইল নেয় এবং দুটিই হ্যান্ডশেক ট্রাফিক জাল করা কঠিন করে তোলে, তাই এদের একই বৈশিষ্ট্যের দুটি নাম ভাবা হয়। তা ঠিক নয়। একটি নিয়ন্ত্রণ প্যাকেটে স্বাক্ষর দেয়, অন্যটি সেগুলো এনক্রিপ্টও করে, এবং কোনোটিরই আপনার পেলোড রক্ষা করা সাইফারের সঙ্গে সম্পর্ক নেই।
এই পার্থক্যটি গুরুত্বপূর্ণ যখন কোনো প্রোফাইল সংযোগ করতে ব্যর্থ হয়, যখন নিরাপত্তা পর্যালোচনা জিজ্ঞাসা করে কী আসলে কী সুরক্ষা দেয়, এবং যখন কেউ ধরে নেয় বাড়তি ফাইলটি টানেলকে কোনো অনির্দিষ্ট উপায়ে এনক্রিপ্ট করে ফেলে।
শেয়ার করা কী আসলে কী সুরক্ষা দেয়
এই অপশনগুলো যে কী ব্যবহার করে তা নিয়ন্ত্রণ চ্যানেলের অন্তর্গত: যে আদান-প্রদান প্যারামিটার নিয়ে দরকষাকষি করে, পরিচয় প্রমাণ করে এবং ডেটা কী তৈরি করে। এটি একটি পূর্বে-শেয়ার করা গোপন তথ্য, যা হ্যান্ডশেক এগোনোর আগে দুই প্রান্তকেই রাখতে হয়। যেহেতু এটি পরিচয় যাচাইয়ের আগে থাকে, ভুল কী ভুল পাসওয়ার্ডের চেয়ে আগেই কথাবার্তা থামিয়ে দেয়। এই ক্রমটাই ব্যাখ্যা করে ব্যর্থতার ধরনটি কেন এত নিঃশব্দ।
tls-auth ওই গোপন তথ্য ব্যবহার করে নিয়ন্ত্রণ প্যাকেটের ওপর HMAC গণনা করে। বৈধ স্বাক্ষরহীন প্যাকেট আরও ব্যয়বহুল TLS প্রসেসিংয়ে পৌঁছানোর আগেই বাতিল হয়, তাই অপশনটিকে প্রায়ই TLS-এর বিকল্প নয়, বরং প্রথম ফিল্টার বলা হয়।
tls-crypt আরও এগিয়ে যায়: সুরক্ষিত নিয়ন্ত্রণ ট্রাফিকের প্রমাণীকরণের পাশাপাশি সেটি এনক্রিপ্টও করে। সার্টিফিকেটের বিষয়বস্তু, দরকষাকষি করা সাইফারের নাম এবং অন্যান্য হ্যান্ডশেক বিবরণ আর নেটওয়ার্কে দৃশ্যমান থাকে না, আর কী ছাড়া কোনো পর্যবেক্ষক কোন TLS সংস্করণ চেষ্টা হচ্ছে তাও দেখতে পান না। নিজের VPN পরিচয় ফাঁস নিয়ে উদ্বিগ্ন কোনো স্থাপনার জন্য এই বৈশিষ্ট্যই এটি বেছে নেওয়ার প্রধান কারণ। এটি তবুও একটি গ্রুপ গোপন তথ্য, ব্যবহারকারীপ্রতি কোনো প্রমাণপত্র নয়।
কোনো প্রক্রিয়াই পরিচয় দেয় না। শেয়ার করা কী একটি গ্রুপ গোপন তথ্য, আর যার কাছে তা আছে সে যাচাইয়ের ওই স্তর পেরোতে পারে।
দুটি অপশন কোথায় আলাদা
দেখা যায় এমন পার্থক্য হলো পর্যবেক্ষক কী দেখেন। tls-auth-এর সঙ্গে হ্যান্ডশেক দৃশ্যমান, কিন্তু কী ছাড়া যাচাই করা যায় না। tls-crypt-এর সঙ্গে হ্যান্ডশেক কী না থাকা কারও কাছে অস্বচ্ছ।
কনফিগারেশনও আলাদা। tls-auth দিকনির্দেশনার মানের সঙ্গে ব্যবহৃত হয়, তাই এক পক্ষ কী উপাদানের এক অর্ধেক ব্যবহার করে আর অন্য পক্ষ বাকি অর্ধেক। tls-crypt উভয় দিকে একক কী ব্যবহার করে, তাই দিকনির্দেশনার নির্দেশটি এর বিন্যাসের অংশ নয়।
আধুনিক সংস্করণে দুটি অপশন পরস্পরবিরোধী। প্রোফাইলে এদের একটি থাকা উচিত, দুটিই নয়, এবং সার্ভার ও ক্লায়েন্টকে মিলতে হবে কোনটি, একই কী উপাদান নিয়ে। পুরোনো নির্দেশ নতুনের পাশে রাখা সাধারণ মাইগ্রেশন-অবশেষ। নিষ্ক্রিয়টি সরিয়ে দিন, যাতে পরবর্তী পাঠক জানেন কোন স্তরটি আসলে কার্যকর।
আরও নতুন একটি রূপ, tls-crypt-v2, প্রতিটি ক্লায়েন্টকে তার নিজস্ব মোড়ানো কী-এর সঙ্গে বেঁধে দেয়, যাতে একজন ক্লায়েন্ট বাতিল করতে গ্রুপ কী পুনরায় ইস্যু করতে না হয়। এটি জানার মতো, তবে এটি ভিন্ন অপশন এবং এখানকার দুটির কোনোটিরই সমার্থক নয়।
অমিল কেন কিছুই ঘটেনি বলেই মনে হয়
শেয়ার করা উপাদান না মিললে প্রান্তটি প্রেরককে কারণ না জানিয়েই প্যাকেটগুলো ফেলে দেয়। পড়ার মতো কোনো প্রমাণীকরণ ত্রুটি থাকে না, কারণ প্যাকেটটি কখনোই সেই স্তরে পৌঁছায়নি যা সেটি তৈরি করত।
ক্লায়েন্ট আবার চেষ্টা করে, সার্ভার কিছু বলে না, আর উপসর্গটি নেটওয়ার্ক সমস্যার মতো দেখায়। তখন লোকেরা সার্ভিস পুনরায় চালু করে, অ্যাকাউন্টের পাসওয়ার্ড আবার লেখে, বা «পরীক্ষা» করার জন্য সুরক্ষা নির্দেশটি সরিয়ে দেয়; এতে সমস্যা নির্ণয় না হয়ে স্থাপনাটাই বদলে যায়।
শেষ পুনরায়-চেষ্টার লাইন নয়, সার্ভার লগে প্রথম প্যাকেট-স্তরের অভিযোগটি পড়ুন। নিশ্চিত করুন দুই পক্ষই একই কী উপাদান নিয়ে একই অপশন বহন করছে এবং কী ফাইলটি কেবল এক পক্ষেই পুনরায় তৈরি হয়নি।
নির্দেশটি সরিয়ে দেওয়া নিরাপদ মেরামত নয়। এটি প্রতিটি ক্লায়েন্টের জন্য একটি সুরক্ষা স্তর বন্ধ করে, আর এরপর টানেল চলা কেবল প্রমাণ করে ওই স্তরটিই ছিল অমিল।
কী এখনো আলাদাভাবে কনফিগার করতে হয়
এই অপশনগুলো যাচাই করে না প্রান্তটি কে। সার্টিফিকেট যাচাই, বিশ্বস্ত অ্যাঙ্কর এবং প্রত্যাশিত সার্ভার নাম আলাদা প্রয়োজনীয়তা হিসেবেই থাকে, এবং শেয়ার করা কী থাকার কারণে এগুলোর কোনোটিই ঐচ্ছিক হয় না।
এগুলো ডেটা সাইফারও বেছে দেয় না। সেটি একটি আলাদা দরকষাকষি, যা দুই প্রান্তের ডেটা-চ্যানেল সেটিংস নিয়ন্ত্রণ করে, আর tls-crypt দিয়ে সুরক্ষিত টানেলও এমন সাইফার ব্যবহার করতে পারে যা আপনি চাননি।
সবশেষে, শেয়ার করা কীটির নিজেরই যত্ন দরকার। এটিকে গোপন তথ্য হিসেবে গণ্য করুন, অনুমোদিত চ্যানেলে বিতরণ করুন, এবং যার কাছে এটি ছিল সে চলে গেলে এটি বদলে দিন। যেহেতু এটি শেয়ার করা, এর প্রকাশ মানে এটি ব্যবহার করা প্রতিটি প্রান্তেরই প্রকাশ।