Размер ключа
- 1 year ago
- 0
- 0
В криптографии , протокол совместной выработки ключа ( англ. Key-agreement protocol ) — метод установления секретного ключа шифрования, в котором каждый авторизированный пользователь канала влияет на его значение.
Для конфиденциального общения между пользователями необходимы секретные ключи шифрования и дешифрования сообщений. Протоколами обмена ключом называют алгоритмы, которые осуществляют защищенный обмен ключом шифрования. Протоколы обмена ключами делятся на два типа : протоколы передачи ключа и протоколы совместной выработки ключа . В протоколах передачи ключа используется симметричное шифрование , один из пользователей канала (сервер) генерирует ключ и передаёт его остальным участникам. Для этого необходим защищенный канал. Протоколы совместной выработки ключа используют асимметричное шифрование . Они организованы так, что открытый ключ передается по незащищенному каналу и используется для шифрования сообщений. Для дешифрования сообщений используется секретный ключ.
Недостатком симметричных криптосистем является сложность передачи ключа. Необходим защищенный канал, по которому осуществится начальный обмен ключом. Если две стороны не могут установить безопасный начальный обмен, существует риск перехвата сообщений третьей стороной. Протокол совместной выработки ключа создавался для решения этой проблемы , что привело к появлению криптографии с открытым ключом .
Первый протокол совместной выработки ключа был описан в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана , опубликованной в 1976 году . Они предложили алгоритм получения секретных ключей, при помощи распространения открытых ключей через незащищенный канал / В основе этого метода лежит экспоненциальный обмен ключами, известный как обмен ключами Диффи — Хеллмана . Экспоненциальный обмен ключами не требует предварительных соглашений между участниками, но в результате такого обмена каждая из сторон обладает секретным ключом.
После разработки Уитфилдом Диффи и Мартином Хеллманом алгоритма обмена ключами, появились и другие протоколы совместной выработки ключа . Их появление обосновано, например, желанием сократить объем вычислений, используя математические операции, отличные от возведения в степень . Можно выделить общий подход к созданию протоколов совместной выработки ключа .
Для начала, в криптографии с асимметричным шифрованием значение открытого ключа пользователя известно всем пользователям канала (и возможно стороннему наблюдателю), значение секретного ключа пользователя известно только самому пользователю и никому больше. Тогда любой протокол совместной выработки ключа должен обладать следующими свойствами :
Главным инструментом математического аппарата, который лежит в основе создания протоколов совместной выработки ключа , являются односторонние функции . Они из определения удовлетворяют свойствам , которые требует протокол, в том случае, если аргументом такой функции является секретный ключ , а выходным значением открытый ключ . Далее будут приведены задачи, основанные на односторонней сложности вычислений, и протоколы, в основе которых они лежат.
Односторонняя функция : возведение в степень по модулю большого простого числа дискретное логарифмирование .
Пусть заданны некоторые натуральные числа и . Решение уравнения в некоторой конечной мультипликативной группе называется дискретным логарифмом элемента по основанию .
На задаче дискретного логарифмирования основан протокол Диффи-Хеллмана , где — это секретный сеансовый ключ пользователя, — открытый ключ пользователя, — генератор .
Односторонняя функция : умножение факторизация .
Пусть задано некоторое натуральное число , факторизацией называется процесс разложения в произведение простых множителей. Существование и единственность (с точностью до порядка следования множителей) такого разложения следует из основной теоремы арифметики
Примером криптосистемы, использующей эту идею, является RSA . Два больших простых числа и являются секретными ключами пользователей, — открытым ключом .
Односторонняя функция : умножение натурального числа на точку эллиптической кривой дискретное логарифмирование на эллиптической кривой .
Рассмотрим выражение , где и — точки эллиптической кривой .
Примером протокола, основанного на этой задаче, может служить Протокол Диффи — Хеллмана на эллиптических кривых , в котором — заранее определенная базовая точка , некоторое большое простое значение. Различные — секретные ключи пользователей, — открытый ключ .
При анализе протоколов, необходимо понимать, каким типам атак они могут подвергаться. Существует два типа атак на протоколы: пассивные и активные . Безопасный протокол способен противостоять обоим видам атак .
Под этими двумя категориями существует довольно много методов атаки .
Подслушивание — захват злоумышленником информации, отправляемой в протоколе. Способа предотвратить подслушивание нет, но есть возможность защитить содержимое сообщений с помощью шифрования. Это один из самых основных видов атак, и более сложные атаки могут включать в себя прослушивание. Подслушивание — вид пассивной атаки. Далее будут приведены активные атаки.
При атаке модификацией злоумышленник изменяет отправляемую информацию. Способ предотвращения такого рода атак — использование мер криптографической целостности .
Атака повтором включают любую ситуацию, когда злоумышленник мешает выполнению протокола путем вставки сообщения или части сообщения, которое было отправлено ранее при любом запуске протокола. Атака повтором часто используется в сочетании с другими видами атак. Использование токенов сессии помогает избежать атак повтором.
Атака отражением — способ атаковать систему, которая использует один и тот же ключ в обоих направлениях. Атака пытается обмануть цель и дать ответ на ее собственный запрос. Эта атака возможна только в том случае, если протокол допускает параллельные запуски. Чтобы предотвратить эту атаку, отправляющий может добавить свой идентификатор в ответ и отклонять ответы, в которых встречает свой идентификатор. Другим решением является требование, чтобы ключи были разными для каждого направления связи.
Во время DoS-атаки злоумышленники отправляют множество запросов на сервер, чтобы перегрузить его и мешать достоверным пользователям получить соединение с ним. Единственная защита состоит в том, чтобы сводить к минимуму число вычислений и количество значений, которые сервер должен хранить для каждого соединения.
Криптоанализ — получение зашифрованной информации без доступа к ключу дешифрования. В большинстве случаев такого рода атаки направлены на поиск секретного ключа.
Пересечение протоколов означает , что злоумышленник использует ключ известного протокола для взаимодействия с новым протоколом. Большинство долгосрочных ключей предназначены для использования только для одного протокола. Несмотря на это, некоторые ключи используются одновременно в нескольких протоколах. Чтобы предотвратить атаку такого рода, нужно использовать разные ключи для каждого протокола и включать детали протокола,например, идентификатор и номер версии в аутентифицированную часть сообщений.
Таким образом:
Чтобы пользователь B при обмене информацией с А по заданному протоколу был аутентифицированным , протокол должен обладать одним из двух следующих свойств безопасности :
Чтобы обмен ключами в протоколе был аутентифицированным , должны быть выполнены два следующих требования :