Протокол согласования ключей - Key-agreement protocol

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

Во многих системах обмена ключами одна сторона генерирует ключ и просто отправляет этот ключ другой стороне - другая сторона не имеет никакого влияния на ключ. Использование протокола согласования ключей позволяет избежать некоторых проблем распределения ключей, связанных с такими системами.

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

Экспоненциальный обмен ключами

Первым общеизвестным протоколом соглашения об открытых ключах, который отвечает указанным выше критериям, был обмен ключами Диффи-Хеллмана , в котором две стороны совместно вознаграждают генератор случайными числами таким образом, что перехватчик не может реально определить, какое полученное значение используется для создать общий ключ.

Экспоненциальный обмен ключами сам по себе не требует какого-либо предварительного соглашения или последующей аутентификации между участниками. Таким образом, он был описан как протокол анонимного согласования ключей.

Аутентификация

Анонимный обмен ключами, как и при обмене ключами Диффи-Хеллмана, не обеспечивает аутентификацию сторон и, таким образом, уязвим для атак типа «злоумышленник в середине» .

Было разработано множество схем и протоколов криптографической аутентификации для обеспечения согласованного ключа с целью предотвращения атак типа «злоумышленник в середине» и связанных с ними атак. Эти методы обычно математически связывают согласованный ключ с другими согласованными данными, такими как следующие:

Открытые ключи

Широко используемым механизмом для отражения таких атак является использование ключей с цифровой подписью , целостность которых должна быть гарантирована: если ключ Боба подписан доверенной третьей стороной, подтверждающей его личность, Алиса может быть уверена, что подписанный ключ, который она получает, не попытка перехвата со стороны Евы. Когда у Алисы и Боба есть инфраструктура открытых ключей, они могут подписать согласованный ключ Диффи-Хеллмана цифровой подписью или обмениваться открытыми ключами Диффи-Хеллмана. Такие подписанные ключи, иногда подписанные центром сертификации , являются одним из основных механизмов, используемых для безопасного веб-трафика (включая протоколы HTTPS , SSL или Transport Layer Security). Другими конкретными примерами являются MQV , YAK и компонент ISAKMP из набора протоколов IPsec для защиты связи по Интернет-протоколу. Однако эти системы требуют тщательного подтверждения соответствия между идентификационной информацией и открытыми ключами центрами сертификации для правильной работы.

Гибридные системы

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

Пароли

Протоколы согласования ключей с аутентификацией паролем требуют отдельного установления пароля (который может быть меньше ключа) таким образом, чтобы он был как частным, так и гарантированным. Они разработаны, чтобы противостоять атакам типа "злоумышленник посередине" и другим активным атакам на пароль и установленные ключи. Например, DH- EKE , SPEKE и SRP - это варианты алгоритма Диффи-Хеллмана с аутентификацией по паролю.

Прочие уловки

Если у кого-то есть гарантированный способ проверки общего ключа по общедоступному каналу, он может участвовать в обмене ключами Диффи-Хеллмана для получения краткосрочного общего ключа, а затем впоследствии подтвердить, что ключи совпадают. Один из способов - использовать считывание ключа с голосовой аутентификацией, как в PGPfone . Однако голосовая аутентификация предполагает, что посредник не может подменить голос одного участника другому в режиме реального времени, что может быть нежелательным допущением. Такие протоколы могут быть разработаны для работы даже с небольшими общедоступными значениями, такими как пароль. Вариации на эту тему были предложены для протоколов сопряжения Bluetooth .

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

Общие секретные ключи

Криптография с секретным ключом (симметричная) требует первоначального обмена общим ключом конфиденциальным способом с гарантированной целостностью. Если все сделано правильно, атака «злоумышленник посередине» предотвращена. Однако без использования криптографии с открытым ключом могут возникнуть нежелательные проблемы с управлением ключами.

Смотрите также

Заметки