
আগমন de OpenSSL 4.0 একটি বড় পরিবর্তনের সূচনা করেছে। এই প্রধান সংস্করণ আপগ্রেডটি কেবল প্রতীকী নয়: এটি অসামঞ্জস্যপূর্ণ পরিবর্তন, গোপনীয়তা ও ভবিষ্যৎ নিরাপত্তার উপর দৃষ্টি নিবদ্ধ নতুন বৈশিষ্ট্য এবং বহু বছর ধরে অপ্রচলিত প্রযুক্তির অপসারণ নিয়ে এসেছে। SSL/TLS এবং ক্রিপ্টোগ্রাফির এই রেফারেন্স লাইব্রেরিটি ওয়েব সার্ভার, এন্টারপ্রাইজ অ্যাপ্লিকেশন এবং নেটওয়ার্ক ডিভাইসে ব্যাপকভাবে ব্যবহৃত হয়।
সিস্টেম অ্যাডমিনিস্ট্রেটর, সাইবারসিকিউরিটি ম্যানেজার এবং ডেভেলপারদের জন্য, এই সংস্করণটি একটি অবকাঠামো আধুনিকীকরণের ক্ষেত্রে একটি গুরুত্বপূর্ণ সন্ধিক্ষণএটি এনক্রিপ্টেড ক্লায়েন্ট হ্যালো এবং পোস্ট-কোয়ান্টাম ক্রিপ্টোগ্রাফির জন্য উন্নত সমর্থনের মতো উন্নতি নিয়ে আসে, কিন্তু একই সাথে পুরোনো প্রোটোকল, ইঞ্জিন সিস্টেম এবং বেশ কয়েকটি এপিআই-এর সমর্থন সরিয়ে দেয়, যা পরিবর্তনের আগে কোড এবং কম্পাইলেশন প্রক্রিয়া পর্যালোচনা করতে বাধ্য করে।
ওপেনএসএসএল ৪.০ এর প্রধান নতুন বৈশিষ্ট্যসমূহ
OpenSSL 4.0-কে একটি প্রধান আপডেট হিসেবে উপস্থাপন করা হয়েছে, যার সুস্পষ্ট লক্ষ্য হলো গোপনীয়তা জোরদার করুন, কোডবেস আধুনিক করুন এবং পুরোনো অপ্রয়োজনীয় অংশগুলো পরিষ্কার করুন।প্রকল্প দলটি প্রধান সংস্করণ পরিবর্তনের সুযোগ নিয়ে অসঙ্গত পরিবর্তন এনেছে, প্রান্তিক প্ল্যাটফর্মগুলোর জন্য সমর্থন তুলে নিয়েছে এবং বেশ কয়েকটি অভ্যন্তরীণ উপাদানের ডিফল্ট আচরণ পরিবর্তন করেছে।
সবচেয়ে দৃশ্যমান পরিবর্তনগুলোর মধ্যে রয়েছে এনক্রিপ্টেড ক্লায়েন্ট হ্যালো (ECH)-এর সংযোজন, পোস্ট-কোয়ান্টাম পরিবেশের জন্য অ্যালগরিদমের ক্যাটালগ সম্প্রসারণ, X.509 সার্টিফিকেট ও সময় পরিচালনার ক্ষেত্রে ঐতিহাসিক ফাংশনগুলোর অপ্রচলিত ঘোষণা ও বিলোপ, এবং বিভিন্ন অপারেটিং সিস্টেমে কম্পাইলেশন অপশন, স্ক্রিপ্ট ও বিল্ড টার্গেটের পর্যালোচনা।
এনক্রিপ্টেড ক্লায়েন্ট হ্যালো (ECH) এর মাধ্যমে উন্নত গোপনীয়তা
সবচেয়ে আলোচিত অগ্রগতিগুলোর মধ্যে একটি হলো একীকরণ RFC 9849-এর সাথে সঙ্গতিপূর্ণ এনক্রিপ্টেড ক্লায়েন্ট হ্যালো।ECH, TLS-এর ক্লায়েন্ট হ্যালো মেসেজকে এনক্রিপ্ট করার সুযোগ দেয়, যার ফলে নেটওয়ার্কের কোনো নিষ্ক্রিয় পর্যবেক্ষক সার্ভার নেম ইন্ডিকেশন (SNI), অর্থাৎ ক্লায়েন্ট যে সার্ভারের সাথে সংযোগ স্থাপন করে তার নামটি, অ্যাক্সেস করতে পারে না।
এই পরিবর্তনটি বিশেষভাবে প্রাসঙ্গিক যেখানে গোপনীয়তা সুরক্ষা এবং সংযোগ মেটাডেটা অনেক সংস্থার নিয়ন্ত্রক কাঠামো এবং নীতিমালায় এর গুরুত্ব ক্রমশ বাড়ছে। ECH গ্রহণ করা হলে, ব্যবহারকারী ও সংস্থাগুলোর দ্বারা ব্যবহৃত নির্দিষ্ট ডোমেইনগুলো শনাক্ত করার মাধ্যমে তৃতীয় পক্ষের পক্ষে TLS ট্র্যাফিকের প্রোফাইল তৈরি করার ক্ষমতা হ্রাস পায়।
OpenSSL 4.0-এর মাধ্যমে, ECH বাস্তবায়নকারী ডেভেলপাররা সক্ষম হবেন প্রাথমিক হ্যান্ডশেক থেকে সংবেদনশীল তথ্য গোপন করুনএর ফলে পরোক্ষ পরিদর্শন আরও কঠিন হয়ে পড়ে এবং সংযোগের গোপনীয়তার মাত্রা বেড়ে যায়, যা সরকারি পরিষেবা এবং কর্পোরেট উভয় পরিবেশেই প্রযোজ্য, যেখানে বিধিগত সম্মতি এবং তথ্য সুরক্ষাকে অগ্রাধিকার দেওয়া হয়।
SSLv3-কে বিদায়, SSLv2 ক্লায়েন্টকে স্বাগতম, এবং ইঞ্জিন সিস্টেম
নতুন সংস্করণটি প্রোটোকলের অতীতের একটি অংশের সাথে সুস্পষ্টভাবে বিচ্ছেদ ঘটায়, যেহেতু SSLv3-এর সমর্থন সরিয়ে দেয়SSLv3, একটি স্ট্যান্ডার্ড যা বছরের পর বছর ধরে অনিরাপদ বলে বিবেচিত হয়ে আসছিল এবং OpenSSL-এর 1.1.0 সংস্করণ থেকে ডিফল্টরূপে নিষ্ক্রিয় ছিল, এখন পর্যায়ক্রমে বন্ধ করে দেওয়া হবে। অতএব, যে কোনো অ্যাপ্লিকেশন যা এখনও SSLv3-এর উপর নির্ভরশীল, সেগুলোকে 4.0 ব্রাঞ্চের সাথে কাজ করতে সক্ষম হওয়ার জন্য আধুনিক TLS-এ স্থানান্তরিত হতে হবে।
এটিও অদৃশ্য হয়ে যায় SSLv2 ক্লায়েন্ট হ্যালো সাপোর্টএই ফিচারটি, যা ঐতিহাসিক সামঞ্জস্যের জন্য রাখা হলেও সর্বোত্তম নিরাপত্তা অনুশীলনের সম্পূর্ণ পরিপন্থী ছিল, এখন সরিয়ে ফেলা হচ্ছে। এটি সরিয়ে ফেলার ফলে আক্রমণের ঝুঁকি কমে এবং কোড সরল হয়, যা অবকাঠামোতে শক্তিশালী এনক্রিপশনের বর্তমান চাহিদার সাথে OpenSSL-কে সামঞ্জস্যপূর্ণ করে তোলে।
আরেকটি কাঠামোগত পরিবর্তন হলো সম্পূর্ণ বিলোপ বাহ্যিক ক্রিপ্টোগ্রাফিক হার্ডওয়্যার এবং সফ্টওয়্যার সংহত করতে ব্যবহৃত ইঞ্জিন এপিআইOpenSSL 4.0 থেকে, ‘নো-ইঞ্জিন’ কম্পাইলেশন অপশনটিই একমাত্র উপলব্ধ থাকে এবং OPENSSL_NO_ENGINE ম্যাক্রোটি সর্বদা উপস্থিত থাকে। এর ফলে, ক্রিপ্টোগ্রাফিক অ্যাক্সিলারেশন বা HSM মডিউলের ব্যবহারের মতো কাজের জন্য কাস্টম ইঞ্জিন ব্যবহারকারী ইমপ্লিমেন্টেশনগুলো পর্যালোচনা করা আবশ্যক হয়ে পড়ে।
একই সাথে, ব্যয় সংকোচনও করা হচ্ছে। EVP_CIPHER, EVP_MD, EVP_PKEY, এবং EVP_PKEY_ASN1 থেকে উত্তরাধিকারসূত্রে প্রাপ্ত কাস্টম মেথডসমূহপুরানো SSL/TLS ভার্সনিং পদ্ধতি এবং এরর স্টেট ম্যানেজমেন্ট ফাংশনগুলোর (যেমন ERR_get_state() এবং এর স্টেট রিমুভাল ভ্যারিয়েন্টগুলো) পাশাপাশি, বর্তমান চাহিদার সাথে আরও সামঞ্জস্যপূর্ণ একটি পরিচ্ছন্ন API একত্রিত করা হচ্ছে।
পোস্ট-কোয়ান্টাম ক্রিপ্টোগ্রাফি এবং নতুন অ্যালগরিদমগুলিতে অগ্রগতি
ভবিষ্যতের দিকে তাকিয়ে, OpenSSL 4.0 তার কৌশলকে এগিয়ে নিয়ে যাচ্ছে কোয়ান্টাম কম্পিউটিং থেকে উদ্ভূত হুমকির জন্য প্রস্তুতিএই সংস্করণে নতুন হাইব্রিড ক্রিপ্টোগ্রাফি এবং ডাইজেস্ট সক্ষমতা যুক্ত করা হয়েছে, যার লক্ষ্য হলো পোস্ট-কোয়ান্টাম পরিস্থিতিতে সম্ভাব্য আক্রমণের বিরুদ্ধে কী এক্সচেঞ্জকে আরও শক্তিশালী করা।
নতুন বৈশিষ্ট্যগুলির মধ্যে রয়েছে হাইব্রিড কী এক্সচেঞ্জ গ্রুপ কার্ভSM2MLKEM768যা ক্লাসিক্যাল উপাদানগুলোকে পোস্ট-কোয়ান্টাম স্কিমের সাথে সমন্বয় করে, সেইসাথে NIST SP 800-185 অনুযায়ী ML-DSA-MU ফিঙ্গারপ্রিন্টিং অ্যালগরিদম এবং cSHAKE ফাংশন। এই উপাদানগুলো এমন প্রোটোকল ডিজাইন করার সম্ভাবনাকে প্রসারিত করে যা ভবিষ্যতের ক্রিপ্টঅ্যানালিটিক অগ্রগতির বিরুদ্ধে আরও বেশি প্রতিরোধী হবে।
এছাড়াও, প্রকল্পটি যোগ করে TLS 1.2-এর মাধ্যমে আলোচনা করা FFDHE কী বিনিময়ের জন্য সমর্থন।এটি RFC 7919-এ প্রতিষ্ঠিত নির্দেশিকা অনুসরণ করে। এর ফলে, যেসব ইমপ্লিমেন্টেশন এখনও TLS 1.2 ব্যবহার করে, তারা উন্নত ফাইনাইট গ্রুপ ডিফি-হেলম্যান প্যারামিটারের সুবিধা নিতে পারে, যা এমন পরিস্থিতিতে নিরাপত্তার স্তর বাড়িয়ে দেয় যেখানে অবিলম্বে TLS 1.3-এ আপগ্রেড করা সম্ভব নয়।
এপিআই পরিবর্তন এবং আচরণ যা ইন্টিগ্রেটরদের প্রভাবিত করে
যারা OpenSSL-এর সাথে সংযুক্ত অ্যাপ্লিকেশন রক্ষণাবেক্ষণ করেন, তাদের জন্য সংস্করণ 4.0 নিয়ে এসেছে এপিআই-তে সরাসরি পরিবর্তন যা বিদ্যমান বিল্ডগুলিকে ভেঙে দিতে পারেঅন্যতম প্রধান পরিবর্তন হলো ASN1_STRING টাইপটি অস্বচ্ছ হয়ে যায়, যা এর অভ্যন্তরীণ কাঠামোতে সরাসরি প্রবেশ সীমিত করে এবং উচ্চ-স্তরের ফাংশন ব্যবহারে বাধ্য করে।
অনেক ফাংশন, বিশেষ করে যেগুলো সম্পর্কিত X.509 সার্টিফিকেট প্রক্রিয়াকরণে এখন const কোয়ালিফায়ার অন্তর্ভুক্ত করা হয়েছে। তাদের সিগনেচারে, এটি অপরিবর্তনীয়তার অর্থ পরিবর্তন করে এবং কম কঠোর অনুমানের উপর ভিত্তি করে তৈরি কোডে পরিবর্তন আনতে বাধ্য করে। এর ফলে যেসব প্রজেক্ট সংশ্লিষ্ট ডেফিনিশনগুলো আপডেট করে না, সেগুলোতে ওয়ার্নিং বা কম্পাইলেশন এরর দেখা দিতে পারে।
সময় ব্যবস্থাপনার ক্ষেত্রে, রয়েছে X509_cmp_time(), X509_cmp_current_time() এবং X509_cmp_timeframe() এর মতো ফাংশনগুলোকে অপ্রচলিত ঘোষণা করা হয়েছে।এখন প্রস্তাবিত ব্যবহার হলো X509_check_certificate_times(), যার জন্য সার্টিফিকেট যাচাইকরণ রুটিনগুলোকে অভিযোজিত করতে হয়, যেগুলো আগে পুরোনো ফাংশনগুলোর ওপর নির্ভর করত।
আরেকটি প্রাসঙ্গিক বিষয় হল যে libcrypto নির্ধারিত ডেটার বৈশ্বিক পরিষ্করণ বন্ধ করে দেয়। atexit() এর মাধ্যমে। এর পরিবর্তে, কনফিগারেশনের উপর নির্ভর করে OPENSSL_cleanup() একটি গ্লোবাল ডেস্ট্রাক্টর হিসেবে রান হয় অথবা ডিফল্টরূপে চালু হয় না। এটি সেইসব অ্যাপ্লিকেশনকে প্রভাবিত করতে পারে যারা প্রসেস সমাপ্তির সময় স্বয়ংক্রিয় ক্লিনআপের উপর নির্ভর করত, এবং এর ফলে আরও সুস্পষ্ট রিসোর্স লাইফসাইকেল ম্যানেজমেন্টের প্রয়োজন হয়।
এছাড়াও, BIO_f_reliable(), একটি বৈশিষ্ট্য যা এটি ৩.০ শাখা থেকেই ত্রুটিপূর্ণ ছিল এবং এখন কোনো সরাসরি বিকল্প ছাড়াই এটি অদৃশ্য হয়ে গেছে।যেসব প্রজেক্ট এখনও এটি ব্যবহার করে, তাদের সংশ্লিষ্ট লজিকটি নতুন করে ডিজাইন করতে হবে অথবা একই ধরনের চাহিদা মেটাতে লাইব্রেরি থেকে অন্যান্য প্রিমিটিভ গ্রহণ করতে হবে।
সার্টিফিকেট যাচাই এবং কী ডিরাইভেশনে আরও কঠোরতা
OpenSSL 4.0 শক্তিশালী করে X509_V_FLAG_X509_STRICT সক্রিয় থাকলে X.509 সার্টিফিকেটের কঠোর যাচাইকরণ।এই ফ্ল্যাগটি সক্রিয় করা হলে, AKID (Authority Key Identifier) এক্সটেনশনের উপর অতিরিক্ত যাচাই সম্পন্ন করা হয়, যা বৈধতার মানদণ্ডকে আরও কঠোর করে এবং লাইব্রেরিটিকে আরও উন্নত নিরাপত্তা পদ্ধতির সাথে সামঞ্জস্যপূর্ণ করে তোলে।
বাতিলকরণ তালিকা (CRL) যাচাই করার প্রক্রিয়ায়, নতুন সংস্করণটি যোগ করে বাতিলকৃত সার্টিফিকেটগুলোর যাচাইকরণ আরও পুঙ্খানুপুঙ্খ করার জন্য অতিরিক্ত নিয়ন্ত্রণ ব্যবস্থা।এই পরিবর্তনগুলো এমন পরিবেশকে প্রভাবিত করে যেখানে পিকেআই ব্যবস্থাপনা বিশেষভাবে সংবেদনশীল, যেমন সরকারি প্রশাসন, ব্যাংকিং, বা বৃহৎ কর্পোরেশন যেগুলো শক্তিশালী আস্থার শৃঙ্খলের উপর নির্ভরশীল।
তাদেরও পরিচয় করিয়ে দেওয়া হয় FIPS প্রোভাইডার ব্যবহার করার সময় PKCS5_PBKDF2_HMAC ব্যবহারের ক্ষেত্রে বাধ্যতামূলক নিম্নসীমা।এই সমন্বয়ের লক্ষ্য হলো পাসওয়ার্ড থেকে কী (key) আহরণের ক্ষেত্রে অতিরিক্ত দুর্বল কনফিগারেশন এড়ানো, যা বাস্তবে এমন পরিবেশে ন্যূনতম শক্তিশালী প্যারামিটার ব্যবহারে বাধ্য করে যেখানে FIPS সম্মতি প্রয়োজন, যা গুরুত্বপূর্ণ খাতগুলোতে খুবই সাধারণ।
কম্পাইলেশন সেটিংস, সমর্থিত প্ল্যাটফর্ম এবং টুলস
কম্পাইলেশন এবং প্ল্যাটফর্ম সমর্থনের ক্ষেত্রে, ওপেনএসএসএল ৪.০ একটি নতুন দিকে পদক্ষেপ গ্রহণ করেছে। আরও আধুনিক এবং সরলীকৃত কনফিগারেশনপ্রকল্পটি ডিফল্টরূপে TLS-এ অপ্রচলিত এলিপটিক কার্ভের সমর্থন নিষ্ক্রিয় করে, যেমনটি RFC 8422-এ নির্দিষ্ট করা আছে, এবং সেইসাথে সুস্পষ্ট এলিপটিক কার্ভের ব্যবহারও বন্ধ করে দেয়। তবে, মাঝেমধ্যে সামঞ্জস্যতার কারণে যাদের এগুলো পুনরায় সক্রিয় করার প্রয়োজন হয়, তাদের জন্য কনফিগারেশন বিকল্প রয়েছে।
নির্মাণের উদ্দেশ্যগুলোর বিষয়ে, এটি ছিল তারা darwin-i386 এবং darwin-ppc ভ্যারিয়েন্টগুলো সরিয়ে দেয়এর ফলে i386 এবং PowerPC/PPC64 আর্কিটেকচারের উপর ভিত্তি করে তৈরি খুব পুরোনো অ্যাপল সিস্টেমগুলো আনুষ্ঠানিকভাবে বাদ পড়েছে। বাস্তবে, এটি বেশিরভাগ বর্তমান স্থাপনাকে প্রভাবিত করবে না, যেখানে ঐ প্ল্যাটফর্মগুলো বেশ কিছুদিন ধরেই অপ্রচলিত, কিন্তু এটি মূলধারার সমর্থন থেকে তাদের অপসারণকে আনুষ্ঠানিক রূপ দেয়।
টুলসের ক্ষেত্রে, পুরোনো স্ক্রিপ্টটি সরিয়ে ফেলা হচ্ছে এবং ডিরেক্টরিতে থাকা সার্টিফিকেটগুলোর জন্য হ্যাশ ইনডেক্স তৈরি করাই এখন প্রস্তাবিত পদ্ধতি। এছাড়াও, FIPS ইনস্টলেশনের জন্য `openssl fipsinstall` ইউটিলিটিতে `-defer_tests` অপশনটি চালু করা হয়েছে, যা নির্দিষ্ট কিছু অটো-টেস্ট স্থগিত করার সুযোগ দেয় এবং বুট টাইমের সীমাবদ্ধতাযুক্ত পরিবেশে ডেপ্লয়মেন্ট সহজতর করতে পারে।
উইন্ডোজ সিস্টেমে, আপডেটটি যোগ করে ভিজ্যুয়াল সি++ রানটাইমের স্ট্যাটিক বা ডাইনামিক লিঙ্কিংয়ের মধ্যে যেকোনো একটি বেছে নেওয়ার ক্ষমতাএই নমনীয়তা ডেভেলপার এবং ডেভঅপস টিমের জন্য উপকারী, যারা বিভিন্ন ডিস্ট্রিবিউশন সিনারিওর জন্য অ্যাপ্লিকেশন প্যাকেজ করেন, কারণ এর মাধ্যমে তারা কম্প্যাটিবিলিটি রিকোয়ারমেন্ট বা বাইনারিগুলোর আকারের ওপর ভিত্তি করে রানটাইম টাইপ সমন্বয় করতে পারেন।
সংস্থা এবং ডেভেলপারদের উপর প্রভাব
যেখানে ইন্টারনেট পরিকাঠামো এবং গুরুত্বপূর্ণ পরিষেবাগুলোর একটি বড় অংশ OpenSSL-এর ওপর নির্ভরশীল, সেখানে সংস্করণ ৪.০ একটি কৌশলগত পরিবর্তন যার জন্য পরিকল্পনা প্রয়োজনসরকারি সংস্থা, ক্লাউড সরবরাহকারী, আর্থিক প্রতিষ্ঠান এবং প্রযুক্তি কোম্পানিগুলোর এপিআই পরিবর্তন ও প্রোটোকল প্রত্যাহারের প্রভাব, বিশেষ করে পুরোনো সিস্টেম বা দুর্বলভাবে রক্ষণাবেক্ষণ করা অ্যাপ্লিকেশনগুলোর ওপর, সতর্কতার সাথে মূল্যায়ন করা উচিত।
ECH-এর অন্তর্ভুক্তি এবং পোস্ট-কোয়ান্টাম ক্রিপ্টোগ্রাফির শক্তিশালীকরণকে দেখা যেতে পারে ডিফল্ট সুরক্ষার স্তর বাড়ানোর সুযোগকিন্তু একই সাথে, প্রি-প্রোডাকশন পরিবেশে এগুলোর পুঙ্খানুপুঙ্খ পরীক্ষা প্রয়োজন। অনেক ক্ষেত্রে, এই রূপান্তর যেন পরিষেবাগুলোকে ব্যাহত না করে বা কোনো রিগ্রেশন সৃষ্টি না করে, তা নিশ্চিত করার জন্য ডেভেলপমেন্ট, সিকিউরিটি এবং অপারেশনস টিমের মধ্যে সমন্বয় সাধন করা আবশ্যক হবে।
যেসব ওপেন সোর্স প্রজেক্ট OpenSSL-এর ওপর ব্যাপকভাবে নির্ভরশীল, সেগুলোর অভিযোজনে অন্তর্ভুক্ত থাকবে ফাংশন সিগনেচারগুলো সমন্বয় করুন, বর্তমানে অস্বচ্ছ টাইপগুলোর ব্যবহার পর্যালোচনা করুন। এবং X.509 টাইমিং ইঞ্জিন বা ফাংশনের মতো বাতিল হয়ে যাওয়া উপাদানগুলো প্রতিস্থাপন করা। এর সুবিধা হলো, একবার হালনাগাদ করা হলে, এই প্রকল্পগুলো এমন একটি ক্রিপ্টোগ্রাফিক ভিত্তি থেকে উপকৃত হবে যা বর্তমান মানগুলোর সাথে আরও বেশি সামঞ্জস্যপূর্ণ এবং যাতে প্রযুক্তিগত ঘাটতি কম থাকে।
সামগ্রিকভাবে, ওপেনএসএসএল ৪.০ নিজেকে একটি হিসেবে উপস্থাপন করে মধ্যম ও দীর্ঘমেয়াদী পরিষ্করণ, আধুনিকীকরণ এবং প্রস্তুতির সংস্করণএর জন্য মাইগ্রেশনে শ্রম বিনিয়োগের প্রয়োজন হয়, কিন্তু এর বিনিময়ে লাইব্রেরির গোপনীয়তা, নিরাপত্তা এবং অভ্যন্তরীণ সামঞ্জস্যের ক্ষেত্রে সুস্পষ্ট উন্নতি সাধিত হয়, যা একটি মজবুত ক্রিপ্টোগ্রাফিক ভিত্তির ওপর ডিজিটাল পরিকাঠামোকে সমর্থন অব্যাহত রাখার জন্য অপরিহার্য।
