- •Глава 36. Схемы шифрования rsa, Эль Гамаля, Полига-Хеллмана
- •Часть 5. Шифры с открытым ключом шифрования
- •Глава 36.
- •36.1. Основные понятия модулярной арифметики
- •Основные способы нахождения обратных величин a–1 1 (mod n).
- •36.2. Криптосистема шифрования данных rsa
- •X((Pх)) y (modQ).
- •36.3. Схема шифрования Эль Гамаля
- •36.4. Схема шифрования Полига-Хеллмана
- •Глава 37.
- •Глава 38.
- •38.1. Основные принципы построения протоколов идентификации и аутентификации
- •Доказательство проверяемого a:
- •38.3. Типовые схемы идентификации и аутентификации пользователя информационной системы
- •38.4. Особенности применения пароля для аутентификации пользователя
- •38.5. Взаимная проверка подлинности пользователей
- •38.6. Протоколы идентификации с нулевой передачей знаний
- •38.7. Упрощенный вариант схемы идентификации с нулевой передачей знаний. Протокол Фиата-Шамира
- •38.8. Параллельная схема идентификации с нулевой передачей знаний (с нулевым раскрытием)
- •38.9. Модифицированный протокол Фиата-Шамира
- •38.10. Схема идентификации Шнорра
- •38.11. Схема идентификации Гиллоу-Куискуотера
- •38.12. Способ проверки подлинности, где не требуется предъявлять секретный пароль
- •38.13. Проверка подлинности с помощью систем шифрования с открытым ключом
- •38.14. Биометрическая идентификация и аутентификация пользователя
- •Глава 39.
- •39.1. Основные понятия
- •39.4. Однонаправленные хэш-функции
- •Схемы безопасного хэширования, у которых длина хэш-значения равна длине блока
- •39.5. Отечественный стандарт хэш-функции
- •Глава 40.
- •40.1. Электронная цифровая подпись для аутентификации данных
- •40.2. Алгоритмы электронной цифровой подписи
- •40.3. Алгоритм цифровой подписи rsa
- •Обобщенная схема цифровой подписи rsa
- •40.4. Недостатки алгоритма цифровой подписи rsa
- •40.5. Алгоритм цифровой подписи Эль – Гамаля
- •40.6. Цифровая подпись Эль-Гамаля
- •40.7. Особенности протокола Эль-Гамаля
- •40.8. Алгоритм цифровой подписи dsa
- •40.10. Цифровые подписи с дополнительными функциональными свойствами
- •40.11. Алгоритм неоспоримой цифровой подписи д.Чома
- •40.12. Протокол подписи, позволяющий отправителю сообщения не предоставлять право получателю доказывать справедливость своей подписи
- •Глава 41.
- •41.1. Генерация ключей
- •41.2. Концепция иерархии ключей
- •41.3. Распределение ключей
- •41.4. Протокол аутентификации и распределения ключей для симметричных криптосистем
- •41.5. Протокол для асимметричных криптосистем с использованием сертификатов открытых ключей
- •41.6. Использование криптосистемы с открытым ключом для шифрования и передачи секретного ключа симметричной криптосистемы
- •Длины ключей для симметричных и асимметричных криптосистем при одинаковой их криптостойкости
- •41.7. Использование системы открытого распределения ключей Диффи-Хеллмана
- •41.8. Протокол skip управления криптоключами
- •Глава 42.
- •42.1. Основные понятия конечных полей
- •42.2. Криптографические протоколы. Протокол Диффи-Хеллмана
- •42.3. Протокол электронной цифровой подписи
Доказательство проверяемого a:
АВ: y=Ek (tA|| id(B))
Проверка принятого сообщения y’ проверяющим B:
В: (t|| i))=Dk(y’), удостоверение, что t=t A T, и i=id(B).
Вследствие трудности синхронизации часов передающей и принимающей стороны интервал T не может быть очень малым. Поэтому технически оснащенный противник имеет возможность после перехвата сообщения y идентифицировать себя для другого участника C, изменив часть id(B) этого кода. Это можно сделать, если, например, шифрование осуществляется наложением гаммы.
Пример односторонней идентификация с использованием случайных чисел zВ.
Запрос проверяющего B (пересылка случайного числа):
В А: zВ.,
Доказательство проверяемого A (ответ):
АВ: y=Ek(zВ||id(B))
Проверка принятого сообщения y’ проверяющим B:
В: (z||i)=Dk(y’), удостоверение, что z = zВ и i=id(B).
Пример взаимной идентификации с использованием случайных чисел.
Запрос проверяющего B (пересылка случайного числа):
ВА: zВ.,
Доказательство проверяемого А (ответ-запрос):
АВ: y=Ek(zА||z'В|| id(B)),
Проверка y’ проверяющим B :
B:( z1||z2||i)= Dk(y'), удостоверение, что: z2= zВ., i=id(B).
Доказательство проверяемого В (ответ):
В А: y=Ek(z1||zВ),
Проверка проверяющим A :
A: (z1’||z2’)= Dk(y'), удостоверение, что z1’= zА, z2’=z'В.
Идентификация с использованием асимметричных криптосистем. Теперь опишем несколько примеров протоколов сильной идентификации в асимметричных криптосистемах
Пример идентификации расшифрованием запроса, зашифрованного на открытом ключе абонента А.
Запрос от проверяющего В:
ВА: h(zB), id(B), y=(zB ||id(B)).
Проверка запроса проверяемым A:
A: h', i’, (z||i)= (y’), удостоверение, что h(z)=h', i=i’,
Доказательство проверяемого А (ответ):
AB:z.
Проверка проверяющим B:
B: z’, удостоверение, что z'=zB.
Примечание: проверяемый A доказал проверяющему B, что он владеет ключом расшифрования . При этом проверяемый имеет возможность учитывать запросы и фиксировать случаи их повторного поступления.
Пример идентификации зашифрованием запроса секретным ключом .
Запрос от проверяющего B
BA: z B.
Доказательство проверяемого A:
A: AB: y=D (z’B).
Проверка проверяющим B:
B: z= E (y’), удостоверение, что z= zA.
Недостаток: C может получить от A зашифрованное на ключе выгодное для С сообщение z С (например, заархивированное долговое обязательство A).
Устраняется использованием хэш-функции:
Запрос от проверяющего B
BA:
состоящий в том, что B намерен связаться с A.
Доказательство проверяемого A:
A: AB: y=D((M||h(M))), где М – любое сообщение.
Проверка проверяющим B:
B: (m||h)= Е (y’) , удостоверение, что h= h(m).
Напомним, что протокол аутентификации протокол, идентификации, гарантирующий целостность информации по источнику, содержанию и по времени создания.
Аутентификация с использованием симметричных криптосистем. Заметим, что при передаче зашифрованного сообщения с предварительно добавленным идентификатором источника, целостность данных не гарантируется. Аутентификация источника проводят с использованием ключевой хэш-функции и симметричного шифрования. Можно, например, использовать одну из следующих форм передаваемого сообщения:
,
,
.
При этом ключи шифрования k1 и k2 должны быть независимыми, а алгоритмы шифрования и вычисления хэш-функций , должны иметь существенные различия.
38.2. Аутентификация с использованием ассиметричной криптосистемы и кода аутентификации сообщения ( останов векчерники 08.09.11)
Рассмотрим протокол передачи открытого ключа по открытому каналу от В к А с целью последующей передачи от A к В ключа k симметричной системы. Под Кодом Аутентификации Сообщения (КАС) понимается: (h(M||k)), где М – сообщение h – функция хэширования, k – секретный ключ. При этом протокол, защищенный от вмешательства постороннего участника имеет вид:
Передача сертификата открытого ключа стороной B:
BA: <сертификат >, y=D (M||h(M)),
Проверка стороной А: А: (m||h)=E (y') , удостоверение, что h=h(m), удостоверение подлинности сообщения <сертификат >.
Теперь А может передать для В сообщение x=k на ключе :
AB: y=D (k).
После получения этого сообщения стороной B как А, так и В имеют общий секрет х=k и могут использовать его в качестве ключа симметричной системы для проверки подлинности сообщений:
BA: y=Ek(M||(h(M||k)),
A: (m||h)=Dk(y), удостоверение, что h=h(m||k).