Хорошо, вот и вся история.
Прежде всего, давайте определим меру «совершенства» схемы. С паролями и т. П. Мера - это среднее число попыток, которым требуется грубая атака для получения доступа.
Предположим, что ваши пароли взяты из алфавита S с n символов, а длина пароля составляет k . Тогда общее количество возможных паролей будет n k .
В среднем, атака грубой силы найдет успешный пароль примерно за n k / 2 или n k-1 испытания.
Для удобства, и из-за некоторых теоретико-информационных соображений, которые я не собираюсь вдаваться, мы обычно выражаем это как число битов , что составляет lg n k где lg обозначает основание логарифма 2. Поскольку мы привыкли думать о битах как о дискретных вещах, мы обычно принимаем потолок этого числа, то есть наименьшее целое число больше, чем lg n k , но на самом деле дробное значение совершенно законно.
Для печатных символов, 8-символьных паролей и других правил этот номер находится в окрестности 100 8 или около 10 16 ; это около 53 бит. Единственное, что такие случайные пароли практически невозможно запомнить; они, как правило, попадают на желтые стикеры и становятся уязвимыми для такого рода атак. Тем не менее, это ограничивающий случай. Требуется около 100 триллионов попыток угадать это грубой силой. Если каждая попытка стоит копейки, то теоретически ваши данные могут стоить целых 1 триллион долларов, прежде чем они будут стоить времени вора.
С другой стороны, существует всего около 50 000 часто используемых словарных слов. Это около 16 бит, или это займет около 25 000 попыток грубой силой. На каждую попытку стоит копейка: тогда ваши данные не должны стоить больше 250 долларов.
Оба из них являются приложениями правила
R = P & times; H
, где R - риск, P - вероятность возникновения плохого мышления, а H ( опасность ) - стоимость происходящего.
Теперь, попытка копейки слишком высока, но теперь у вас есть необходимые инструменты. Выясните, сколько стоят данные, и вы можете использовать этот метод, чтобы решить, насколько обширный набор правил вам необходим. (Но будьте осторожны, так как если вы сделаете правила слишком строгими, энтропия набора допустимых паролей будет небольшой, пока вы не приступите к старой шутке, которая после долгих раздумий Security определила лучший пароль все это '* 8h% Jd!', поэтому все пользователи теперь начнут использовать этот пароль.)