Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [ 22 ] 23 24

например, обратившись к каталогу, и использовал этот путь для получения открытого ключа В. Пусть

1а - идентификатор стороны А;

Da - секретное криптопреобразование стороны А (секретный ключ);

Еа - открытое криптопреобразование стороны А (открытый ключ);

Та - временной штамп стороны А;

Ra - случайное число, выбранное стороной А. Са - сертификат стороны А 1в - идентификатор стороны В;

Db - секретное криптопреобразование стороны В (секретный ключ);

Ев - открытое криптопреобразование стороны В (открытый ключ);

Тв - временной штамп стороны В;

Rb - случайное число, выбранное стороной В. Идентификаторы - это уникальные имена А и В. Временной штамп, включаемый в сообш,ение М, содержит также дату истечения срока действия М. Дополнительно он также может включать время создания М. Случайные числа могут быть заменены последовательными числами, которые не должны повторяться в течение срока действия, указанного во временном штампе в том же сеансе связи.

Тогда односторонний протокол аутентификации будет выглядеть следуюш,им образом: Пользователь А:

1. Выбирает Ra;

2. Формирует сообш,ение М = (Та, Ra, Ь, <данные>), где <данные> произвольны. Данные могут быть зашифрованы с помош,ью Ев для секретности, например, когда А передает В ключ шифрования данных.

3. Посылает (Са, Da(M)) пользователю В.

Пользователь В:

1. Расшифровывает Са и получает Еа. Проверяет дату окончания срока действия сертификата

2. Использует Еа для расшифрования Da(M), проверяя как подлинность подписи А, так и целостность подписанной информации.

3. Проверяет 1в, содержаш,ееся в М, на точность.

4. Проверяет Та в М.

5. Дополнительно проверяет Ra, содержаш,ееся в М. Широкое распространение основанных на интеллектуальных

картах систем доступа для различного рода приложений (как гражданского, так и военного назначения) потребовало создать схему обеспечения безопасной аутентификации субъекта При этом секретный ключ владельца карты становится неотъемлемым признаком его личности, и для обеспечения заш,иты от возможной компрометации этого ключа был предложен ряд схем, называемых протоколами доказательства с нулевым разглашением или с нулевым знанием (zero-knowledge proofs), в рамках которого субъект может подтвердить свои полномочия, не раскрывая значения своего секретного ключа

Первая схема подобного рода была предложена в 1986 г. Фейге, Фиатом и Шамиром. Суть ее состоит в следуюш,ем.

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

Доверенный арбитр (центр распределения ключей) выбирает некоторое целое число v, являюш,ееся квадратичным вычетом по модулю п, т.е. 3x:x = v (mod п), и взаимно простое с п. Это значение v передается А в качестве открытого ключа. Затем вычисляется наименьшее значение s, такое что s = (v) (mod «). Это значение будет секретным ключом стороны А.

После этого протокол аутентификации выглядит следуюш,им образом:

1. Сторона А выбирает случайное число г. О < г < п. Затем она вычисляет х = mod п и отправляет его стороне В.

2. Сторона В посылает А случайный бит Ь.

3. Если й = О, то А отправляет В число г. Если b = \,то А отправляетВу = г s(mod«).



4. Если й = О, то В проверяет, что х = (mod п), чтобы убедиться, что А знает квадратный корень из х. Если Ъ = 1, то сторона В проверяет, что х =y-v (mod п), чтобы убедиться, что А знает квадратный корень из v\

Шаги 1-4 образуют один цикл протокола. Стороны повторяют этот цикл t раз при разных случайных значениях rub. Если сторона А не знает значения s, она может выбрать такое г, которое позволит ей обмануть В в случае Ь = 0 или й = 1, но не в обоих случаях одновременно. Вероятность обмана в одном цикле составляет 0.5. Вероятность обмана в t циклах равна Т.

Недостатком данной схемы является большое число циклов протокола, необходимое для доказательства с требуемой вероятностью, если эта вероятность достаточно мала. Способ, тре-буюш,ий только одного раунда обмена, но требуюш,ий большего объема вычислений, был предложен Гиллоу и Кискатером (Guillou, Quisquater).

Пусть I - идентификационная информация стороны А (или значение ее хэш-функции), п - открытое произведение двух секретных простых чисел, v - открытое значение (показатель степени).

Секретный ключ g стороны А выбирается так, что Ig" = 1 (mod п).

Сторона А отправляет В свои идентификационные данные I. Протокол доказательства выглядит следуюш,им образом.

1. А выбирает случайное целое г. такое, что 1 <г<п-\ и вычисляет Т = / (mod п) и отправляет это значение стороне В.

2. В выбирает случайное целое d:\<d<n-\M отправляет это число стороне А.

3. А вычисляет D = r-g (mod п) и отправляет это значение В.

4. В вычисляет Т = D"!(mod п) и проверяет выполнение равенства Т = Т. Если оно выполняется, то проверка считается завершенной успешно.

В самом деле, Т = ВУ = {rgyf = гУ = / (IgY = / = Т (mod «).

5.6. Анонимное распределение ключей

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

1. А выбирает пару <открытый ключ, секретный ключ> (для этого протокола он держит оба ключа в секрете).

2. ЦРК генерирует непрерывный поток ключей.

3. ЦРК шифрует ключи, один за одним, своим открытым ключом.

4. ЦРК передает зашифрованные ключи, один за одним, в сеть

5. А выбирает ключ случайным образом.

6. А шифрует выбранный ключ своим открытым ключом.

7. А ожидает некоторое время и посылает дважды зашифрованный ключ обратно в ЦРК.

8. ЦРК расшифровывает дважды зашифрованный ключ своим секретным ключом, оставляя ключ зашифрованным один раз открытым ключом А.

9. ЦРК посылает зашифрованный ключ назад пользователю А.

10. А расшифровывает ключ своим секретным ключом.



ЛИТЕРАТУРА

Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии. М.: "Горячая линия - Телеком", 2001.

Варфоломеев А.А., Жуков А.Е., Пудовкина М.А. Поточные криптосистемы. Основные свойства и методы анализа стойкости. М.: ПАИМС, 2000.

Введение в криптографию. Под общ. ред. Ященко В.В. М.: МЦНМО-ЧеРо, 1998.

Герасименко В.А. Защита информации в автоматизированных системах обработки данных., кн. 1, 2. М.: Энергоатомиздат, 1994.

ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. М.: ГК СССР по стандартам, 1989.

ГОСТ Р 34.10-94.Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асиметричного криптографического алгоритма. М., 1995.

ГОСТ Р 34.11-94. Информационная технология. Криптографическая защита информации. Функция хэширования. М., 1995.

ГОСТ Р 34.10-2001 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи. М., 2001.

Конхейм А. Г. Основы криптографии. М.: Радио и связь, 1987.

Мафтик С. Механизмы защиты в сетях ЭВМ. М.: Мир, 1993.

Мельников В.В. Защита информации в компьютерных системах. М.: Финансы и статистика, 1997.

Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. СПб.: "Лань", 2000.

Молдовян Н.А. Скоростные блочные шифры. СПб.: Издательство СПбГУ, 1998.

Нечаев В.И. Элементы криптографии (Основы теории защиты информации). М.: Высшая школа, 1999.

Основы криптозащиты АСУ. Под ред. Б.П. Козлова. М.: МО, 1996.

Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. М.: Радио и связь, 1999.

Ухлинов A.M. Управление безопасностью информации в автоматизированных системах. М.: МИФИ, 1996.

Жельников В. Криптография от папируса до компьютера. М.: ABF,1996.



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [ 22 ] 23 24