Select Language

شکستن رمز عبور با حفظ حریم خصوصی: یک پروتکل برای بازیابی ایمن هش

تحلیل پروتکل 3PC که امکان شکستن هش رمز عبور توسط شخص ثالث را بدون افشای هش یا متن آشکار، با استفاده از رمزنگاری گزارهای و هشهای طعمه فراهم میکند.
strongpassword.org | اندازه PDF: 4.6 مگابایت
امتیاز: 4.5/5
امتیاز شما
شما قبلاً این سند را ارزیابی کرده‌اید.
جلد سند PDF - شکستن رمز عبور با حفظ حریم خصوصی: یک پروتکل برای بازیابی ایمن هش

فهرست مطالب

1. مقدمه

علیرغم تلاش‌های صنعت برای راه‌حل‌های بدون رمز عبور، رمزهای عبور همچنان شکل غالب احراز هویت کاربر باقی مانده‌اند. ذخیره‌سازی هش‌های رمز عبور یک روش استاندارد است، اما آزمایش استحکام آن‌ها از طریق کرک، نیازمند منابع زیادی است. برون‌سپاری این وظیفه به سرورهای شخص ثالث، خطرات قابل توجهی برای حریم خصوصی به همراه دارد، زیرا هم خلاصه هش و هم متن بازیابی‌شده آشکار می‌شوند. این مقاله پروتکل حفظ حریم خصوصی کرک رمز عبور (3PC) را معرفی می‌کند که به یک کلاینت اجازه می‌دهد از قدرت محاسباتی یک شخص ثالث برای کرک هش استفاده کند بدون اینکه هش هدف یا رمز عبور حاصل را فاش کند.

2. پروتکل 3PC

پروتکل 3PC برای حل مشکل اعتماد در شکستن رمزهای عبور برون‌سپاری‌شده طراحی شده است. نوآوری اصلی آن در این است که به یک شخص ثالث اجازه می‌دهد کار محاسباتی سنگین را انجام دهد، در حالی که هیچ چیز درباره داده‌های واقعی مشتری نمی‌آموزد.

2.1 Core Mechanism & Predicate Function

این پروتکل بر اساس مفهوم رمزنگاری گزاره‌ای، که برای توابع هش تطبیق داده شده، ساخته شده است. مشتری هش هدف $H(p)$ را مستقیماً ارسال نمی‌کند. در عوض، یک مجموعه ناشناس شامل هش واقعی مخلوط با $k-1$ هش طعمه که با دقت ساخته شده‌اند. نقش سرور شخص ثالث شکستن است همه هش‌های موجود در این مجموعه با استفاده از یک فرهنگ لغت رمز عبور یا مجموعه قواعد ارائه‌شده.

کلید عبارت است از تابع گزاره‌ای $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$ را برای هش واقعی تضمین می‌کند. کلاینت حفظ می‌کند انکار معقول، زیرا حتی کلاینت نیز پس از ارسال مجموعه نمی‌تواند از نظر رمزنگاری ثابت کند کدام هش هدف اصلی بوده است.

نکات کلیدی

  • حریم خصوصی از طریق پنهان‌کاری در یک مجموعه: امنیت از پنهان کردن هش واقعی در میان هش‌های فریبنده ناشی می‌شود، نه از رمزنگاری سنتی خود هش.
  • انتقال بار محاسباتی: بار اضافی سمت کلاینت در تولید مجموعه ناشناس است؛ بار اصلی حملات brute-force/wordlist به طور کامل برون‌سپاری می‌شود.
  • وعده جستجوی زمان ثابت: پروتکل ادعا می‌کند که زمان جستجو را مستقل از اندازه مجموعه ناشناس $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

این مقاله استدلال می‌کند که گلوگاه اصلی، عملیات رمزنگاری نیست، بلکه عملیات ورودی/خروجی در ثانیه (IOPS) تنظیمات کرک سرور (مانند پهنای باند حافظه GPU/FPGA) است. از آنجایی که سرور باید هر رمز عبور کاندید را در برابر تمام $k$ هش‌ها آزمایش کند، ضریب کار به‌طور نظری به صورت خطی افزایش می‌یابد ($O(k)$). با این حال، با بهره‌گیری از پردازش دسته‌ای کارآمد روی سخت‌افزار موازی، می‌توان کاهش سرعت مؤثر را به حداقل رساند و به ادعای «جستجوی زمان-ثابت» برای مقادیر عملی $k$ نزدیک شد.

4. Experimental Results & Chart Description

نویسندگان یک اثبات-مفهوم را روی یک معماری FPGA پیاده‌سازی کردند. اگرچه ارقام عملکرد خاص در بخش ارائه‌شده جزئیات داده نشده است، اما مقاله ادعا می‌کند که امکان‌سنجی پروتکل را نشان می‌دهد.

نمودار عملکرد فرضی (بر اساس توصیف پروتکل): یک نمودار خطی احتمالاً "سرعت شکست مؤثر" را روی محور Y (مثلاً هش/ثانیه) در مقابل "اندازه مجموعه ناشناس (k)" روی محور X نشان می‌دهد. منحنی برای یک حمله سنتی روی یک هش منفرد، یک خط صاف و بلند خواهد بود. منحنی برای پروتکل 3PC با افزایش k کاهش را نشان می‌دهد، اما شیب آن کمتر از یک پیش‌بینی خطی ساده خواهد بود که به دلیل پردازش دسته‌ای بهینه‌شده روی FPGA/GPU است. یک خط سوم ممکن است نشان‌دهنده "مرز نظری بالایی (محدودیت IOPS)" باشد که به عنوان مجانبی برای منحنی 3PC عمل می‌کند.

5. نمونه موردی چارچوب تحلیل

سناریو: یک تستر نفوذ آزادکار (Client) یک هش NTLM را از سیستم یک مشتری بازیابی می‌کند. سیاست رمز عبور مشخص است: ترکیب 9 کاراکتری الفبایی-عددی. تستر فاقد قدرت پردازشی GPU برای شکستن به‌موقع آن است.

کاربرد پروتکل 3PC:

  1. راه‌اندازی کلاینت: آزمایشگر یک پارامتر حریم خصوصی تنظیم می‌کند، مثلاً $k=100$. هش واقعی NTLM برابر است با $H_{real}$. نرم‌افزار کلاینت 99 هش NTLM گمراه‌کننده با اعتبار رمزنگاری تولید می‌کند و مجموعه ناشناس $S$ را ایجاد می‌کند.
  2. درگیری سرور: آزمایشگر، $S$ را به یک سرویس کرک تجاری (سرور) ارسال میکند و درخواست میکند تمام هشها با استفاده از یک دیکشنری و قواعد برای رمزهای عبور 9 کاراکتری الفبایی-عددی کرک شوند.
  3. پردازش سرور: سرور ابزارهای شکستن خود را اجرا می‌کند. برای هر رمز عبور کاندید تولید شده، هش NTLM آن را محاسبه کرده و در یک عملیات دسته‌ای، تطابق آن را با تمام 100 هش موجود در $S$ بررسی می‌کند.
  4. بازگشت نتیجه: سرور فهرستی از تمام رمزهای عبور مطابقت‌یافته را بازمی‌گرداند. هر هش در $S$. مشخص نمی‌کند کدام هش مطابقت داشته است.
  5. فیلتر کردن کلاینت: آزمایشگر هش اصلی $H_{real}$ را می‌داند. آن‌ها هش هر رمز عبور بازگردانده شده را محاسبه می‌کنند تا موردی را که با $H_{real}$ مطابقت دارد شناسایی کنند، و در نتیجه رمز عبور هدف را بازیابی می‌کنند. رمزهای عبور بازگردانده شده دیگر مربوط به طعمه‌های شکسته شده هستند و دور ریخته می‌شوند.
سرور تنها می‌آموزد که یکی از ۱۰۰ هش متعلق به آزمایشگر بوده است، اما نه کدام یک، و رمزهای عبور شکسته شده زیادی را می‌بیند بدون آنکه از ارتباط آن‌ها آگاه باشد.

6. Core Insight & Analyst's Perspective

بینش اصلی: پروتکل 3PC یک راه‌حل هوشمندانه و عمل‌گرایانه است که یک محدودیت اساسی رمزنگاری - ماهیت یک‌طرفه توابع هش - را به یک ویژگی حریم خصوصی تبدیل می‌کند. این پروتکل تشخیص می‌دهد که در شکستن رمز عبور، هدف پنهان کردن نیست. فرآیند اما برای پنهان کردن هدف و نتیجه درون نویز ذاتی فرآیند. این موضوع کمتر درباره رمزنگاری "شکست‌ناپذیر" و بیشتر درباره پنهان‌سازی استراتژیک اطلاعات است، که از نظر مفهومی مشابه نحوه پنهان کردن مبدأ یک پیام توسط شبکه‌های میکس مانند Tor در میان جمعیت است.

جریان منطقی: منطق صحیح است اما به یک فرض حیاتی و اغلب نادیده گرفته شده متکی است: توانایی تولید طعمه‌های کاملاً غیرقابل تشخیص. اگر سرور بتواند به لحاظ آماری هش‌های واقعی را از طعمه‌ها تشخیص دهد (مثلاً بر اساس فراوانی در نشت‌های قبلی، یا الگوهای تولید هش)، مدل $k$-ناشناس‌سازی فرو می‌ریزد. گسترش رمزگذاری گزاره‌ای مقاله به توابع هش نوآورانه است، اما امنیت در دنیای واقعی بیشتر به کیفیت الگوریتم تولید طعمه بستگی دارد تا خود تابع گزاره‌ای.

Strengths & Flaws: نقطه قوت آن، قابلیت اعمال مستقیم آن در یک حوزه واقعی و کمتر پوشش‌داده‌شده (متخصصان تست نفوذ حساس به حریم خصوصی) و سربار رمزنگاری نسبتاً سبک آن برای سمت کلاینت است. یک نقص عمده، همانند بسیاری از سیستم‌های حفظ حریم خصوصی، رویکرد trust-but-verify پارادوکس. مشتری باید به سرور اعتماد کند تا پروتکل را به درستی اجرا کرده و در فرآیند دستکاری نکند (مثلاً با ثبت‌کردن حالت‌های میانی برای همبستگی‌دادن زمان‌بندی‌ها). برخلاف پروتکل‌های رمزنگاری پیشرفته‌ای مانند رمزنگاری کاملاً همومورفیک (FHE) که تضمین نظری قوی‌تری ارائه می‌دهد اما به طور غیرعملی کند است (همان‌طور که در پیاده‌سازی‌های اولیه مانند کار پیشگامانه جنتری مشاهده شد)، محاسبه سه‌طرفه (3PC) امنیت رمزنگاری مطلق را در ازای کارایی عملی معامله می‌کند. این یک مصالحه مهندسی معتبر است، اما باید به وضوح اطلاع‌رسانی شود.

بینش‌های قابل اجرا: برای تیم‌های امنیتی، این پروتکل ابزاری قابل اجرا برای حسابرسی امن گذرواژه‌هاست، به‌ویژه زمانی که انطباق (مانند GDPR) به اشتراک‌گذاری هش‌های حساس را محدود می‌کند. گام فوری، پیاده‌سازی و حسابرسی ماژول تولید طعمه است. برای پژوهشگران، مرز بعدی، مقاوم‌سازی پروتکل در برابر حملات فعال سرور و ادغام آن با سایر فناوری‌های حفظ حریم خصوصی (PETs) است. آینده تنها درباره خصوصی‌سازی شکستن رمز نیست؛ بلکه درباره ساخت مجموعه‌ای از عملیات امنیتی حافظ حریم خصوصی است، مشابه تکامل از رمزنگاری ساده به برهان‌های دانش صفر در پروتکل‌های احراز هویت. محاسبه سه‌طرفه (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). راهنمای هویت دیجیتال (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 Attacksسمپوزیوم امنیتی USENIX.