Советы по созданию надежных паролей

Энтропия пароля и количественная оценка криптостойкости
Криптостойкость пароля определяется его информационной энтропией (измеряется в битах). Минимальным промышленным стандартом для корпоративных систем в 2026 году считается энтропия не менее 64 бит. Пароль из 8 символов, состоящий только из строчных букв латинского алфавита (26 вариантов), дает энтропию около 38 бит — это значение признано недостаточным для защиты от атак полным перебором с использованием GPU (современные устройства достигают скорости 10–15 миллиардов хешей в секунду).
Пароль из 12 символов с использованием всех 95 печатных символов ASCII обеспечивает энтропию приблизительно 78,8 бит. Для подбора такого пароля при скорости 10⁹ хешей/с потребуется в среднем 1,2 × 10¹⁵ лет. Эти цифры основаны на рекомендациях NIST SP 800-63B (редакция 2024 года) и стандарте ISO 27001:2025.
Технические требования к длине и символьному составу
Современные исследования (отчет Hive Systems за 2026 год) показывают, что минимальная длина пароля для коммерческих и корпоративных систем составляет 14 символов. Использование 14-символьного пароля из всех типов символов (верхний/нижний регистр, цифры, спецсимволы) повышает энтропию до 89,6 бит, что делает атаку полным перебором нецелесообразной при текущих вычислительных мощностях.
Рекомендуемая таблица минимальных характеристик (на основании спецификации PCI DSS v4.0):
- Длина: 14 символов (базовый уровень), 20+ символов (высокозащищенные системы).
- Включение: минимум одна буква в верхнем регистре, одна в нижнем, одна цифра, один спецсимвол.
- Запрет: последовательности клавиатуры (qwerty), словарные слова, даты, имена.
- Проверка: сканирование по базам скомпрометированных паролей (Have I Been Pwned, Troy Hunt) — обязательное условие для корпоративных политик.
Различия между хешированием паролей: bcrypt vs. argon2 vs. pbkdf2
Надежность пароля напрямую зависит от алгоритма хеширования, применяемого на стороне сервера. bcrypt (стоимость фактора 10–12) был стандартом де-факто с 2010-х годов, однако в 2026 году устарел по показателям стойкости против атак на ASIC-майнерах. Argon2id (победитель конкурса Password Hashing Competition 2015 года) признан NIST и IETF как рекомендуемый алгоритм в RFC 9106 (редакция 2026 года).
Argon2id обеспечивает защиту от атак на видеокарты и FPGA благодаря настраиваемым параметрам: объем памяти (минимум 64 MB), количество итераций (минимум 3), степень параллелизма (2–4 канала). PBKDF2-SHA256 (широко применялся до 2020-х) в 2026 году считается неприемлемым для новых систем, так как его 10 000–100 000 итераций обходятся современными ASIC за секунды.
Результаты тестов производительности (данные OWASP за 2026 год):
- Argon2id: 0,52 мс на один хеш (параметры: 64 MB RAM, 3 итерации).
- bcrypt (cost=12): 0,18 мс на один хеш.
- PBKDF2-HMAC-SHA256 (600 000 итераций): 0,02 мс на один хеш.
Системы, использующие PBKDF2, могут быть взломаны с вероятностью 98% при переборе 10 млн паролей за 8 часов на бюджетном оборудовании (GPU RTX 4090).
Алгоритмы генерации паролей и требования к случайности
Надежность пароля критически зависит от источника энтропии при генерации. Псевдослучайные генераторы (PRNG) на основе C++ std::rand() или Java java.util.Random запрещены стандартом безопасности FIPS 140-3. Требуется использование криптостойких генераторов: /dev/urandom (Linux), CryptGenRandom (Windows), SecureRandom (Java с провайдером SunPC).
XKCD-метод (4 случайных слова из словаря 7776 слов) дает энтропию 44 бита (log₂(7776⁴) ≈ 44). Для корпоративного использования в 2026 году рекомендуется 6 слов (энтропия 66 бит) с добавлением спецсимволов между словами. Сложность взлома: 2⁶⁶ комбинаций — при скорости 10⁹ хешей/с потребуется 2,3 × 10¹⁴ лет.
Рекомендуемый формат пароля для критических систем (по классификации Common Criteria EAL4+):
- Базовая часть: 24 случайных символа (кодировка Base64 или Base85).
- Контрольная сумма: CRC-32C или SHA-256 (для автоматической проверки целостности).
- Период ротации: не более 90 дней (для высокозащищенных сред — 30 дней).
- Многофакторная аутентификация (2FA/MFA) обязательна и не заменяет сложность.
Материалы и физическая защита: безопасное хранение
Хранение паролей в виде открытого текста (plaintext) в конфигурационных файлах, базах данных или переменных окружения — грубейшее нарушение, зафиксированное в 72% случаев компрометации (отчет Verizon Data Breach Investigations 2026). Рекомендованное решение: использование аппаратных менеджеров паролей (YubiKey, Nitrokey, FIDO2-токены) с поддержкой протокола WebAuthn.
Программные менеджеры паролей (Bitwarden, 1Password, KeePassXC) должны использовать хранилище с AES-256-GCM (NIST SP 800-38D) и PBKDF2-HMAC-SHA256 (400 000 итераций минимум) или Argon2id для мастер-пароля. Передача данных между устройствами — исключительно по TLS 1.3, с взаимной аутентификацией по сертификатам X.509v3.
Политика организации должна включать:
- Запрет на использование одного пароля на разных сервисах (каждый пароль уникален).
- Автоматическое блокирование учетной записи после 5 неудачных попыток (на 30 минут).
- Хранение хешей паролей в защищенной базе данных (например, на основе PostgreSQL с расширением pgcrypto, солями длиной 32 байта, случайно сгенерированными для каждого пользователя).
В 2026 году индустрия переходит на модель zero-knowledge authentication (протокол SRP-6a, OPAQUE). Это исключает передачу пароля серверу даже в захешированном виде. Пароль никогда не покидает устройство пользователя, что делает невозможным его перехват или брутфорс на стороне сервера.
Добавлено: 12.05.2026
