آیا باید از رمز عبور تصادفی استفاده کنم یا عبارت عبور؟+−
هر دو مشروع هستند، و راهنمای هویت دیجیتال NIST در سال ۲۰۲۴ صراحتاً طول را بر قوانین پیچیدگی اجباری ترجیح میدهد. یک رمز عبور تصادفی آنتروپی بیشتری در هر کاراکتر متمرکز میکند که وقتی یک مدیر رمز عبور آن را برای شما به خاطر میسپارد ایدهآل است. یک عبارت عبور - چند کلمه تصادفی که به هم متصل شدهاند - مقداری آنتروپی در هر کاراکتر را با چیزی معامله میکند که یک انسان واقعاً میتواند به خاطر بسپارد و تایپ کند، که برای رمزهای اصلی یا هر چیزی که از حفظ تایپ میکنید اهمیت دارد.
بیتهای آنتروپی واقعاً چه معنایی دارند؟+−
هر بیت اضافی آنتروپی، تعداد حدسهایی را که یک مهاجم برای امتحان هر احتمال نیاز دارد دو برابر میکند. رمز عبوری با ۴۰ بیت آنتروپی حدود یک تریلیون ترکیب ممکن دارد؛ رمزی با ۸۰ بیت حدود یک تریلیون ضرب در یک تریلیون دارد. راهنمای امنیتی عموماً ۸۰ بیت یا بیشتر را برای هر چیزی که نمیتوان با محدودیت نرخ یا قفلشدن محافظت کرد، مانند یک کلید رمزنگاری یا رمز اصلی یک مدیر رمز عبور، عالی میداند.
تخمین زمان شکستن چگونه محاسبه میشود؟+−
این تخمین فرض میکند مهاجمی با دسترسی آفلاین به هش رمز عبور، حدود ۱۰ میلیارد تلاش در ثانیه انجام میدهد - جایگزینی تقریبی برای یک خوشه GPU مدرن. هدف آن انتقال مرتبه بزرگی است، نه یک پیشبینی دقیق: زمان واقعی شکستن بهشدت به الگوریتم هش سیستم هدف بستگی دارد که این ابزار هیچ راهی برای دانستن آن ندارد.
چرا کاراکترهای مبهمی مانند l، 1، I، O و 0 حذف میشوند؟+−
هنگام خواندن با صدای بلند، نوشتن دستی یا نمایش در برخی فونتها بهراحتی با هم اشتباه گرفته میشوند. حذف آنها مقدار کمی آنتروپی را با رمز عبوری معامله میکند که هنگام تایپ از روی صفحه یا کاغذ کمتر مستعد خطا است - این برای رمزهای عبوری که باید بهجای چسباندن از یک مدیر، بهصورت دستی وارد کنید مفید است.
آیا ممکن است تولیدکننده تصادفی برخی کاراکترها را نسبت به بقیه ترجیح دهد؟+−
خیر - این ابزار بهجای یک عملیات باقیمانده ساده، از نمونهگیری با رد (rejection sampling) بر پایه crypto.getRandomValues() استفاده میکند. گرفتن یک بایت تصادفی و محاسبه byte % اندازهاستخر هر بار که اندازه استخر بر ۲۵۶ بهطور مساوی بخشپذیر نباشد، به کاراکترهای نزدیک به ابتدای استخر شانس اندکی بهتر میدهد، بنابراین تولیدکننده در عوض هر مقدار خارج از محدوده را کنار میگذارد و دوباره انتخاب میکند تا نتیجه در محدودهای بیفتد که بهطور مساوی بخشپذیر است. نتیجه این است که صرفنظر از تعداد انواع کاراکتری که فعال میکنید، هر کاراکتر دقیقاً همان احتمال انتخابشدن را دارد.
چرا یک رمز عبور تصادفی همیشه شامل حداقل یکی از هر نوع کاراکتری است که فعال کردهام؟+−
پس از ساخت استخر کاراکترها، تولیدکننده پیش از پر کردن باقی طول از استخر کامل، یک کاراکتر از هر دستهای که فعال کردهاید - حروف بزرگ، حروف کوچک، اعداد، نمادها - کنار میگذارد و سپس همه چیز را به ترتیبی تصادفی بههم میریزد. این کار تضمین میکند که رمز عبور شما بهطور تصادفی تماماً از حروف بدون هیچ رقمی تشکیل نشود، که اهمیت دارد زیرا بسیاری از سایتها رمزی را که یک نوع کاراکتر لازم را ندارد رد میکنند، حتی اگر آن نوع در استخر وجود داشته باشد. مرحله بههمریختن نیز از همان انتخاب تصادفی بیطرف استفاده میکند، بنابراین کاراکترهای تضمینشده در موقعیتهای قابلپیشبینی قرار نمیگیرند.