আমাকে একটি উদাহরণ দিয়ে ব্যাখ্যা করুন।
সাধারণ কী-জুটি ভিত্তিক পিকেআইতে, ব্যক্তিগত কী এবং সর্বজনীন কী রয়েছে।
শংসাপত্র ভিত্তিক সিস্টেমে ব্যক্তিগত কী এবং শংসাপত্র রয়েছে। শংসাপত্রে পাবলিক কী থেকে বেশি তথ্য রয়েছে।
ডেমো (আপনি একটি শংসাপত্র এবং ব্যক্তিগত কী জেনারেট করতে পারেন): http://www.selfsignedcertificate.com/
আপনি প্রাইভেট কী ফাইল এবং শংসাপত্রের ফাইলটি খুলুন ডাউনলোড করতে পারেন, শংসাপত্রের ফাইলে নীচের চিত্রের মতো দেখতে অনেক তথ্য রয়েছে।
আপনি এই উত্স থেকে আপনার উত্পন্ন শংসাপত্র (একটি পাঠ্য সম্পাদক দ্বারা খোলার) এবং ব্যক্তিগত কী (একটি পাঠ্য সম্পাদক দ্বারা খোলার) সাথে মেলে ফেলতে পারেন: https://www.sslshopper.com/certificate-key-matcher.html
যদি শংসাপত্রটি ক্লায়েন্টের ব্যক্তিগত কীটির সাথে মেলে, ক্লায়েন্ট নিশ্চিত, শংসাপত্রটি ক্লায়েন্ট দ্বারা দেওয়া হয় বা ক্লায়েন্টের বিশ্বস্ত এজেন্ট (সিএ) দ্বারা দেওয়া হয়।
তবে, কেবলমাত্র ব্যক্তিগত কী এবং শংসাপত্র ভিত্তিক যোগাযোগের ক্ষেত্রে সমস্যা রয়েছে ।
কারণ, যে কেউ তাদের নিজস্ব শংসাপত্র এবং প্রাইভেট কী তৈরি করতে পারে, তাই সাধারণ হ্যান্ডশেক শংসাপত্রের পাবলিক কীটির সাথে মেলে এমন প্রাইভেট কীটি সার্ভারটি ব্যতীত সার্ভার সম্পর্কে কিছুই প্রমাণ করে না। এই সমস্যাটি সমাধানের একটি উপায় হ'ল ক্লায়েন্টের এক বা একাধিক শংসাপত্রের সেট রয়েছে যার উপর এটি বিশ্বাস করে। শংসাপত্রটি সেটে না থাকলে সার্ভারটি বিশ্বাসযোগ্য নয় ।
এই সহজ পদ্ধতির জন্য কয়েকটি ডাউনসাইড রয়েছে। সার্ভারগুলিকে সময়ের সাথে শক্তিশালী কীগুলিতে আপগ্রেড করতে সক্ষম হওয়া উচিত ("কী রোটেশন"), যা শংসাপত্রের সার্বজনীন কীকে নতুন সাথে প্রতিস্থাপন করে। দুর্ভাগ্যক্রমে, এখন ক্লায়েন্ট অ্যাপ্লিকেশনটি আপডেট করতে হবে যা মূলত একটি সার্ভার কনফিগারেশন পরিবর্তন রয়েছে। সার্ভারটি অ্যাপ বিকাশকারীদের নিয়ন্ত্রণে না থাকলে এটি বিশেষত সমস্যাযুক্ত, উদাহরণস্বরূপ, যদি এটি কোনও তৃতীয় পক্ষের ওয়েব পরিষেবা হয়। যদি অ্যাপ্লিকেশনটিকে কোনও ওয়েব ব্রাউজার বা ইমেল অ্যাপ্লিকেশনর মতো স্বেচ্ছাসেবীদের সাথে কথা বলতে হয় তবে এই পদ্ধতিরও সমস্যা রয়েছে।
এই ডাউনসাইডগুলিকে সম্বোধন করার জন্য, সার্ভারগুলি সাধারণত শংসাপত্র কর্তৃপক্ষ (সিএ) নামে পরিচিত প্রখ্যাত ইস্যুকারীদের শংসাপত্র দিয়ে কনফিগার করা হয়। তিনি হোস্ট-প্ল্যাটফর্ম (ক্লায়েন্ট) সাধারণত এটি নির্ভর করে এমন সিএ এর একটি তালিকা রয়েছে। সার্ভারের মতো, একটি সিএর একটি শংসাপত্র এবং একটি ব্যক্তিগত কী রয়েছে। সার্ভারের জন্য শংসাপত্র দেওয়ার সময়, CA তার ব্যক্তিগত কী ব্যবহার করে সার্ভার শংসাপত্রটি স্বাক্ষর করে। ক্লায়েন্টটি তারপরে যাচাই করতে পারে যে প্লাটফর্মটিতে পরিচিত একটি সিএ দ্বারা জারি করা শংসাপত্রটি সার্ভারের রয়েছে।
তবে কিছু সমস্যা সমাধানের সময় সিএ ব্যবহার করে আরেকটি পরিচয় হয়। সিএ অনেক সার্ভারের শংসাপত্র জারি করার কারণে, আপনি যে সার্ভারটি চান তার সাথে আপনি কথা বলছেন তা নিশ্চিত করার জন্য আপনার এখনও কিছু উপায় প্রয়োজন। এটির সমাধানের জন্য, সিএ দ্বারা জারি করা শংসাপত্রটি সার্ভারকে একটি নির্দিষ্ট নাম যেমন: জিমেইল ডটকম বা ওয়াইল্ডকার্ড হোস্ট যেমন * .google.com এর সাথে সনাক্ত করে।
নিম্নলিখিত উদাহরণটি এই ধারণাগুলি আরও কিছুটা কংক্রিট করে তুলবে। কমান্ড লাইন থেকে নীচে স্নিপেটে, ওপেনসেল সরঞ্জামের s_client কমান্ডটি উইকিপিডিয়ায় সার্ভার শংসাপত্রের তথ্য দেখায়। এটি 443 পোর্ট নির্দিষ্ট করে কারণ এটি HTTPS এর জন্য ডিফল্ট। কমান্ডটি ওপেনএসএল এস_সি্লিয়েন্টের আউটপুটটি ওপেনএসএল x509 এ প্রেরণ করে, যা X.509 স্ট্যান্ডার্ড অনুসারে শংসাপত্রগুলির তথ্য ফর্ম্যাট করে। বিশেষত, কমান্ডটি বিষয়টির জন্য জিজ্ঞাসা করে, এতে সার্ভারের নাম তথ্য এবং ইস্যুকারী, যা সিএ সনাক্ত করে contains
$ openssl s_client -connect wikipedia.org:443 | openssl x509 -noout -subject -issuer
subject= /serialNumber=sOrr2rKpMVP70Z6E9BT5reY008SJEdYv/C=US/O=*.wikipedia.org/OU=GT03314600/OU=See www.rapidssl.com/resources/cps (c)11/OU=Domain Control Validated - RapidSSL(R)/CN=*.wikipedia.org
issuer= /C=US/O=GeoTrust, Inc./CN=RapidSSL CA
আপনি দেখতে পাচ্ছেন যে র্যাপিডএসএসএল সিএ দ্বারা সার্ভারগুলি *। উইকিপিডিয়া.আর.এর সাথে মিল রেখে শংসাপত্র জারি করা হয়েছিল।
আপনি দেখতে পাচ্ছেন যে সার্ভারগুলিতে সিএ প্রেরিত এই অতিরিক্ত তথ্যের কারণে ক্লায়েন্ট সহজেই জানতে পারে যে এটি তার সার্ভারের সাথে যোগাযোগ করছে কিনা not