Обмен ключами


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

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

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

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

Криптография с открытым ключом использует систему с двумя ключами, состоящую из открытого и закрытого ключей, где сообщения шифруются одним ключом, а расшифровываются другим. От выбранного криптографического алгоритма зависит, какой ключ — открытый или закрытый — используется для шифрования сообщений, а какой — для расшифровки. Например, в RSA закрытый ключ используется для расшифровки сообщений, а в алгоритме цифровой подписи (DSA) закрытый ключ используется для их аутентификации. Открытый ключ может быть отправлен по незащищенным каналам или открыт для всех; закрытый ключ доступен только его владельцу.

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


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