গুরুতর নিরাপত্তা: MD5 ক্ষতিকারক হিসাবে বিবেচিত – $600,000 PlatoBlockchain ডেটা ইন্টেলিজেন্সের মতো। উল্লম্ব অনুসন্ধান. আ.

গুরুতর নিরাপত্তা: MD5 ক্ষতিকারক হিসাবে বিবেচিত – যা $600,000

ফরাসি তথ্য সুরক্ষা নিয়ন্ত্রক সিএনআইএল দ্বারা হস্তান্তরিত একটি আকর্ষণীয় আইনি আলোচনায় (কমিশন Nationale de l'Informatique et des Libertés), শক্তি কোম্পানি Électricité de France, বা সংক্ষেপে EDF, হয়েছে 600,000 ইউরো জরিমানা করা হয়েছে (প্রায় $600,000)।

আইনি ঘোষণা হল, এই ধরনের জিনিসগুলির পদ্ধতিতে, বরং দীর্ঘ এবং (অন-আইনজীবীদের কাছে, অন্ততপক্ষে) ভাষাগতভাবে অরোটান্ড, যার মানে আপনার সমস্ত ইনস এবং আউট বোঝার জন্য ফরাসি ভাষায় যুক্তিসঙ্গত দক্ষতা প্রয়োজন, তবে সামগ্রিক ক্ষেত্রে চার লঙ্ঘন নিচে ফোঁড়া.

প্রথম তিনটি গ্রাহকদের সাথে সাধারণ ডেটা-সম্পর্কিত ইন্টারঅ্যাকশনের সাথে সম্পর্কিত, কভার করে:

  • বাণিজ্যিক বিপণন ইমেল পাঠানো হচ্ছে যথাযথ সম্মতি ছাড়া।
  • তথ্য সংগ্রহ কি বা কেন তা স্পষ্ট না করে।
  • নির্ভরযোগ্যভাবে অনুরোধ পরিচালনা না যখন গ্রাহকরা তাদের ডেটা দেখতে বা এটি মুছে ফেলার জন্য জিজ্ঞাসা করেন।

কিন্তু এটিই শেষ অভিযোগ যা আমাদের আগ্রহকে বাড়িয়ে দিয়েছে: Sur le manquement à l'obligation d'assurer la securité des données.

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

MD5 ক্ষতিকারক বলে বিবেচিত

নিয়ন্ত্রক অন্যান্য বিষয়ের মধ্যে উল্লেখ করেছে যে, এটি একটি স্বীকৃত হ্যাশিং অ্যালগরিদম ব্যবহার করে পাসওয়ার্ড সল্টিং-এবং-পরে-হ্যাশ করার দাবি করা সত্ত্বেও, EDF-এর কাছে এখনও 25,000-এরও বেশি ব্যবহারকারীর পাসওয়ার্ড একটি একক MD5 হ্যাশ দিয়ে "সুরক্ষিত" ছিল জুলাই 2022 পর্যন্ত।

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

যদি হ্যাশগুলি মিলে যায়, তাহলে আপনি নিরাপদে অনুমান করতে পারেন যে পাসওয়ার্ডগুলি মেলে, প্রকৃত পাসওয়ার্ড সংরক্ষণ করার প্রয়োজন ছাড়াই৷

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

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

একইভাবে, একটি শালীন হ্যাশিং অ্যালগরিদম আপনাকে একটি পরিচিত হ্যাশ দিয়ে শুরু করতে এবং কিছু ইনপুট মান তৈরি করতে বাধা দেয় - যে কোনও ইনপুট, অগত্যা আসল পাসওয়ার্ড নয় - যা পছন্দসই হ্যাশ তৈরি করে।

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

কিন্তু MD5, আপনি সম্ভবত জানেন, সংঘর্ষের সাথে উল্লেখযোগ্য সমস্যা রয়েছে, যেমনটি এটি করে অবিলম্বে উত্তরসূরি SHA-1 (এই উভয় হ্যাশ 1990 এর দশকের প্রথম দিকে বেরিয়ে আসে)।

আজকাল, অ্যালগরিদম যে কোনও জায়গায়, যে কোনও উদ্দেশ্যে, যে কোনও উদ্দেশ্যে ব্যবহারের জন্য বাঞ্ছনীয় নয়, প্রদত্ত যে একই রকম কিন্তু এখনও-সুরক্ষিত বিকল্প রয়েছে যা সহজেই তাদের প্রতিস্থাপন করতে ব্যবহার করা যেতে পারে, যেমন SHA-256 এবং SHA-512:

MD5 হ্যাশ 128 বিট বা 16 বাইট, দীর্ঘ। SHA-256 এবং SHA-512 যথাক্রমে 2x এবং 4x লম্বা। কিন্তু এই অতিরিক্ত হ্যাশ দৈর্ঘ্য একা নয় যে তাদের আরও উপযুক্ত করে তোলে। MD5 এর উপর তাদের প্রাথমিক সুবিধা হল যে সংঘর্ষের সাথে তাদের কোন নির্দিষ্ট পরিচিত সমস্যা নেই, তাই তাদের ক্রিপ্টোগ্রাফিক নিরাপত্তা সাধারণত সন্দেহজনক হিসাবে বিবেচিত হয় না।

লবণাক্ত এবং প্রসারিত

সংক্ষেপে, আপনি কোনো কোম্পানির কাছে আশা করবেন না, EDF-এর মতো শক্তি সেক্টরের বেহেমথ, যেকোনো ক্রিপ্টোগ্রাফিক উদ্দেশ্যে MD5 ব্যবহার করবে, পাসওয়ার্ড সুরক্ষিত করার জন্য ছেড়ে দিন।

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

লবণের কারণটি সহজ: এটি নিশ্চিত করে যে সম্ভাব্য পাসওয়ার্ডের হ্যাশ মানগুলি আগাম গণনা করা যাবে না এবং তারপর আক্রমণে সাহায্য করার জন্য নিয়ে আসা যাবে না।

সল্টিং ছাড়া, প্রতিবার যেকোন ব্যবহারকারী পাসওয়ার্ড বেছে নেয় 123456, দুর্বৃত্তরা আগে থেকেই জানে এর হ্যাশ কি হবে।

এমনকি যদি ব্যবহারকারী আরও উপযুক্ত পাসওয়ার্ড বেছে নেয়, যেমন 34DF6467!Lqa9, আপনি আগেই বলতে পারেন যে এর MD5 হ্যাশ হবে 7063a00e 41866d47 f6226e60 67986e91.

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

লবণ দেওয়ার অর্থ হল আপনার একটি সম্পূর্ণ, পূর্বনির্ধারিত রংধনু টেবিলের প্রয়োজন হবে প্রতিটি ব্যবহারকারীর জন্য (টেবিলটি লবণ + পাসওয়ার্ডের সংমিশ্রণ দ্বারা নির্ধারিত হয়), এবং আপনি প্রতিটি রংধনু টেবিল গণনা করতে সক্ষম হবেন না – এমন একটি কাজ যা কয়েক সপ্তাহ সময় নিতে পারে এবং ডিস্কের টেরাবাইট স্থান দখল করতে পারে – যতক্ষণ না আপনি লবণ পুনরুদ্ধার না করেন,

কিন্তু আপনাকে আরও অনেক কিছু করতে হবে।

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

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

বারবার যোগ করার বিপরীতে, যেখানে আপনি প্রতিস্থাপন করতে শর্টকাট হিসাবে একটি একক গুণ ব্যবহার করতে পারেন, বলুন, 5×5 সহ গণনা 5+5+5+5+6, বারবার হ্যাশের জন্য কোনও শর্টকাট নেই। একটি ইনপুট 5 বার হ্যাশ করতে ক্রিপ্টোগ্রাফিক ক্যালকুলেশন হ্যান্ডেলের 1000টি "বাঁক" প্রয়োজন।

শুধু একটি MD5 সমস্যা নয়

হাস্যকরভাবে, এটা মনে হয় যে যদিও EDF-এর শুধুমাত্র MD25,800-এর সাথে 5টি পাসওয়ার্ড হ্যাশ করা হয়েছে, এবং তার প্রতিরক্ষায় দাবি করেছে যে এটি বেশিরভাগ ক্ষেত্রে SHA-512 ব্যবহার করছে, তবুও এটি সবসময় সঞ্চিত হ্যাশগুলিকে সল্টিং বা প্রসারিত করে না।

নিয়ন্ত্রক রিপোর্ট করেছে যে 11,200,000টি পাসওয়ার্ড সঠিকভাবে সল্ট-এবং-হ্যাশ করা হয়েছে, কিন্তু তবুও 2,400,000টি ছিল যেগুলি সরাসরি একবার হ্যাশ করা হয়েছে, তা MD5 বা SHA-512 দিয়েই হোক না কেন।

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

আমরা নিশ্চিত হতে পারি না যে রায়ে শুধুমাত্র দুর্বল হ্যাশিং জড়িত থাকলে কী জরিমানা আরোপ করা হত, এবং শুরুতে তালিকাভুক্ত অন্য তিনটি ডেটা সুরক্ষা অপরাধের জন্য EDF-কেও উত্তর দিতে হতো না...

…কিন্তু এটি দেখায় যে খারাপ ক্রিপ্টোগ্রাফিক পছন্দগুলি একাধিক উপায়ে আপনার অর্থ ব্যয় করতে পারে!

কি করো?

আপনার গ্রাহকদের পাসওয়ার্ড সংরক্ষণ করুন নিরাপদে!

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

একটি পাসওয়ার্ড পুনরুদ্ধার আক্রমণ যা সাধারণ এক-শট হ্যাশ হিসাবে সংরক্ষিত 10% পাসওয়ার্ড বের করতে এক সপ্তাহ সময় নিতে পারে, তাত্ত্বিকভাবে, 200 বছর (10,000 সপ্তাহ) সময় লাগতে পারে যদি আপনি প্রতিটি ট্রায়াল পাসওয়ার্ড কম্পিউট করার খরচ 10,000 গুণ কঠিন করেন .

পড়ুন আমাদের চমৎকার ব্যাখ্যাকারী নিবন্ধ এই বিষয়ের উপর:

সংক্ষেপে, আমরা সুপারিশ PBKDF2 সঙ্গে "প্রসারিত" অ্যালগরিদম SHA-256 এর মূল হ্যাশ হিসাবে, প্রতি-ব্যবহারকারী র্যান্ডম সহ salt of 16 bytes (128 বিট) বা তার বেশি।

এটি সিএনআইএল-এর সর্বশেষ রায়ের সুপারিশের সাথে মিলে যায়।

CNIL PBKDF2 পুনরাবৃত্তির সংখ্যার জন্য পরামর্শ দেয় না, তবে আপনি যেমন আমাদের নিবন্ধে দেখতে পাবেন, আমাদের পরামর্শ (অক্টোবর 2022) ব্যবহার করার জন্য 200,000 or more. (কম্পিউটিং শক্তি বৃদ্ধির সাথে সাথে আপনি নিয়মিত লুপের সংখ্যা বাড়াতে পারেন।)

আপনি যদি PBKDF2 ব্যবহার করতে না চান, তাহলে আমরা অ্যালগরিদম পড়ার পরামর্শ দিই bcrypt, scrypt এবং Argon2 আপনাকে একটি বুদ্ধিমান পছন্দ করতে সাহায্য করার জন্য।

ক্রিপ্টোগ্রাফিক দুষ্টু পদক্ষেপে ধরা পড়ে যাবেন না!


সময় স্ট্যাম্প:

থেকে আরো নগ্ন সুরক্ষা