কর্মক্ষেত্রে আমাদের লবণের জন্য দুটি প্রতিযোগিতামূলক তত্ত্ব রয়েছে। আমি যে পণ্যগুলিতে কাজ করি সেগুলিতে হ্যাশকে নুন দেওয়ার জন্য ব্যবহারকারীর নাম বা ফোন নম্বর এর মতো কিছু ব্যবহার করা হয়। মূলত এমন কিছু যা প্রতিটি ব্যবহারকারীর জন্য আলাদা তবে আমাদের কাছে সহজলভ্য। অন্যান্য পণ্য এলোমেলোভাবে প্রতিটি ব্যবহারকারীর জন্য একটি লবণ উত্পন্ন করে এবং ব্যবহারকারী পাসওয়ার্ড পরিবর্তন করে প্রতিবার পরিবর্তন করে। লবণটি ডাটাবেসে এনক্রিপ্ট করা হয়।
আমার প্রশ্নটি যদি দ্বিতীয় পন্থাটি সত্যিই প্রয়োজনীয় হয়? আমি বিশুদ্ধ তাত্ত্বিক দৃষ্টিকোণ থেকে বুঝতে পারি যে এটি প্রথম পদ্ধতির চেয়ে বেশি সুরক্ষিত তবে বাস্তবতার দিক থেকে কী what এখনই কোনও ব্যবহারকারীর প্রমাণীকরণের জন্য, লবণটি এনক্রিপ্ট করা এবং লগইন তথ্যে প্রয়োগ করতে হবে।
এটি সম্পর্কে চিন্তাভাবনা করার পরে, আমি কেবল এই পদ্ধতির মাধ্যমে একটি সত্যিকারের সুরক্ষা লাভ দেখতে পাচ্ছি না। অ্যাকাউন্ট থেকে অ্যাকাউন্টে লবণ পরিবর্তন করা, কারও পক্ষে হ্যাশিং অ্যালগরিদমকে জোর করে চাপিয়ে দেওয়ার চেষ্টা করা চূড়ান্ত করে তোলে এমনকি আক্রমণকারী প্রতিটি অ্যাকাউন্টের জন্য কী তা কীভাবে নির্ধারণ করতে হবে তা সম্পর্কে সচেতন থাকলেও। এটি অনুমানের দিকে যাচ্ছে যে পাসওয়ার্ডগুলি যথেষ্ট শক্তিশালী। (স্পষ্টত পাসওয়ার্ডের একটি সেট যেখানে তারা উভয়ই দুটি সংখ্যার জন্য সঠিক হ্যাশ সন্ধান করা 8 টি সংখ্যার পাসওয়ার্ডের সঠিক হ্যাশ খুঁজে পাওয়ার চেয়ে উল্লেখযোগ্যভাবে সহজ)। আমি কি আমার যুক্তিতে ভুল করছি, নাকি এমন কিছু আছে যা আমি মিস করছি?
সম্পাদনা: ঠিক আছে তাই আমার মনে হয় লবণটি এনক্রিপ্ট করার পক্ষে এটি সত্যিই খারাপ। (আমি সঠিক পথে রয়েছি কিনা লেমমে জানি)।
নিম্নলিখিত ব্যাখ্যার জন্য, আমরা ধরে নেব যে পাসওয়ার্ডগুলি সর্বদা 8 টি অক্ষর এবং লবণের পরিমাণ 5 এবং সমস্ত পাসওয়ার্ডগুলি ছোট হাতের অক্ষর দ্বারা গঠিত (এটি কেবল গণিতকে সহজ করে তোলে)।
প্রতিটি প্রবেশের জন্য পৃথক লবণের অর্থ হ'ল আমি একই রংধনু টেবিলটি ব্যবহার করতে পারি না (আসলে প্রযুক্তিগতভাবে আমার পক্ষে পর্যাপ্ত আকারের একটি ছিল তবে আমি এই মুহূর্তের জন্য তা উপেক্ষা করব)। আমি যা বুঝি তার থেকে লবণের আসল চাবিকাঠি, কারণ প্রতিটি অ্যাকাউন্টের ক্র্যাক করতে আমাকে হুইলটি পুনরায় উদ্ভাবন করতে হবে যাতে প্রতিটিটির জন্য কথা বলতে হয়। এখন যদি আমি জানি যে কীভাবে হ্যাশ উত্পন্ন করতে কোনও পাসওয়ার্ডে সঠিক লবণ প্রয়োগ করতে হয়, আমি এটি করতাম কারণ একটি লবণ সত্যিই হ্যাশ শব্দবন্ধের দৈর্ঘ্য / জটিলতা বাড়ায়। সুতরাং আমি আমার "পাসওয়ার্ড + পাসওয়ার্ড + লবনের 13" থেকে 26 possible 8 ^ 26 নম্বরের পাসওয়ার্ডটি "জানতে" জেনারেট করতে হবে এমন সম্ভাব্য সংমিশ্রণের সংখ্যাটি কেটে ফেলছি কারণ আমি জানি লবণ কী তা। এখন এটি সহজ করে তোলে, তবে এখনও সত্যই শক্ত।
সুতরাং লবণ এনক্রিপ্ট করার উপর। যদি আমি জানি যে লবণটি এনক্রিপ্ট করা আছে, তবে আমি প্রথমে এটির চেষ্টা এবং ডিক্রিপ্ট করব না (ধরে নিলাম আমি জানি এটির পর্যাপ্ত স্তর এনক্রিপশন রয়েছে)। আমি এটি উপেক্ষা করবে। এটি কীভাবে ডিক্রিপ্ট করবেন তা বোঝার পরিবর্তে পূর্ববর্তী উদাহরণে ফিরে গিয়ে আমি 13 ^ 26 এর জন্য সমস্ত কী যুক্ত একটি বৃহত রংধনু টেবিল তৈরি করব। লবণ না জেনে নিশ্চিতভাবেই আমাকে ধীর করবে, তবে আমি মনে করি না এটি প্রথমে লবণের এনক্রিপশনটি ক্র্যাক করার চেষ্টা করার স্মৃতিস্তম্ভকে যুক্ত করবে add সে কারণেই আমি এটি মূল্যবান বলে মনে করি না। ভাবনা?
নিখুঁত ফোর্স আক্রমণে পাসওয়ার্ডগুলি কতক্ষণ ধরে থাকবে তা বর্ণনা করার জন্য এখানে একটি লিঙ্ক রয়েছে: http://www.lockdown.co.uk/?pg=combi