কিভাবে নেটওয়ার্ক আপনার পাসওয়ার্ড এবং অন্যান্য লগইন তথ্য সংরক্ষণ করে?

কিভাবে নেটওয়ার্ক আপনার পাসওয়ার্ড এবং অন্যান্য লগইন তথ্য সংরক্ষণ করে?
আপনার মত পাঠকরা MUO সমর্থন করতে সাহায্য করে। আপনি যখন আমাদের সাইটে লিঙ্ক ব্যবহার করে একটি ক্রয় করেন, আমরা একটি অনুমোদিত কমিশন উপার্জন করতে পারি। আরও পড়ুন

কয়েক বছর আগে, আট-অক্ষরের র্যান্ডম পাসওয়ার্ড যাতে বড় এবং ছোট হাতের অক্ষর, চিহ্ন এবং সংখ্যাগুলি থাকে তা ক্র্যাক করা সত্যিই কঠিন ছিল। কিছু ক্ষেত্রে, এই জাতীয় পাসওয়ার্ড ক্র্যাক হতে কয়েক বছর সময় নেয়।





আজকের পরিবর্তিত প্রযুক্তি এবং ভাড়াযোগ্য মেশিনের জন্য ধন্যবাদ, এই সময়টি ঘন্টায় কমিয়ে আনা হয়েছে। কিন্তু কিভাবে এই পাসওয়ার্ড প্রথম স্থানে সংরক্ষণ করা হয়?





দিনের মেকইউজের ভিডিও কন্টেন্টের সাথে চালিয়ে যেতে স্ক্রোল করুন

কিভাবে পাসওয়ার্ড অনলাইন সংরক্ষণ করা হয়

সিস্টেমগুলি ব্যবহারকারীর পাসওয়ার্ডগুলি সরাসরি ফাইল বা ডাটাবেসে সংরক্ষণ করে না, কারণ আক্রমণকারীরা ডাটাবেস দখল করতে পারে যেখানে সিস্টেমগুলি পাসওয়ার্ড রাখে। পরিবর্তে, সিস্টেমগুলি ব্যবহারকারীর পাসওয়ার্ডগুলি এনক্রিপ্ট করে এবং আক্রমণকারীরা প্রতিটি পাসওয়ার্ডের একটি এনক্রিপ্ট করা সংস্করণের সম্মুখীন হয়।





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

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



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

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





উদীয়মান GPUs এর প্রভাব

  দুটি rtx2080 গ্রাফিক্স কার্ড

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

তবুও জিপিইউতে বেশ দক্ষতার সাথে পাসওয়ার্ডের জন্য ব্যবহৃত কিছু হ্যাশ অ্যালগরিদম সম্পাদন করা সম্ভব। প্রতি সেকেন্ডে গণনাযোগ্য হ্যাশগুলি আপনি ঐতিহ্যগত CPU-এর সাথে অর্জন করতে পারেন নতুন GPU প্ল্যাটফর্মগুলির সাথে অসাধারণভাবে বৃদ্ধি পেয়েছে।





একটি ধারণা পেতে, নীচের সারণীতে NTLM, MD5, এবং SHA1-এর মতো হ্যাশ অ্যালগরিদমগুলির প্রতি সেকেন্ডে হ্যাশিং নম্বরগুলি পরীক্ষা করুন৷ এই অ্যালগরিদমগুলি শুধুমাত্র একটি হ্যাশ অ্যালগরিদম যে জানার জন্য এটি যথেষ্ট। এই টেবিলটি তৈরি করতে, আমি 25টি AMD Radeon GPU সমন্বিত একটি ক্লাস্টার সিস্টেম ব্যবহার করেছি।

অ্যালগরিদম

হ্যাশিংস পার সেকেন্ড

NTLM

350,000,000,000

MD5

180,000,000,000

কিভাবে আমার অ্যান্ড্রয়েড ফোন থেকে একজন হ্যাকারকে সরানো যায়

SHA1

63,000,000,000

SHA512Crypt

364,000

বিক্রিপ্ট

71,000

লিপি

33,000

আপনি দেখতে পাচ্ছেন, এই ধরনের একটি সিস্টেমের সাহায্যে আপনি প্রতি সেকেন্ডে 350 বিলিয়ন বার NTLM হ্যাশ তৈরি করতে পারেন। এর মানে হল আপনি 6 ঘন্টারও কম সময়ে একটি 8-অক্ষরের পাসওয়ার্ডের সমস্ত সমন্বয় চেষ্টা করতে পারেন। অধিকন্তু, এই উদাহরণের হার্ডওয়্যারটি কয়েক বছর আগের। আজকের পাসওয়ার্ড ক্র্যাক করার ক্ষমতা কল্পনা করুন।

সফটওয়্যার ডেভেলপারদের কি করা উচিত?

  একটি বিকাশকারী লেখার কোড

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

ডেভেলপাররা যদি এমন একটি সফ্টওয়্যার ফ্রেমওয়ার্ক নিয়ে কাজ করে যা পাসওয়ার্ড এনক্রিপশন প্রক্রিয়া যেমন জ্যাঙ্গো, রুবি অন রেল, এবং স্প্রিং সিকিউরিটি সম্বোধন করে, তাহলে তাদের উচিত নিরাপত্তার ক্ষেত্রে কাঠামোর মধ্যে সঠিক সিদ্ধান্ত নেওয়া হয়েছে কিনা।

উদাহরণ স্বরূপ, কৌশল , Ruby on Rails-এ ব্যবহারকারীর ক্রিয়াকলাপের জন্য সর্বাধিক ব্যবহৃত লাইব্রেরিগুলির মধ্যে একটি, ডিফল্ট হ্যাশ অ্যালগরিদম হিসাবে Bcrypt ব্যবহার করে৷ এটি আপনাকে হ্যাশ অ্যালগরিদম হিসাবে অন্য পদ্ধতি ব্যবহার করার অনুমতি দেয়। Bcrypt অ্যালগরিদম নির্ভরযোগ্য কারণ এটি এখনও GPU ভাঙতে অনেক সময় নেয়।

সংক্ষেপে, হ্যাশ মান গণনা যত বেশি সময় নেয়, আপনি তত বেশি নিরাপদ।

বিনা মূল্যে যেকোনো নেটওয়ার্কে আমার ফোন আনলক করুন

আপনার পাসওয়ার্ডে কতগুলি অক্ষর থাকা উচিত?

আপনার ব্যবহার করা প্রতিটি অতিরিক্ত অক্ষর জ্যামিতিকভাবে আপনার পাসওয়ার্ড ক্র্যাক করতে এবং আপনার পাসওয়ার্ডকে আরও সুরক্ষিত করতে প্রয়োজনীয় ট্রায়াল এবং ত্রুটির সংখ্যা বাড়িয়ে দেবে।

আসুন দুটি ভিন্ন পরিস্থিতির মাধ্যমে এই পরিস্থিতি বিবেচনা করা যাক। NTLM হ্যাশ অ্যালগরিদমের জন্য উপরের টেবিলের মানগুলি বিবেচনা করুন এবং কল্পনা করুন যে আপনি পাসওয়ার্ডটি ক্র্যাক করার চেষ্টা করবেন। আটটি বা তার বেশি অক্ষরের পাসওয়ার্ড লক্ষ্য করে কল্পনা করুন।

অক্ষরের সংখ্যা

বড়/ছোট হাতের অক্ষর এবং সংখ্যা

বড়/ছোট হাতের অক্ষর, সংখ্যা এবং বিশেষ চিহ্ন

8

1 মিনিটের কম

২ মিনিট

9

২ মিনিট

২ ঘন্টা

10

২ ঘন্টা

1 সপ্তাহ

এগারো

6 দিন

২ বছর

12

1 বছর

ক্রোম কি অনেক র‍্যাম ব্যবহার করে?

200 বছর

13

100 বছরেরও বেশি

1000 বছরেরও বেশি

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

সফ্টওয়্যার বিকাশকারীদের জন্য প্রধান সমস্যা হল যে ব্যবহারকারীদের ন্যূনতম 12-অক্ষরের পাসওয়ার্ড থাকতে রাজি করানো প্রায় অসম্ভব। আজ, এটা বলা সম্ভব যে এই দৈর্ঘ্যের পাসওয়ার্ড ব্যবহারের হার কম। অতএব, উন্নত সিস্টেমের ব্যবহার পরিস্থিতি অনুসারে, একটি মধ্যম স্থল খুঁজে বের করা প্রয়োজন যা ব্যবহারকারীদের দ্বারা গৃহীত হবে। তাদের পাসওয়ার্ড নিরাপত্তা উন্নত করতে .

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

শেষ ব্যবহারকারীদের পরামর্শ

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