Как создать надежный пароль (и что делает его слабым)
Надежный пароль — это тот, который трудно угадать или взломать. Но «сложный» не означает множество символов и чисел, перемешанных вместе — это означает энтропию: достаточную случайную длину, на которую даже быстрому компьютеру, проверяющему миллиарды комбинаций, потребуются столетия. Самый простой способ добиться этого — использовать локальный генератор паролей, который гарантирует, что случайность исходит из криптографии, а не предсказуемого алгоритма.
Что делает пароль слабым
Большинство паролей ненадежны, поскольку они основаны на чем-то запоминающемся: имени, дате, слове с заглавной буквы и цифре в конце. Если пароль основан на шаблоне — реальном слове, дне рождения, фразе — первым инструментом современного злоумышленника является словарь этих шаблонов, а не грубая сила. Даже MyDog2024! для человека выглядит случайным, но мгновенно взламывается, поскольку соответствует наиболее распространенному рецепту пароля.
Второй убийца: повторное использование. Если вы используете один и тот же пароль на десяти сайтах и один из этих сайтов взломан, все десять учетных записей упадут. Многие люди понятия не имеют, сколько баз данных «дампов паролей» являются общедоступными и доступны для поиска в Интернете.
Длина имеет большее значение, чем специальные символы
Распространенный миф: для обеспечения безопасности пароли должны иметь смешанный регистр, цифры и символы. На самом деле длина имеет значение. 16-значный пароль, состоящий из строчных букв, имеет гораздо большую энтропию — и его гораздо сложнее взломать, — чем 8-значный пароль с каждым специальным символом. И вот почему: каждый добавленный символ умножает пространство поиска. 8-значный пароль, состоящий только из строчных букв, имеет 26^8 возможностей (около 200 миллионов). Пароль из 16 символов в нижнем регистре имеет длину 26^16 (около 43 квадриллионов).
Вот почему многие эксперты по безопасности теперь рекомендуют парольные фразы — последовательности случайных слов — вместо традиционных «сложных» паролей. Их легче запомнить, и они гораздо сильнее.
Парольные фразы: подход Diceware
Парольная фраза — это просто последовательность случайных слов. Классический пример — «правильная лошадь-батарея-скобы»: четыре случайных слова, более 20 символов, абсурдно сильные и не такие уж сложные для запоминания. Вы можете генерировать случайные парольные фразы с помощью Генератор парольных фраз, который создает их из списка общих английских слов. Пять слов из списка из 1000 дадут вам больше энтропии, чем случайная строка из 20 символов, состоящая из разных регистров и символов.
Если вам нужен традиционный пароль — символы, смешанный регистр, цифры — используйте Генератор паролей вместо. Но в большинстве случаев фраза является более сильной и практичной.
Прекратите повторное использование паролей
Самая лучшая привычка: один пароль для каждого сайта. Если вы повторно используете пароли, вы живете взаймы. Как только один сайт утечет, другие ваши учетные записи будут раскрыты. Надежный пароль хорош настолько, насколько хорош самый слабый сайт, который его использует. Чтобы проверить, не был ли какой-либо из ваших паролей раскрыт в результате известного взлома, используйте Проверка надежности пароля — вставьте пароль (его видите только вы; ничего не покидает ваш браузер), и он сообщит вам, появится ли он в общедоступных базах данных об утечках.
ПИН-коды и цифровые пароли
Некоторые системы требуют только цифр — банкоматы, PIN-коды телефонов, некоторые замки. Применяется тот же принцип энтропии: чем дольше, тем сильнее. Четырехзначный PIN-код имеет всего 10 000 возможностей, и его можно взломать за миллисекунды. Лучше использовать 6-значный PIN-код (1 миллион возможностей); 8-значный PIN-код является твердым (100 миллионов). Если вам нужен случайный числовой код, PIN-генератор создает их мгновенно.
Зачем генерировать локально
Никогда не доверяйте генератору паролей на чужом сервере. Даже если у него благие намерения, вы не можете убедиться, что он использует реальную случайность или не регистрирует то, что генерирует. Инструменты TextArray полностью работают в вашем браузере — нет сервера, нет загрузки, нет журнала. Генератор паролей использует данные вашего браузера crypto.getRandomValues, что действительно случайно, а не Math.random, что предсказуемо и неприемлемо с точки зрения безопасности. После загрузки страницы все работает в автономном режиме. Вы можете подтвердить это самостоятельно, закрыв подключение к Интернету и создав другой пароль.
Надежный пароль начинается с реальной случайности, достаточной длины, чтобы иметь реальную энтропию, и дисциплины, позволяющей везде использовать разные пароли. Пусть браузер сделает всю тяжелую работу.