SHA-1 পাসওয়ার্ড স্টোরেজ জন্য নিরাপদ?


148

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


কিছু লোক "SHA-1 ভাঙা" এর মত মন্তব্যগুলিকে ঘিরে ফেলেছে, তাই আমি এর সঠিক অর্থটি বোঝার চেষ্টা করছি। ধরে নেওয়া যাক আমার কাছে SHA-1 পাসওয়ার্ড হ্যাশগুলির একটি ডাটাবেস রয়েছে এবং একটি আক্রমণকারী যেখানে শিল্পের রাজ্য SHA-1 ব্রেকিং অ্যালগরিদম এবং 100,000 মেশিন সহ একটি বোটনেট এতে অ্যাক্সেস পেয়েছে। (100k হোম কম্পিউটারের উপর নিয়ন্ত্রণ থাকার অর্থ হ'ল তারা প্রতি সেকেন্ডে 10 ^ 15 অপারেশন করতে পারে)) তাদের কতটা সময় লাগবে

  1. কোন এক ব্যবহারকারীর পাসওয়ার্ড খুঁজে পেতে?
  2. কোনও প্রদত্ত ব্যবহারকারীর পাসওয়ার্ড সন্ধান করবেন?
  3. সব ব্যবহারকারীর পাসওয়ার্ড খুঁজে পাও?
  4. ব্যবহারকারীর একজন হিসাবে লগ ইন করার জন্য কোন উপায় খুঁজে পাচ্ছেন?
  5. একটি নির্দিষ্ট ব্যবহারকারী হিসাবে লগ ইন একটি উপায় খুঁজে পেতে?

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

কিছুটা গুগল করার পরে এখানে আমার বর্তমান বোঝাপড়া। আমি কিছু ভুল বুঝে থাকলে উত্তরগুলি সংশোধন করুন।

  • যদি কোনও লবণ না থাকে তবে একটি রেইনবো আক্রমণ তত্ক্ষণাত্ সমস্ত পাসওয়ার্ড খুঁজে পাবে (অত্যন্ত দীর্ঘ ব্যতীত)।
  • যদি পর্যাপ্ত দীর্ঘ এলোমেলো লবণ থাকে তবে পাসওয়ার্ডগুলি সন্ধান করার সবচেয়ে কার্যকর উপায় হ'ল হিংস্র শক্তি বা অভিধান আক্রমণ। সংঘর্ষ বা প্রাক প্রাক আক্রমণগুলি প্রকৃত পাসওয়ার্ড সন্ধানে কোনও সহায়তা নয়, সুতরাং এসএএ -১ এর বিরুদ্ধে ক্রিপ্টোগ্রাফিক আক্রমণগুলি এখানে কোনও সহায়তা নয়। এমনকি অ্যালগরিদম কী ব্যবহার করা হয় তা বিবেচ্য নয় - কেউ এমডি 5 বা এমডি 4 ব্যবহার করতে পারে এবং পাসওয়ার্ডগুলি ঠিক ততটাই নিরাপদ হবে (কিছুটা পার্থক্য আছে কারণ একটি এসএএএ -1 হ্যাশ গণনা করা ধীর) is
  • "ঠিক যেমন নিরাপদ" কীভাবে নিরাপদ তা মূল্যায়নের জন্য, ধরে নেওয়া যাক যে একটি একক sha1 রান 1000 টি অপারেশন নেয় এবং পাসওয়ার্ডগুলিতে বড় হাতের অক্ষর, ছোট হাতের অক্ষর এবং অঙ্কগুলি (যা 60 অক্ষর) ধারণ করে। এর অর্থ আক্রমণকারী একটি দিনে 10 15 * 60 * 60 * 24/1000 ~ = 10 17 সম্ভাব্য পাসওয়ার্ড পরীক্ষা করতে পারে । নৃশংস বাহিনীর আক্রমণে এর অর্থ হ'ল সমস্ত পাসওয়ার্ড 3 ঘন্টা 9 ঘন্টা, এক সপ্তাহে 10 টি অক্ষর, এক বছরে 11 টি অক্ষর পর্যন্ত পরীক্ষা করা testing (এটি প্রতিটি অতিরিক্ত চরিত্রের জন্য 60০ গুণ বেশি সময় নেয় A) অভিধানের আক্রমণটি অনেক বেশি দ্রুত (একক কম্পিউটারের সাথে আক্রমণকারীও কয়েক ঘন্টার মধ্যে এটি সরিয়ে ফেলতে পারে), তবে কেবল দুর্বল পাসওয়ার্ডগুলি খুঁজে পায়।
  • ব্যবহারকারী হিসাবে লগ ইন করতে, আক্রমণকারীটির সঠিক পাসওয়ার্ড খুঁজে বের করার প্রয়োজন নেই; একটি স্ট্রিং সন্ধান করা যথেষ্ট যা একই হ্যাশের ফলাফল। একে প্রথম প্রিমেজ আক্রমণ বলা হয়। আমি যতদূর জানতে পেরেছি, SHA-1 এর বিরুদ্ধে কোনও প্রিমাইজ আক্রমণ নেই। (একটি ব্রুটফোর্স আক্রমণে 2 160 টি অপারেশন লাগবে , যার অর্থ আমাদের তাত্ত্বিক আক্রমণকারীটিকে এটিকে টানতে 10 30 বছর প্রয়োজন হবে the তাত্ত্বিক সম্ভাবনার সীমাবদ্ধতা প্রায় 2 60 অপারেশন, যাতে আক্রমণে কয়েক বছর সময় লাগবে would) প্রাক-আক্রমণাত্মক আক্রমণ রয়েছে উপেক্ষিত প্রভাব সহ SHA-1 এর হ্রাস সংস্করণগুলির বিরুদ্ধে (হ্রাস SHA-1 যা 80 এর পরিবর্তে 44 টি পদক্ষেপ ব্যবহার করে, আক্রমণ সময় 2 160 অপারেশন থেকে কমিয়ে 157 এ চলেছে)। সেখানে যা তাত্ত্বিক সম্ভাবনা (মধ্যে ভাল হয় রয়েছে SHA-1 বিরুদ্ধে সংঘর্ষের আক্রমণ চালাচ্ছে সেরা আমি দেখেছি 2 থেকে সময় নিচে নিয়ে আসে 80 2 52 ), কিন্তু সেই পাসওয়ার্ড হ্যাশ বিরুদ্ধে নিষ্প্রয়োজন, এমনকি salting ছাড়া।

সংক্ষেপে, SHA-1 এর সাথে পাসওয়ার্ডগুলি সংরক্ষণ করা পুরোপুরি নিরাপদ বলে মনে হচ্ছে। আমি কি কিছু রেখে গেলাম?

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


এটি এখন 7 বছরের পুরানো এবং এটি সর্বশেষ সম্পাদনার পরে অনেক কিছু ঘটেছে। SHA-1 আর পাসওয়ার্ড হ্যাশিংয়ের জন্য পর্যাপ্ত সুরক্ষিত হিসাবে বিবেচিত হয় না
গর্ডনএম

@ গর্ডনএম কি হয়েছে? কম্পিউটিং পাওয়ার বৃদ্ধির সাথে সাথে SHA-1 সংঘর্ষের আক্রমণ আরও বেশি ব্যবহারিক হয়ে উঠছে তবে তারা এখানে সত্যিই প্রাসঙ্গিক নয়। SHA-1 কখনই পাসওয়ার্ড হ্যাশিংয়ের জন্য সত্যই নিরাপদ ছিল না (দ্রুত হ্যাশগুলি সাধারণত হয় না), তবে এটি যে পরিমাণ ছিল তা এখনও আফিক।
Tgr

SHA-1 কখনই পাসওয়ার্ড হ্যাশিংয়ের জন্য সুরক্ষিত ছিল না কারণ এটি পাসওয়ার্ডগুলি প্রথম স্থানে সুরক্ষিত করার
ইচ্ছাকৃত

উত্তর:


209

আপনার প্রশ্নের সংক্ষিপ্ত উত্তর হ'ল SHA-1 আপনি পেতে যতটা নিরাপদ। MD5 খুব জরিমানা হবে, এমনকি MD4; তবে এটি কিছু বিনিয়োগকারীকে উদ্বিগ্ন করতে পারে। জনসংযোগের জন্য , একটি "আরও ভাল" হ্যাশ ফাংশন ব্যবহার করা ভাল, যেমন SHA-256, এমনকি যদি আপনি এর আউটপুটটি 160 বা 128 বিট (স্টোরেজ ব্যয় বাঁচাতে) কেটে দেন। তর্কযোগ্যভাবে "আরও সুরক্ষিত" থাকাকালীন কিছু SHA-3 রাউন্ড -2 প্রার্থী SHA-1 এর চেয়ে দ্রুত বলে মনে হয়; তবুও তারা এখনও কিছুটা নতুন, তাই SHA-256 বা SHA-512 এ আঁকানো এখনই একটি নিরাপদ রুট হবে। এটি আপনাকে পেশাদার এবং সতর্ক দেখায়, যা ভাল।

মনে রাখবেন যে "আপনি যতটা সুরক্ষিত পেতে পারেন" "পুরোপুরি নিরাপদ" এর মতো নয়। বরং দীর্ঘতর ব্যাখ্যার জন্য নীচে দেখুন।

পরিচিত আক্রমণ সম্পর্কে:

এমডি 4, এমডি 5 এবং এসএএএ -1 এর পরিচিত আক্রমণগুলি সংঘর্ষ সম্পর্কে, যা প্রিমেজ প্রতিরোধকে প্রভাবিত করে না। দেখা গেছে যে এমডি 4 এর কয়েকটি দুর্বলতা রয়েছে যা এইচএমএসি / এমডি 4 ভাঙার চেষ্টা করার সময় (কেবল তাত্ত্বিকভাবে) শোষণ করা যেতে পারে, তবে এটি আপনার সমস্যার ক্ষেত্রে প্রযোজ্য না। 2 106 Kesley এবং Schneier দ্বারা কাগজে দ্বিতীয় preimage আক্রমণ একটি জেনেরিক ট্রেড বন্ধ শুধুমাত্র খুব দীর্ঘ ইনপুট (2 প্রযোজ্য যা 60 কিভাবে 106 + + 60 160 ছাড়িয়ে গেছে বিজ্ঞপ্তি - একটি মিলিয়ন টেরাবাইট যে; যে যেখানে আপনি দেখতে বাইট বাণিজ্য বন্ধ এর কোন জাদু নেই)।

এই বার্তার বাকী অংশটি ধরে নিয়েছে যে আপনি যে হ্যাশ ফাংশনটি ব্যবহার করেন (যেমন SHA-1) এটি একটি "কালো বাক্স" যা কোনও বিশেষ সম্পত্তি যা আক্রমণকারী ব্যবহার করতে পারে with "ভাঙা" হ্যাশ ফাংশন MD5 এবং SHA-1 দিয়ে আপনার এখনই এটি রয়েছে what

রংধনু টেবিল সম্পর্কে:

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

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

  1. প্রতিটি পাসওয়ার্ড ক্র্যাক করার জন্য হিংস্র বল / অভিধান আক্রমণে এন ব্যয় হয় cost
  2. একটি প্রাক-গণিত টেবিল সহ, আক্রমণকারী একবার N এর জন্য মূল্য দেয় এবং তারপরে পাসওয়ার্ডের জন্য খুব কম অতিরিক্ত ব্যয়ে অনেকগুলি পাসওয়ার্ড আক্রমণ করতে পারে।
  3. প্রাক-গণিত টেবিলটি যদি একটি রংধনু টেবিল হয় তবে এন কিছুটা বড় হতে পারে, কারণ স্টোরেজ ব্যয় হ্রাস পেয়েছে। এন- এ বিড়ম্বনা সিপিইউ পাওয়ার হয়ে যায় যা আক্রমণকারী তার হার্ডডিস্কগুলির আকার নয়, সংগ্রহ করতে পারে।

তাহলে এন বৃহৎ যথেষ্ট যে হ্যাশ এর CPU- র খরচের হয় এন পাসওয়ার্ড হাস্যকর হয়, তাহলে এই ধরনের আক্রমণ নয় সম্ভবপর কিনা রামধনু টেবিল ব্যবহার করা হয় নির্বিশেষে বা না। এর অর্থ হ'ল 80 বিট বা তার বেশি আউটপুট সহ একটি (প্রিমেজ-রেজিস্ট্যান্ট) হ্যাশ ফাংশনটি ব্রুট-ফোর্স আক্রমণটিকে অনিবার্য করতে যথেষ্ট।

লবণের বিষয়ে:

সল্ট প্রাক-গণনা পরাস্ত করার একটি উপায়। উপরের বিবরণে, লবণ আক্রমণকারীকে 1 ধাপে ফিরিয়ে দেয়: সল্টিং আক্রমণকারীকে বেশ কয়েকটি আক্রমণাত্মক পাসওয়ার্ডের মধ্যে ও ( এন ) ব্যয় ভাগ করে নেওয়া থেকে বাধা দেয় । প্রাক-গণনা সারণী, একটি ফোর্টিওরি রেনবো টেবিল, আর সম্ভব হয় না।

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

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

এছাড়াও, সল্টিং জনসংযোগের জন্য ভাল।

SHA-1 খরচ সম্পর্কে:

SHA-1 এর প্রাথমিক ব্যয়টি একটি 64-বাইট ব্লক হ্যাশ করার বিষয়ে। এইভাবে SHA-1 কাজ করে: ডেটা প্যাড করা হয়, তারপরে 64৪-বাইট ব্লকে বিভক্ত হয়। একটি একক ব্লক প্রক্রিয়াকরণের ব্যয় একটি ইন্টেল কোর 2 সিস্টেমে প্রায় 500 টি ক্লক চক্র এবং এটি একটি একক মূলের জন্য। MD5 এবং MD4 দ্রুত, যথাক্রমে 400 এবং 250 চক্র গণনা করুন। ভুলে যাবেন না যে বেশিরভাগ আধুনিক সিপিইউতে কয়েকটি কোর রয়েছে, সুতরাং সেই অনুযায়ী গুণ করুন।

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

অনলাইন আক্রমণ সম্পর্কে:

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

সাধারণত, পাসওয়ার্ড সুরক্ষার জন্য, আক্রমণকারীটিকে একটি অফলাইন আক্রমণ তৈরি না করার জন্য সিস্টেমটিকে সাজানোর জন্য এটি অনেক বেশি অর্থ প্রদান করে। ইউনিক্স সিস্টেমগুলি /etc/passwordএগুলি করে : হ্যাশ পাসওয়ার্ডগুলি, যা বিশ্ব-পঠনযোগ্য ফাইলে ব্যবহৃত হত , এখন সেই /etc/shadowফাইলটিতে রয়েছে যা কয়েকটি সুবিধাযুক্ত অ্যাপ্লিকেশন ব্যতীত পাঠ্য অ্যাক্সেসের বিরুদ্ধে সুরক্ষিত। এখানে অনুমান করা হয় যে আক্রমণকারী যদি পড়তে পারে /etc/shadowতবে তার সম্ভবত সিস্টেমে যথেষ্ট নিয়ন্ত্রণ রয়েছে যে তার আর পাসওয়ার্ডের দরকার নেই ...


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

1
@ থমাস এটি সঠিক রয়ে গেছে এবং সম্ভবত অনির্দিষ্ট অদূর ভবিষ্যতের জন্য সঠিক থাকবে। হ্যাকাররা সাধারণ পাসওয়ার্ডের নিম্নমানের কারণে যেকোন ধরণের হ্যাশিংয়ের মাধ্যমে প্রকৃত পাসওয়ার্ডগুলি অনুমান করতে পারে । "123456" অনুমান করুন এবং আপনি সর্বদা কয়েকটি হিট পাবেন। আপনি যে পাসওয়ার্ড স্টোরেজ ব্যবহার করেন না কেন এটি সত্যই থাকবে।
টাইলার

1
কেবল আমার দৃষ্টিকোণ, তবে শক্তিশালী পাসওয়ার্ড এনক্রিপশন ইতিমধ্যে ব্যাপকভাবে উপলব্ধ থাকলে আপনি কেন SHA1 এর সাথে লেগে থাকবেন? এক বছর আগে, এমডি 5 কে "সুরক্ষিত" হিসাবে বিবেচনা করা হত, এবং এখন তা নয় - SHA1 এর কোনও দিন এখন ঘটতে পারে, যা আমরা জানি for ব্যক্তিগতভাবে, আমি এই বিন্দু থেকে ব্লোফিশের উপরে বাজি ধরতে যাচ্ছি - মনে হচ্ছে এটি ক্রিপ্টো-সম্প্রদায়ের আরও ভাল প্রতিনিধি এবং কম সম্পর্কিত বিশেষজ্ঞ রয়েছে, এটি প্রায় কোথাও উপলব্ধ, তাই এসএএএ 1 এর সাথে জুয়া খেলার কোনও কারণ নেই।
mindplay.dk

1
@ থমাসপর্নিনের উত্তরের উত্তরটি পেয়ে আমি ভেবে আমার মর্মাহত হয়েছি যে এমডি 5 পাসওয়ার্ড স্টোরেজের জন্য সুরক্ষিত। এমডি 5 ঠিকঠাক থাকলে, কেন সকলেই বলে যে এটি ব্যবহার করবেন না, বিসিক্রিপ ব্যবহার করবেন ?? তারা কি অতিরিক্ত যত্নশীল হচ্ছে? আমি সবকিছু পড়েছি এবং বুঝতে পেরেছি এবং এমডি 5 এর খুব বেশি খারাপ প্রভাবের ছাপের মধ্যে ছিল কারণ নৃশংস বাহিনীর পক্ষে এতটা দুর্বল। এক বছর আগের হিসাবে মন্তব্যগুলি উত্তরটির সাথে খণ্ডন করে না ...
অস্থায়ী_ ব্যবহারকারী_নাম

1
@ অ্যারোভিস্টে: আপনি সিকিউরিটি.এসই সাইটে সেই উত্তরটি দেখতে চাইতে পারেন ; এতে পাসওয়ার্ড হ্যাশিং সম্পর্কিত আরও বিশ্লেষণ এবং সাম্প্রতিক বিশদ রয়েছে।
থমাস পর্নিন

30

পূর্ববর্তী উত্তরগুলিতে জিপিইউগুলির কোনও উল্লেখ করা যায় না, যা এসএএএ -১ এর সাথে সমান্তরাল করে তুলতে পারে যে পুরো ডেটাবেসকে এখন কয়েক মিনিট বা কয়েক ঘন্টার মধ্যে জোর করে জোর করা যেতে পারে, এমনকি পাসওয়ার্ডগুলি লবণের পরেও।

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

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

আরও পড়ার জন্য:


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

4
আপনি কী জিপিইউ ব্যবহার করবেন দয়া করে আমাকে জানান, আমি একইটি কিনব। যদি আপনি "মিনিট" এর মধ্যে 2 ^ 160 SHA-1 গণনা করতে পারেন (এটি "ঘন্টা" এর চেয়ে কম হবে, সুতরাং সর্বাধিক 59 মিনিট), আপনাকে প্রতি সেকেন্ডে 10 ^ 44 এর বেশি পারফর্ম করতে সক্ষম হতে হবে। যেহেতু PCIe প্রায় 128GT / s এ ক্যাপ স্থানান্তর করে, আপনার জিপিইউতে অবশ্যই বোর্ডের মেমরিটি দুর্দান্ত। আমি ইহা চাই.
দামন

3
@ ড্যামন: আপনি ধরেই নিচ্ছেন যে ব্যবহারকারীদের "তুচ্ছ" পাসওয়ার্ড (এনট্রপির <8 বিট) বা "অবিচ্ছেদ্য" পাসওয়ার্ড (> 60 বিট এনট্রপি) রয়েছে। যার পাসওয়ার্ড এনট্রপি 10-60 বিট সীমার মধ্যে রয়েছে তাদের মধ্যে আপনি সবাইকে সম্পূর্ণ উপেক্ষা করছেন। সেই ব্যবহারকারীরা যেখানে বিক্রিপ্ট, রেইনবো টেবিল এবং জিপিইউ রয়েছে এবং তারা সাধারণত একটি সাধারণ ব্যবহারকারী বেসের প্রায় 80% অংশ নিয়ে গঠিত make
জ্যামাইক্যাকস

1
(ওহো ... আমার বলা উচিত ছিল, "সেই ব্যবহারকারীরা যেখানে বিক্রিপ্ট, রেইনবো টেবিল এবং জিপিইউ সবচেয়ে বড় পার্থক্য রাখে")
জ্যামাইক্যাক্স

3
কিছু পরিসংখ্যান এবং বিশ্লেষণের জন্য দেখুন troyhunt.com/2011/06/b ব্রিফ- সনি- পাসওয়ার্ড- অ্যানালাইসিস এইচটিএমএল - যখন ব্যবহারকারীদের 36% পাসওয়ার্ড অভিধানে প্রদর্শিত পাসওয়ার্ড চয়ন করেন, কেবল ২-৩% সবচেয়ে সাধারণ পছন্দ করেন।
জ্যামাইক্যাক্স

7

আপনার বর্ণনাটি শিল্পের বর্তমান অবস্থার জন্য নির্ভুল মনে হচ্ছে।

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

আদর্শভাবে, তবে আপনার বিদ্যমান পাসওয়ার্ড স্টোরেজ আদিম ব্যবহার করা উচিত, যেমন এখানে বর্ণিত ।


হাজার হাজার বার আইট্রেট করা আপনার ধারণা হিসাবে ততটা ভাল ধারণা নয়। এটি হ্যাশের সংঘর্ষের ঝুঁকি বাড়ায়। yorickpeterse.com/articles/use-bcrypt-fool
জ্যামাইক্যাক্স

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

7

SHA1 একটি বার্তা হজম , এটি কখনও পাসওয়ার্ড-হ্যাশিং (বা কী-ডেরাইভেশন) ফাংশন বোঝানো হয়নি । (যদিও এটি কোনও কেডিএফের জন্য বিল্ডিং ব্লক হিসাবে ব্যবহার করা যেতে পারে, যেমন এইচএমএসি-এসএএএএ 1 সহ পিবিকেডিএফ 2 তে))

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

বর্তমানে, সেরা পছন্দটি সম্ভবত আরগন 2 । পাসওয়ার্ড হ্যাশিং ফাংশনের এই পরিবারটি 2015 সালে পাসওয়ার্ড হ্যাশিং প্রতিযোগিতা জিতেছে।

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

উইকিপিডিয়ায় এই ফাংশনগুলির জন্য পৃষ্ঠা রয়েছে:


4

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

মূল 2005 এর ফলাফল সম্পর্কিত এই নিবন্ধ থেকে :

"হাঁটার সময় হয়েছে, তবে দৌড়াতে হবে না, আগুন থেকে বেরিয়ে আসার সময় smoke

এটি এমন নয় যে বর্তমান ক্রিপ্ট্যানালাইসিস SHA-1টিকে অনিরাপদ করে তুলেছে, বরং ক্রিপ্টো সম্প্রদায়টি আশঙ্কা করছে যে আরও খারাপ খবর সম্ভবত কোণার কাছাকাছি হতে পারে। এই ভয়টি SHA-2 এর ক্ষেত্রেও প্রযোজ্য, যা SHA-1 এর মতো একই ত্রুটিগুলি প্রদর্শন করে, বৃহত্তর অনুসন্ধানের জায়গাগুলি সত্ত্বেও, SHA-3 এর জন্য চলমান অনুসন্ধান

সংক্ষেপে, SHA-1 এখনই নিরাপদ, এবং সম্ভবত কিছু সময়ের জন্য আসবে, তবে ক্রিপ্টো সম্প্রদায়টি প্রাগনোসিসটি নিয়ে অস্বস্তিকর।


আপনি একটি লিঙ্ক প্রদান করতে পারে? যেমনটি আমি বলেছিলাম, সেরা প্রিমাইজ আক্রমণটি আমি সন্ধান করতে সক্ষম হয়েছি 8 বার দ্রুততর অনুসন্ধান এবং এমনকি এটির জন্য আপনাকে SHA-1 এর অর্ধেক পদক্ষেপ বাদ দিতে হবে। (এছাড়াও, আমি মনে করি এটি একটি দ্বিতীয় প্রাইমেজ আক্রমণ, যা পাসওয়ার্ড হ্যাশগুলির বিরুদ্ধে অকার্যকর))
টিজিআর

আমি সাম্প্রতিক খবরের আলোকে এনএসএ থেকে আসা এমন কিছু বিষয়েও সন্দেহ করি :)
অ্যালেক্স ডব্লিউ

4

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

সম্পাদনা: অন্যদের দ্বারা নির্দেশিত হিসাবে, পাসওয়ার্ডগুলি হ্যাশের সংঘর্ষের আক্রমণে ঝুঁকিপূর্ণ নয়। তবে সাধারণ নির্দেশিকা হিসাবে আমি সুরক্ষা-সম্পর্কিত অ্যাপ্লিকেশনগুলির জন্য SHA-1 পছন্দ করব না। আরও ভাল বিকল্প আছে।


ঠিক আছে, একটি SHA-1 সংঘর্ষের সন্ধান করতে প্রায় 6,500 সিপিইউ বছর এবং 100 জিপিইউ বছর লেগেছিল , এটি কোনও উত্পাদন আক্রমণ নয়। পাসওয়ার্ড ক্র্যাক করা সমস্ত সম্ভাব্য ইনপুটগুলির বিরুদ্ধে নয় তবে 10,000,000 ঘন ঘন পাসওয়ার্ডের তালিকার বিরুদ্ধে। এই কাগজ এখানে
zaph

1
ত্রুটিগুলি পাসওয়ার্ডগুলি সুরক্ষিত করতে কেবল কোনও হ্যাশ ফাংশন ব্যবহার করছে। কেবল একটি হ্যাশ ফাংশন ব্যবহার করা পর্যাপ্ত নয় এবং সুরক্ষার উন্নতি করতে কেবল একটি লবণ যোগ করা সামান্য কাজ করে, ক্রিপ্টোগ্রাফিক হ্যাশগুলি খুব দ্রুত। পরিবর্তে প্রায় 100 মিমি সময়ের জন্য একটি এলোমেলো লবণের সাথে এইচএমএসি দিয়ে পুনরাবৃত্তি করুন এবং হ্যাশ দিয়ে লবণ সংরক্ষণ করুন। যেমন ফাংশন ব্যবহার PBKDF2(ওরফে Rfc2898DeriveBytes), password_hash/ password_verify, Bcryptএবং অনুরূপ ফাংশন। মোদ্দা কথাটি হ'ল আক্রমণকারী হিংস্র বলের দ্বারা পাসওয়ার্ড খুঁজতে অনেক সময় ব্যয় করে। আপনার ব্যবহারকারীদের সুরক্ষা গুরুত্বপূর্ণ, দয়া করে সুরক্ষিত পাসওয়ার্ড পদ্ধতি ব্যবহার করুন।
zaph

সংঘর্ষ পূর্বরূপ নয় এবং পাসওয়ার্ড স্বাক্ষর নয়। সংঘর্ষের আক্রমণগুলি পাসওয়ার্ডগুলির বিরুদ্ধে কাজ করে না কারণ তাদের মূল প্লেইসটেক্সের জ্ঞান প্রয়োজন।
Tgr

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

3

যদি আপনি লবণের পাসওয়ার্ডটি সংরক্ষণ করেন তবে SHA-1 ব্যবহারিক উদ্দেশ্যে ভাল। SHA-2 কে আরও সুরক্ষিত হিসাবে বিবেচনা করা হয় তবে SHA-1 কোনও সমস্যা নয় যদি না আপনার কাছে সত্যিকারের বিড়ম্বনার কারণ হয়।

এনআইএসটি যা বলে তা এখানে :

SHA-1 এ এখন পর্যন্ত উপস্থাপিত ফলাফলগুলি এর সুরক্ষাটিকে প্রশ্নবিদ্ধ করে না। তবে প্রযুক্তিতে অগ্রগতির কারণে, এনআইএসটি ২০১০ সালের মধ্যে আরও বড় এবং শক্তিশালী হ্যাশ ফাংশনের (এসএএ -২২৪, এসএএচ -২66, এসএএই -384 এবং এসএএচ -512) এর পক্ষে SHA-1 এর বাইরে যাওয়ার পরিকল্পনা করেছে।


যে 2004. তাদের কাছ থেকে একটি, NIST মন্তব্য 2010 খসড়া সুপারিশ বলেছেন রয়েছে SHA-1 পরলোক 2010 সমস্ত অ-ডিজিটাল স্বাক্ষর প্রজন্ম অ্যাপ্লিকেশনের জন্য অনুমোদিত হয়
Tgr
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.