Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии
.pdfидентификация
Хотя сложность опробования каждого варианта пароля при дополнении “солью” не изменяется, тем не менее добав ление “соли” усложняет атаку с целью получения хотя бы одного пароля из многих. Это происходит потому, что в сло варе должно содержаться 2п вариантов каждого опробуемого слова, что влечет за собой большие требования к памяти, со держащей зашифрованный словарь, и соответственно увели чивает время на его изготовление.
Парольные фразы
Для того чтобы увеличить неопределенность используе мых паролей и вместе с тем не нарушить такое их важное качество, как возможность запоминания человеком, часто используются парольные фразы. В этом случае в качестве пароля используется целое предложение вместо короткого слова. Парольные фразы хэшируются до фиксированной дли ны и играют ту же роль, что и обычные пароли. При этом фраза не должна просто сокращаться до фиксированной дли ны. Идея этого метода состоит в том, что человеку легче за помнить фразу, чем случайную последовательность букв или цифр. Парольные фразы обеспечивают большую безопас ность, чем короткие пароли, но требуют большего времени для ввода.
§ 12.2. Атаки на фиксированные пароли
Повторное использование паролей
Принципиальной слабостью схем, неоднократно исполь зующих фиксированные пароли, является возможность полу чения противником этих паролей одним из следующих спосо бов:
—путем просмотра при введении с клавиатуры,
—путем получения документов, содержащих эти паро
ли,
331
I лава 12
— путем перехвата их из каналов связи, используемых пользователями для связи с системой, или из самой системы, поскольку пароли используются в открытом виде.
Все это дает возможность противнику осуществить дос туп к системе, имитируя законного пользователя.
Таким образом, фиксированные пароли нельзя использо вать в случае их передачи по незащищенным каналам связи, в особенности по эфир^.
Заметим, что при использовании процедуры идентифика ции на абонентском пункте для получения доступа к ресурсу сервера (например, при идентификации кредитной карточки банкоматом в режиме оп-Нпе) системный ответ (“идентифика ция А” или “завершение протокола без идентификации”) дол жен быть также защищен, как и представляемый пароль. Он должен меняться во времени, чтобы не дать противнику воз можность использовать системный ответ “идентификация А”.
Тотальный перебор паролей
Простейшей атакой противника на систему с фиксиро ванными паролями является перебор всех возможных вариан тов до тех пор, пока истинный пароль не будет найден. Осо бенно опасна эта атака в режиме о#-Нпе, поскольку в этом случае не требуется непосредственного контакта доказываю щего с проверяющим, и поэтому число безуспешных попыток проверки пароля в единицу времени не может быть ограниче но, как это обычно делается при проверке в режиме оп-Нпе.
Эффективность указанной атаки впрямую зависит от чис ла попыток до обнаружения первого пароля, обеспечивающе го доступ в систему или к ее ресурсу, а также от временной сложности реализации каждой из таких попыток.
Атаки с помощью словаря
Вместо тотального перебора всех возможных паролей противник может прибегнуть к их перебору в порядке убыва
332
идентификация
ния вероятности их использования. Этот метод обычно эф фективен в том случае, когда пароли выбираются пользовате лем и, как правило, являются неравновероятными. Во многих случаях эти пароли выбираются из словаря. Обычные словари содержат, как правило, не более 150 тыс. слов, что намного меньше числа всех всего лишь 6-буквенных паролей.
В этом случае противником может быть реализована так называемая атака с использованием словаря. Для повышения эффективности атаки противником создается и записывается на диск хэшированный файл слов из используемого для вы бора паролей словаря. Хэшированные значения из файла сис темных паролей могут быть отсортированы (используя обыч ные алгоритмы сортировки) и сравнены со словами из соз данного файла. Атаки с использованием словаря, как правило, приводят не к нахождению пароля фиксированного пользова теля, а к нахождению одного или нескольких паролей, обес печивающих доступ в систему.
Личные идентификационные номера
Личные идентификационные номера относятся к катего рии фиксированных паролей. Они обычно используются в приложениях, связанных с пластиковыми картами, для дока зательства того, что данный участник является действитель ным владельцем карты и как таковой имеет право доступа к определенным системным ресурсам. Ввод личного идентифи кационного номера требуется во всех случаях, когда исполь зуется пластиковая карта. Это обеспечивает дополнительный рубеж безопасности, если карта утеряна или похищена.
В силу исторических обстоятельств (и для удобства поль зователей) личный идентификационный номер является циф ровым и содержит от 4-х до 8 цифр. Для того чтобы обеспе чить защиту от его тотального перебора, применяются допол нительные организационные меры. Например, большинство банкоматов при троекратном вводе неправильного номера
333
/ лава 12
блокируют кредитную карту. Для ее разблокирования требу ется ввести уже более длинный номер. Поскольку люди, как правило, не могут запомнить ключи настолько длинные, что бы с их помощью можно было бы обеспечить необходимую информационную безопасность системы, часто используется следующая двухступенчатая процедура идентификации поль зователя.
Сначала с помощью личного идентификационного номе ра проверяется личность лица, вводящего пластиковую карту, а затем содержащаяся в пластиковой карте дополнительная ключевая информация используется для идентификации его в системе (как действительного владельца пластиковой карты, имеющего определенные права доступа в системе). Таким образом, пользователь, имеющий пластиковую карту, должен помнить только короткий личный идентификационный но мер, в то время как более длинный ключ, содержащийся на карте, обеспечивает необходимый уровень криптографиче ской безопасности при идентификации в системе, исполь зующей незащищенные каналы связи.
Одноразовые пароли
Повышению надежности идентификации служит исполь зование одноразовых паролей, то есть паролей, которые могут быть использованы для идентификации только один раз. Та кие схемы обеспечивают защиту от противника, использую щего перехват паролей из незащищенного канала.
Существуют три схемы использования одноразовых па ролей:
1 ) пользователи системы имеют общий список одноразо вых паролей, который доставляется по защищенному от пере хвата каналу связи;
2) первоначально пользователь и система имеют один общий секретный пароль. Во время идентификации, исполь зующей пароль /, пользователь создает и передает в систему
334
Идентификация
новый пароль ( I + 1 ), зашифрованный на ключе, полученном из пароля /;
3) пользователи системы используют одноразовые паро ли на основе однонаправленной функции.
При использовании третьей схемы пользователь начинает с секретного пароля и с помощью однонаправленной функ ции Н(м?) вырабатывает итерации
ад, я ( а д ) , я(Я(...(ад...)- н п(*о.
п
Паролем для /-й идентификации, 1< / < п , является ^ = Н п~1(ч>).
Для того чтобы идентифицировать себя при /*-й попытке, А передает В строку (А, /, щ). В проверяет соответствие полу ченного / номеру попытки и равенство Н(уу1) = >г/_1 . Если оба равенства выполнены, В идентифицирует А и запоминает (/, м?г) для следующей попытки идентификации.
Заметим, что последний протокол не защищает от актив ного противника, который перехватывает, сохраняет и блоки рует передачу информации от А к В для последующей попыт ки подмены собой пользователя А . Поэтому этот протокол может быть использован только для идентификации пользо вателя системой, идентичность которой уже установлена.
§12.3. “Запрос-ответ” (сильная идентификация)
Идея построения криптографических протоколов иден тификации типа “запрос-ответ” состоит в том, что доказы вающий убеждает проверяющего в своей аутентичности пу тем демонстрации своего знания некоторого секрета без предъявления самого секрета. Знание секрета подтверждает ся выдачей ответов на меняющиеся с течением времени за просы проверяющего. Обычно запрос — это число, выбирае-
335
Глава 12
мое проверяющим при каждой реализации протокола. Если канал связи контролируется противником, любое допустимое число реализаций протокола идентификации не должно да вать противнику возможность извлечения информации, необ ходимой для последующей ложной идентификации. В таких протоколах обычно используются либо случайные числа, либо числа из неповторяющихся (обычно возрастающих) по следовательностей, либо метки времени. Остановимся под робно на последних двух вариантах.
Числа из неповторяющихся последовательностей исполь зуются как уникальные метки сообщений, обеспечивающие защиту от навязывания ранее переданных сообщений. Такие последовательности чисел используются независимо для ка ждой пары доказывающего и проверяющего. Кроме того, при передаче информации от А кВ пот В к А также используются различные последовательности чисел.
Стороны следуют заранее определенной политике по вы работке таких последовательностей. Сообщение принимается только тогда, когда его число (метка сообщения) не было использовано ранее (или в определенный предшествующий период времени) и удовлетворяет согласованной политике. Простейшей политикой является такая: последовательность начинается с нуля и каждое следующее число увеличивается на единицу. Менее жесткая политика состоит в том, что при нятые числа должны только монотонно возрастать. Это по зволяет работать с учетом возможности потери сообщений изза ошибок в каналах связи.
Недостатком метода использования последовательностей чисел является необходимость запоминания информации, касающейся каждого доказывающего и каждого проверяюще го, а также невозможность обнаружения сообщений, специ ально задержанных противником.
Метки времени используются для обеспечения гарантий своевременности и единственности сообщений, а также для
336
ИОентификация
обнаружения попыток навязывания ранее переданной инфор мации. Они также могут быть использованы для обнаружения попыток задержки информации со стороны противника.
Протоколы, использующие метки времени, реализуются следующим образом. Сторона, направляющая сообщение, снимает показания своих системных часов и криптографиче ски “привязывает” их к сообщению. Получив такое сообще ние, вторая сторона снимает показания своих системных ча сов и сравнивает их с показаниями, содержащимися в сооб щении. Сообщение принимается, если его временная метка находится в пределах приемлемого временного окна — фик сированного временного интервала, выбранного из расчета времени, необходимого для обработки и передачи макси мально длинного сообщения и максимально возможной рас синхронизации часов отправителя и получателя. В отдельных случаях для приема сообщения необходимо, кроме указанно го выше, обеспечить выполнение условия, чтобы та же самая (или более ранняя) метка времени не приходила ранее от того же самого абонента.
Надежность методов, основанных на метке времени, за висит от надежности и точности синхронизации системных часов, что является главной проблемой в таких системах. Преимуществами указанных систем является меньшее число передаваемых для идентификации сообщений (как правило, одно), а также отсутствие требований по сохранению инфор мации для каждой пары участников (как в числовых последо вательностях). Временные метки в протоколах могут быть заменены запросом, включающим случайное число, и отве том.
“Запрос-ответ” с использованием симметричных алгоритмов шифрования
Механизм реализации идентификации с помощью алго ритмов “запрос-ответ” требует, чтобы доказывающий и про
337
I лава 12
веряющий имели общий секретный ключ. В небольших сис темах такими ключами может быть обеспечена каждая пара корреспондентов заблаговременно. В больших системах уста новление общего ключа может быть обеспечено путем пере дачи его по защищенному каналу обоим корреспондентам из доверенного центра.
Для описания алгоритмов введем следующие обозначе
ния:
2л — случайное число, вырабатываемое А ;
1а — временная метка А ; Ек— алгоритм шифрования на ключе к;
Ш(В) — идентификатор В.
1.Односторонняя идентификация с использованием вре менной метки.
Доказывающий А передает проверяющему В свою вре менную метку и идентификатор, зашифрованные на общем ключе:
А-> В : Е к (1а ,Ш(В)).
Проверяющий В, расшифровав данное сообщение, проверяет соответствие допустимому интервалу временной метки и сов падение полученного и собственного идентификаторов. По следнее необходимо для того, чтобы не дать противнику воз можности немедленно переадресовать сообщение к А,
2. Односторонняя идентификация с использованием слу чайных чисел.
Временные метки могут быть заменены случайными чис лами с помощью дополнительной пересылки:
(1)А <— В : 2 Н,
(2) А ^ В : Е к{гв М { В ) \
В данном протоколе проверяющий В, расшифровав сообще ние, проверяет, соответствует ли полученное число случай ному числу, переданному им на шаге (1). После этого он про
338
идентификация
веряет, соответствует ли его идентификатор полученному идентификатору.
Для предотвращения криптоанализа Ек с помощью спе циально подобранных открытых текстов А может ввести в (2) свое случайное число так же, как в следующем протоколе.
3. Взаимная идентификация с использованием случайных чисел.
Эта процедура описывается с помощью следующего про токола:
(1)А <— В : 2 В,
(2)А - + В : Е к(2 А, г в ,Ш(В)),
(3)А<- В : Ек {гА, г в ).
Получив сообщение на шаге (2), проверяющий В расшифровывает его и осуществляет те же проверки, что и выше. После этого он использует на шаге (3). Доказывающий А, расшифровав (3), проверяет соответствие полученных слу чайных чисел тем, которые использовались ранее в ( 1) и (2).
“Запрос-ответ” с использованием асимметричных алгоритмов шифрования
В протоколе идентификации, построенном на основе шифрсистемы с открытым ключом, доказывающий может продемонстрировать владение секретным ключом одним из двух способов:
—при расшифровании запроса, зашифрованного на его открытом ключе;
—при проставлении под запросом своей цифровой под писи (см. гл. 15).
Рассмотрим эти два способа более подробно.
Пусть к — некоторая однонаправленная функция и Ел и
Вл — алгоритмы зашифрования и расшифрования абонента^. Первый способ основан на следующем протоколе:
339
I лава 12
(1)А <г- В : И(г), ЩВ), Еа (2,Ш(В%
(2)А -> В : 2.
Проверяющий В выбирает случайное число г, вычисляет к{2) и запрос с = Еа (г, Ш(В)). Доказывающий А расшифро вывает с и проверяет совпадение значений хэш-функции и идентификаторов. Если получено различие, то А прекращает протокол. В противном случае А посылает 2 проверяющему В. В идентифицирует Л, если полученное от А число г совпадает с имеющимся у него числом.
Использование однонаправленной хэш-функции предот вращает попытки криптоанализа с помощью выбранного открытого текста.
Рассмотрим теперь протокол, использующий цифровую подпись. Пусть 2А, 1а обозначают соответственно случайное число и метку времени доказывающего А, 8А обозначает ал горитм цифровой подписи А. Будем считать, что алгоритм проверки цифровой подписи доказывающего известен прове ряющему.
Для идентификации могут быть использованы следую щие три протокола.
1. Односторонняя идентификация с использованием вре менных меток:
(1)А ^ В : 1а, Щ В ) , 8а(1аМ В ) ) .
Получив сообщение, пользователь В проверяет, что вре менная метка находится в допустимом интервале, Ш (В) сов падает с его собственным идентификатором, а также то, что цифровая подпись под этими двумя полями верна.
2. Односторонняя идентификация с использованием слу чайных чисел:
(1)А <—В : г в ,
(2)А -> В : г А,Ш(В),8 А(гА, г в,Ш(В)).
340
