Какой длины должен быть мой системный пароль?

В ранних версиях Mac OS X использовались только первые 8 символов любого пароля. Позже Apple увеличила это число.

Правильная система паролей хранит хэш, а не фактический пароль. В этом случае более длинный пароль/парольная фраза, как правило, предпочтительнее, чтобы увеличить вероятность создания хэш-значения, которое еще не было предварительно рассчитано. Я предполагаю, что Apple использует этот метод хеширования для аутентификации пользователей, вошедших в систему.

Это Mavericks, каково максимальное количество символов в парольной фразе, используемой для входа в учетную запись пользователя Apple?

Ответы (3)

Я тестировал пароли длиной до 480 символов (в OS X версии 10.8.5), и он использовал их все; около 480 у passwdкоманды были небольшие проблемы с установкой паролей, но они были немного непоследовательными, поэтому я не уверен, что это реальный предел. Я не тестировал интерфейс System Prefs, потому что он не позволяет вставлять пароли, и я не могу набирать что-то такое длинное (дважды!). По сути, он будет использовать столько, сколько вы можете печатать.

Подтвержу вышесказанное для 10.9.1
Поле пароля Системных настроек будет принимать только 64 символа (я тестировал с помощью TextExpander).

(Посоленный и растянутый) хеш пароля для входа хранится в /var/db/dslocal/nodes/Default/users/username.plist10.7 и более поздних версиях. Если вы беспокоитесь, что кто-то может прочитать хэш (например, запустив в однопользовательском режиме), а затем использовать инструмент взлома, такой как DaveGrohl , чтобы выяснить пароль, OS X использует PBKDF2 с версии 10.8, что ограничивает инструменты взлома примерно до десять догадок в секунду на ядро.

Мне потребовалось около десяти минут, чтобы угадать случайный пароль из трех символов на моем iMac:

$ sudo dave -u $USER
-- Loaded PBKDF2 (Salted SHA512) hash...
-- Starting attack

-- Found password : 'y8d'
-- (incremental attack)

Finished in 879.274 seconds / 31,385 guesses...
35 guesses per second.

Если вы не выполняете распределенную атаку, в настоящее время нецелесообразно взломать даже случайный восьмизначный пароль, состоящий из строчных букв ASCII и цифр ASCII. При 40 догадках в секунду потребуется около 36^8/40/(86400*365) ≈ 2000 лет, чтобы проверить все варианты.

На самом деле хранение хэшей — это УЖАСНЫЙ способ «надежно» хранить пароли. По своей природе хэши невозможно «обратить», но это не мешает создать большую таблицу (называемую радужной таблицей ), в которой хранятся пары открытый текст-хэш. С помощью этой таблицы можно найти хэш и увидеть связанные с ним пароли открытого текста.

Принятым способом хранения паролей является метод хеширования и соли. Соль — это случайная большая строка , которая объединяется с паролем перед вычислением хэша. Это делает ввод хеша слишком большим, чтобы его можно было предварительно вычислить в радужной таблице. В конце концов, единственное, что хранится в надлежащей базе данных паролей, — это хэши и соли (соли могут храниться в виде открытого текста, поскольку они совсем не помогают реверсировать хэши).

По сути, вам не нужно иметь длинный пароль для защиты от атак с использованием радужных таблиц, поскольку соли делают это за вас.

Computerphile снял отличное видео на YouTube о хранении паролей.

Что касается создания безопасного пароля, один из лучших подходов — использовать 4-6 средних, несвязанных, НАСТОЯЩИХ слов (без необходимости использования символов/цифр). Это обеспечивает достаточно длинный пароль, который нелегко угадать и, что наиболее важно, запоминающийся (поэтому у вас никогда не возникнет соблазна написать его на стикере).

TL;DR: Надежность пароля XKCD

Это хорошая информация. Но мой вопрос касается максимального количества символов, на которое Mac OS X (Mavericks) обращает внимание в вашем пароле. Как я уже сказал в своем вопросе, изначально в Mac OS X вы могли ввести очень длинный пароль, но вы тратили свое время впустую. Они использовали только первые 8 букв. Интересно, есть ли еще какой-то предел. Нет смысла использовать 60-буквенный пароль, если Apple использует только 12 (или что-то подобное).
OS X использует хэши паролей с солью, начиная с версии 10.4; в 10.8 они добавили растяжение ключа (Computerphile не упоминает об этом, но настоятельно рекомендует) с помощью PBKDF2 для итерации хеш-функции SHA512. В принципе, они делают это прямо сейчас.
На самом деле, я должен квалифицировать это. Последние версии OS X также хранят пароль в форме, совместимой с Kerberos; Я менее знаком с тем, как это работает, но я понимаю, что он также основан на хеше, но не так безопасен, как хэш SALTED-SHA512-PBKDF2. Если вы включите для этого общий доступ к файлам SMB и совместимость паролей, он добавит NTLM-совместимый хэш, который также намного слабее.