Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Петров А.А. Комп без-ть

.pdf
Скачиваний:
34
Добавлен:
28.03.2016
Размер:
16.03 Mб
Скачать

Протоколы аутентификации

121

2.2.4. Протоколы аутентификации, обладающие свойством доказательства с нулевым знанием

Одна из уязвимостей протоколов простой аутентификации заключается

втом, что после того, как доказывающий передаст проверяющему свой па­ роль, проверяющий может, используя данный пароль, выдать себя за прове­ ряемого, Немногим лучше обстоит дело с протоколами строгой аутентифи­ кации. Дело в том, что А, отвечая на запросы В, обязан продемонстрировать знание секретного ключа, пусть даже и одноразово; при этом передавае­ мая информация не может быть напрямую использована В. Тем не менее некоторая ее часть поможет В получить дополнительную информацию о секрете А. Например, В имеет возможность так сформировать запросы, чтобы передаваемые ответы анализировались на предмет содержания до­ полнительной информации.

Протоколы доказательства с нулевым знанием были разработаны спе­ циально для решения данной проблемы. Этой цели можно добиться при помощи демонстрации знания секрета, однако проверяющий должен быть лишен возможности получать дополнительную информацию о секрете до­ казывающего. Если сформулировать эту мысль в более строгой форме, то протоколы доказательства с нулевым знанием (далее - Ж -протоколы ) по­ зволяют установить истинность утверждения и при этом не передавать ка­ кой-либо дополнительной информации о самом утверждении.

Ж-протоколы являются примером систем интерактивного доказатель­ ства, в которых проверяющий и доказывающий обмениваются многочис­ ленными запросами и ответами, обычно зависящими от случайных чисел (в идеальном случае зависимость может реализовываться в виде подбра­ сывания монеты), которые позволяют сохранить секрет в тайне. Цель дока­ зывающего - убедить проверяющего в истинности утверждения. Проверя­ ющий же принимает или отклоняет доказательство. Необходимо отметить, что доказательство носит скорее вероятностный, нежели абсолютный характер.

Интерактивное доказательство, использующееся для идентификации, может быть сформулировано как доказательство знания. А владеет неко­ торым секретом з и с помощью последовательных ответов на вопросы (при наличии согласованных входных данных и функций) пытается убедить В

взнании з. Заметим, что доказательство знания з отличается от доказатель­ ства того факта, что з существует. Например, доказательство знания про­ стых множителей п (основания в К.ЗА) отличается от доказательства того, что п является составным. Интерактивное доказательство может быть на­ звано доказательством знания в том случае, если выполнены свойства стойкости и целостности.

122 Аспекты создания и применения криптографических протоколов

Интерактивный протокол обладает свойством целостности, если только доверенные стороны смогут успешно закончить протокол (когда проверя­ ющий принимает доказательство).

Интерактивный протокол является стойким при условии, что не суще­ ствует алгоритма М, работающего за полиномиальное время и обладающе­ го следующим свойством: если злоумышленник, пытающийся выдать себя за А, может с малой вероятностью успешно закончить протокол с участни­ ком В, тогда М в ходе работы протокола может использоваться для полу­ чения дополнительных знаний о секрете А, которые с высокой вероятнос­ тью позволяют успешно выполнить некоторые шаги протокола (в худшем случае весь протокол).

Несмотря на то что в основе построения 2К-протоколов лежат те же математические идеи, что и в протоколах, построенных на открытой криптографии, между ними есть некоторые отличия. Прежде всего они касаются:

уменьшения эффективности в ходе использования. Протоколы доказа­ тельства с нулевым знанием не уменьшают свою эффективность даже при повторных передачах и соответственно являются стойкими к атаке с выборкой открытого текста. Данное свойство в некоторых случаях позволяет предпочесть использование 2К-протоколов;

использования шифрования. Многие 2К-протоколы поволяют избегать употребления шифрования явным образом, что дает несомненные пре­ имущества, например в случае экспортных ограничений;

эффективности. Коммуникационная и вычислительная эффективность в 2К-протоколах основана прежде всего на том факте, что они по своей природе являются интерактивными протоколами доказательства.

Среди сходств данных протоколов можно отметить следующие:

наличие недоказумых предположений. 2К-протоколы, так же как и про­ токолы, основанные на открытой криптографии, напрямую используют недоказуемые предположения (например, доказуемая стойкость к фак­ торизации);

доказуемость обладания свойством 2К. На практике достаточно слож­ но доказать наличие данного свойства у протокола.

Для практического рассмотрения концепции построения протоколов, об­ ладающих свойством 2К, приведем оригинальную версию протокола Фиа­ та и Шамира (Па^-ЗЬаппг). Целью данного протокола является демонстра­ ция знания секрета здоказывающей стороной, при этом информация о самом секрете не раскрывается проверяющему и он не имеет предварительно

Протоколы аутентификации

123

распределенных сведений. Безопасность протокола основана на сложнос­ ти извлечения квадратного корня по модулю п (имеет то же значение, что и в КЗА), не зная разложения п.

Опишем общую структуру протоколов данного класса:

Адоказывает знание секрета з В при помощи 1-шагов по три сообщения

вкаждом.

Параметры протокола:

доверенный центр Т выбирает и публикует модуль п = рд (р и ц сохра­ няются в секрете);

• каждый доказывающий выбирает секрет з взаимно простой с п, 1 < з < п - 1, вычисляет V - з2т о б п и регистрирует V у Т в качестве своего открытого ключа.

Сообщения, передаваемые в рамках каждого шага:

А-^В: х - г2шос1 п А < -В :е е {0,1} А ^ В : у = гзе т о й п

Впринимает доказательство за 1 шагов, и последовательность действий

врамах протокола имеет следующий вид:

• А выбирает случайное число г, 1 < г < п - 1 и посылает В х = г2шос1 п.

• В выбирает случайным образом е и посылает его А.

• А вычиляет у и посылает его В, где у - г (е = 0) или у = гз (е - 1).

• В отвергает доказательство, если у = 0, иначе производится проверка у2 = ху° шоб п. В зависимости от е у2 ■= х шоб п или у2 = ху шоб п, иначе

У в 52 Ш О б П.

Значение параметра 1 выбирается равным 20 или 40.

А-*В: начальные значения А*-В: запрос

А-*В: ответ

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

124 Аспекты создания и применения криптографических протоколов

2.3. Протоколы распределения и управления ключевой информацией

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

2.3.1. Протоколы распределения ключевой информации

Общие сведения

Под распределением ключевой информации будем понимать процесс или протокол, с помощью которого знание секретного ключа разделяется между двумя или более сторонами для последующего использования его

вкриптографических механизмах.

Всвою очередь распределение ключей можно разграничить на ключевой транспорт и соглашения о ключах.

Ключевой транспорт (может быть реализован в виде протокола или ме­ ханизма) - способ распределения ключей, позволяющий стороне, создав­ шей или получившей ключ, передать его другой стороне безопасным спо­ собом.

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

Кроме непосредственно механизмов распределения ключей существуют ключевые транспорты и соглашения о ключах, реализующие различные формы их обновления.

Протоколы распределения ключей в ходе распределения ключевого ма­ териала также требуют аутентификации, которая должна гарантировать, что только проверенная сторона получит доступ к распределяемой ключевой

Протоколы распределения и управления ключевой информацией

125

информации. Существуют и другие схемы распределения ключей, требу­ ющие предварительного распределения некоторого ключевого материала. Такие системы называются схемами с предварительным распределением ключей.

Названная группа протоколов противоположна схемам динамического распределения ключей, которые в ходе выполнения протокола вырабаты­ вают общие ключи для пары или группы пользователей. Другими словами, динамические схемы не требуют предварительной передачи какого-либо ключевого материала. И х также часто называют системами распределения сеансовых ключей.

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

Таблица 2.2. Обобщенная классификация схем распределения ключей

 

Распределение ключей

 

 

Ключевой

Соглашения о ключах

 

транспорт

 

 

Симметричные механизмы

Динамические

Динамические

Схемы

 

схемы

схемы

с предварительным

 

распределения

распределения

распределением

Асимметричные механизмы

Динамические

Динамические

Схемы

 

схемы

схемы

с предварительным

 

распределения

распределения

распределением

Многие протоколы распределения ключей в ходе своей работы требуют наличия третьей (доверенной) стороны, которая обычно называется дове­ ренная третья сторона, доверенный сервер, центр распределения ключей, аутентификационный сервер, центр трансляции ключей и т.д. Особеннос­ ти различных схем организаций доверенной стороны будут рассмотрены ниже.

Среди характеристик, по которым можно классифицировать схемы рас­ пределения ключей, можно выделить следующие:

основа аутентификации, которой может быть аутентификация пользо­ вателей, аутентификация ключей и подтверждение приема ключа;

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

126 Аспекты создания и применения криптографических протоколов

наличие механизмов, гарантирующих уникальность и своевремен­ ность ключа (то есть ключ ранее не использовался, и доставка его была произведена в соответствии с принятыми в данной схеме распределе­ ния ключей договоренностями);

контроль ключей. В некоторых схемах (ключевой транспорт) одна из сторон сама выбирает ключ. В других же (соглашения о ключах) ключ получается из распределенной информации, и одна из сторон обмена ключами может желать, чтобы выработанный ключ не мог быть пред­ сказан другой стороной;

эффективность. Различается по:

-количеству передаваемых по каналам связи сообщений;

-количеству битов в передаваемых сообщениях;

-сложности производимых каждой стороной вычислений;

-возможности производить предварительные вычисления;

наличие третьей стороны. Этот параметр можно разделить на:

-требуется в режиме опНпе;

-требуется в режиме оМ те;

-не требуется;

наличие сертификатов открытых ключей;

невоспроизводимость. То есть протокол, например, должен обеспе­ чивать подтверждение приема ключа и фиксацию использованных ключей.

Ознакомившись с вышеперечисленными характеристиками, можно сде­ лать вывод о том, насколько оправдано использование той или иной схе­ мы распределения ключей. Однако оценка этих схем не заканчивается учетом представленных пунктов, необходимо также принять во внимание, насколько данная система распределения ключей справляется с функци­ ями, возлагаемыми на нее со стороны механизмов управления ключами (но об этом позже).

При выборе некоторых предпочтительных характеристик схемы распре­ деления ключей не следует также забывать о вопросах безопасности кон­ кретной схемы. Как уже говорилось, все уязвимости криптопротоколов разделяются на три вида, поэтому особое внимание следует уделять ис­ пользуемым криптографическим алгоритмам. Даже в случае выбора на­ дежных алгоритмов и правильного их применения существует возмож­ ность незаконного воздействия на схему распределения ключей, поскольку обычно сообщения передаются по незащищенным каналам передачи дан­ ных, где злоумышленник может действовать как пассивно, так и активно.

Протоколы распределения и управления ключевой информацией

127

По отношению к схемам распределения ключей атаки, проводимые нару­

шителем, могут быть следующего рода:

определение сеансового ключа; для чего используется информация, полученная с помощью перехвата информации в сети;

тайное или скрытое участие в процессе инициирования обмена клю­ чами от имени одной из сторон и совершение действий, направленных на изменение передаваемой информации;

инициирование обмена ключевой информации с одной или более сто­ ронами, в результате чего появляется возможность модифицировать передаваемый через нарушителя трафик;

попытка выдать себя за доверенную сторону. Не имея возможности вы­ числить ключ, злоумышленник может попытаться получить таким об­ разом доступ к информации, разделяемой в ходе обмена информацией.

В зависимости от характера доступной ему информации злоумышлен­

ник может быть классифицирован следующим образом:

внешний нарушитель - имеющий доступ только к информации, пере­ даваемой по каналам передачи данных (в рамках этой классификации не рассматривается нарушитель, пытающийся получить доступ к ин­ формации, используя свойства физической среды передачи и обработ­ ки ключевой информации);

внутренний нарушитель - имеющий доступ к дополнительной инфор­ мации (например, сеансовый ключ или часть некоторой секретной ин­ формации) на основе владения некоторыми привилегиями в системе обработки и хранения ключевой информации (например, физический доступ к закрытым ресурсам компьютера и т.д.);

одноразовый внутренний нарушитель - получивший информацию слу­ чайным способом;

постоянный внутренний нарушитель, то есть злоумышленник, имею­ щий постоянный доступ к критической информации.

По отношению к схемам распределения ключей нарушитель может ста­

вить перед собой следующие цели:

получить долговременный секретный ключ или текущий сеансовый ключ;

получить ранее использовавшийся сеансовый ключ.

Анализируя цели нарушителя, можно заметить, что, хотя второй пункт

и кажется бессмысленным, особенно по отношению к сеансовым ключам,

128Аспекты создания и применения криптографических протоколов

ипрактически безопасным (опасность заключается только в получении до­ ступа к ранее передаваемой информации, при этом сами сведения могут не представлять практического интереса), в зависимости от конкретных схем распределения ключей достижение противником поставленной цели может привести к негативным последствиям и для будущего ключевого обмена. Так, в протоколе Диффи-Хэлмана, одно время признававшимся безопасным, была обнаружена уязвимость, возникающая в случае компро­ метации ранее использовавшегося сеансового ключа. Подобные атаки на схемы распределения ключей называются атаками с известным ключом

(кпо\уп-кеу айаск). Возможность проведения атаки с известным ключом

может быть существенно снижена по следующим причинам:

вероятность компрометации ранее использовавшегося сеансового клю­ ча в системах с криптографией средней стойкости гораздо выше, не­ жели компрометация долговременного ключа;

в некоторых системах в силу различных причин не обеспечивается хранение использованных сеансовых ключей или их надежное уда­ ление.

Ключевой транспорт, построенный на основе симметричного шифрования

В этом разделе рассматриваются ключевые транспорты, построенные на основе симметричных алгоритмов, которые во время работы не использу­ ют третью сторону и требуют наличия таковой (табл. 2.3). Соответствую­ щие протоколы представлены в табл. 2,2.

Таблица 2.3. Ключевой транспорт, основанный на симметричном шифровании

Наименование

Тип используемой

Использование

Количество

протокола

третьей стороны

меток времени

пересылаемых

 

 

 

сообщений

Протокол обмена

Не используется

Дополнительно

1 -3

ключами типа

 

 

 

«точка-точка»

 

 

 

Протокол Ш амира

Не используется

Нет

3

КегЬегоз

Центр распределения

Используется

4

 

ключей

 

 

Протокол

Центр распределения

Нет

5

распределения ключей

ключей

 

 

Нидхэма и Ш редера

 

 

 

Протокол СМу/ау-Кеез

Центр распределения

Нет

4

 

ключей

 

 

Протоколы распределения и управления ключевой информацией

129

Ключевой транспорт, основанный на симметричном шифровании и не использующий третью сторону

Этот тип схем распределения ключей разбивается на два подвида: требую­ щие предварительного распределения определенной ключевой информа­ ции, с использованием которой будут в последующем распределятся сеан­ совые ключи; и не требующие предварительного обмена.

Протокол обмена сеансовыми ключами типа «точка-точка» построен на симметричном шифровании с использованием долговременного секретно­ го ключа К. Этот ключ должен быть предварительно распределен между двумя сторонами с помощью безопасного канала передачи данных (напри­ мер, фельдъегерская почта) или с использованием схем предварительного распределения ключей. Таким образом, секретный ключ К должен быть распределен между каждой парой абонентов в сети. В ходе описания про­ токола мы будем использовать следующие обозначения:

• гА, 1;а и п а означают случайное число, метку времени и номер последо­ вательности сообщений;

• Ек - симметричное шифрование на секретном ключе К.

Существует несколько разновидностей схем распределения ключей это­ го типа:

1.А-*В: Ек(гЛ), где гА - сеансовый ключ для участников А и В. Очевидно, что представленный вариант имеет только теоретическое значение, по­ скольку с точки зрения безопасности данный протокол является не­ стойким по отношению ко многим атакам (например, к повторной пе­ редаче). Модифицировать протокол можно при помощи добавления ЪА

иВ в передаваемое сообщение, что позволит избежать повторных пере­ дач и идентифицировать получателя данного сообщения. Для обеспе­ чения двустороннего согласования сеансового ключа В, в свою очередь, может ответить сообщением, содержащим Г(гА, гв), где { является одно­ сторонней функцией, результат ее вычисления и будет результирую­ щим сеансовым ключом.

2.Этот вариант построен на механизме запросов/ответов:

А< В: пв

А — В: Ек( га, пв, В)

Так же как и в предыдущем варианте, гА является секретным ключом. Отказ от использования меток времени позволяет избежать согла­ сования времени на рабочих станциях участников обмена. Вместо них используются уникальные номера последовательности сообще­ ний, которые позволяют гарантировать неповторимость сообщений,

5 - 3

130 Аспекты создания и применения криптографических протоколов

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

А4—В: пв

А-*В : Ек(га, п а , п в , В) А<-В: Ек(гв, пв, пА, А )

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

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

Протокол начинается с того, что выбирается общий параметр схемы рас­ пределения ключей - модуль п. Далее каждый пользователь выбирает свое секретное число (а для участника А и Ь для участника В), при котором 1 < а < п - 2 и является взаимно простым с п - 1. Сам протокол состоит из следующих шагов:

1.Участник А выбирает случайный ключ К, такой, что 1 < К < п - 1, вы­ числяет значение Ка т о б п и передает его участнику В.

2.Участник В возводит в степень Ь полученное значение и результат пересылает участнику А.

3.Участник А возводит полученное значение в степень а-1 шоб п - 1 и пере­ сылает результат участнику В.

4.Участник В возводит полученное значение в степень Ъ'1шоб п - 1, получая при этом сеансовый ключ К.

Вобщем виде данный протокол будет иметь следующую структуру:

А—»-В: К ат о б п

А«—В: (К а) ьт о б п

А-*—В: ( К ^ ^ т о б п