В. Р. Гинзбург Перевод с английского



Pdf көрінісі
бет180/203
Дата26.09.2024
өлшемі2,74 Mb.
#145829
1   ...   176   177   178   179   180   181   182   183   ...   203
Байланысты:
практическая криптография


Глава 22
Хранение секретов
В разделе 9.3 обсуждается хранение временных секретов, таких, как клю-
чи сеанса. А где же хранить долгосрочные секреты — скажем, пароли или
закрытые ключи? В контексте безопасности хранение секретов должно соот-
ветствовать двум прямо противоположным требованиям. Во-первых, секреты
должны сохраняться в секрете. Во-вторых, риск полной потери секретов (т.е.
невозможность найти собственноручно спрятанный секрет) должен быть ми-
нимальным.
22.1
Диск
Пожалуй, наиболее очевидное решение — хранить секреты на жестком
диске компьютера или другого постоянного хранилища данных. Это, однако,
приносит пользу только в том случае, если компьютер находится в безопас-
ности. Если пользователь А хранит на компьютере свои ключи (в незашиф-
рованном виде), доступ к этим ключам смогут получить все, кто работает за
этим компьютером. Большинство компьютеров хотя бы от случая к случаю
используются другими людьми. Возможно, пользователь А не против, чтобы
за его компьютером поработал кто-нибудь другой, но, конечно же, он не со-
бирается предоставлять этому человеку доступ к своему банковскому счету!
Еще одна проблема заключается в том, что пользователь А может работать
с несколькими компьютерами. Если его ключи хранятся на домашнем ком-
пьютере, он не сможет использовать их на работе или во время путешествия.
Да и вообще, где лучше хранить ключи — на домашнем настольном компью-
тере или в ноутбуке? Совсем не к чему хранить копии ключей в нескольких
местах; это еще больше ослабляет систему.
Гораздо лучше, если ключи пользователя А будут храниться в его карман-
ном компьютере (КПК), который гораздо реже одалживают другим людям
369


370
Глава 22. Хранение секретов
и, кроме того, всегда носят с собой. (В качестве альтернативы КПК можно
было бы применять мобильный телефон или наручные часы, но использова-
ние их для хранения секретов потребовало бы обновления соответствующей
инфраструктуры, что выходит за рамки наших возможностей.)
Вам, вероятно, кажется, что шифрование секретов улучшило бы их без-
опасность. Разумеется, это так, но шифрование с помощью чего? Для шифро-
вания секретов нужен главный ключ, который, в свою очередь, тоже должен
где-то храниться. Хранение его вместе с зашифрованными секретами не при-
несло бы никакой пользы. Тем не менее шифрование секретных данных —
действительно
хороший метод сокращения их количества и размера, а по-
тому оно широко используется в сочетании с другими методами. Например,
закрытый ключ RSA может иметь несколько тысяч бит в длину. Применив
к нему симметричное шифрование, мы можем значительно сократить объем
пространства, необходимый для хранения этого ключа.
22.2
Человеческая память
Следующая идея — хранить ключ в памяти самого пользователя А. Мы
попросим его запомнить пароль, а затем зашифруем с помощью этого па-
роля все остальные ключи. Зашифрованные ключи могут быть помещены
в любое удобное место, например на жесткий диск. Кроме того, ключи мож-
но разместить на Web-сервере, чтобы пользователь А загружал их на любой
компьютер, с которым работает в данный момент.
Человечество славится своими никудышными способностями к запомина-
нию паролей. Если мы выберем очень простые пароли, то не получим ни-
какой безопасности. Простых паролей слишком мало, чтобы они обеспечи-
вали необходимую секретность: злоумышленник может просто их перебрать.
Использование в качестве пароля, скажем, девичьей фамилии своей матери
не обеспечит должной защиты; ее фамилия, скорее всего, известна многим.
Впрочем, даже если это и не так, злоумышленнику будет достаточно пере-
брать несколько тысяч фамилий, чтобы отыскать нужную.
Хороший пароль должен быть непредсказуем. Другими словами, он дол-
жен содержать большое количество энтропии. Обычные слова не обладают
достаточной энтропией. Английский язык насчитывает около полумиллиона
слов (и это включая все длинные и непонятные слова, внесенные в полный
словарь языка), поэтому применение в качестве пароля одного слова из слова-
ря обеспечит не более 19 бит энтропии. Оценки количества энтропии на один
символ текста, написанного на английском языке, несколько отличаются, но
в среднем составляют примерно 1,5-2 бит на один символ.


22.2. Человеческая память
371
Как вы помните, в наших системах для достижения 128-битового уров-
ня безопасности использовались 256-битовые ключи. В большинстве случаев
использование 256-битовых ключей лишь немного повышает общие расходы.
Тем не менее в данной ситуации пользователь должен запомнить пароль (или
ключ), а дополнительная стоимость ключей большого размера весьма высока.
Использовать пароли с энтропией 256 бит слишком обременительно, поэтому
ограничим количество энтропии, содержащейся в паролях, до 128 бит
1
.
Исходя из оптимистической оценки в 2 бита энтропии на символ, для
получения 128 бит энтропии нужны пароли в 64 символа длиной. Это непри-
емлемо. Пользователи просто откажутся запоминать пароли такого размера.
Что, если мы пойдем на компромисс и согласимся с энтропией 64 бит? Это
уже минимально допустимый уровень безопасности. Если на каждый символ
пароля приходится по 2 бита энтропии, нужно, чтобы пароль содержал по
крайней мере 32 символа. Даже подобное послабление окажется непосильной
задачей для среднестатистического пользователя. Не забывайте — на прак-
тике длина большинства паролей составляет лишь 6-8 символов.
Для решения этой проблемы пароли можно было бы назначать автома-
тически. Впрочем, вы когда-нибудь пытались работать с системой, которая
радостно сообщает, что ваш пароль выглядит как “7193275827429946905186”?
Или, скажем, “aoekjk3ncmakwe”? Обычный человек просто не в состоянии
запомнить подобные вещи, поэтому данный ход не пройдет. (На практике
пользователь, как правило, записывает свой пароль на бумажке, но об этом
речь идет в следующем разделе.)
Гораздо лучше использовать в качестве пароля какую-нибудь
идентифи-
кационную фразу (passphrase)
. Идентификационная фраза — это практически
то же самое, что и пароль. В действительности эти понятия настолько схожи,
что мы предпочитаем не проводить между ними различий. По сути, разли-
чие лишь одно: идентификационная фраза намного длиннее однословного
пароля.
В качестве пароля пользователь А мог бы применять какую-нибудь фра-
зу наподобие: “Розовые занавески порхают над океанами”. Это совершенно
бессмысленная фраза, но запомнить ее нетрудно. Кроме того, данная фраза
состоит из 38 символов, поэтому содержит примерно 57-76 бит энтропии. Если
же пользователь А расширит эту фразу примерно до следующей: “Занавес-
ки в розовый горошек порхают над морями любви”, он получит 52 символа,
которые могут применяться в качестве вполне неплохого ключа с энтропией
78-104 бит. Набрать на клавиатуре такую фразу можно всего за несколько
секунд, что, разумеется, гораздо быстрее, нежели набирать строку случай-
1
Для математиков: это пароли, выбранные с помощью вероятностного распределения,
обладающего энтропией в 128 бит.


372

Достарыңызбен бөлісу:
1   ...   176   177   178   179   180   181   182   183   ...   203




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет