মূলত, আপনার তিনটি প্রয়োজনীয়তা রয়েছে:
- একাধিক ক্লায়েন্টের দৃষ্টান্তগুলির জন্য একই কীটি ব্যবহার করা সহজ হবে না,
- নতুন বৈধ কী তৈরি করা সহজ হওয়া উচিত নয় এবং
- বৈধ ক্লায়েন্টের চাবিটি চুরি করা সহজ হওয়া উচিত নয়।
প্রথম অংশটি বেশ সহজবোধ্য হওয়া উচিত: কেবলমাত্র দুজন খেলোয়াড়কে একই কী দিয়ে একই সার্ভারে লগ ইন করতে দেওয়া হবে না। আপনার লগ ইন থাকা ব্যবহারকারীদের সম্পর্কে সার্ভারগুলির বিনিময় সম্পর্কিত তথ্য থাকতে পারে, বা একটি ভাগ করা অ্যাটেশনিকেশন সার্ভারের সাথে যোগাযোগ করতে পারেন, যাতে একই সাথে বিভিন্ন সার্ভারে বিভিন্ন খেলোয়াড়ের জন্য একই কী ব্যবহার করা ব্যর্থ হয়। আপনি সম্ভবত কী ব্যবহারের সন্দেহজনক নিদর্শনগুলিও সন্ধান করতে চাইবেন এবং যদি আপনি নির্ধারণ করেন যে কোনও চাবি ফাঁস হয়েছে, তবে এটি নিষিদ্ধ কীগুলির তালিকায় যুক্ত করুন।
দ্বিতীয় অংশের জন্য, একটি উপায় হ'ল সমস্ত বৈধ জারি কীগুলির একটি ডাটাবেস বজায় রাখা। যতক্ষণ না কীগুলি যথেষ্ট দীর্ঘ (বলে, 128 বিট বা তার বেশি) এবং এলোমেলোভাবে বেছে নেওয়া হয়েছে (সুরক্ষিত আরএনজি ব্যবহার করে), কোনও বৈধ কীটি অনুমান করার জন্য যে কারওের প্রতিক্রিয়া মূলত শূন্য। (এমনকি যদি আপনি ব্রুট ফোর্সের মাধ্যমে বৈধ কীগুলি সন্ধানের প্রচেষ্টা বন্ধ করতে ব্যর্থ লগইন প্রচেষ্টাগুলিতে সীমাবদ্ধ হারের কিছু প্রকার ব্যবহার করেন তবে আরও সংক্ষিপ্ত কীগুলি নিরাপদ হতে পারে))
বিকল্পভাবে, আপনি কোনও অনন্য শনাক্তকারী গ্রহণ করে এবং কোনও সিক্রেট মাস্টার কী ব্যবহার করে গণনা করা একটি বার্তা প্রমাণীকরণ কোড (যেমন এইচএমএসি ) যুক্ত করে কী তৈরি করতে পারেন। আবার, ম্যাক যতক্ষণ যথেষ্ট দীর্ঘ, যে কেউ মাস্টার কী জানে না তার প্রতিক্রিয়া যে কোনও আইডির জন্য একটি বৈধ ম্যাক অনুমান করতে সক্ষম হবে তা নগণ্য। একটি কী ডাটাবেসের প্রয়োজনীয়তা অপসারণের পাশাপাশি এই পদ্ধতির একটি সুবিধা হ'ল সনাক্তকারীটি কোনও অনন্য স্ট্রিং হতে পারে এবং ক্লায়েন্টটির জন্য কীটি জারি করা হয়েছিল সে সম্পর্কে তথ্য এনকোড করতে পারে।
ম্যাকগুলি ব্যবহার করে একটি সমস্যা হ'ল ম্যাকটি যাচাই করতে অফিসিয়াল গেম সার্ভারগুলি (বা কমপক্ষে প্রমাণীকরণের সার্ভার) মাস্টার কীটি জানা দরকার, যার অর্থ সার্ভারগুলি হ্যাক করা থাকলে মাস্টার কী ফাঁস হতে পারে। এই ঝুঁকি হ্রাস করার একটি উপায় হ'ল বিভিন্ন মাস্টার কী ব্যবহার করে প্রতিটি আইডির জন্য কয়েকটি ম্যাক গণনা করা যায় তবে গেম সার্ভারগুলিতে কেবল একটি মাস্টার কী সংরক্ষণ করতে পারে। এইভাবে, যদি সেই মাস্টার কীটি কখনও ফাঁস হয়ে যায় এবং নকল আইডি তৈরি করতে ব্যবহৃত হয়, আপনি এটিকে বাতিল করতে পারেন এবং অন্য একটি মাস্টার কীতে স্যুইচ করতে পারেন। বিকল্পভাবে, আপনি ম্যাকগুলি ডিজিটাল স্বাক্ষরগুলির সাথে প্রতিস্থাপন করতে পারেন, যা কেবলমাত্র মাস্টার কী এর জনসাধারণের অর্ধেক ব্যবহার করে যাচাই করা যেতে পারে।
তৃতীয় অংশের জন্য, একটি পদ্ধতির নিশ্চিতকরণটি হ'ল গ্রাহক সত্যই প্রাপক বৈধ অফিসিয়াল সার্ভার কিনা তা যাচাই না করেই তার চাবি কারও কাছে প্রেরণ করবে না। উদাহরণস্বরূপ, আপনি লগইন প্রক্রিয়াটির জন্য এসএসএল / টিএলএস (বা ডিটিএলএস ) ব্যবহার করতে পারেন , আপনার গেম সার্ভারগুলির জন্য কাস্টম শংসাপত্র জারি করতে পারেন এবং কেবলমাত্র আপনি ক্লায়েন্ট বিশ্বাসের শংসাপত্র জারি করেছেন। সুবিধার্থে, টিএলএস ব্যবহার ক্লায়েন্ট কীগুলি (এবং অন্য কোনও স্বীকৃতি ডেটা) যেমন গণ্য ডাব্লুএলএএনগুলিতে শ্রবণশক্তি থেকে রক্ষা করবে।
দুর্ভাগ্যক্রমে, এই পদ্ধতির তৃতীয় পক্ষের সার্ভারগুলি ক্লায়েন্ট কীগুলি যাচাই করতে চাইলে তা যাচাই করতে দেয় না। তৃতীয় পক্ষের গেম সার্ভারগুলি ব্যবহার করতে পারে এমন একটি অফিশিয়াল প্রমাণীকরণ সার্ভার স্থাপন করে আপনি এটিকে ঘিরে কাজ করতে পারেন, উদাহরণস্বরূপ প্রমাণীকরণের সার্ভারে ক্লায়েন্ট লগ ইন করে এবং এলোমেলো এক-সময় টোকেন গ্রহণ করে যা তারা লগ ইন করতে ব্যবহার করতে পারে গেম সার্ভার (যা যাচাইকরণের জন্য প্রমাণীকরণের সার্ভারে টোকেন জমা দেয়)।
বিকল্পভাবে, আপনি আপনার ক্লায়েন্টদের কাছে প্রকৃত ক্লায়েন্ট শংসাপত্র বা তাদের মতো কিছু জারি করতে পারেন। আপনি হয় একটি বিদ্যমান প্রোটোকল (টিএলএসের মতো) ব্যবহার করতে পারেন যা ক্লায়েন্ট শংসাপত্র প্রমাণীকরণের (প্রস্তাবিত) সমর্থন করে বা নিজের প্রয়োগ করে, যেমন:
- ক্লায়েন্ট শংসাপত্রে একটি সালিশী আইডি স্ট্রিং, একটি পাবলিক / প্রাইভেট কী জুড়ি এবং আইডি এবং ডিজিটাল স্বাক্ষর দিয়ে মাস্টার কী ব্যবহার করে পাবলিক কী থাকে।
- লগ ইন করতে, ক্লায়েন্ট তাদের আইডি, সর্বজনীন কী এবং স্বাক্ষর প্রেরণ করে। সার্ভারটি একটি অনন্য চ্যালেঞ্জের স্ট্রিংয়ের সাথে জবাব দেয় (পছন্দসই সার্ভার আইডি এবং একটি টাইমস্ট্যাম্প সহ, যা ক্লায়েন্টের যাচাই করা উচিত) যা ক্লায়েন্টটি ব্যক্তিগত কী (যা তারা কীটি প্রমাণ করে তা প্রমাণ করার জন্য) দিয়ে স্বাক্ষর করে এবং সার্ভারে স্বাক্ষর প্রেরণ করে।
- সার্ভার উভয় স্বাক্ষর যাচাই করে প্রমাণ করে যে আইডি + পাবলিক কী বৈধ ক্লায়েন্ট কী তৈরি করে (যেহেতু তারা মাস্টার কী এর সাথে স্বাক্ষরিত হয়েছিল) এবং ক্লায়েন্ট কীটি আসলে ক্লায়েন্টের অন্তর্ভুক্ত (যেহেতু ক্লায়েন্ট ব্যক্তিগত সাথে সার্ভারের চ্যালেঞ্জটি স্বাক্ষর করতে পারে) চাবি).
(এই প্রোটোকলটি ক্লায়েন্টকে "চ্যালেঞ্জ" উত্পন্ন করে একটি সার্ভার আইডি এবং একটি টাইমস্ট্যাম্প সমন্বিত করে আরও সহজ করা যেতে পারে এবং স্বাক্ষর করে। অবশ্যই, তারপর সার্ভারটি আইডি এবং টাইমস্ট্যাম্পটি বৈধ কিনা তা যাচাই করা দরকার Also এছাড়াও নোট করুন এই সাধারণ প্রোটোকলটি নিজে থেকে, মধ্যস্থতাকারী আক্রমণকারীকে ক্লায়েন্টের সেশন হাইজ্যাক করতে সক্ষম হতে বাধা দেবে না, যদিও এটি তাদের ভবিষ্যতের লগইনের জন্য ক্লায়েন্টের ব্যক্তিগত কী অর্জন করা থেকে বিরত রাখবে।)