ইউনিক্স / লিনাক্স সিস্টেমে পাসওয়ার্ডের সর্বোচ্চ অনুমোদিত দৈর্ঘ্য কত?
ইউনিক্স / লিনাক্স সিস্টেমে পাসওয়ার্ডের সর্বোচ্চ অনুমোদিত দৈর্ঘ্য কত?
উত্তর:
আপনার সিস্টেম যদি পাসওয়ার্ডগুলি যেমন MD5, SHA1 ইত্যাদি সঞ্চয় করতে কোনও ক্রিপ্টোগ্রাফিক হ্যাশ ব্যবহার করে তবে পাসওয়ার্ডের দৈর্ঘ্যের কোনও সীমা নেই কারণ এই হ্যাশগুলি কোনও পরিমাণের ডেটা দিয়ে তৈরি করা যেতে পারে। পুরো হার্ড ড্রাইভের জন্য একটি এমডি 5 বা এসএএ 1 হ্যাশ তৈরি করা যেতে পারে এবং এটি সাধারণত ফরেনসিক উদ্দেশ্যে করা হয় কারণ এমনকি যদি কিছুটা হলেও সামান্য পরিবর্তন করা হয় তবে আপনার একটি খুব আলাদা হ্যাশ রয়েছে এবং তাই আপনি যাচাই করতে পারবেন ডেটা পরিবর্তিত হয়েছে। এর অর্থ এই যে একই অ্যালগোরিদমগুলি পরীক্ষা করে ডেটাতে টেম্পার করা হয়েছে তা ব্যবহার করতে পারেন। লিনাক্স (কমপক্ষে বর্তমান লিনাক্স) এই একই হ্যাশ ফাংশন ব্যবহার করে। এটি আপনাকে একটি পাসওয়ার্ড জিজ্ঞাসা করবে এবং এটি আপনার দেওয়া পাসওয়ার্ডের একটি ক্রিপ্টোগ্রাফিক হ্যাশ তৈরি করবে এবং দেখুন যে এই হ্যাশটি সঞ্চিত পাসওয়ার্ডের সাথে মেলে কিনা।
এই হ্যাশগুলি ব্যবহার করার ক্ষেত্রে সামান্য বিরূপতা রয়েছে যা হ্যাশের একটি সীমাবদ্ধ আকার রয়েছে উদাহরণস্বরূপ, MD5 হ্যাশটি 128 বিট। এর অর্থ একটি এমডি 5 হ্যাশের কেবল 2^128
বা 340,282,366,920,938,463,463,374,607,431,768,211,456
সম্ভাব্য সংমিশ্রণ রয়েছে। এখন যখন এটি একটি বিশাল সংখ্যক, এর অর্থ হ'ল তারা যা করতে পারে তা হ্যাশ সংঘর্ষে ডাকে যেখানে আপনার কাছে দুটি ভিন্ন আইটেম বা কী রয়েছে যা একই হ্যাশ উত্পাদন করে। তত্ত্ব অনুসারে, মূল আকারটি বৃহত্তর, সংঘর্ষের কম সম্ভাবনা এবং পাসওয়ার্ড জোর করতে আরও বেশি সময় নেওয়া উচিত তবে এটি এনট্রপিটিকে কঠোরভাবে মূল্যায়ন করছে এবং কতক্ষণ এটি করতে পারেনিন তবে এমন একটি সম্ভাবনাও রয়েছে যে তারা চেষ্টা করেছেন প্রথম এন্ট্রিটি হ্যাশের সংঘর্ষের পরেও মেলে যা মিলতে পারে। সাধারণভাবে বলতে গেলে, আপনি একটি হ্যাশ ব্যবহার করে সত্যই নিরাপদ যা বড় আকারের কী রয়েছে কারণ, মনে করুন এটি এমডি 5, 340,282,366,920,938,463,463,374,607,431,768,211,456
সম্ভাব্য ম্যাচগুলির সাথে মিলিত প্রথম পাসওয়ার্ডের প্রতিক্রিয়া অত্যন্ত অসম্ভব। এছাড়াও একটি ভাল পাসওয়ার্ড বাছাই কারণ বাদাম কাটিবার যন্ত্র অনেক চেষ্টা করবে ব্যবহারের ভিত্তিক শব্দ তালিকা, নাম তালিকা, এবং এই তালিকার পরিব্যক্তি (অর্থাত শব্দ "মাছ" তারপর তারা চেষ্টা করবে হলে fish1234
, fish!@#$
ইত্যাদি) আগে তারা নরপশু একটি পাসওয়ার্ড অত্যাচার উপর নির্ভর করে।
আপনার সিস্টেমটি পাসওয়ার্ডগুলি সংরক্ষণের জন্য ক্রিপ্টোগ্রাফিক হ্যাশগুলি ব্যবহার করে তা আপনি যেভাবে বলতে পারবেন তা /etc/shadow
ফাইলটি একবার দেখুন (ধরে নিবেন যে আপনার কাছে রুট অ্যাক্সেস রয়েছে)। প্রতিটি লাইন এর মত বিন্যাস করা হয় user:password:last-changed:minimum-age:maximum-age:warning-period:inactivity-period:expiration-date:reserved
। পাসওয়ার্ড ক্ষেত্রটি দিয়ে সূচনা হতে পারে $num$
(অর্থাত্ পাসওয়ার্ড ক্ষেত্রে একটি এমডি 5 হ্যাশ দেখে মনে হয় $1$01234567$b5lh2mHyD2PdJjFfALlEz1
যেখানে এটি শুরু হবে $1$
)। যদি এটি দিয়ে এটি শুরু হয়, তবে এর অর্থ আপনার সিস্টেমটি একটি ক্রিপ্টোগ্রাফিক হ্যাশ ব্যবহার করছে। সমস্ত আধুনিক সিস্টেমে পাসওয়ার্ড ক্ষেত্রের ফর্ম্যাটটি $id$salt$hash
। আইডিটি উল্লেখ করে যে আপনি কী ধরণের ক্রিপ্টোগ্রাফিক হ্যাশ ব্যবহার করছেন। লবণটি একটি এলোমেলোভাবে উত্পন্ন স্ট্রিং যা পরিচিত হ্যাশগুলির পূর্বনির্ধারিত সারণীগুলি থেকে রক্ষা করার জন্য কী (প্লেইন পাঠ্য পাসওয়ার্ড) দিয়ে সংযুক্ত করা হয়। হ্যাশটি লবণ এবং কী / পাসওয়ার্ড থেকে তৈরি ক্রিপ্টোগ্রাফিক হ্যাশ। যদি আপনার পাসওয়ার্ড ক্ষেত্রটি শুরু হয়$num$
তাহলে আপনি ক্রিপ্টোগ্রাফিক হ্যাশ ব্যবহার করছেন are
সুতরাং আপনি জানেন, সংখ্যাগুলি এর অর্থ:
$1$
এর অর্থ আপনি এমডি 5 ব্যবহার করছেন$2$
বা এর $2a$
অর্থ আপনি ব্লোফিশ ব্যবহার করছেন$5$
এর অর্থ আপনি SHA-256 ব্যবহার করছেন$6$
এর অর্থ আপনি SHA-512 ব্যবহার করছেনএসএইচএ -512 হ'ল এই গ্লিবিসি অফারটি ব্যবহার করার জন্য সর্বোত্তম উপলব্ধ হ্যাশ। আমি জানি না যে ব্লোফিশ কতটা শক্তিশালী তবে এটি গ্লিবসি-র অংশ নয় এবং এর জন্য এটি কেবলমাত্র নির্দিষ্ট বিতরণগুলিতে পাওয়া যায় যা এটি যুক্ত করেছে। SHA-512 সংঘর্ষের প্রত্যাশার আগে 512 বিট কী বা 2 ^ 512 সম্ভাব্য সংমিশ্রণ তৈরি করে এবং একটি জটিল পর্যাপ্ত পাসওয়ার্ড সহ কম্পিউটারের একটি ক্লাস্টারটিকে সত্যিকারের পাসওয়ার্ড বা হ্যাশের সংঘর্ষের সন্ধান করতে খুব দীর্ঘ সময় লাগবে ।
এছাড়াও, আপনার যদি একটি হ্যাশ থাকে যা শুরু হয় না $num$
তবে আপনি ডিইএস ব্যবহার করছেন এবং এটি 8 টি অক্ষরের দৈর্ঘ্যের মধ্যে সীমাবদ্ধ। আমি বিশ্বাস করি যে পুরানো সিস্টেম যা ডিইএস ব্যবহার করে বা তাদের মধ্যে কমপক্ষে কিছু তারা কোনও আকারের পাসওয়ার্ড নেবে তবে কেবল প্রথম 8 টি অক্ষর ব্যবহার করবে। এর অর্থ যদি আপনি নিজের পাসওয়ার্ডটি সেট করে থাকেন mybigbigapple
এবং কেউ পাসওয়ার্ড ব্যবহার করে mybigbigcity
তবে তাদের অনুমতি দেওয়া হবে কারণ ডিইএস কেবল ব্যবহার করবে mybigbig
এবং তার পরে কিছু ফেলে দেওয়া হবে না।
সুতরাং আপনি জানেন, উবুন্টু 8.04 হিসাবে, এপ্রিল 2008 এ প্রকাশিত হয়েছিল, MD5 হ্যাশ ব্যবহার করেছে used ৮.১০ থেকে উবুন্টু, যা ২০০৮ সালের অক্টোবরে প্রকাশিত হয়েছিল এবং তার পরের সমস্ত সংস্করণ SHA-512 হ্যাশ ব্যবহার করে। আমি জানি না এপ্রিল ২০০৮ এর কতদূর আগে তবে আমি বেশ কয়েক বছর ধরে বিশ্বাস করি যদি না হয় তবে বেশিরভাগ সমস্ত বিতরণ হ্যাশ ব্যবহার করে।
উবুন্টুর বর্তমান 12.04 এবং 14.04 এলটিএস (দীর্ঘমেয়াদী সমর্থন রিলিজ) SHA-512 ডিফল্টরূপে ব্যবহার করতে দেখা যায়, যেমন $6$
/ ইত্যাদি / শ্যাডো ফাইলটিতে হ্যাশটিতে চাপ দেওয়া রয়েছে:
catullus:$6$MsHYK60sqcv$BtDqVCMXibpqg[...]
এখন কোনও হ্যাশিং অ্যালগরিদমের জন্য অনুমোদিত দৈর্ঘ্য কী বা পাসওয়ার্ডটি আপনাকে কোন আকারের পাসওয়ার্ডের অনুমতি দেয় তা নির্ধারণ করার জন্য কেবল এটিই নয়। অন্যান্য আগ্রহের বিষয় হ'ল প্রোগ্রামটি কীভাবে লেখা হয় এবং কোন দৈর্ঘ্যের প্রোগ্রামটি নিজে সমর্থন করবে। সমস্ত আধুনিক পাসডাব্লুড প্রোগ্রাম এবং সম্ভবত crypt(3)
লিনাক্সের বেশিরভাগ কাজ। দীর্ঘ সময়ের জন্য ক্রিপ্ট (যেহেতু কমপক্ষে MD5 ব্যবহৃত হয়েছিল এবং সম্ভবত এর আগে) প্রকৃত কীটির জন্য অক্ষর নির্দেশককে অনুমতি দিয়েছে। এর অর্থ হ'ল যে কীটি কতক্ষণ তা গ্রহণ করবে তার একমাত্র সীমাটি সেই প্রোগ্রামের জন্য কতটা র্যাম উপলব্ধ রয়েছে তার উপর ভিত্তি করে তবে সমস্ত সম্ভাব্যতার মধ্যে এটি সম্ভবত অনেক বেশি দীর্ঘ হয় তবে যে কোনও পাসওয়ার্ড যে কোনও ব্যক্তিকে মনে রাখতে সক্ষম হবে (কয়েক মিলিয়ন চরিত্র?)
এটি একটি পাসওয়ার্ড কত দীর্ঘ হতে পারে সে সম্পর্কে আপনার প্রশ্নের উত্তর দেওয়া উচিত। আশা করি আমি সাহায্য করেছি।
তথ্যসূত্র:
এটি নির্ভর করে যে কোন প্রমাণীকরণের মডিউলটি ব্যবহৃত হয়। আধুনিক লিনাক্স সিস্টেমে পাসওয়ার্ডের দৈর্ঘ্যের সর্বোচ্চ সীমা নেই। কিছু অপ্রচলিত সিস্টেমে তাদের পাসওয়ার্ড স্টোরেজ সিস্টেম দ্বারা সীমাবদ্ধতা থাকতে পারে - জনপ্রিয় সর্বাধিক 8, 40 এবং 255 বলে মনে হয়।
পাসওয়ার্ড কীভাবে সংরক্ষণ করা হয় তার উপর নির্ভর করে, MD5, SHA1, ব্লো ফিশ ইত্যাদি I
পুরানো বাস্তবায়নের একটি সীমা থাকতে পারে যা সম্ভবত 8 বা 255 টি অক্ষর।
এটি www.serverfault.com এর জন্য কোনও প্রশ্নের চেয়ে বেশি উপযুক্ত বলে মনে হচ্ছে :)
Passwd কমান্ডটি এনক্রিপশনের জন্য mcrypt কমান্ড জড়িত। এমক্রিপ্টের উত্স কোড অনুসারে স্টিডিনের সর্বাধিক আকার 512 টি অক্ষর (সিফারস) -এর মধ্যে সীমাবদ্ধ - তবে এটি ছিল দু'বছর আগে .... - (আমি পরের ঘন্টা এই উত্তরটি আপডেট করব) ... হ্যাঁ ... উত্স কোডে ডিরেক্টরি এসসিআর-তে এমক্রিপ্টের ২.6.৮ রয়েছে, সেখানে ফাইল getpass.c রয়েছে - শুরুতে আপনি দেখতে পাচ্ছেন মান 512 স্ট্যাটিক চর মান হিসাবে সেট করুন। (আমি এটি 1.4 গিগাবাইট পর্যন্ত পাম্প করতে চাই ...):