
- •Глава 36. Схемы шифрования rsa, Эль Гамаля, Полига-Хеллмана
- •Глава 36.
- •36.1. Основные понятия модулярной арифметики
- •Основные способы нахождения обратных величин a–1 1 (mod n).
- •36.2. Криптосистема шифрования данных rsa
- •X ((Pх ) ) y (modQ).
- •36.3. Схема шифрования Эль Гамаля
- •36.4. Схема шифрования Полига-Хеллмана
- •38.1. Основные принципы построения протоколов идентификации и аутентификации
- •Доказательство проверяемого a:
- •38.2. Аутентификация с использованием ассиметричной криптосистемы и кода аутентификации сообщения
- •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.1. Основные понятия
- •39.4. Однонаправленные хэш-функции
- •Схемы безопасного хэширования, у которых длина хэш-значения равна длине блока
- •39.5. Отечественный стандарт хэш-функции
- •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.1. Генерация ключей
- •41.2. Концепция иерархии ключей
- •41.3. Распределение ключей
- •41.4. Протокол аутентификации и распределения ключей для симметричных криптосистем
- •41.5. Протокол для асимметричных криптосистем с использованием сертификатов открытых ключей
- •41.6. Использование криптосистемы с открытым ключом для шифрования и передачи секретного ключа симметричной криптосистемы
- •Длины ключей для симметричных и асимметричных криптосистем при одинаковой их криптостойкости
- •41.7. Использование системы открытого распределения ключей Диффи-Хеллмана
- •41.8. Протокол skip управления криптоключами
- •42.1. Основные понятия конечных полей
- •42.2. Криптографические протоколы. Протокол Диффи-Хеллмана
- •42.3. Протокол электронной цифровой подписи
38.1. Основные принципы построения протоколов идентификации и аутентификации
Напомним читателю, что протокол идентификации и аутентификации это протокол, включающий двух участников:
доказывающего (проверяемого) участника А, проходящего идентификацию и
проверяющего участника В.
Целью протокола является проверка того, что проверяемым действительно является участник А. Такие протоколы могут использовать как симметричные так и асимметричные криптоситемы. Различают два вида методов идентификации.
Слабая идентификация идентификация, использующая фиксированные пароли. Сильная идентификация идентификация на основе протоколов «запрос-ответ» или изменяющейся (без повторения) информации. При построении протоколов идентификации важно знать возможные атаки на них.
1) Атака «подмена». Попытка подменить одного пользователя другим.
2) Атака «повторное навязывание сообщений. Использование информации ранее проверенного протокола идентификации того же самого или другого пользователя.
3) Комбинированная атака. Использование комбинации данных из ранее выполненных протоколов, в том числе протоколов, ранее навязанных противником.
4) Атака отражением. Комбинированная атака, использующая посылку части информации только что проверенного протокола доказывающему.
5) Атака «задержка передачи сообщения. Перехват сообщения и навязывание его в более поздний период времени.
Для краткости введем следующие обозначения:
Ek – функция шифрования на ключе k;
Dk – функция дешифрования на ключе k;
|| – знак конкатенации (соединения) слов, символов;
id(B) – идентификатор абонента B;
АВ: y – А передает В y.
Идентификация с использованием симметричных криптосистем. Рассмотрим несколько протоколов сильной идентификации в симметричных криптосистемах. Через (с||d) ниже будет обозначаться конкатенация пара слов с и d.
Пример односторонней идентификации с использованием временной метки tA.
Доказательство проверяемого 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
должны быть независимыми, а алгоритмы
шифрования и вычисления хэш-функций
,
должны иметь существенные различия.