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