Автор работы: Пользователь скрыл имя, 13 Декабря 2010 в 20:53, доклад
Протокол - это последовательность шагов, которые предпринимают две или большее количество сторон для совместного решения некоторой задачи. Следует обратить внимание на то, что все шаги предпринимаются в порядке строгой очередности и ни один из них не может быть сделан прежде, чем закончится предыдущий.
Криптографические
протоколы
Протокол - это последовательность шагов, которые предпринимают две или большее количество сторон для совместного решения некоторой задачи. Следует обратить внимание на то, что все шаги предпринимаются в порядке строгой очередности и ни один из них не может быть сделан прежде, чем закончится предыдущий.
Кроме того, любой протокол подразумевает участие двух сторон. В одиночку можно смешать и выпить коктейль, но к протоколу эти действия не будут иметь никакого отношения. Поэтому придется угостить кого-нибудь сделанным коктейлем, чтобы его приготовление и дегустация стали настоящим протоколом. И наконец, протокол обязательно предназначен для достижения какой-то цели, иначе это не протокол, а пустое времяпрепровождение.
У протоколов есть также и другие отличительные черты:
• каждый участник протокола должен быть заранее оповещен о шагах, которые ему предстоит предпринять;
• все участники протокола должны следовать его правилам добровольно, без принуждения;
• необходимо, чтобы протокол допускал только однозначное толкование, а его шаги были совершенно четко определены и не допускали возможности их неправильного понимания;
•
протокол должен описывать реакцию
участников на любые ситуации, которые
могут возникнуть в ходе его реализации.
Иными словами, недопустимым является
положение, при котором для возникшей
ситуации протоколом не определено соответствующее
действие.
Криптографическим
протоколом называется протокол, в
основе которого лежит криптографический
алгоритм. Однако целью криптографического
протокола зачастую является не только
сохранение информации в тайне от посторонних.
Участники криптографического протокола
могут быть близкими друзьями, у которых
нет друг от друга секретов, а могут являться
и непримиримыми врагами, каждый из которых
отказывается сообщить другому, какое
сегодня число. Тем не менее им может понадобиться
поставить свои подписи под совместным
договором или удостоверить свою личность.
В этом случае криптография нужна, чтобы
предотвратить или обнаружить подслушивание
посторонними лицами, а также не допустить
мошенничества. Поэтому часто криптографический
протокол требуется там, где его участники
не должны сделать или узнать больше того,
что определено этим протоколом.
Функции
криптографических
протоколов:
1) Аутентификация источника данных
2)Аутентификация сторон
3) Конфиденциальность данных
4) Невозможность отказа
5) Невозможность
отказа с доказательством
6) Невозможность
отказа с доказательством
7) Целостность данных
8) Обеспечение
целостности соединения без
9) Обеспечение
целостности соединения с
10) Разграничение
доступа
Классификация:
- Протоколы шифрования / дешифрования
- Протоколы электронной цифровой подписи (ЭЦП)
- Протоколы идентификации / аутентификации
- Протоколы
аутентифицированного
Задачи:
Обеспечение
различных режимов
Генерация, распределение и согласование криптографических ключей
Защита взаимодействий участников
Разделение
ответственности между
Перечень наиболее широко известных атак
на криптографические протоколы
1. Подмена (impersonation) — попытка подменить одного пользователя другим. Нарушитель, выступая от имени одной из сторон и полностью имитируя ее действия,
получает
в ответ сообщения
дельных шагов протокола.
Методы противодействия состоят в:
— сохранении в тайне от противника информации, определяющей алгоритм идентификации;
— использование различных форматов сообщений, передаваемых на разных шагах
протокола;
— вставка
в них специальных
В протоколах с использованием третьей стороны возможны атаки, основанные на
подмене доверенного сервера.
Например, одна из сторон, имеющая доверительные отношения с сервером, выступает от его имени, подменяет его трафик обмена с другими сторонами и в результате
получает возможность раскрывать значения генерируемых центром ключей. Эта атака может быть успешной для протоколов, в которых аутентификация при
доступе к серверу основана только на идентификаторах сторон и случайных числах,
генерируемых при каждом взаимодействии.
Для защиты от таких атак применяют средства привязки ключей не к одной, а
к обеим взаимодействующим сторонам путем передачи обоих идентификаторов в за-
шифрованном виде.
2. Повторное навязывание сообщения (replay attack) — повторное использование
ранее переданного в текущем или предыдущем сеансе сообщения или какой-либо его
части в текущем сеансе протокола.
Например,
повторная передача информации ранее
проведенного протокола идентификации
может привести к повторной успешной идентификации
того же самого или другого пользователя.
В протоколах передачи ключей данная атака
часто применяется для повторного навязывания
уже использованного ранее сеансового
ключа — атака на основе новизны (freshness
attack). Методы противодействия состоят
в обеспечении целостности сеанса и невозможности
вставки в него лишних сообщений.
Для этого используется:
— техника типа «запрос — ответ»;
— вставка в передаваемые сообщения временных меток, случайных чисел или возрастающих последовательностей чисел.
3. Еще один тип подобных атак связан с обратной передачей адресату ранее переданных им сообщений и получил название атака отражением (reflection attack). Часто
атаки данного типа относят к классу атак с повторным навязыванием сообщения.
Для защиты от таких атак протоколы специально делают несимметричными, включая в зашифрованные сообщения идентификаторы сторон либо изменяя процедуры
так, чтобы стороны должны были выполнять разные действия, вводят в протокол
идентификационную информацию, используют различные ключи для приема и передачи сообщений.
4. Задержка передачи сообщения (forced delay) — перехват противником сообщения
и навязывание его в более поздний момент времени. Это также разновидность атаки
с повторным навязыванием сообщения.
Методы противодействия включают использование случайных чисел совместно с
ограничением временного промежутка для ответа, использование временных меток.
5. Комбинированная атака (interleaving attack) — подмена или другой метод обмана, использующий комбинацию данных из ранее выполненных протоколов, в том
числе протоколов, ранее навязанных противником.
Метод
противодействия состоит в
отдельных сообщений.
6. Специальный
частный случай предыдущей
сеансами (parallel-session attack).
7. Атака с использованием специально подобранных текстов — атака на протоколы типа «запрос—ответ», при которой противник по определенному правилу выбирает
запросы с целью получить информацию о долговременном ключе доказывающего.
Эта атака может включать специально подобранные — открытые тексты, если доказывающий должен подписать или зашифровать запрос, — шифрованные тексты, если доказывающий должен расшифровать запрос.
Методы противодействия этой атаке состоят:
— во включении случайных чисел в запросы или ответы, а также
— в использовании протоколов с нулевым разглашением.
8. Использование противником своих средств в качестве части телекоммуникационной структуры — атака, при которой в протоколе идентификации между A и B противник входит в телекоммуникационный канал и становится его частью при реализации протокола между A и B.
При этом
противник может подменить
Эта атака особенно опасна в случае формирования участниками A и B общего
ключа по протоколу Диффи — Хеллмана. Она известна как «противник в середине»
и заключается в полной подмене всех сообщений между сторонами.
9. Во
многих случаях проведение
Например, атака с известным сеансовым ключом (known-key attack) заключается в попытке получения информации о долговременном ключе или любой другой ключевой
информации,
позволяющей восстанавливать
Для защиты от такой атаки обеспечивают независимость между различными применяемыми ключами, которая достигается с помощью протоколов совместной выработки ключа, гарантирующих свойство новизны ключа (freshness) и не позволяющих
ни одному из участников заранее предсказать значение ключа.
10. Атака с неизвестным общим ключом (unknown key-share attack) — атака, при
которой нарушитель C открывает два сеанса с A и B, выступая в первом случае от
имени B, хотя последний может ничего не знать об этом. При этом в результате будет
сформирован общий ключ между A и B, причем A будет уверен, что сформировал
общий ключ с B, а B будет уверен, что сформировал общий ключ с C. Сам ключ
может быть не известен C.
11. Имеется
большое число типов атак, которые
зависят от конкретной
протокола.
Например,
для криптографических
реализованных способов и режимов шифрования, синхронизации и т. п.
Чтобы защититься от подобных атак, необходимо провести анализ архитектуры
протокола и структуры передаваемых сообщений с целью определения возможных
уязвимостей, позволяющих, например, осуществить навязывание сообщений с известными или одинаковыми значениями определенных полей, либо с помощью подмены