Вимірювачі надійності паролів, які дійсно допомагають: інструкції щодо UX і NIST
Як розробити поля паролів і вимірювачі надійності відповідно до поточних вказівок NIST: довжина над символами, списки блокувань, менеджери вставлення та паролів і чіткий відгук.
Основний винос
Поточна інструкція NIST (SP 800-63B) надає перевагу довжині та спискам блокувань, а не правилам композиції: паролі, які використовуються окремо, мають містити принаймні 15 символів, служби мають дозволяти принаймні 64, і вони не повинні вимагати змішування типів символів. Хороший вимірювач міцності оцінює реальну вгадливість, винагороджує довжину, пояснює проблеми простими словами та працює з менеджерами вставлення та паролів.
Що зараз говорить NIST
Спеціальна публікація NIST 800-63B встановлює сучасні правила паролів для верифікаторів:
- Паролі, які використовуються як єдиний фактор, мають містити щонайменше 15 символів; паролі, які використовуються в рамках багатофакторної автентифікації, можуть бути коротшими, але не менше 8.
- Сервіси мають дозволяти максимальну довжину не менше 64 символів.
- Сервіси не повинні нав’язувати правила композиції, наприклад вимагати поєднання типів символів.
- Нові паролі необхідно перевірити на список блокованих значень із зазначеними причинами відхилення.
- Служби повинні пропонувати вказівки, які допоможуть людям вибрати надійний пароль.
Який хороший метр міряє
Підрахунок типів символів нагороджує "Пароль1!" і карає за довгу парольну фразу. Оцінювачі, такі як zxcvbn з відкритим вихідним кодом Dropbox, натомість шукають шаблони, які використовують зловмисники, розпізнаючи десятки тисяч типових паролів, імен і слів, і оцінюють, наскільки насправді пароль можна вгадати. Базуйте лічильник на такій оцінці, а також ваш список блокувань.
Проектування поля
Маленькі деталі вирішують, чи досягнуть люди успіху:
- Дозволити вставлення та автозаповнення, щоб менеджери паролів працювали.
- Запропонуйте перемикач «Показати/сховати» замість поля підтвердження пароля, де це можливо.
- Показуйте вимоги перед введенням тексту, а потім дивіться прогрес, коли люди вводять текст.
- Поясніть відхилення простими словами: «Цей пароль з’являється у відомих порушеннях».
- Не встановлюйте штучно занижену максимальну довжину.
Рух і зворотній зв'язок
Лічильник, який плавно заповнюється в міру покращення пароля, забезпечує підбадьорливий миттєвий відгук. Не анімуйте його настільки, щоб це відволікало увагу, не використовуйте лише колір (додайте текстову мітку, як-от «Сильний»), і уникайте струшування поля, поки люди ще вводять текст.
Ключі Principle, які слід запам’ятати
- NIST: 15+ символів для однофакторних паролів, дозволено принаймні 64
- Відсутність правил композиції; замість цього перевірте список блокувань
- Оцініть вгадування (наприклад, за допомогою zxcvbn), а не тип символів
- Дозволити менеджери вставлення та паролів; пропонувати показати/сховати
- Поєднайте колір лічильника з текстовою міткою
Часті запитання
Джерела
- NIST SP 800-63B: Authentication and Authenticator Management — NIST
- zxcvbn: low-budget password strength estimation — GitHub (Dropbox)
- Error-Message Guidelines — Nielsen Norman Group