আমি কীভাবে সিডি কী / সিরিয়াল নম্বর দিয়ে আমার গেমটি রক্ষা করব?


25

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

আমি কীভাবে সেই সিরিয়াল নম্বর সুরক্ষা সিস্টেমটি আমার গেমটিতে (ক্লায়েন্ট এবং মূল প্রমাণীকরণের সার্ভার উভয়) পেতে পারি, তাই এটি সহজে হ্যাকযোগ্য হয় না?


নোট করুন যে সফ্টওয়্যারটির জন্য এই ধরণের ভাল সুরক্ষা দেওয়ার আমার কোনও অভিজ্ঞতা নেই।

আমি এর আগে কখনও এটি করিনি, তবে আমি বেসিকগুলি বুঝতে পারি। আমি দেখতে পাচ্ছি কেন আমি ক্লায়েন্টে কী চেকগুলি করতে পারি না, সুতরাং এক-সময় কী এন্ট্রি সহ লগইন / পাস প্রমাণীকরণ ব্যবহার করা আমার পক্ষে ভাল।

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

ক্লায়েন্টকে হ্যাক করা খুব সহজ কারণ, আমি কেবল প্রাথমিক নিবন্ধকরণ (এবং সম্ভবত সার্ভার-সাইড প্রমাণীকরণ) পদ্ধতিগুলি রক্ষা করতে যাচ্ছি, যাতে স্থানান্তরিত হওয়ার সময় কেউ কীগুলি চুরি করতে পারে না।


আরো দেখুন:

মাল্টিপ্লেয়ার গেমস কিভাবে প্রমাণীকরণ হ্যান্ডেল করা উচিত?


যদি কেউ উপায়ে ভোট দেয় তবে আমি প্রশ্নটির মধ্যে কী ভুল তা নিয়ে কমপক্ষে একটি মন্তব্য আশা করব। বন্ধুরা, সত্যিই, আমি চাই আমার প্রশ্নটি ভাল হোক এবং কেবল আমার চেয়ে বেশি লোককে সহায়তা করুন।
ব্যবহারকারী1306322

4
আমি অনুমান করছি এটি ডিআরএম যুক্ত করার একটি স্বয়ংক্রিয় প্রতিক্রিয়া। এই ধরণেরটি বিশেষত খারাপ নয়, তবে আমাদের অনেকেরই এর সাথে খারাপ অভিজ্ঞতা রয়েছে - যেমন স্পোর যখন আমার উইন্ডোজ ইনস্টলটি ব্রিক করেছিল।
ইজকাটা

কোনও সিডি কী এর পরিবর্তে আপনি কি এমএমও-মত / মাইনক্রাফ্টের মতো ব্যবহারকারীর নাম / পাসওয়ার্ড লগ ইন করার প্রয়োজন এবং ব্যবহারকারীদের প্রমাণীকরণের জন্য ব্যবহার করার কথা বিবেচনা করেছেন?
টেট্রাড

4
একটি নেট অ্যাপে ডিআরএম চান !? এটি প্রতিফলকের মতো সরঞ্জামগুলির সাথে শেষ পর্যন্ত ব্যর্থ হবে। টেরারিয়া একবার দেখুন। পাইরেসি (এবং প্রচুর উপার্জনের ...) এর কারণে বিকাশ বন্ধ হয়ে গেছে। আমি @ টেট্রাডের প্রমাণীকরণ ভিত্তিক ধারণা পছন্দ করি কারণ এটি লোকদের কেবলমাত্র বৈধকরণের ফাংশনটি প্যাচ করতে বাধা দেয়। আপনার সার্ভারে সমস্ত ডেটা রাখুন এবং যখন তাদের লগইন সফল হয়, তাদের তাদের ডেটা ফিড করুন। আপনি যদি স্থানীয়ভাবে ডেটা রাখেন, তবে তারা কেবল প্রমাণীকরণের ফাংশনটি প্যাচ করতে পারে।

2
@ আঙ্কো যে বিখ্যাত উক্তি "আমাদের আরও খনিজ প্রয়োজন" এর একটি উল্লেখ ছিল । এবং আমি বলতে চাইছি ঘটনা এবং দক্ষতা। এমনকি এমনকি বিস্তারিত। কখনই কোনও গুরুত্বপূর্ণ সমস্যার যথেষ্ট মনোযোগ ছিল তা আমি জানতাম না, এমনটা দেখে মনে হয়েছিল যে এখানে যোগ করার মতো কিছু আছে এবং সাইটের দর্শকরা এই বিষয়টিকে আকর্ষণীয় বলে মনে করতে পারে (এবং সম্ভবত নতুন ব্যবহারকারী হয়ে উঠতে পারে), তাই আমি অনুগ্রহ বাড়িয়েছি।
ব্যবহারকারী1306322

উত্তর:


24

মূলত, আপনার তিনটি প্রয়োজনীয়তা রয়েছে:

  1. একাধিক ক্লায়েন্টের দৃষ্টান্তগুলির জন্য একই কীটি ব্যবহার করা সহজ হবে না,
  2. নতুন বৈধ কী তৈরি করা সহজ হওয়া উচিত নয় এবং
  3. বৈধ ক্লায়েন্টের চাবিটি চুরি করা সহজ হওয়া উচিত নয়।

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


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

বিকল্পভাবে, আপনি কোনও অনন্য শনাক্তকারী গ্রহণ করে এবং কোনও সিক্রেট মাস্টার কী ব্যবহার করে গণনা করা একটি বার্তা প্রমাণীকরণ কোড (যেমন এইচএমএসি ) যুক্ত করে কী তৈরি করতে পারেন। আবার, ম্যাক যতক্ষণ যথেষ্ট দীর্ঘ, যে কেউ মাস্টার কী জানে না তার প্রতিক্রিয়া যে কোনও আইডির জন্য একটি বৈধ ম্যাক অনুমান করতে সক্ষম হবে তা নগণ্য। একটি কী ডাটাবেসের প্রয়োজনীয়তা অপসারণের পাশাপাশি এই পদ্ধতির একটি সুবিধা হ'ল সনাক্তকারীটি কোনও অনন্য স্ট্রিং হতে পারে এবং ক্লায়েন্টটির জন্য কীটি জারি করা হয়েছিল সে সম্পর্কে তথ্য এনকোড করতে পারে।

ম্যাকগুলি ব্যবহার করে একটি সমস্যা হ'ল ম্যাকটি যাচাই করতে অফিসিয়াল গেম সার্ভারগুলি (বা কমপক্ষে প্রমাণীকরণের সার্ভার) মাস্টার কীটি জানা দরকার, যার অর্থ সার্ভারগুলি হ্যাক করা থাকলে মাস্টার কী ফাঁস হতে পারে। এই ঝুঁকি হ্রাস করার একটি উপায় হ'ল বিভিন্ন মাস্টার কী ব্যবহার করে প্রতিটি আইডির জন্য কয়েকটি ম্যাক গণনা করা যায় তবে গেম সার্ভারগুলিতে কেবল একটি মাস্টার কী সংরক্ষণ করতে পারে। এইভাবে, যদি সেই মাস্টার কীটি কখনও ফাঁস হয়ে যায় এবং নকল আইডি তৈরি করতে ব্যবহৃত হয়, আপনি এটিকে বাতিল করতে পারেন এবং অন্য একটি মাস্টার কীতে স্যুইচ করতে পারেন। বিকল্পভাবে, আপনি ম্যাকগুলি ডিজিটাল স্বাক্ষরগুলির সাথে প্রতিস্থাপন করতে পারেন, যা কেবলমাত্র মাস্টার কী এর জনসাধারণের অর্ধেক ব্যবহার করে যাচাই করা যেতে পারে।


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

দুর্ভাগ্যক্রমে, এই পদ্ধতির তৃতীয় পক্ষের সার্ভারগুলি ক্লায়েন্ট কীগুলি যাচাই করতে চাইলে তা যাচাই করতে দেয় না। তৃতীয় পক্ষের গেম সার্ভারগুলি ব্যবহার করতে পারে এমন একটি অফিশিয়াল প্রমাণীকরণ সার্ভার স্থাপন করে আপনি এটিকে ঘিরে কাজ করতে পারেন, উদাহরণস্বরূপ প্রমাণীকরণের সার্ভারে ক্লায়েন্ট লগ ইন করে এবং এলোমেলো এক-সময় টোকেন গ্রহণ করে যা তারা লগ ইন করতে ব্যবহার করতে পারে গেম সার্ভার (যা যাচাইকরণের জন্য প্রমাণীকরণের সার্ভারে টোকেন জমা দেয়)।

বিকল্পভাবে, আপনি আপনার ক্লায়েন্টদের কাছে প্রকৃত ক্লায়েন্ট শংসাপত্র বা তাদের মতো কিছু জারি করতে পারেন। আপনি হয় একটি বিদ্যমান প্রোটোকল (টিএলএসের মতো) ব্যবহার করতে পারেন যা ক্লায়েন্ট শংসাপত্র প্রমাণীকরণের (প্রস্তাবিত) সমর্থন করে বা নিজের প্রয়োগ করে, যেমন:

  • ক্লায়েন্ট শংসাপত্রে একটি সালিশী আইডি স্ট্রিং, একটি পাবলিক / প্রাইভেট কী জুড়ি এবং আইডি এবং ডিজিটাল স্বাক্ষর দিয়ে মাস্টার কী ব্যবহার করে পাবলিক কী থাকে।
  • লগ ইন করতে, ক্লায়েন্ট তাদের আইডি, সর্বজনীন কী এবং স্বাক্ষর প্রেরণ করে। সার্ভারটি একটি অনন্য চ্যালেঞ্জের স্ট্রিংয়ের সাথে জবাব দেয় (পছন্দসই সার্ভার আইডি এবং একটি টাইমস্ট্যাম্প সহ, যা ক্লায়েন্টের যাচাই করা উচিত) যা ক্লায়েন্টটি ব্যক্তিগত কী (যা তারা কীটি প্রমাণ করে তা প্রমাণ করার জন্য) দিয়ে স্বাক্ষর করে এবং সার্ভারে স্বাক্ষর প্রেরণ করে।
  • সার্ভার উভয় স্বাক্ষর যাচাই করে প্রমাণ করে যে আইডি + পাবলিক কী বৈধ ক্লায়েন্ট কী তৈরি করে (যেহেতু তারা মাস্টার কী এর সাথে স্বাক্ষরিত হয়েছিল) এবং ক্লায়েন্ট কীটি আসলে ক্লায়েন্টের অন্তর্ভুক্ত (যেহেতু ক্লায়েন্ট ব্যক্তিগত সাথে সার্ভারের চ্যালেঞ্জটি স্বাক্ষর করতে পারে) চাবি).

(এই প্রোটোকলটি ক্লায়েন্টকে "চ্যালেঞ্জ" উত্পন্ন করে একটি সার্ভার আইডি এবং একটি টাইমস্ট্যাম্প সমন্বিত করে আরও সহজ করা যেতে পারে এবং স্বাক্ষর করে। অবশ্যই, তারপর সার্ভারটি আইডি এবং টাইমস্ট্যাম্পটি বৈধ কিনা তা যাচাই করা দরকার Also এছাড়াও নোট করুন এই সাধারণ প্রোটোকলটি নিজে থেকে, মধ্যস্থতাকারী আক্রমণকারীকে ক্লায়েন্টের সেশন হাইজ্যাক করতে সক্ষম হতে বাধা দেবে না, যদিও এটি তাদের ভবিষ্যতের লগইনের জন্য ক্লায়েন্টের ব্যক্তিগত কী অর্জন করা থেকে বিরত রাখবে।)


2
একটি ছোটখাটো বিষয় - যখন সম্পূর্ণরূপে এলোমেলো কী সর্বাধিক কীস্পেস সরবরাহ করে (এবং আপনি যদি জারি কীগুলির একটি ডাটাবেসের বিরুদ্ধে বৈধতা দিচ্ছেন তবে পুরোপুরি কার্যকর হবে) এটি ব্যবহারকারী-বান্ধব নয়। কীটিতে নিজেই কিছু বৈধতা দিন যাতে সার্ভারটি আঘাত করার চেষ্টা করার আগে বেশিরভাগ ভুল টাইপগুলি ধরা পড়ে।
লরেন পেচটেল

আমি মনে করি, @ লরেনপেকটেলের কী-এর ব্যবহারকারী-বন্ধুত্বতা সম্পর্কে দৃ strong় বক্তব্য রয়েছে এবং অর্থপ্রদানকারী ব্যবহারকারী ভুলবশত সার্ভারে একটি 'ভুল টাইপ / বানান ভুল' (টাইপো) কী টাইপ এবং প্রেরণ করা সর্বদা সম্ভব।
বিষ্ণু

@ বিষ্ণু আমি একজন ব্যবহারকারী হিসাবে জানি যা কীগুলি টাইপ করে আমি গ্রুপ প্রতি কিছু চেক তথ্য পেতে পছন্দ করি এমনকি যদি এটি দীর্ঘতর কী টাইপ করে meant
লরেন পেচটেল

16

এখানে কোনও 100% সঞ্চয় নেই, তবে আপনি বরং একটি সহজ পদ্ধতির মাধ্যমে শুরু করতে পারেন:

  • উত্পন্ন কীগুলি যাচাই করার জন্য আপনার কিছু উপায়ের প্রয়োজন হবে, উদাহরণস্বরূপ চেকসাম অন্তর্ভুক্ত। অবশ্যই এটি বের করা খুব সহজ হবে না।

  • Ptionচ্ছিক (তবে প্রস্তাবিত) সেখানে একটি সার্ভার সাইড ডাটাবেস থাকবে যা প্রদত্ত সমস্ত কীগুলির একটি ডাটাবেসের সাথে কীগুলি যাচাই করে যাতে আপনি কী উত্পন্ন করতে পারবেন না, এমনকি যদি আপনার অ্যালগরিদম হওয়ার পরেও ঘটে (আসুন এটির ঘাটতি উপেক্ষা করুন)।

সেখান থেকে আপনার দুটি পৃথক পদ্ধতি থাকতে পারে তবে উভয় উপায়েই কিছু খুব গুরুত্বপূর্ণ:

  • ক্লায়েন্ট পক্ষের কীটি যাচাই করবেন না। এটি খুব গুরুত্বপূর্ণ, কারণ। নেট / এক্সএনএ-তে লিখিত জিনিসগুলি ছড়িয়ে ফেলা সম্ভব নয় rather আপনার যদি চাবিটি জিজ্ঞাসা করতে হয় বা এটি পাস করতে হয় (লগইন বা নিবন্ধকরণ) হ্যাশ কীটি (যুক্ত লবণের সাথে ইত্যাদি) এবং এটি সার্ভারে প্রেরণ করতে হবে।

আসল পথ হিসাবে:

  • প্রমাণীকরণ / লগইন প্রক্রিয়া চলাকালীন পাঠানো হ্যাশ কী (উপরে দেখুন) প্রয়োজন।

  • বিকল্প হিসাবে (আইএমও আরও ভাল, যদিও অনেকে এই ধরণের "ডিআরএম" পছন্দ করেন না): ক্লায়েন্টে কীটি মোটেই ব্যবহার করবেন না। পরিবর্তে, অ্যাকাউন্ট তৈরি করতে ব্যবহারকারীর প্রয়োজন এবং অ্যাকাউন্ট তৈরি করতে একটি বৈধ সিডি কী (এটি উপরে বর্ণিত ডাটাবেসের প্রয়োজন)। এটি আধুনিক গেমস, উদাহরণস্বরূপ, কোনও পে-টু-প্লে এমএমওআরপিজি এটি পরিচালনা করে।

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


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

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

ঠিক আছে, আপনি উভয়কে একত্রিত করতে পারেন, উদাহরণস্বরূপ কীটির প্রথম অংশটি অক্ষরের একটি এলোমেলো সংমিশ্রণ এবং দ্বিতীয়ার্ধে হ্যাশ তৈরি করুন। গেমটি বিক্রি করা যে কেউ যেভাবেই কোনও কীজেন ব্যবহার করতে পারেন না (যদি না কোনও ধরণের সংঘাত / দ্বন্দ্ব না ঘটে তা নিশ্চিত করার কোনও উপায় না থাকে তবে "ভেন্ডার আইডি" এর মূল অংশ হিসাবে)।
মারিও

1

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

বইটি এখানে ডাউনলোড করা যায়


আমি সেই বইগুলিতে দরকারী কিছু খুঁজে পেলাম না।
ব্যবহারকারী1306322

ব্যক্তিগতভাবে আমি যদিও 16 অধ্যায়ে কিছু দুর্দান্ত টিপস ছিল, কিন্তু ওয়াইএমএমভি।
ওল্ফগ্যাং শ্রেরস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.