1. مقدمه
مدیران رمز عبور (PMs) ابزارهای ضروری برای تولید و ذخیرهسازی رمزهای عبور تصادفی قوی هستند که به آسیبپذیریهای احراز هویت مبتنی بر رمز عبور میپردازند. با این حال، اعتماد کاربران همچنان مانعی برای پذیرش آنها است. این مقاله یک پیادهسازی مرجع تأیید شده صوری برای یک تولیدکننده رمز عبور تصادفی (RPG) با استفاده از محیط اثبات EasyCrypt را پیشنهاد میکند که بر صحت عملکردی و ویژگیهای امنیتی تمرکز دارد.
2. فهرست مطالب
- 1. مقدمه
- 2. فهرست مطالب
- 3. الگوریتمهای فعلی تولید رمز عبور
- 4. چارچوب تأیید صوری
- 5. جزئیات فنی و فرمولبندی ریاضی
- 6. نتایج تجربی و نمودارها
- 7. مثال چارچوب تحلیل
- 8. تحلیل اصلی
- 9. کاربردهای آینده و چشمانداز
- 10. مراجع
3. الگوریتمهای فعلی تولید رمز عبور
نویسندگان 15 مدیر رمز عبور را مطالعه کردند و بر سه مورد منبعباز پرکاربرد تمرکز کردند: Google Chrome (نسخه v89.0.4364.1)، Bitwarden (نسخه v1.47.1) و KeePass (نسخه v2.46). این موارد به دلیل محبوبیت و دسترسی به کد منبع انتخاب شدند.
3.1 سیاستهای ترکیب رمز عبور
مدیران رمز عبور به کاربران اجازه میدهند سیاستهای ترکیب رمز عبور شامل طول، کلاسهای کاراکتر (حروف کوچک، حروف بزرگ، اعداد، کاراکترهای خاص)، حداقل/حداکثر تعداد وقوع در هر مجموعه، حذف کاراکترهای مشابه و مجموعه کاراکترهای سفارشی را تعریف کنند. جدول 1 سیاستهای مربوط به Chrome، Bitwarden و KeePass را خلاصه میکند.
3.2 تولید رمز عبور تصادفی
الگوریتم اصلی کاراکترهای تصادفی را از مجموعههای تعریف شده تا زمانی که طول رمز عبور تأمین شود، با رعایت محدودیتهای حداقل/حداکثر وقوع، تولید میکند. الگوریتم Chrome ابتدا کاراکترهایی را از مجموعههای دارای حداقل وقوع تولید میکند، سپس از اتحاد همه مجموعههایی که از حداکثرها تجاوز نمیکنند، و در نهایت یک جایگشت روی رشته اعمال میکند.
4. چارچوب تأیید صوری
4.1 نمای کلی EasyCrypt
EasyCrypt یک دستیار اثبات برای اثباتهای امنیت رمزنگاری با استفاده از رویکرد مبتنی بر بازی است. این امکان را برای مشخص کردن پیادهسازیهای مرجع و تأیید صوری صحت عملکردی و ویژگیهای امنیتی فراهم میکند.
4.2 ویژگیهای امنیتی
رسمیسازی شامل ویژگیهایی مانند یکنواختی تصادفی بودن، مقاومت در برابر حملات کانال جانبی و پایبندی به محدودیتهای سیاست است. رویکرد مبتنی بر بازی، قابلیتهای دشمن را مدلسازی میکند و غیرقابل تشخیص بودن از تولید تصادفی ایدهآل را اثبات میکند.
5. جزئیات فنی و فرمولبندی ریاضی
امنیت RPG با استفاده از مفهوم غیرقابل تشخیص بودن محاسباتی مدلسازی میشود. فرض کنید $\mathcal{G}$ الگوریتم تولید رمز عبور و $\mathcal{U}$ یک تولیدکننده تصادفی یکنواخت باشد. مزیت یک دشمن $\mathcal{A}$ به صورت زیر تعریف میشود:
$$\text{Adv}_{\mathcal{G}}(\mathcal{A}) = |\Pr[\mathcal{A}^{\mathcal{G}} = 1] - \Pr[\mathcal{A}^{\mathcal{U}} = 1]|$$
هدف اثبات این است که $\text{Adv}_{\mathcal{G}}(\mathcal{A})$ برای همه دشمنان احتمالی چندجملهای ناچیز است. اثبات صوری در EasyCrypt شامل ساخت دنبالهای از بازیها است که هر کدام کمی با قبلی تفاوت دارند و محدود کردن تفاوت در احتمال موفقیت دشمن.
6. نتایج تجربی و نمودارها
تأیید صوری بر روی یک پیادهسازی مرجع از RPG انجام شد. اثبات شامل تقریباً 500 خط کد EasyCrypt است که صحت عملکردی (رمز عبور تولید شده سیاست را برآورده میکند) و امنیت (خروجی از تصادفی یکنواخت غیرقابل تشخیص است) را پوشش میدهد. زمان اثبات در یک لپتاپ استاندارد کمتر از 10 ثانیه بود. نمودار ساختار اثبات مبتنی بر بازی در زیر نشان داده شده است:
شکل 1: ساختار اثبات مبتنی بر بازی: بازی 0 (الگوریتم واقعی) → بازی 1 (جایگزینی PRG با تصادفی) → بازی 2 (جایگزینی انتخاب کاراکتر با یکنواخت) → بازی 3 (ایدهآل). هر انتقال با یک فرض رمزنگاری یا یک کاهش توجیه میشود.
7. مثال چارچوب تحلیل
مطالعه موردی: تأیید تولید رمز عبور KeePass
یک سیاست را در نظر بگیرید که به یک رمز عبور 12 کاراکتری با حداقل 2 حرف کوچک، 2 حرف بزرگ، 2 رقم و 2 کاراکتر خاص نیاز دارد. مشخصات صوری در EasyCrypt موارد زیر را تعریف میکند:
- پیششرط: پارامترهای سیاست (طول، حداقل/حداکثر در هر مجموعه، کاراکترهای حذف شده).
- پسشرط: رمز عبور تولید شده همه محدودیتها را برآورده میکند و به طور یکنواخت بر روی مجموعه رمزهای عبور معتبر تصادفی است.
- امنیت: هیچ دشمنی نمیتواند خروجی را از یک رشته واقعاً تصادفی با همان طول تشخیص دهد.
اثبات با استقرا بر روی طول رمز عبور پیش میرود و نشان میدهد که هر کاراکتر به طور یکنواخت از مجموعه مناسب انتخاب میشود و جایگشت نهایی هیچ سوگیری موقعیتی را تضمین نمیکند.
8. تحلیل اصلی
بینش اصلی: این مقاله به یک شکاف حیاتی در اعتماد به مدیران رمز عبور با اعمال تأیید صوری بر الگوریتمهای تولید رمز عبور میپردازد. در حالی که بسیاری از مدیران رمز عبور ادعای امنیت میکنند، تعداد کمی تضمینهای ریاضی ارائه میدهند. استفاده از EasyCrypt یک گام مهم به سوی تولید رمز عبور قابل اثبات امن است.
جریان منطقی: نویسندگان ابتدا الگوریتمهای موجود را بررسی میکنند و الگوهای رایج و نقصهای بالقوه را شناسایی میکنند. سپس یک پیادهسازی مرجع پیشنهاد میکنند و صحت و امنیت آن را با استفاده از اثباتهای مبتنی بر بازی به طور صوری تأیید میکنند. جریان منطقی است: شناسایی مشکل → طراحی راهحل → تأیید صوری → پیامدها.
نقاط قوت و ضعف: قدرت در رویکرد صوری دقیق نهفته است که تضمینهایی فراتر از آزمایش معمولی ارائه میدهد. با این حال، مقاله بر یک پیادهسازی مرجع واحد تمرکز دارد، نه بر تأیید کد واقعی Chrome، Bitwarden یا KeePass. این امر تأثیر عملی را محدود میکند. علاوه بر این، اثبات یک مولد اعداد تصادفی قابل اعتماد را فرض میکند که ممکن است در همه سناریوهای استقرار صادق نباشد. همانطور که Bellare و Rogaway (1993) در کار بنیادی خود بر روی اوراکلهای تصادفی اشاره کردند، شکاف بین مدلهای نظری و پیادهسازیهای عملی همچنان یک چالش است.
بینشهای عملی: برای توسعهدهندگان مدیران رمز عبور، اتخاذ ابزارهای تأیید صوری مانند EasyCrypt میتواند اعتماد را افزایش داده و آسیبپذیریها را کاهش دهد. برای محققان، گسترش این کار برای تأیید کد منبع واقعی مدیران رمز عبور (به عنوان مثال، از طریق دیکامپایل یا اجرای نمادین) ارزشمند خواهد بود. کاربران باید از ارائهدهندگان مدیران رمز عبور شفافیت و تضمینهای صوری را مطالبه کنند. این رویکرد با روند گستردهتر روشهای صوری در امنیت، همانطور که توسط مؤسسه ملی استانداردها و فناوری (NIST) در دستورالعملهای خود برای اعتبارسنجی ماژول رمزنگاری توصیه شده است، همسو است.
9. کاربردهای آینده و چشمانداز
چارچوب تأیید صوری میتواند به سایر ویژگیهای مدیران رمز عبور، مانند ذخیرهسازی رمز عبور و تکمیل خودکار، گسترش یابد. ادغام با خطوط لوله یکپارچهسازی مداوم میتواند تأیید خودکار کد تولید رمز عبور را امکانپذیر کند. کارهای آینده همچنین ممکن است مقاومت در برابر کانال جانبی و تولید تصادفی مقاوم در برابر کوانتوم را بررسی کند. با فراگیر شدن مدیران رمز عبور، تضمینهای صوری برای ایجاد اعتماد کاربران و برآورده کردن الزامات نظارتی (به عنوان مثال، GDPR، eIDAS) ضروری خواهد بود.
10. مراجع
- Bellare, M., & Rogaway, P. (1993). Random oracles are practical: A paradigm for designing efficient protocols. Proceedings of the 1st ACM Conference on Computer and Communications Security, 62-73.
- Barthe, G., et al. (2011). EasyCrypt: A tutorial. Foundations of Security Analysis and Design VII, 146-204.
- NIST. (2020). Cryptographic Module Validation Program (CMVP). National Institute of Standards and Technology.
- Shoup, V. (2004). Sequences of games: A tool for taming complexity in security proofs. IACR Cryptology ePrint Archive, 2004/332.
- Grilo, M., Ferreira, J. F., & Almeida, J. B. (2021). Towards Formal Verification of Password Generation Algorithms used in Password Managers. arXiv:2106.03626v2.