چگونه یک رمز عبور قوی بسازیم؟
یک رمز عبور قوی رمزی است که مهاجم نتواند آن را در هیچ بازه زمانی واقعبینانهای حدس بزند — و شما در هیچ جای دیگری از آن استفاده نکرده باشید. رمزهای کوتاه و قابل پیشبینی همانهایی هستند که حدس زده میشوند، و رمز عبور تکراری پس از رخنه اطلاعاتی در سایر سرویسها امتحان میشود؛ رفع هر دوی این ضعفها بسیار ساده است. با این حال، یک رمز عبور قوی در برابر همه خطرات محافظت نمیکند: جلوی یک صفحه فیشینگ یا بدافزار را نخواهد گرفت، به همین دلیل است که مراحل پایانی زیر به خود رمز مربوط نمیشوند. این مقاله ابتدا پاسخ کوتاه را ارائه میدهد و سپس توضیح میدهد که چرا هر مرحله مؤثر است.
پاسخ کوتاه
- رمز عبور را به جای ابداع کردن تولید کنید: هر جا که سایت اجازه میدهد، 16 کاراکتر یا بیشتر.
- از همه انواع کاراکترهای مجاز سایت استفاده کنید: حروف بزرگ و کوچک، ارقام و نمادها.
- آن را در یک برنامه مدیریت رمز عبور ذخیره کنید.
- از آن تنها برای یک حساب کاربری استفاده کنید.
- احراز هویت دومرحلهای یا در صورت پشتیبانی سرویس، کلید عبور (passkey) را فعال کنید و کدهای بازیابی را نگه دارید.
چه چیزی یک رمز عبور را قوی میکند
سه ویژگی این موضوع را تعیین میکنند. طول: هر کاراکتر تصادفی اضافه، تعداد ترکیبهایی را که مهاجم باید آزمایش کند چندین برابر مینماید. تصادفی بودن: یک رمز عبور تنها به اندازه فرآیندی که آن را ساخته قوی است، بنابراین دوازده کاراکتر انتخابشده توسط ماشین بسیار قویتر از دوازده کاراکتری است که نام و سال تولد را تشکیل میدهند. منحصربهفرد بودن: رمزی که در دو سایت استفاده شود، تنها به اندازه سایت ضعیفتر امنیت دارد، زیرا رمزهای افشاشده از یک سرویس بهطور معمول روی سایر سرویسها امتحان میشوند.
استحکام با بیتهای آنتروپی اندازهگیری میشود و هر بیت، تعداد حدسهای لازم را دو برابر میکند. یک کاراکتر که به صورت تصادفی از بین 62 احتمال — حروف لاتین a–z و A–Z و ارقام 0–9، همگی با احتمال یکسان — انتخاب شود، حدود 6 بیت به آنتروپی اضافه میکند؛ بنابراین 12 کاراکتر از این نوع تقریباً 71 بیت و 16 کاراکتر تقریباً 95 بیت آنتروپی ایجاد میکنند. این ارقام تنها زمانی صادق هستند که هر کاراکتر به صورت مستقل و تصادفی انتخاب شود؛ آنها درباره رمزی که یک فرد ابداع کرده صدق نمیکنند. در مقیاسی که تولیدکننده ما نشان میدهد، 60 بیت برای یک حساب معمولی قابل قبول است، 80 بیت قوی است و 100 بیت با سختافزارهای امروزی فراتر از دسترس حملات جستجوی فراگیر (brute force) است. این مقادیر صرفاً نقاط مرجع هستند نه یک استاندارد قطعی: میزان مقاومت واقعی رمز عبور به نحوه ذخیرهسازی آن توسط سرویس و نحوه حمله نیز بستگی دارد.
چرا ترفندهای معمول کارایی ندارند
انسانها رمزهای عبور را به روشهای بسیار مشابهی انتخاب میکنند و ابزارهای شکستن رمز دقیقاً بر اساس همین عادتها طراحی شدهاند:
- یک نام و یک سال، مانند
Anna1994، جزو اولین مواردی است که امتحان میشود. - جایگزینیها، مانند
P@ssw0rd، تقریباً هیچ امنیتی اضافه نمیکنند: تعویض a با @ و o با 0 یک قاعده استاندارد در ابزارهای شکستن رمز است. - الگوهای صفحه کلید، مانند
qwerty123یا1q2w3e4r، در اکثر فهرستهای رمزهای عبور رایج وجود دارند. - قرار دادن یک حرف بزرگ در ابتدا و یک رقم یا علامت تعجب در انتها روشی رایج برای برآوردن قوانین سایتهاست، بنابراین خیلی زود امتحان میشود.
- استفاده از یک رمز خوب با تغییری کوچک برای هر سایت، به محض افشای یک نسخه و مشخص شدن الگو، خاصیت محافظتی خود را از دست میدهد.
نقص مشترک همه این روشها این است که از الگوهای قابل پیشبینی انتخاب انسان پیروی میکنند. قوانینی که قصد اجبار پیچیدگی را دارند — یک نماد، یک رقم، یک رمز جدید هر 90 روز یک بار — کاربران را دقیقاً به سمت همین الگوها سوق میدهند. به همین دلیل است که دستورالعملهای فعلی NIST به سرویسها توصیه میکنند قوانین ساختاری اجباری یا تغییرات دورهای تعیین نکنند و در عوض رمزهای جدید را با فهرستهای رمزهای افشاشده مطابقت دهند.
رمزی که باید خودتان تایپ کنید: از عبارت عبور استفاده کنید
تعداد کمی از رمزهای عبور باید بدون دسترسی به برنامه مدیریت رمز تایپ شوند: رمز اصلی خود برنامه مدیریت، رمز ورود به رایانه یا گوشی، و برای بسیاری از افراد رمز حساب ایمیل اصلی. برای این موارد از عبارت عبور (passphrase) استفاده کنید — چند کلمه که تصادفی انتخاب شدهاند، نه جملهای که خودتان ساخته باشید. روش کلاسیک Diceware است و EFF فهرستهای کلماتی را برای آن منتشر میکند؛ از فهرست موسوم به EFF Long Wordlist به زبان انگلیسی استفاده کنید:
- فهرست را باز کنید: شامل 7776 کلمه است که هر کدام با پنج رقم از 1 تا 6 شمارهگذاری شدهاند.
- یک تاس معمولی ششوجهی را پنج بار، یا پنج تاس را همزمان بیندازید و آنها را از چپ به راست بخوانید، و این پنج رقم را به همان ترتیب یادداشت کنید.
- کلمه مربوط به آن شماره را در فهرست پیدا کنید.
- این کار را تکرار کنید تا شش کلمه به دست آورید.
- کلمات را دقیقاً همانطور که خارج شدهاند نگه دارید، حتی اگر یکی از آنها تکرار شود یا کلمات بهتری ترجیح میدادید. برای به خاطر سپردن آنها، تصویری یا داستانی بر اساسشان بسازید — بدون تغییر کلمات یا ترتیب آنها.
هر کلمه حدود 12.9 بیت آنتروپی اضافه میکند، بنابراین پنج کلمه حدود 65 بیت و شش کلمه حدود 78 بیت فراهم میکنند، و به خاطر سپردن و تایپ شش کلمه معمولی بسیار آسانتر از رشتهای از نمادها با همان استحکام است. دو شرط برای اثربخشی لازم است: کلمات باید بر اساس شانس انتخاب شوند، زیرا یک خط از یک شعر یا نقلقول معروف از قبل در واژهنامههای مهاجمان موجود است؛ به همین دلیل هرگز از عبارتی که به عنوان مثال دیدهاید استفاده نکنید. و عبارت نباید مجدداً استفاده شود: یک عبارت عبور برای یک جا.
سایر رمزهای عبور: آنها را تولید کنید
برای دهها حسابی که رمزهایشان را هرگز با دست تایپ نمیکنید، دلیلی برای اختراع چیزی وجود ندارد. تولید کننده رمز عبور قوی ما هر رمز را در مرورگر شما با Web Crypto API میسازد و هرگز به سرور ارسال نمیشود. گزینه طول را روی 16 یا بیشتر تنظیم کنید، انواع کاراکترهای پذیرفتهشده توسط سایت را انتخاب کرده و دکمه تولید را فشار دهید؛ تخمین آنتروپی زیر نتیجه، استحکام را بر حسب بیت نشان میدهد. گزینه بدون کاراکترهای مشابه کاراکترهایی را که به راحتی اشتباه گرفته میشوند (Il1O0o) در مواقعی که رمز باید با صدای بلند خوانده شود یا از روی صفحه تایپ شود حذف میکند، و کادر تعداد فهرستی کامل را برای زمانی که چند حساب را همزمان تنظیم میکنید میسازد.
برخی از سایتها هنوز طول را محدود میکنند یا نمادهای خاصی را ممنوع میسازند. اگر سایتی نتیجه را نپذیرفت، فقط انواع کاراکترهایی را که ممنوع کرده خاموش کنید و طول را حفظ نمایید؛ تنها زمانی رمز را کوتاهتر کنید که سایت واقعاً طول را محدود کرده باشد. در هر صورت، به یک رمز دستساز بازنگردید: یک رمز تصادفی 12 کاراکتری همچنان بسیار بهتر از یک رمز هوشمندانه ساختگی است.
کجا رمزهای عبور را نگهداری کنیم
یک رمز عبور تصادفی و منحصربهفرد برای هر حساب، به سادهترین شکل در یک برنامه مدیریت رمز عبور نگهداری میشود: آنها را ذخیره میکند، فیلدها را پر میکند و بسیاری از برنامهها حتی زمانی که رمزی در رخنهای شناختهشده پدیدار شود هشدار میدهند. در این صورت به جای صد رمز، تنها یک عبارت عبور را به خاطر میسپارید. اگر ترجیح میدهید از برنامه مدیریت استفاده نکنید، یک دفترچه در مکانی امن در خانه و دور از دید مهمانان، خطری کمتر از تکرار رمزها دارد. آنچه هرگز کارایی ندارد، یک فایل متنی روی دسکتاپ، یادداشتی در پیامرسان یا یک برچسب چسباندهشده به مانیتور در محل کار است.
چکلیست کوتاه
- 16 کاراکتر یا بیشتر هر جا که سایت اجازه میدهد، و هرگز کمتر از 12 کاراکتر نباشد
- تولیدشده با رایانه، نه ساختگی — یا یک عبارت عبور از شش کلمه تصادفی در صورتی که باید خودتان آن را تایپ کنید
- یک رمز عبور متفاوت برای هر حساب کاربری
- احراز هویت دومرحلهای هر جا که ارائه میشود، به عنوان مانع دوم در صورت افشای رمز؛ کلیدهای عبور (passkeys) و کلیدهای امنیتی سختافزاری FIDO2 فراتر میروند، زیرا امکان تحویل آنها به یک سایت جعلی وجود ندارد
- تغییر رمز عبور در صورت وجود دلیل — یک رخنه اطلاعاتی، شک به فیشینگ، یا رمزی که نباید دیگر در دست کسی باشد — نه طبق یک زمانبندی تقویمی
برای درک علت وجود این قوانین، مطالعه کنید که رمزهای عبور چگونه کرک میشوند. مقالات بیشتر در مطالب تولیدکننده رمز عبور گردآوری شدهاند.