Select Language

গোপনীয়তা-সংরক্ষণকারী পাসওয়ার্ড ক্র্যাকিং: নিরাপদ হ্যাশ পুনরুদ্ধারের জন্য একটি প্রোটোকল

প্রিডিকেট এনক্রিপশন এবং ডিকয় হ্যাশ ব্যবহার করে, হ্যাশ বা ক্লিয়ারটেক্সট প্রকাশ না করে তৃতীয় পক্ষের পাসওয়ার্ড হ্যাশ ক্র্যাকিং সক্ষমকারী 3PC প্রোটোকলের বিশ্লেষণ।
strongpassword.org | PDF আকার: 4.6 MB
রেটিং: 4.5/৫
আপনার রেটিং
আপনি ইতিমধ্যে এই নথিটি রেট করেছেন
PDF নথির প্রচ্ছদ - গোপনীয়তা-সংরক্ষণকারী পাসওয়ার্ড ক্র্যাকিং: নিরাপদ হ্যাশ পুনরুদ্ধারের জন্য একটি প্রোটোকল

বিষয়সূচী

১. ভূমিকা

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

২. The 3PC Protocol

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

2.1 Core Mechanism & Predicate Function

প্রোটোকলটি হ্যাশ ফাংশনের জন্য অভিযোজিত, predicate encryption ধারণার উপর নির্মিত। ক্লায়েন্ট লক্ষ্য হ্যাশ $H(p)$ সরাসরি পাঠায় না। পরিবর্তে, এটি একটি anonymity set প্রকৃত হ্যাশের সাথে $k-1$টি সতর্কভাবে নির্মিত ডিকয় হ্যাশ মিশ্রিত করে। তৃতীয় পক্ষের সার্ভারের ভূমিকা হল ক্র্যাক করা সব একটি প্রদত্ত পাসওয়ার্ড অভিধান বা নিয়ম সেট ব্যবহার করে এই সেটের হ্যাশগুলি।

কী হল predicate function $f$। সার্ভার অজ্ঞাতনামা সেটের প্রতিটি হ্যাশের বিপরীতে একটি প্রার্থী পাসওয়ার্ড $p'$ মূল্যায়ন করে। ফাংশনটি এমনভাবে সংজ্ঞায়িত করা হয়েছে যে $f(H(p'), H_i) = 1$ যদি এবং কেবল যদি $H(p')$ সেটের হ্যাশ $H_i$ এর সাথে মেলে। সার্ভার সেই প্রার্থী পাসওয়ার্ডগুলির সেট ফেরত দেয় যা এর জন্য $f=1$ পূরণ করে যেকোনো সেটে থাকা হ্যাশ, নির্দিষ্ট কোন হ্যাশের (প্রকৃত নাকি ডিকয়) সাথে মিল পাওয়া গেছে তা না জেনেই।

2.2 Decoy Hash Generation & Anonymity Set

বিশ্বাসযোগ্য ডিকয় তৈরি করা নিরাপত্তার জন্য অত্যন্ত গুরুত্বপূর্ণ। সার্ভারের কাছে ডিকয় হ্যাশগুলি প্রকৃত হ্যাশ থেকে আলাদা করা সম্ভব না হওয়া আবশ্যক। গবেষণাপত্রটি লক্ষ্য হ্যাশ ফাংশনের (যেমন, NTLM, SHA-256) আউটপুট স্পেসের সাথে মিলে যায় এমন একটি ডিস্ট্রিবিউশন থেকে ডিকয় তৈরি করার প্রস্তাব করে। এটি প্রকৃত হ্যাশের জন্য $k$-বেনামিত্ব নিশ্চিত করে। ক্লায়েন্ট বজায় রাখে বিশ্বাসযোগ্য অস্বীকারযোগ্যতা, কারণ সেট জমা দেওয়ার পর কোন হ্যাশটি মূল লক্ষ্য ছিল তা ক্লায়েন্টও ক্রিপ্টোগ্রাফিকভাবে প্রমাণ করতে পারে না।

Key Insights

  • একটি সেটে অস্পষ্টতার মাধ্যমে গোপনীয়তা: নিরাপত্তা আসে প্রকৃত হ্যাশকে ডিকয়গুলোর মধ্যে লুকিয়ে রাখা থেকে, হ্যাশটিকে ঐতিহ্যগতভাবে এনক্রিপ্ট করা থেকে নয়।
  • গণনামূলক বোঝার স্থানান্তর: ক্লায়েন্টের ওভারহেড অজ্ঞাতনামা সেট তৈরি করতে; ব্রুট-ফোর্স/ওয়ার্ডলিস্ট আক্রমণের ভারী কাজ সম্পূর্ণরূপে আউটসোর্স করা হয়।
  • ধ্রুব-সময় অনুসন্ধান প্রতিশ্রুতি: প্রোটোকলটি অনুসন্ধানের সময় অজ্ঞাতনামা সেটের আকার $k$ থেকে স্বাধীন হতে দেয় বলে দাবি করে, শুধুমাত্র সার্ভার IOPS দ্বারা সীমাবদ্ধ।

3. Technical Implementation & Analysis

3.1 গাণিতিক ভিত্তি

প্রোটোকলের নিরাপত্তা সম্ভাব্যতাভিত্তিকভাবে মডেল করা যেতে পারে। ধরা যাক $S$ হল $k$ আকারের একটি বেনামী সেট, যাতে একটি আসল হ্যাশ $H_r$ এবং $k-1$টি ডিকয় $H_{d1}...H_{d(k-1)}$ রয়েছে। সেটটি এবং ক্র্যাকিং ফলাফল পর্যবেক্ষণের পর সার্ভারটি সঠিকভাবে আসল হ্যাশ অনুমান করার সম্ভাবনা সর্বাধিক $1/k$, ধরে নেওয়া হচ্ছে ডিকয়গুলি নিখুঁত।

সার্ভারের কাছে তথ্য ফাঁস $\mathcal{L}$ মিন-এনট্রপি ব্যবহার করে পরিমাপ করা যেতে পারে: $\mathcal{L} \leq -\log_2(1/k) = \log_2(k)$ বিট। ক্লায়েন্ট $k$ সামঞ্জস্য করে ফাঁস নিয়ন্ত্রণ করতে পারে। একটি প্রার্থী $p'$ এর জন্য সমস্ত $k$ হ্যাশ জুড়ে প্রিডিকেট ফাংশন মূল্যায়ন একটি ভেক্টর হিসাবে উপস্থাপন করা যেতে পারে: $\vec{R} = [f(H(p'), H_1), f(H(p'), H_2), ..., f(H(p'), H_k)]$। একটি ম্যাচ যেকোনো অবস্থান $p'$ ক্লায়েন্টকে ফেরত দেয়।

3.2 Performance & Scalability

গবেষণাপত্রটি যুক্তি দেয় যে প্রাথমিক বাধা হল ক্রিপ্টোগ্রাফিক অপারেশন নয়, বরং সার্ভারের ক্র্যাকিং সেটআপের প্রতি সেকেন্ডে ইনপুট/আউটপুট অপারেশন (আইওপিএস) (যেমন, জিপিইউ/এফপিজিএ মেমরি ব্যান্ডউইথ)। যেহেতু সার্ভারকে প্রতিটি সম্ভাব্য পাসওয়ার্ড সমস্ত $k$ হ্যাশের বিরুদ্ধে পরীক্ষা করতে হবে, তাই তাত্ত্বিকভাবে কাজের ফ্যাক্টর রৈখিকভাবে বৃদ্ধি পায় ($O(k)$)। তবে, সমান্তরাল হার্ডওয়্যারে দক্ষ ব্যাচ প্রসেসিং ব্যবহার করে কার্যকর ধীরগতি ন্যূনতম করা যেতে পারে, যা ব্যবহারিক $k$ মানের জন্য দাবিকৃত "ধ্রুব-সময়" লুকআপের কাছাকাছি পৌঁছায়।

4. Experimental Results & Chart Description

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

প্রকল্পিত কর্মদক্ষতা চার্ট (প্রোটোকল বর্ণনার ভিত্তিতে): একটি লাইন চার্টে Y-অক্ষে "কার্যকর ক্র্যাকিং গতি" (যেমন, হ্যাশ/সেকেন্ড) এবং X-অক্ষে "বেনামি সেটের আকার (k)" দেখানো হতে পারে। একটি traditional attack একটি একক হ্যাশে আক্রমণ একটি উচ্চ, সমতল রেখা হবে। এর জন্য বক্ররেখা 3PC protocol k বৃদ্ধির সাথে হ্রাস দেখাবে, কিন্তু FPGA/GPU-তে অপ্টিমাইজড ব্যাচ প্রসেসিংয়ের কারণে ঢাল একটি সরল রৈখিক অনুমানের চেয়ে কম খাড়া হবে। একটি তৃতীয় রেখা "Theoretical Upper Bound (IOPS Limit)" কে উপস্থাপন করতে পারে, যা 3PC বক্ররেখার জন্য একটি অ্যাসিম্পটোট হিসেবে কাজ করে।

5. Analysis Framework Example Case

Scenario: একজন ফ্রিল্যান্স পেনিট্রেশন টেস্টার (ক্লায়েন্ট) ক্লায়েন্টের সিস্টেম থেকে একটি NTLM হ্যাশ পুনরুদ্ধার করে। পাসওয়ার্ড পলিসি জানা: ৯-অক্ষরের আলফানিউমেরিক মিশ্রণ। সময়মতো ক্র্যাক করার জন্য টেস্টারের কাছে GPU পাওয়ার নেই।

3PC প্রোটোকল অ্যাপ্লিকেশন:

  1. ক্লায়েন্ট সেটআপ: পরীক্ষক একটি গোপনীয়তা প্যারামিটার নির্ধারণ করে, যেমন $k=100$। প্রকৃত NTLM হ্যাশ হল $H_{real}$। ক্লায়েন্টের সফটওয়্যার 99টি ক্রিপ্টোগ্রাফিকভাবে বিশ্বাসযোগ্য ডিকয় NTLM হ্যাশ তৈরি করে, অজ্ঞাততা সেট $S$ তৈরি করে।
  2. সার্ভার এনগেজমেন্ট: পরীক্ষক $S$ একটি বাণিজ্যিক ক্র্যাকিং সার্ভিসে (সার্ভার) প্রেরণ করে, ৯-অক্ষরের বর্ণসংখ্যামূলক পাসওয়ার্ডের জন্য একটি অভিধান এবং নিয়ম ব্যবহার করে সমস্ত হ্যাশ ক্র্যাক করার অনুরোধ সহ।
  3. সার্ভার প্রক্রিয়াকরণ: সার্ভারটি তার ক্র্যাকিং টুলস চালায়। প্রতিটি প্রার্থী পাসওয়ার্ড তৈরি করার জন্য, এটি তার NTLM হ্যাশ গণনা করে এবং একটি ব্যাচ অপারেশনে $S$-এর সমস্ত 100টি হ্যাশের বিরুদ্ধে মিল পরীক্ষা করে।
  4. ফলাফল ফেরত: সার্ভারটি মিলে যাওয়া সমস্ত পাসওয়ার্ডের একটি তালিকা ফেরত দেয় যেকোনো এটি $S$-এ একটি হ্যাশ নির্দেশ করে। এটি কোন হ্যাশটি মিলেছে তা উল্লেখ করে না।
  5. ক্লায়েন্ট ফিল্টারিং: পরীক্ষক প্রকৃত হ্যাশ $H_{real}$ জানে। তারা প্রত্যাবর্তিত প্রতিটি পাসওয়ার্ডের হ্যাশ গণনা করে $H_{real}$-এর সাথে মিলে যাওয়াটি শনাক্ত করে, ফলে লক্ষ্য পাসওয়ার্ডটি উদ্ধার করে। অন্যান্য প্রত্যাবর্তিত পাসওয়ার্ডগুলি ক্র্যাক করা ডিকয়গুলির সাথে সম্পর্কিত এবং সেগুলি বাতিল করা হয়।
সার্ভার শুধুমাত্র জানতে পারে যে ১০০টি হ্যাশের মধ্যে একটি পরীক্ষকের ছিল, কিন্তু কোনটি তা নয়, এবং অনেক ক্র্যাক করা পাসওয়ার্ড দেখতে পায় তাদের প্রাসঙ্গিকতা না জেনেই।

6. Core Insight & Analyst's Perspective

মূল অন্তর্দৃষ্টি: The 3PC protocol is a clever, pragmatic hack that turns a fundamental limitation of cryptography—the one-way nature of hash functions—into a privacy feature. It recognizes that in password cracking, the goal isn't to hide the প্রক্রিয়া কিন্তু এটি লুকানোর জন্য লক্ষ্য এবং ফলাফল প্রক্রিয়ার অন্তর্নিহিত শব্দের মধ্যে। এটি "অভেদ্য" ক্রিপ্টোর চেয়ে কম এবং কৌশলগত তথ্য অস্পষ্টকরণের সাথে বেশি সম্পর্কিত, Tor-এর মতো মিক্স নেটওয়ার্কগুলি কীভাবে একটি জনতার মধ্যে একটি বার্তার উৎস লুকিয়ে রাখে তার চেতনার সাথে সাদৃশ্যপূর্ণ।

যৌক্তিক প্রবাহ: যুক্তিটি শক্তিশালী কিন্তু একটি গুরুত্বপূর্ণ, প্রায়শই উপেক্ষিত অনুমানের উপর নির্ভরশীল: উৎপন্ন করার ক্ষমতা পুরোপুরি অবিভেদ্য ডিকয়. সার্ভার যদি পরিসংখ্যানগতভাবে আসল হ্যাশগুলিকে ডিকয় থেকে আলাদা করতে পারে (যেমন, পূর্ববর্তী ডেটা লঙ্ঘনের ফ্রিকোয়েন্সি বা হ্যাশ জেনারেশনের প্যাটার্নের ভিত্তিতে), তাহলে $k$-অ্যানোনিমিটি মডেলটি ভেঙে পড়ে। হ্যাশ ফাংশনে প্রিডিকেট এনক্রিপশনের উপর গবেষণাপত্রের সম্প্রসারণটি অভিনব, কিন্তু বাস্তব-বিশ্বের নিরাপত্তা প্রিডিকেট ফাংশন নিজের চেয়ে ডিকয় জেনারেশন অ্যালগরিদমের গুণমানের উপর বেশি নির্ভর করে।

Strengths & Flaws: এর শক্তি হল একটি বাস্তব, অপর্যাপ্তভাবে সেবিত বিশেষ ক্ষেত্রের (গোপনতাসচেতন পেনটেস্টার) সাথে এর প্রত্যক্ষ প্রযোজ্যতা এবং ক্লায়েন্টের জন্য অপেক্ষাকৃত হালকা ক্রিপ্টোগ্রাফিক ওভারহেড। অনেক গোপনতা-সংরক্ষণকারী সিস্টেমের মতো একটি প্রধান ত্রুটি হল trust-but-verify প্যারাডক্স। ক্লায়েন্টকে অবশ্যই সার্ভারকে প্রোটোকল সঠিকভাবে কার্যকর করতে এবং প্রক্রিয়ায় হস্তক্ষেপ না করতে (যেমন, সময়ের পারস্পরিক সম্পর্ক নির্ণয়ের জন্য মধ্যবর্তী অবস্থা লগ করে) বিশ্বাস করতে হবে। সম্পূর্ণ হোমোমর্ফিক এনক্রিপশন (এফএইচই) এর মতো উন্নত ক্রিপ্টোগ্রাফিক প্রোটোকলগুলির মতো নয়, যা একটি শক্তিশালী তাত্ত্বিক গ্যারান্টি প্রদান করে কিন্তু ব্যবহারিকভাবে ধীর গতির (যেমন জেন্ট্রির যুগান্তকারী কাজের মতো প্রাথমিক বাস্তবায়নে দেখা গেছে), 3PC ব্যবহারিক দক্ষতার জন্য পরম ক্রিপ্টোগ্রাফিক নিরাপত্তার বিনিময় করে। এটি একটি বৈধ প্রকৌশল সমঝোতা, তবে এটি স্পষ্টভাবে যোগাযোগ করতে হবে।

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

7. Future Applications & Research Directions

  • কমপ্লায়েন্স-চালিত নিরাপত্তা নিরীক্ষণ: নিয়ন্ত্রিত শিল্পগুলিকে (অর্থ, স্বাস্থ্যসেবা) কর্মী অ্যাকাউন্ট জুড়ে কঠোর পাসওয়ার্ড শক্তি পরীক্ষা পরিচালনা করতে সক্ষম করা, এমনকি অভ্যন্তরীণ নিরীক্ষা দলগুলির কাছেও পাসওয়ার্ড হ্যাশ প্রকাশ না করে, যা GDPR/CCPA সম্মতি আনতে সহায়তা করে।
  • ফেডারেটেড হ্যাশ বিশ্লেষণ: একাধিক সংস্থা একটি ভাগ করা হুমকি অভিনেতার পাসওয়ার্ড ডাম্প (যেমন, একটি র্যানসমওয়্যার গ্রুপ থেকে) বিরুদ্ধে ক্র্যাকিং প্রচেষ্টায় সহযোগিতামূলকভাবে অবদান রাখতে পারে, যেখানে কোনও অংশগ্রহণকারী তাদের নিজস্ব অভ্যন্তরীণ হ্যাশ প্রকাশ না করে বা অন্যদের দেখতে না পেয়ে।
  • পাসওয়ার্ড ব্রিচ অ্যালার্টিং সার্ভিসের সাথে সংহতকরণ: ব্যবহারকারীরা তাদের পাসওয়ার্ড হ্যাশ থেকে প্রাপ্ত একটি বেনামী সেট "Have I Been Pwned" এর মতো একটি সার্ভিসে জমা দিতে পারে, প্রকৃত হ্যাশ প্রকাশ না করে, ব্রিচ চেকিংয়ের জন্য গোপনীয়তা বাড়িয়ে।
  • গবেষণার দিক - কোয়ান্টাম-পরবর্তী সহনশীলতা: একটি কোয়ান্টাম-পরবর্তী প্রেক্ষাপটে প্রোটোকলের নিরাপত্তা তদন্ত করা। যদিও হ্যাশ ফাংশনগুলি নিজেরাই কোয়ান্টাম-প্রতিরোধী হতে পারে, ডিকয় জেনারেশন এবং প্রিডিকেট ফাংশন মেকানিজমগুলির জন্য কোয়ান্টাম প্রতিপক্ষ মডেলের বিরুদ্ধে বিশ্লেষণের প্রয়োজন।
  • গবেষণার দিক - সক্রিয় প্রতিপক্ষ মডেল: বাস্তব বিশ্বে গ্রহণযোগ্যতার জন্য নিরাপত্তা মডেলটিকে এমন সক্রিয়ভাবে দূষিত সার্ভারগুলির বিবেচনায় প্রসারিত করা অত্যন্ত গুরুত্বপূর্ণ যা প্রোটোকল থেকে বিচ্যুত হয় (যেমন, সাইড-চ্যানেল প্রবর্তনের মাধ্যমে)।

8. References

  1. Bonneau, J., Herley, C., van Oorschot, P. C., & Stajano, F. (2012). The quest to replace passwords: A framework for comparative evaluation of web authentication schemes. IEEE Symposium on Security and Privacy.
  2. FIDO Alliance. (2022). FIDO: দ্রুত, নিরাপদ, পাসওয়ার্ডবিহীন সাইন-ইনের ভবিষ্যৎ। https://fidoalliance.org/
  3. Gentry, C. (2009). একটি সম্পূর্ণ হোমোমর্ফিক এনক্রিপশন স্কিম (ডক্টরাল ডিসার্টেশন, স্ট্যানফোর্ড ইউনিভার্সিটি)। (কম্পিউটেশনাল গোপনীয়তা কৌশলের তুলনার জন্য)।
  4. NIST. (2020). Digital Identity Guidelines (NIST Special Publication 800-63B).
  5. Weir, M., Aggarwal, S., de Medeiros, B., & Glodek, B. (2009). Password cracking using probabilistic context-free grammars. IEEE Symposium on Security and Privacy.
  6. Zhao, F., & Halderman, J. A. (2019). Measuring the Impact of Password Strength on Guessing AttacksUSENIX Security Symposium.