Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Протоколы идентификации с нулевой





Передачей знаний

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

Для безопасного использования интеллектуальных карт разработаны протоколы идентификации с нулевой передачей знаний. Секретный ключ владельца карты становится неотъемлемым признаком его личности. Доказательство знания этого секретного ключа с нулевой передачей этого знания служит доказательством подлинности личности владельца карты.

 
 

 


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

Схему идентификации с нулевой передачей знаний предложили в 1986 г. У.Фейге, А.Фиат и А.Шамир. Она является наиболее известным доказательством идентичности с нулевой передачей конфиденциальной информации.

Рассмотрим сначала упрощенный вариант схемы идентификации с нулевой передачей знаний для более четкого выявления ее основной концепции. Прежде всего выбирают случайное значение модуля n, который является произведением двух больших простых чисел. Модуль n должен иметь длину 512…1024 бит. Это значение n может быть представлено группе пользователей, которым придется доказывать свою подлинность. В процессе идентификации участвуют две стороны:

· сторона А, доказывающая свою подлинность,



· сторона В, проверяющая представляемое стороной А доказательство.

Для того чтобы сгенерировать открытый и секретный ключи для стороны А, доверенный арбитр (Центр) выбирает некоторое число V, которое является квадратичным вычетом по модулю n. Иначе говоря, выбирается такое число V, что сравнение

x2 º V (mod n)

имеет решение и существует целое число

V –1 mod n.

Выбранное значение V является открытым ключом для А. Затем вычисляют наименьшее значение S, для которого

S º sqrt (V –1) (mod n).

Это значение S является секретным ключом для А.

Теперь можно приступить к выполнению протокола идентификации.

1. Сторона А выбирает некоторое случайное число r, r < n. Затем она вычисляет

x = r 2 mod n

и отправляет x стороне В.

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

3. Если b=0, тогда А отправляет r стороне В. Если b=1, то А отправляет стороне В

y = r * S mod n.

4. Если b = 0, сторона В проверяет, что

x = r2 mod n,

чтобы убедиться, что А знает sqrt (x). Если b=1, сторона В проверяет, что

x = y2 *V mod n,

чтобы быть уверенной, что А знает sqrt (V –1).

Эти шаги образуют один цикл протокола, называемый аккредитацией. Стороны А и В повторяют этот цикл t раз при разных случайных значениях r и b до тех пор, пока В не убедится, что А знает значение S.

Если сторона А не знает значения S, она может выбрать такое значение r, которое позволит ей обмануть сторону В, если В отправит ей b=0, либо А может выбрать такое r, которое позволит обмануть В, если В отправит ей b=1. Но этого невозможно сделать в обоих случаях. Вероятность того, что А обманет В в одном цикле, составляет 1/2. Вероятность обмануть В в t циклах равна (1/2)t.

Для того чтобы этот протокол работал, сторона А никогда не должна повторно использовать значение r. Если А поступила бы таким образом, а сторона В отправила бы стороне А на шаге 2 другой случайный бит b, то В имела бы оба ответа А. После этого В может вычислить значение S, и для А все закончено.

 
 


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

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

Как и в предыдущем случае, сначала генерируется число n как произведение двух больших чисел. Для того, чтобы сгенерировать открытый и секретный ключи для стороны А, сначала выбирают К различных чисел V1, V2, ..., VК, где каждое Vi является квадратичным вычетом по модулю n. Иначе говоря, выбирают значение Vi таким, что сравнение

x2 º Vi mod n

имеет решение и существует Vi–1 mod n. Полученная строка V1, V2, ..., VК является открытым ключом.

Затем вычисляют такие наименьшие значения Si, что

Si = sqrt (Vi–1) mod n.

Эта строка S1, S2, ..., SK является секретным ключом стороны А.

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

1. Сторона А выбирает некоторое случайное число r, r<n. Затем она вычисляет x=r2 mod n и посылает x стороне В.

2. Сторона В отправляет стороне А некоторую случайную двоичную строку из K бит: b1, b2, ..., bK.

3. Сторона А вычисляет

y = r * (S1b1 * S2b2 * ... * SKbK) mod n.

Перемножаются только те значения Si, для которых bi=1. Например, если b1=1, то сомножитель S1 входит в произведение, если же b1=0, то S1 не входит в произведение, и т.д. Вычисленное значение y отправляется стороне В.

4. Сторона В проверяет, что

x = y2 * (V1b1 * V2b2 * ... * VKbK) mod n.

Фактически сторона В перемножает только те значения Vi, для которых bi=1. Стороны А и В повторяют этот протокол t раз, пока В не убедится, что А знает

S1, S2, ..., SK.

Вероятность того, что А может обмануть В, равна (1/2)Кt. Авторы рекомендуют в качестве контрольного значения брать вероятность обмана В равной (1/2)20 при К=5 и t=4.

Стороны А и В повторяют этот протокол t раз, каждый раз с разным случайным числом r, пока сторона В не будет удовлетворена.

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

В этот протокол можно включить идентификационную информацию .

Пусть I – некоторая двоичная строка, представляющая идентификационную информацию о владельце карты (имя, адрес, персональный идентификационный номер, физическое описание) и о карте (дата окончания действия и т.п.). Эту информацию I формируют в Центре выдачи интеллектуальных карт по заявке пользователя А.

Далее используют одностороннюю функцию f (·) для вычисления f (I, j), где j – некоторое двоичное число, сцепляемое со строкой I. Вычисляют значения

Vj = f (I, j)

для небольших значений j, отбирают К разных значений j, для которых Vj являются квадратичными вычетами по модулю n. Затем для отобранных квадратичных вычетов Vj вычисляют наименьшие квадратные корни из Vj–1(mod n). Совокупность из К значений Vj образует открытый ключ, а совокупность из К значений Sj – секретный ключ пользователя А.


Лабораторная работа №6

 


ИЗУЧЕНИЕ АЛГОРИТМА ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ RSA

 

Цель работы

Изучить основные принципы и процедурные аспекты алгоритма электронной цифровой подписи (ЭЦП) варианта RSA.

 

Рекомендуемые источники

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

2.Соколов А.В., Шаньгин В.Ф. Защита информации в распределенных корпоративных сетях и системах.- М.: ДМК Пресс, 2002, с. 222-227.

3.Б. Шнайер. Прикладная криптография.-М.: Триумф, 2002, с. 541-548.

 

Подготовка к работе

1.Ознакомиться с алгоритмами постановки и проверки электронной цифровой подписи по одному из рекомендованных источников /1-3/.

2.Ознакомиться с содержанием данной методической разработки.

3.Подготовить бланк отчета, который должен содержать:

- цель работы;

- основные математические соотношения для обоснования алгоритма;

- заготовку таблицы, в которую будут заноситься результаты выполнения работы.

 
 


4. Контрольные вопросы

1.Цель аутентификации электронных документов.

2.Назначение электронной цифровой подписи.

3.Назначение и особенности хэш-функции.

4.Процедуры постановки и проверки ЭЦП.

5.Алгоритм цифровой подписи RSA.

6.Отечественный стандарт хэш-функции.

7.Отечественный стандарт цифровой подписи.

8.Однонаправленные хэш-функции на основе симметричных блочных алгоритмов.

9.Требования, предъявляемые к хэш-функциям.

10. Виды атак на ЭЦП.

11. Недостатки ЭЦП RSA.

 

Содержание работы

1.Ознакомиться с сущностью ЭЦП.

2.Изучить математические соотношения, лежащие в основе постановки и проверки ЭЦП.

3.Изучить основные процедуры алгоритма ЭЦП.

4.Произвести передачу различных текстов с проверкой подлинности сообщений и их авторства.

5.Произвести поиск нескольких коллизий и зафиксировать их последствия.

 

Содержание отчета

1.Цель работы.

2.Структурную схему алгоритма ЭЦП RSA.

3.Основные математические соотношения, предписываемые алгоритмом ЭЦП.

4.Результаты постановки и проверки ЭЦП.

 









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2019 zdamsam.ru Размещенные материалы защищены законодательством РФ.