id: Гость   вход   регистрация
текущее время 07:39 29/03/2024
Владелец: unknown (создано 01/02/2010 15:55), редакция от 01/07/2010 16:09 (автор: unknown) Печать
Категории: криптография, сайт проекта, faq
создать
просмотр
редакции
ссылки

Криптография: практика


Вычеркнутые вопросы перенесены в FAQ


Оглавление документа:

Парольную фразу какой длины имеет смысл использовать в программах шифрования?

Многие программы используют стандарт PBKDF2, который обеспечивает замедление атак словарного перебора, за счёт многократного хэшированию с солью. Многократное хэширование даёт замедление проверки каждого пароля. Т.н. "соль" (случайно сгенерированная открытая строка) используется для предотвращения использования заранее просчитанных таблиц ключей из паролей.


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


Т. е. pn должно быть примерно равно 2128, где p — количество символов во множестве для случайного выбора, из которого составлен пароль, n — длина пароля.
Например 2727 ≈ 2128 — если можно запомнить абсолютно случайный набор из двадцати шести букв с клавиатуры + пробел, длиной также из 27 символов.


Энтропию одного символа можно посчитать, решив уравнение 2x=N, где N это количество символов в алфавите:
x = log2(N) = ln(N)/ln(2)
Умножив эту величину на количество символов в пароле, легко рассчитать его общую энтропию.


На практике проще всего запомнить 10 случайно выбранных слов из специально подготовленных словарей коротких слов Diceware, что даст 128-битный уровень. Слова можно связать во фразу для лёгкого запоминания, главное не использовать известные фразы, не подгонять порядок слов под естественный.


Для оптимизации простоты запоминания можно уменьшать число слов, но увеличивать число дополнительных символов, сверяя получаемое значение энтропии пароля с формулой.


См. также Современная техника взлома паролей, Выбор и защита паролей, Фонетический пароль

Следующий вопрос?



 
На страницу: 1, 2, 3, 4, 5, 6 След.
Комментарии [скрыть комментарии/форму]
— Гость (02/07/2010 15:04)   <#>
следующие три пароля

Опять же, при подборе пароля из естественных слов следует учитывать частоту их употребления. Например, вот:
135 наиболее часто употребляемых слов английского языка в порядке убывания частот:

the (6,8%) + of (10%) + and, to (15%) + a, in (20%) + is, that, was, it, for (25%) + on, with, he, be, I, by, as, at (30%) + you, are, his, had, not, this, have, from, but, which (35%) + she, they, or, an, her, were, there, we, their, been, has, will, one, all, would (40%) + can, if, who, more, when, said, do, what, about, its, so, up, into, no, him, some, could, them, only, time, out, my, two, other, then, may, over (45%) + also, new, like, these, me, after, first, your, did, now, any, people, than, should, very, most, see, where, just, make, between, back, way, many, year, being, our, how, work, us, get, come, think, go, take, tell, use, sir, thing, shall, same, such, much, find, here, each, again, still, old, little, state, present, against, know, under, before, above, place, part, through, across, although, upon, though (50%)

В приводимом списке в скобках указывается совокупная доля употребления этих слов в процентах от общего числа слов в тексте средней сложности.
Половина слов в среднем тексте – эти.

Из нескольких миллионов (английских) слов средний человек употребляет несколько тысяч – активный словарный запас, поэтому, при самостоятельном составлении парольной фразы в одном слове будет (приблизительно) не 20 а 10 бит. Но понимает человек гораздо больше слов, чем употребляет, поэтому составление парольной фразы следует поручать машине, и всё равно не увлекаться размером словаря, чтобы было легче запомнить. Я думаю, словарь где-то из 60 тысяч слов (т.е. 16 бит/слово) будет оптимальным вариантом, и 14-ти словный пароль из такого словаря. Имхо.
— Гость (02/07/2010 15:11)   <#>
А аналогом одного специального символа будет одно слово из специализированного словаря. Уж одно то незнакомое слово можно запомнить! Зато пароль можно обудет сократить до 10 слов. :)
— Гость (02/07/2010 15:15)   <#>
пароль можно обудет сократить до 10 слов.
Если эта схема войдёт в моду, то нельзя.
— Гость (02/07/2010 15:22)   <#>
Главное по факту, что пароль 128-битный, и пусть считает свои частоты как хочет
А пользователь пусть этот пароль запоминает как хочет?
— Гость (02/07/2010 15:31)   <#>
Гость (02/07/2010 15:04)

Если слова выбираются независимо и равновероятно, никакой разницы какими они будут нет. Слова это просто закодированное представление нашего случайного секретного ключа, то есть большого пребольшого числа, которое трудно угадать из-за того что вариантов слишком много.

Если эта схема войдёт в моду, то нельзя.

Да, похоже я недооценил человеческую дремучесть.
Вроде ни у кого нет сомнения что секретное бинарное число, которое и есть наш ключевой материал можно записать ноликами и единичками и даже цифрами от 0 до 9.
Но если представить, что вместо чисел от 0 до 9, используются десять слов, пароль из 39 этих слов, выбранных независимо и равновероятно, разве будет слабее пароля из 39 цифр, выбранных независимо и равновероятно?
А теперь представьте пароль из десяти случайных чисел от 11111 до 66666, но вместо чисел используются десять слов однозначно сопоставленных с этими числами. Почему пароль должен стать слабее от замены чисел на слова? Какая логическая цепочка выстраивается у вас в голове?
— Гость (02/07/2010 15:40)   <#>
никакой разницы какими они будут нет
Для человека – есть. Знакомые слова легче запоминаются. Но слишком малый словарь потребует слишком длинной парольной фразы, которую тоже трудно запомнить. Тут нужен какой-то оптимум, и для более точной оценки нужны исследования по психологии (а не только по криптографии, как тут думают некоторые)
— Гость (02/07/2010 15:49)   <#>
Знакомые слова легче запоминаются.

С какой стати? Наоборот, сложное слово отложится в голове как ассоциация с важной информацией и поможет вспомнить связанный с ним остаток парольной фразы.
— Гость (02/07/2010 15:53)   <#>
Возможно для некоторых лучшим способом ввода парольной фразы будет повторение прохождения (pass!) какой-нибудь компьютерной игры. Заодно это может быть некоторая проверка на адекватность (трезвость)
:)
— Гость (02/07/2010 15:57)   <#>
С какой стати?
Ну я же говорю – нужны исследования по психологии. Запоминания. Лично мне знакомые слова запомнить легче, чем какой-нибудь там трибутилпропилодин.
— Гость (02/07/2010 16:01)   <#>
Наоборот, сложное слово отложится в голове как ассоциация
Возможно, что да, лучше использовать среднечастотные слова, отбросив самые редкие и самые частые. Не знаю.
— Гость (02/07/2010 16:06)   <#>
А никто не предлагает запоминать трибутлпропилодин. Почти все слова в Diceware имеют сильные ассоциации и часто создают забавные комбинации, которые запомнить ещё легче.
Чем больше информация похожа рутину и бессмыслицу, тем легче она растворяется в памяти. А когда в парольной фразе есть словосочетания типа ultrawet korean herd, она сама собой запоминается.
— Гость (02/07/2010 16:30)   <#>
Очевидно, что криптографическому профану легче выучить кашу из символов, чем немного подумать головой.
Дилемма здесь та же, что и PRNG vs TRUE RNG. Энтропийно элементы обоих множеств могут быть почти неотличимы, но реальная разница есть. Подборщик паролей (см. тот же john) работает не столько за счёт брутфорса, сколько из-за игры не неидеальности пароля. Если противник знает, что пароль создавался именно каким-то там лингвистическим способом (допуситим, метод стал популярен), то он будет специально делать метод, который учтёт всю неидеальность. Правильный подход для страдающих провалами в памяти мог бы быть такой: создаётся настоящий рандомный пароль нужной длины, а потом уже под этот пароль создаётся пассфраза, облегчающая его запоминание. Это всё к тому, что надо понимать ограниченность энтропийного подхода при оценке реальной стойкости паролей. Формальная энтропия может быть вполне себе ничего, но если, вдруг, это оказалось "словарным словом" (или модификацией оного, что не суть), то грош цена такой энтропии. Словарность – понятие скользкое, сегодня какой-то набор символов ничего не означает, а завтра у него появится смысл – и всё, это уже словарное слово. Возьмите краегранесие от постов на pgpru – они будут выглядеть идеально энтропийными при достаточной длине, пока противник не узнает что {} :-)
— Гость (02/07/2010 16:43)   <#>
Почти все слова в Diceware имеют сильные ассоциации

Вот возьмём по ссылке с вышеуказанного сайта fileрусский словарь Diceware, хотя-бы первые сотни три слов:


Как вам запоминается, например, такая фраза: "аблаут абшид агалит агамия агамы агул адат ажно азям аймак айрол"? Мне так например – нет. Словарь – важен!

создаётся настоящий рандомный пароль нужной длины, а потом уже под этот пароль создаётся пассфраза, облегчающая его запоминание
Метод Dicеwaere примерно в этом и состоит. Пассфраза создаётся по заранее известному всем словарю. Только вот для хорошей запоминаемости словарь нужен правильный.
— Гость (02/07/2010 17:27)   <#>
Убожество этого русского словаря не мешает мне помнить десяток английских Diceware паролей разной длины и прекрасно себя ощущать.

Гость (02/07/2010 16:30)

Я не вижу даже попыток обоснования того, что парольные фразы Diceware легче взломать, чем набор из случайных шестеричных чисел. Обоснование, а не пространные слова про лингвистику. При чём здесь лингвистика?
— Гость (02/07/2010 17:33)   <#>
Я не вижу даже попыток обоснования того, что парольные фразы Diceware легче взломать, чем набор из случайных шестеричных чисел. Обоснование, а не пространные слова про лингвистику.

создаётся настоящий рандомный пароль нужной длины, а потом уже под этот пароль создаётся пассфраза, облегчающая его запоминание
Метод Dicеwaere примерно в этом и состоит.
Собственно, ответ. Впрочем, имхо, мне проще запомнить 20 символов, чем 20 слов. Зрительная память.
На страницу: 1, 2, 3, 4, 5, 6 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3