Энтропия Шеннона и надежность пароля
Большинство советов по паролям сосредоточены на смешивании прописных и строчных букв, цифр и символов, но при этом упускается из виду реальная мера надежности пароля: энтропия, количество случайных величин, измеряемое в битах. Понимание энтропии Шеннона поможет вам создавать пароли, которые действительно устойчивы к атакам, часто делая противоположное общепринятому мнению.
Что такое энтропия Шеннона?
Энтропия Шеннона, названная в честь математика Клода Шеннона, количественно определяет непредсказуемость сообщения. Для паролей он измеряет, сколько бит информации упаковано в ваш пароль. Чем больше битов, тем больше возможных комбинаций должен попытаться угадать злоумышленник. Пароль с 64-битной энтропией взломать астрономически сложнее, чем пароль с 32-битной энтропией, даже если последний выглядит более сложным.
Как рассчитывается энтропия
Энтропия рассчитывается как log2(possible_outcomes), где возможные_outcomes — это общее количество уникальных паролей, которые кто-то может создать с помощью вашего метода. Пароль, составленный из алфавита, состоящего из 94 символов (строчных, прописных букв, цифр и символов) и длиной 8 символов, имеет энтропию примерно 52 бита. Каждый дополнительный символ добавляет примерно 6,5 бита при извлечении из этого набора из 94 символов.
Энтропия растет логарифмически с размером алфавита, но линейно с длиной. Это имеет значение: расширение алфавита с 26 до 52 символов удваивает энтропию, но увеличение длины на один символ каждый раз увеличивает энтропию пропорционально. Вот почему длина является самым мощным рычагом надежности пароля.
Почему длина важнее символов
Двенадцатизначный пароль, в котором используются только строчные буквы, имеет большую энтропию, чем восьмизначный пароль, в котором используются строчные, прописные буквы, цифры и символы. Математика проста: каждый дополнительный символ длиной 12 умножает ваши возможности на 26. При длине 8 добавление поддержки символов умножается только примерно на 2. Чем длиннее, тем сильнее.
Запоминающаяся парольная фраза, например «плавание слонов в джунглях при лунном свете» (только строчные буквы, 30 символов, взятых примерно из 170 000 общеупотребительных английских слов), содержит около 68 бит энтропии. Случайный пароль, например «Kx7@mQ2p» (8 символов, 94-значный алфавит), имеет всего 52 бита, однако парольную фразу легче набрать и запомнить.
Достижение 80 бит энтропии
Специалисты по безопасности рекомендуют 80-битную энтропию для паролей, защищающих конфиденциальные учетные записи. Вот конкретные пути к 80 битам:
- Использование строчных букв и цифр (36-значный алфавит): 13 символов. Пример: лунный джунгли42elephant9swim
- Использование строчных и прописных букв, цифр и символов (94-значный алфавит): 12 символов.
- Использование списка слов из 10 000 слов: 4 слова. Пример: джунгли-слон-плавание при луне
- Использование списка слов из 7776 слов (стандарт кубиков): 5 слов.
Подходы, основанные на словах, выигрывают в запоминаемости и не менее безопасны математически.
Посуда: проверенный метод
метод кубиков создает пароли с высокой энтропией, используя физические кубики и список слов. Бросьте пять кубиков, найдите полученное пятизначное число в словаре кубиков, запишите слово. Повторите 5 раз для получения 65-битной фразы-пароля; повторить 6 раз для 78 бит; 7 раз по 91 биту. Парольные фразы запоминаются, их легко набирать и они действительно случайны, чего люди не могут достичь, пытаясь проявить творческий подход.
Проверьте энтропию вашего пароля
Используйте проверка надежности пароля измерить энтропию любого пароля в битах. Создайте тестовый пароль с помощью генератор случайных паролей и посмотреть, сколько бит оно содержит. Попробуйте разную длину и алфавиты, чтобы развить интуицию. А Калькулятор энтропии Шеннона показывает вам математику: введите любой текст, и он отобразит содержащиеся в нем биты энтропии.
Конфиденциальность: инструменты запускаются локально, а не на сервере.
Каждый инструмент TextArray полностью работает внутри вашего браузера. Ваш пароль никогда не отправляется на сервер, никогда не регистрируется и никогда не хранится где-либо, кроме вашего собственного устройства. Вычисление энтропии происходит локально. Вы можете отключиться от Интернета и при этом генерировать пароли и измерять их надежность. Этот локальный подход означает, что ваши пароли принадлежат только вам, и никакие их следы не достигают стороннего сервера.