Проверка надёжности пароля
Сгенерировать пароль
Инструмент проверки надёжности паролей GeekFormat научно оценивает безопасность пароля на основе энтропии Шеннона. При вводе пароля мгновенно отображает 5-звёздочную оценку надёжности, значение энтропии (в битах), оценку времени взлома в трёх сценариях (обычный ПК, суперкомпьютер, онлайн-атака с ограничением скорости), поэлементно проверяет 7 показателей безопасности (длина, прописные/строчные буквы, цифры, специальные символы, повторяющиеся шаблоны, последовательные ряды, совпадение в базе распространённых слабых паролей) и предоставляет персонализированные рекомендации по улучшению. Включает криптографически безопасный генератор случайных паролей (crypto.getRandomValues), поддерживает длину от 8 до 64 символов и настраиваемый набор символов. Полностью локальная обработка в браузере, пароль не отправляется на сервер.
Похожие
О надёжности и безопасности паролей
Надёжность пароля (Password Strength) — это мера способности пароля сопротивляться Brute-force Attack и Dictionary Attack. Надёжный пароль должен иметь достаточную длину, достаточно большой пул символов (смесь нескольких типов символов), достаточную случайность (без закономерностей, непредсказуемый) и не находиться в списке утёкших паролей. Пароль является самым базовым и широко используемым средством аутентификации цифровой идентичности, от почты и социальных аккаунтов до интернет-банкинга и криптокошельков, почти все онлайн-сервисы зависят от защиты паролем. Слабый пароль является основной причиной утечек данных и краж аккаунтов — многолетняя статистика Verizon DBIR (Data Breach Investigations Report) показывает, что более 80% инцидентов утечки данных связаны со слабыми паролями или утечкой паролей.
Энтропия Шеннона (Shannon Entropy) — это научный показатель для измерения надёжности пароля, предложенный Клодом Шенноном, отцом теории информации, в 1948 году. В криптографии единица измерения энтропии — бит, представляющий логарифм (по основанию 2) среднего количества попыток, необходимых для взлома пароля грубой силой. Например, 40 бит энтропии означают, что атакующему в среднем нужно перебрать 2⁴⁰≈1 триллион комбинаций; 80 бит требуют 2⁸⁰≈1 триллион триллионов; 128 бит не поддаются взлому грубой силой в обозримом будущем. Важно отметить, что энтропия Шеннона предполагает, что символы пароля полностью случайны; если пароль имеет закономерность (например слово + цифровой суффикс), реальная эффективная энтропия будет ниже теоретического значения.
Brute-force Attack — это самый прямой метод атаки на пароли: систематический перебор всех возможных комбинаций символов до нахождения правильного пароля. Скорость Brute-force Attack зависит от двух факторов: вычислительной мощности (сколько попыток в секунду) и значения энтропии пароля (сколько попыток нужно для угадывания). С ростом мощности параллельных вычислений GPU скорость грубого взлома быстро растёт — высококачественные видеокарты 2020-х годов могут перебирать десятки миллиардов password hash в секунду. Но когда значение энтропии пароля достаточно высокое (например выше 100 бит), даже при объединении всех вычислительных ресурсов мира невозможно завершить исчерпывающий перебор в течение возраста Вселенной. Поэтому самый эффективный метод против Brute-force Attack — использование длинных случайных паролей с высокой энтропией.
Dictionary Attack — это более эффективный метод атаки, чем Brute-force Attack: атакующий не перебирает все комбинации, а использует «словарь», содержащий распространённые пароли, утёкшие пароли, списки слов и комбинации распространённых шаблонов для перебора. Большинство пользователей выбирают пароли, которые не являются полностью случайными — исследования показывают, что более 50% пользователей используют варианты из 1000 наиболее распространённых паролей. Dictionary Attack на несколько порядков быстрее Brute-force Attack, потому что перебирает только наиболее вероятные кандидаты. Базы данных распространённых паролей (например 14 миллионов утёкших паролей rockyou, база данных Pwned Passwords от Have I Been Pwned) регистрируют миллиарды паролей, которые уже утекли в Интернет, любой пароль, появляющийся в этих списках, должен считаться небезопасным.
Оценка времени взлома пароля должна учитывать сценарий атаки. Онлайн-атаки (попытка через интерфейс входа на сайт) обычно строго ограничены по скорости — сервер ограничивает частоту попыток, блокирует аккаунт после нескольких неудач, требует CAPTCHA, поэтому самая низкая скорость (от нескольких до сотен раз в секунду). Офлайн-атаки (атакующий взламывает локально после получения базы данных password hash) чрезвычайно быстры — при использовании кластеров высококачественных GPU могут перебирать сотни миллиардов раз в секунду, при использовании облачных вычислений или суперкомпьютера могут достигать триллионов или квадриллионов раз в секунду. Кроме того, скорость взлома разных алгоритмов хеширования сильно различается: MD5 и NTHash очень быстрые, алгоритмы медленного хеширования, такие как bcrypt/Argon2, специально разработаны для противодействия Brute-force Attack, скорость в миллионы раз медленнее.
NIST (Национальный институт стандартов и технологий США) представил современные рекомендации для политик паролей в руководстве SP 800-63B: 1) Длина пароля не менее 8 символов, рекомендуется использовать более длинные пароли (password phrase/passphrase); 2) Поддерживать все символы ASCII и Unicode (включая пробел); 3) Больше не требовать обязательной периодической смены пароля (менять только при наличии доказательств утечки); 4) Больше не требовать определённых правил комбинации символов (но рекомендовать использование нескольких типов); 5) Запретить использование известных утёкших паролей; 6) Предоставлять обратную связь о надёжности пароля. Суть этих рекомендаций: настоящая надёжность пароля происходит от длины и случайности, а не от сложных правил композиции; длина важнее сложности.
Passphrase — это стратегия паролей, уравновешивающая безопасность и запоминаемость: использование 4-6 случайно выбранных слов (например correct horse battery staple) в комбинации, получение высокой энтропии за счёт количества слов вместо сложности символов. Парольная фраза из 5 случайных английских слов имеет значение энтропии около 65-70 бит (при условии случайного выбора из 7776 распространённых слов), что эквивалентно 10-11 полностью случайным символам ASCII, но легче запоминается. Но важно отметить: слова в passphrase должны выбираться случайно, использование осмысленных предложений или распространённых фраз (например iloveyou, tobeornottobe) резко снижает безопасность.
Лучшие практики безопасности паролей: Во-первых, используйте менеджер паролей (например Bitwarden, KeePassXC, 1Password и т.д.) для генерации и хранения уникального надёжного случайного пароля (16+ символов всех типов) для каждого сайта, избегайте повторного использования паролей; Во-вторых, по возможности включите двухфакторную аутентификацию (2FA/TOTP/ключ безопасности), чтобы защитить аккаунт даже при утечке пароля; В-третьих, регулярно проверяйте, не появлялась ли ваша почта в утечках данных (через такие сервисы, как Have I Been Pwned); В-четвёртых, будьте осторожны с фишинговыми письмами и поддельными сайтами, это наиболее распространённый способ кражи паролей; В-пятых, используйте дополнительную надёжную защиту для важных аккаунтов (почта, интернет-банкинг, криптокошелёк), избегайте входа в конфиденциальные аккаунты в общественном Wi-Fi; В-шестых, безопасность паролей — это системный проект, надёжный пароль — это только первая линия обороны.
Варианты использования
- Проверяйте надёжность пароля перед регистрацией на новом сайте, чтобы избежать использования слабых паролей, которые могут привести к краже аккаунта
- Оценивайте безопасность нового пароля при периодической смене, подтверждая, что новый пароль надёжнее старого
- Используйте как справочный инструмент для требований к сложности паролей, когда ИТ-отделы предприятий разрабатывают корпоративные политики паролей
- Сверяйтесь со стандартами проверки для проектирования подсказок о надёжности пароля на фронтенде при разработке функций регистрации/смены пароля
- Проверяйте, являются ли существующие пароли распространёнными слабыми паролями или имеют слишком короткое время взлома при расследовании инцидентов безопасности аккаунтов
- Генерируйте пароли соответствующей надёжности для аккаунтов разных уровней безопасности — очень надёжный пароль для почты и интернет-банкинга, средний пароль для форумов
- Объясняйте нетехническим пользователям, почему пароли, которые «кажутся длинными» (например password123), на самом деле небезопасны, наглядно демонстрируя риск через время взлома
- Повторно проверяйте значение энтропии и уровень надёжности после того, как менеджеры паролей сгенерируют пароли
- Наблюдайте соотношение между изменениями комбинации символов и изменениями энтропии и времени взлома при изучении безопасности паролей
- Сравнивайте эффективность различных политик паролей — например разницу во времени взлома между 8 цифрами, 8 смешанными символами и 16 смешанными символами
- Демонстрируйте уязвимость слабых паролей на презентациях по обучению безопасности, вводя распространённые пароли для показа риска мгновенного взлома
- Подтверждайте, что пароль достигает уровня ★★★★ или выше при настройке пароля Wi-Fi, пароля базы данных, ключа шифрования и других сценариях с высокими требованиями к безопасности
Как использовать
- Введите пароль для проверки в поле ввода, нажмите на иконку глаза для переключения между открытым текстом и скрытым отображением для проверки
- Инструмент анализирует пароль в реальном времени, отображая 5-звёздочную оценку надёжности, значение энтропии Шеннона (в битах), время взлома в трёх сценариях
- Просмотрите таблицу проверки набора символов, чтобы подтвердить прохождение 7 показателей безопасности (длина, прописные, строчные, цифры, специальные символы, отсутствие повторов, не является распространённым паролем)
- Оптимизируйте пароль в соответствии с рекомендациями в области советов — например увеличьте длину, добавьте отсутствующие типы символов, избегайте распространённых паролей
- Если нужно сгенерировать надёжный пароль, установите длину (8-64 символа) и параметры типов символов, нажмите кнопку генерации для получения криптографически безопасного случайного пароля
Функции
- Алгоритм энтропии Шеннона: вычисляет значение энтропии Шеннона (в битах) на основе размера набора символов и длины пароля, научно квантует силу случайности пароля вместо простой оценки по правилам
- 5-звёздочная оценка надёжности: 5 уровней от ☆☆☆☆☆ (очень слабый) до ★★★★★ (очень сильный), определяемых комбинацией диапазонов энтропии (<30/30-45/45-60/60-80/>80 бит) и результатов проверки безопасности
- Оценка времени взлома в трёх сценариях: оценивает время Brute-force Attack на обычном ПК (1 млрд попыток/сек), суперкомпьютере (1 квадриллион попыток/сек) и при онлайн-атаке с ограничением скорости (100 попыток/сек), охватывая диапазоны от миллисекунд до триллионов лет
- Поэлементная проверка 7 показателей безопасности: автоматически определяет, имеет ли пароль длину ≥8 символов, содержит прописные буквы, строчные буквы, цифры, специальные символы, не содержит последовательно повторяющихся символов (например aaa/111), не содержит последовательных числовых рядов (например 123/456) и не находится в базе распространённых слабых паролей
- Обнаружение базы распространённых слабых паролей: встроенный список распространённых слабых паролей, немедленное красное предупреждение при вводе классических слабых паролей, таких как 123456, password, qwerty, которые мгновенно взламываются при атаке Rainbow Table
- Динамические рекомендации по улучшению: предоставляет персонализированные рекомендации по улучшению в реальном времени на основе результатов проверки — добавить прописные буквы если их нет, увеличить длину если она недостаточна, сменить если пароль распространённый, точно направляя пользователя на повышение надёжности пароля
- Встроенный безопасный генератор паролей: генерирует пароли с использованием crypto.getRandomValues() браузера (криптографически безопасные случайные числа), длина регулируется от 8 до 64 символов, возможность выбора включения прописных, строчных букв, цифр и специальных символов (!@#$%^&*-_+=?)
- Переключатель показать/скрыть пароль: переключает отображение пароля между открытым текстом и скрытым одним нажатием, облегчая проверку введённого содержимого и избегая ошибок из-за неправильно введённых символов
- Подсчёт символов в реальном времени: под полем ввода отображается текущее количество символов пароля, облегчая оценку соответствия длины требованиям
- Мгновенный анализ без задержек: анализирует пароль во время ввода, без необходимости нажимать кнопки, немедленная обратная связь об изменениях надёжности
- Копирование результатов одним нажатием: поддержка копирования одним нажатием полной сводки с уровнем надёжности, значением энтропии и тремя временами взлома для записи или обмена
- Интернационализированный числовой формат: числа времени взлома автоматически форматируются в соответствии с языковыми настройками пользователя (разделители тысяч и т.д.)
- Функция очистки: очищает поле ввода одним нажатием для новой проверки, удобная операция
- Полностью локальная обработка в браузере: анализ и генерация пароля выполняются в JavaScript в браузере, введённый пароль не отправляется по сети на какие-либо серверы, безопасность пароля гарантирована
Часто задаваемые вопросы
Каков принцип проверки надёжности пароля? Как вычисляется энтропия Шеннона?
Этот инструмент квантует надёжность пароля на основе теории информационной энтропии, предложенной Клодом Шенноном. Формула расчёта энтропии: Энтропия = Длина пароля × log₂(размер пула символов). Размер пула символов накапливается в зависимости от используемых типов символов: 26 строчных букв, 26 прописных, 10 цифр, 33 специальных символа (!@#$%^&*-_+=? и т.д.). Например, 8-символьный пароль, использующий только строчные буквы, имеет пул=26, энтропия=8×log₂(26)≈37.6 бит; 16-символьный пароль, использующий все четыре типа символов, имеет пул=95, энтропия=16×log₂(95)≈105 бит. Чем выше энтропия, тем больше комбинаций должен перебрать Brute-force Attack и тем безопаснее пароль.
Почему пароли вроде 123456, password длинные, но оцениваются как очень слабые?
Потому что надёжность пароля зависит не только от длины, но и от случайности и непредсказуемости. 123456 имеет 6 цифр, но это один из самых распространённых паролей, присутствующий в каждой Rainbow Table и словаре паролей. Хакеры пробуют эти высокочастотные пароли в первую очередь и могут угадать за несколько секунд. Этот инструмент имеет встроенную базу распространённых слабых паролей; при обнаружении пароля в списке распространённых паролей он напрямую классифицируется как очень слабый (☆☆☆☆☆), независимо от длины. Похожие слабые пароли включают: qwerty, abc123, admin, letmein, welcome, monkey, dragon и т.д.
В чём разница между тремя сценариями в оценке времени взлома?
Три сценария симулируют скорости взлома с разными возможностями атаки: 1) Онлайн-атака с ограничением скорости (100 попыток/сек): симулирует интерфейс входа на сайт, серверы обычно ограничивают частоту попыток (например не более нескольких попыток в секунду на аккаунт, блокировка после 5 неудач), это наиболее распространённый сценарий удалённой атаки, самая низкая скорость; 2) Офлайн-атака на обычном ПК (1 млрд попыток/сек): после получения password hash атакующий выполняет Brute-force Attack локально на видеокарте, современные GPU пытаются миллиарды раз в секунду; 3) Суперкомпьютер/распределённая атака (1 квадриллион попыток/сек): атакующие государственного уровня или крупные ботнеты с чрезвычайно высокой мощностью параллельных вычислений. Ваш пароль должен выдерживать достаточно времени также в сценарии суперкомпьютера, чтобы считаться действительно безопасным.
Сколько символов должен иметь пароль, чтобы быть безопасным? Какова рекомендуемая политика паролей?
Уровень безопасности зависит от сценария: 1) Обычные форумы/неважные аккаунты: ≥12 смешанных символов, энтропия ≥60 бит (★★★☆☆), требуются годы на суперкомпьютере; 2) Почта/социальные аккаунты: ≥14 смешанных символов, энтропия ≥80 бит (★★★★☆); 3) Интернет-банкинг/криптокошелёк/аккаунт администратора: ≥16 символов всех типов, энтропия ≥100 бит (★★★★★), взлом на суперкомпьютере требует триллионы лет или более. Общая рекомендация: используйте менеджер паролей для генерации случайных паролей длиной 16+ символов с прописными+строчными+цифрами+специальными символами, используйте уникальный пароль для каждого сайта, включите двухфакторную аутентификацию (2FA).
Почему даже при наличии прописных+строчных+цифр+специальных символов всё равно указывается, что пароль недостаточно надёжный?
Может быть несколько причин: 1) Недостаточная длина — даже при всех четырёх типах символов, если пароль имеет только 8 символов, энтропия составляет около 52 бит, он всё ещё может быть взломан относительно быстро на суперкомпьютере; 2) Повторяющиеся шаблоны — например AAAbbb123!!! содержит последовательно повторяющиеся символы, инструмент обнаруживает это и снижает оценку; 3) Последовательные цифры — например 123 в abc123! является последовательным рядом; 4) Общая структура имеет закономерность — например Password1! удовлетворяет четырём типам символов, но Password — распространённое слово с заглавной первой буквой и цифровым/символьным суффиксом, легко уязвима для Dictionary Attack. Рекомендуется длина не менее 12 символов и как можно более случайное расположение символов.
Отправляется ли введённый пароль на сервер? Это безопасно?
Абсолютно нет. Все вычисления анализа пароля этого инструмента выполняются локально в JavaScript в вашем браузере, введённый пароль не отправляется по сети на какие-либо внешние серверы. Страница использует API crypto.getRandomValues() браузера для генерации случайных паролей (интерфейс криптографически безопасных случайных чисел, предоставляемый браузером), не зависит от сервера. Вы можете использовать этот инструмент в автономном режиме, все функции работают нормально. При закрытии или обновлении страницы введённый пароль автоматически очищается, не сохраняется постоянно в браузере.
Почему пароль кажется случайным, но результат показывает, что он не в базе распространённых паролей? Как это определяется?
Инструмент имеет встроенный набор данных распространённых слабых паролей (commonPasswords), содержащий тысячи наиболее часто встречающихся паролей из исторических утечек данных (например высокочастотные пароли, статистически собранные из утечки rockyou и т.д.). Если вашего пароля нет в этом списке, это означает, что он не является одной из тех широко используемых слабых паролей. Но важно отметить: отсутствие в базе распространённых паролей не равносильно абсолютной безопасности — если пароль содержит личную информацию (имя, дата рождения, номер телефона), клавиатурные пути (asdfgh) или комбинации слов со значением, он всё ещё может быть взломан целенаправленной Dictionary Attack. Самый безопасный пароль — это полностью случайно сгенерированная последовательность символов.
Безопасны ли случайные числа, используемые генератором паролей?
Да. Генератор паролей использует интерфейс crypto.getRandomValues(), предоставляемый браузером, который является CSPRNG (Cryptographically Secure Pseudo-Random Number Generator), предоставляемым Web Cryptography API, качество случайности которого намного выше, чем у Math.random(). Случайная энтропия crypto.getRandomValues() поступает из пула энтропии операционной системы (физические случайные источники, такие как интервалы нажатий клавиш, движение мыши, время дискового ввода-вывода и т.д.), она непредсказуема и невоспроизводима, подходит для генерации паролей, ключей и других чувствительных к безопасности данных. Символы сгенерированного пароля извлекаются равномерно и случайно из выбранного вами набора символов.
Почему оценка надёжности одного и того же пароля может различаться на разных инструментах?
Разные инструменты проверки надёжности паролей используют разные алгоритмы и пороги, результаты оценки могут отличаться. Распространённые различия включают: 1) Разный способ расчёта энтропии — некоторые инструменты вычисляют простым подсчётом классов символов, другие выполняют более точный анализ шаблонов; 2) Разный размер базы распространённых паролей — чем полнее база, тем больше слабых паролей может распознать; 3) Разный порог уровня надёжности — нет единого стандарта о том, сколько бит считать «сильным»; 4) Обнаруживают ли клавиатурные шаблоны (qwerty, qazwsx), форматы дат, повторяющиеся символы и т.д. Этот инструмент использует комбинацию энтропии Шеннона + проверки по 7 правилам и выполняет специальное обнаружение распространённых слабых паролей, оценка ссылается на отраслевые стандарты (рекомендации NIST, OWASP).
Какие специальные символы включены? Почему не поддерживается больше специальных символов?
Набор специальных символов этого инструмента — !@#$%^&*-_+=? (всего 14), генератор паролей также использует этот набор. Это связано с тем, что многие сайты имеют ограничения на специальные символы, разрешённые в паролях — например одинарные кавычки, двойные кавычки, обратная косая черта, пробел, угловые скобки имеют специальное значение в SQL, HTML, командной строке, могут вызывать проблемы с инъекциями или отклоняться сайтами. Выбор наиболее часто используемых и широко принимаемых специальных символов гарантирует, что сгенерированные пароли можно использовать на подавляющем большинстве сайтов. Если вы используете другие специальные символы при ручном вводе пароля (например %, ~, |, {}[] и т.д.), инструмент всё равно распознает их как специальные символы и включит в пул символов.
Повышает ли безопасность периодическая смена паролей?
Согласно последним рекомендациям NIST SP 800-63B, принудительная периодическая смена паролей (например каждые 90 дней) имеет ограниченную пользу для безопасности, может даже привести к тому, что пользователи выбирают слабые пароли или вносят небольшие изменения в старые пароли (например password1→password2). Лучшая стратегия: 1) Используйте достаточно надёжные длинные случайные пароли (16+ символов); 2) Используйте уникальный пароль для каждого аккаунта (управляемые через менеджер паролей); 3) Включите двухфакторную аутентификацию (2FA); 4) Немедленно смените соответствующие пароли после получения информации об утечке данных; 5) Немедленно смените пароль при обнаружении аномального входа. Этот инструмент может помочь вам оценить, нужно ли обновить надёжность существующего пароля.
Нужно ли проверять пароли, сгенерированные менеджерами паролей, этим инструментом?
Обычно не нужно, пароли, сгенерированные основными менеджерами паролей (1Password, Bitwarden, KeePassXC, LastPass и т.д.), по умолчанию используют криптографически безопасные случайные числа и полный набор символов, длина обычно от 12 до 20 символов или более, надёжность обычно выше ★★★★. Но если вы настроили правила генерации менеджера паролей (например исключили специальные символы, сократили длину), можете использовать этот инструмент для проверки, соответствуют ли значение энтропии и время взлома вашим требованиям безопасности. Кроме того, если вы не уверены в надёжности реализации случайных чисел менеджера паролей, повторная проверка также является хорошей привычкой.
Почему последовательные цифры или последовательно повторяющиеся символы снижают безопасность пароля?
Потому что инструменты Brute-force Attack и Dictionary Attack не только пробуют распространённые пароли, но и генерируют кандидатуры паролей, нацеленные на распространённые шаблоны. Последовательные цифры (123, 456, 789, 012) и последовательно повторяющиеся символы (aaa, 111, !!!) являются очень высокочастотными шаблонами, присутствующими в большом количестве паролей. Механизм правил инструментов взлома паролей специально генерирует эти варианты (например добавление 123, !!!, 2024 и других годов после слов), пароли, содержащие эти шаблоны, эквивалентны снижению эффективной энтропии — атакующим не нужно выполнять исчерпывающий поиск всех комбинаций, они могут угадать, просто пробуя распространённые шаблоны.
Безопасны ли китайские пароли или пароли с полноширинными символами?
Большинство сайтов и систем не поддерживают китайские или полноширинные символы в качестве паролей, так как обработка кодировки может вызывать проблемы совместимости. Этот инструмент считает любые небуквенно-цифровые символы специальными символами, но на практике если вы используете китайский пароль, можете столкнуться с такими проблемами, как невозможность входа, искажённые символы между платформами и т.д. Рекомендуется использовать пароли, состоящие из набора символов ASCII (прописные, строчные, цифры, полуширинные символы), что является решением с лучшей совместимостью. Если система поддерживает Unicode-пароли (например некоторые системы Linux), Unicode-пароли имеют больший пул символов, но необходимо гарантировать, что все терминалы могут правильно их вводить.
Что такое Rainbow Table? В чём разница с Brute-force Attack?
Brute-force Attack перебирает все возможные комбинации символов одна за другой; а Rainbow Table — это заранее вычисленная таблица соответствия (rainbow table) распространённых паролей и их хешей, при атаке достаточно обратиться к таблице вместо вычисления одного за другим, чрезвычайно высокая скорость. Если пользователь использует распространённый пароль, даже если алгоритм хеширования сильный (например SHA-256), атакующий может обнаружить исходный пароль за несколько секунд через rainbow table. Методы защиты от Rainbow Table включают: 1) Использование достаточно случайных длинных паролей (вне покрытия rainbow table); 2) Система должна использовать salted hash (например bcrypt, scrypt, Argon2), чтобы сделать предварительно вычисленные rainbow table недействительными. Обнаружение базы распространённых паролей этим инструментом помогает пользователям избежать выбора паролей, уже покрытых rainbow table.
Устранение неполадок
Почему после ввода пароля не отображается результат анализа?
Результат анализа отображается в реальном времени после ввода пароля. Если вы не видите область результатов после ввода, проверьте: 1) Вы ввели пароль (пустое поле ввода не отображает результаты); 2) Страница полностью загружена (JavaScript включён и без ошибок). Если всё ещё не отвечает, попробуйте обновить страницу. Анализ пароля полностью выполняется в локальном браузере, не зависит от сетевых запросов, обновление не теряет введённое, но очищает содержимое.
Кнопка генерации пароля не реагирует после нажатия?
Кнопка генерации пароля требует, чтобы был выбран хотя бы один тип символов (хотя бы один из прописных/строчных/цифр/символов). Если ни одна опция не отмечена, невозможно сгенерировать пароль; по умолчанию строчные буквы + цифры используются как резервный вариант. Рекомендуется держать отмеченными все четыре опции (прописные, строчные, цифры, символы) для генерации самого надёжного пароля. Ползунок длины варьируется от 8 до 64 символов. Сгенерированный пароль автоматически заполняется в поле ввода и мгновенно анализируется.
Кнопка показать/скрыть пароль не работает?
Кнопка с иконкой глаза переключает атрибут type поля пароля между password и text. Если не переключается после нажатия, возможно исключение JavaScript браузера, попробуйте обновить страницу. Примечание: в режиме password введённые символы отображаются как точки (•••), в режиме text отображаются открытым текстом. Рекомендуется использовать режим password в общественных местах или во время записи экрана.
Мой пароль явно сложный, почему оценка невысокая?
Проверьте эти распространённые проблемы: 1) Недостаточная длина? Менее 12 символов, даже при полной смеси всё ещё могут быть взломаны относительно быстро на суперкомпьютере, рекомендуется не менее 14; 2) Содержит повторяющиеся последовательности? Например AAA111!!! содержит последовательно повторяющиеся символы; 3) Это распространённое слово с суффиксом? Например Password123! или Qwerty@2024 удовлетворяют четырём типам символов, но ядро — распространённое слово + шаблонный суффикс; 4) Это клавиатурный путь? Например Qazwsx123! — это Z-образный путь на клавиатуре, такие шаблоны пробуются в приоритетном порядке инструментами взлома. Рекомендуется использовать генератор паролей для создания полностью случайных паролей.
Глоссарий
- Shannon Entropy
- Концепция теории информации, предложенная Клодом Шенноном, используемая для измерения силы случайности пароля, единица измерения — бит. Значение энтропии = длина пароля × log₂(размер пула символов). Чем выше энтропия, тем больше комбинаций необходимо для Brute-force Attack.
- Character Pool
- Размер множества всех возможных символов, используемых в пароле. 26 строчных букв, 26 прописных, 10 цифр, около 33 специальных символов. Чем больше типов символов используется, тем больше пул символов, тем больше прирост энтропии даёт каждый дополнительный символ.
- Brute-force Attack
- Метод атаки, при котором предпринимается попытка угадать пароль путём систематического перебора всех возможных комбинаций символов. Время взлома зависит от значения энтропии пароля и вычислительной мощности атакующего, пароль с высокой энтропией может сделать Brute-force Attack вычислительно неосуществимым.
- Dictionary Attack
- Метод атаки для угадывания паролей с использованием предварительно скомпилированного списка, содержащего распространённые пароли, утёкшие пароли, слова и распространённые шаблоны, эффективность намного выше чистого Brute-force Attack, это наиболее распространённое средство атак на пароли в реальности.
- Rainbow Table
- Заранее вычисленная таблица соответствия password hash, используемая для быстрого обратного поиска исходного пароля после получения значения хеша. Использование salted hash и алгоритмов медленного хеширования (bcrypt/Argon2) может эффективно защищать от Rainbow Table.
- CSPRNG
- Cryptographically Secure Pseudo-Random Number Generator, генератор случайных чисел, выходные данные которого непредсказуемы и невоспроизводимы. Этот инструмент использует интерфейс CSPRNG crypto.getRandomValues() браузера для генерации паролей.
- Common Password
- Пароли, которые с высокой частотой появляются в различных инцидентах утечки данных (например 123456, password, qwerty, admin и т.д.). Эти пароли присутствуют во всех словарях для взлома и должны полностью избегаться.
- 2FA/MFA
- Two-Factor/Multi-Factor Authentication, помимо пароля требуется второй фактор проверки (например код подтверждения на телефон, TOTP, аппаратный ключ безопасности), защищающий аккаунт даже при утечке пароля.
- Passphrase
- Длинный пароль, состоящий из нескольких случайных слов, получает высокое значение энтропии за счёт количества слов и легче запоминается, чем случайная последовательность символов. Например случайная комбинация из 4 слов «correct horse battery staple».
- Password Hash
- Использование односторонней хеш-функции для преобразования пароля в необратимую строку фиксированной длины для хранения. При проверке сравниваются значения хеша, а не открытый текст, даже при утечке базы данных пароль не раскрывается напрямую. Следует использовать алгоритмы медленного хеширования, такие как bcrypt/Argon2.
- Salt
- Случайная строка, добавляемая к паролю перед вычислением хеша, заставляющая одинаковые пароли генерировать разные значения хеша, предотвращая Rainbow Table и пакетный взлом. Каждый пароль должен иметь уникальный salt.
- crypto.getRandomValues()
- Интерфейс генерации криптографически безопасных случайных чисел, предоставляемый Web Cryptography API, реализуемый браузером, источник случайности поступает из пула энтропии операционной системы, намного превосходит Math.random(), подходит для генерации паролей и ключей.
Справка по энтропии пароля и времени взлома
Справка по сложности взлома паролей с разными значениями энтропии в сценарии атаки на суперкомпьютере (1 квадриллион попыток/сек):
| Энтропия(бит) | Типичная комбинация | Время взлома (ПК) | Время взлома (суперкомпьютер) | Оценка надёжности |
|---|---|---|---|---|
< 30 | 6 цифр, распространённое слово | < 1 секунда | Мгновенно | ☆☆☆☆☆ Очень слабый |
30-45 | 8 строчных букв | Секунды — часы | < 1 секунда | ★☆☆☆☆ Слабый |
45-60 | 8 прописных/строчных + цифры | Дни — годы | Секунды — минуты | ★★☆☆☆ Средний |
60-80 | 10 смешанных символов | Десятилетия — тысячелетия | Часы — дни | ★★★☆☆ Хороший |
80-100 | 14 смешанных символов | Столетия или более | Годы — столетия | ★★★★☆ Надёжный |
> 100 | 16 случайных символов | Невозможно | Триллионы лет или более | ★★★★★ Очень надёжный |
Сравнение энтропии для разных комбинаций типов символов
Разница в теоретическом значении энтропии и безопасности для 12-символьного пароля с использованием разных комбинаций:
| Комбинация символов | Пул | Энтропия (12 симв.) | Порядок комбинаций | Оценка безопасности |
|---|---|---|---|---|
| Только цифры (0-9) | 10 | ~40 bits | 10¹² | Очень слабый, взлом за секунды |
| Только строчные буквы | 26 | ~56 bits | 10¹⁷ | Слабый, взлом за минуты |
| Прописные и строчные | 52 | ~68 bits | 10²⁰ | Средний, взлом за часы |
| Прописные/строчные + цифры | 62 | ~71 bits | 10²¹ | Хороший, взлом за дни |
| Прописные/строчные + цифры + символы | 95 | ~79 bits | 10²³ | Надёжный, взлом за годы |
| 16 случайных символов (полный набор) | 95 | ~105 bits | 10³¹ | Очень надёжный, неуязвим для Brute-force Attack |
Описание 7 показателей проверки безопасности
7 показателей безопасности пароля, проверяемых инструментом поэлементно:
| Проверяемый пункт | Критерий прохождения | Риск при непрохождении |
|---|---|---|
| Длина ≥8 символов | Пароль длиной не менее 8 символов | Короткий пароль имеет малое пространство для Brute-force Attack |
| Содержит прописные буквы | Содержит хотя бы один символ A-Z | Пул символов уменьшен на 26, энтропия снижена |
| Содержит строчные буквы | Содержит хотя бы один символ a-z | Пул символов уменьшен на 26, энтропия снижена |
| Содержит цифры | Содержит хотя бы одну цифру 0-9 | Пул символов уменьшен на 10, энтропия снижена |
| Содержит специальные символы | Содержит небуквенно-цифровые символы | Пул символов уменьшен примерно на 33, энтропия снижена |
| Нет повторяющихся/последовательных шаблонов | Нет 3+ одинаковых символов или последовательных цифр | Шаблонный пароль легко уязвим для атак по правилам |
| Не в базе распространённых паролей | Не находится в списке известных слабых паролей | Распространённые пароли взламываются словарём за секунды |
Privacy & Security
Все операции этого инструмента проверки надёжности паролей полностью выполняются в вашем локальном браузере: введённый вами пароль используется только для расчёта энтропии и анализа безопасности в JavaScript в браузере, не отправляется по сети на какие-либо внешние серверы. Генератор паролей использует встроенный интерфейс crypto.getRandomValues() браузера для локальной генерации случайных паролей, не зависит от сервера. Страница не использует отслеживание Cookie, не собирает введённые пользователем пароли или какие-либо данные об использовании. При закрытии или обновлении страницы введённый пароль и результаты анализа автоматически очищаются, не сохраняются постоянно в браузере. Вы можете использовать этот инструмент в автономном режиме, все функции нормально доступны.
Authoritative References
- Симулятор дальтонизма
- Конвертер цветов
- Конвертер .htaccess в Nginx
- SQL Конвертер
- Парсер Cookie
- Генератор Cron-выражений
- Валидатор Cron-выражений
- Форматирование CSS
- Минификация CSS
- CSV в Excel
- Конвертер валют
- Сравнение текста
- Генератор иконок сайта
- Форматирование XML
- Шестнадцатеричный конвертер
- Форматирование HTML
- Минификация HTML
- HTML в Markdown
- Markdown в HTML
- Форматирование JavaScript
- Минификация JS
- Форматировщик JSX
- Минификация JSX
- Кластеризация ключевых слов
- Генератор Lorem Ipsum
- Генератор Markdown-таблиц
- Генератор мета-тегов
- Генератор паролей
- Проверка надёжности пароля
- Генератор QR Code и штрихкодов
- Тестировщик регулярных выражений
- Генератор slug
- Генератор SQL
- Форматировщик SQL
- Счётчик Слов
- Инструмент времени
- Форматирование TS
- Сжатие TS
- Форматирование TSX
- Сжатие TSX
- Конвертер Unix Timestamp
- Генератор UUID
- Форматирование YAML
- Преобразование корпуса