Обмен ключами (также установление ключей ) — метод в криптографии, при котором две стороны обмениваются криптографическими ключами , что позволяет использовать криптографический алгоритм .
Если отправитель и получатель хотят обмениваться зашифрованными сообщениями, каждый из них должен быть оснащен для шифрования отправляемых сообщений и расшифровки получаемых сообщений. Характер необходимого им оснащения зависит от метода шифрования , который они могут использовать. Если они используют код , обоим потребуется копия одной и той же кодовой книги . Если они используют шифр , им понадобятся соответствующие ключи. Если шифр является симметричным ключом , обоим потребуется копия одного и того же ключа. Если это асимметричный ключевой шифр со свойством открытого/закрытого ключа, обоим потребуется открытый ключ друг друга.
Обмен ключами осуществляется либо внутриполосно, либо внеполосно. [1]
Проблема обмена ключами описывает способы обмена любыми ключами или другой информацией, необходимой для установления защищенного канала связи, чтобы никто другой не мог получить копию. Исторически, до изобретения криптографии с открытым ключом (асимметричной криптографии), криптография с симметричным ключом использовала один ключ для шифрования и расшифровки сообщений. Чтобы две стороны могли общаться конфиденциально, они должны сначала обменяться секретным ключом, чтобы каждая сторона могла зашифровать сообщения перед отправкой и расшифровать полученные. Этот процесс известен как обмен ключами.
Основная проблема симметричной криптографии или криптографии с одним ключом заключается в том, что она требует передачи секретного ключа через доверенных курьеров , дипломатическую почту или любой другой защищенный канал связи . Если две стороны не могут установить безопасный начальный обмен ключами, они не смогут безопасно общаться без риска перехвата и расшифровки сообщений третьей стороной, которая получила ключ во время начального обмена ключами.
Криптография с открытым ключом использует двухключевую систему, состоящую из открытого и закрытого ключей, где сообщения шифруются одним ключом и расшифровываются другим. Какой ключ — открытый или закрытый — используется для шифрования сообщений, а какой — для расшифровки, зависит от выбранного криптографического алгоритма. Например, в RSA закрытый ключ используется для расшифровки сообщений, в то время как в алгоритме цифровой подписи (DSA) закрытый ключ используется для их аутентификации. Открытый ключ можно отправлять по незащищенным каналам или делиться им публично; закрытый ключ доступен только его владельцу.
Известный как обмен ключами Диффи-Хеллмана, ключ шифрования может быть передан открыто, поскольку он не представляет риска для конфиденциальности зашифрованных сообщений. Одна сторона обменивается ключами с другой стороной, которая затем может зашифровать сообщения с помощью ключа и отправить обратно зашифрованный текст. Только ключ дешифрования — в данном случае это закрытый ключ — может расшифровать это сообщение. Ни в какой момент во время обмена ключами Диффи-Хеллмана никакая конфиденциальная информация не подвергается риску компрометации, в отличие от симметричного обмена ключами.
В принципе, единственной оставшейся проблемой было убедиться (или, по крайней мере, быть уверенным), что открытый ключ действительно принадлежит его предполагаемому владельцу. Поскольку можно « подделать » чужую личность любым из нескольких способов, это нетривиальная или легко решаемая задача, особенно когда два вовлеченных пользователя никогда не встречались и ничего не знают друг о друге.
В 1976 году Уитфилд Диффи и Мартин Хеллман опубликовали криптографический протокол , названный обменом ключами Диффи–Хеллмана (D–H), основанный на концепциях, разработанных аспирантом Хеллмана Ральфом Мерклем . Протокол позволяет пользователям безопасно обмениваться секретными ключами, даже если противник отслеживает этот канал связи. Однако протокол обмена ключами D–H сам по себе не решает проблему аутентификации (т. е. проблему уверенности в фактической личности человека или «сущности» на другом конце канала связи). Аутентификация имеет решающее значение, когда противник может как отслеживать, так и изменять сообщения в канале связи (также известные как атаки типа «человек посередине» или MITM), и была рассмотрена в четвертом разделе статьи. [2]
Инфраструктуры открытых ключей (PKI) были предложены в качестве обходного пути для проблемы аутентификации личности. В их наиболее обычной реализации каждый пользователь обращается в « центр сертификации » (CA), которому доверяют все стороны, за цифровым сертификатом , который служит для других пользователей в качестве не поддающейся изменению аутентификации личности. Инфраструктура безопасна, если только сам CA не скомпрометирован. Однако в этом случае многие PKI предоставляют способ отзыва сертификатов, чтобы другие пользователи не доверяли им. Отозванные сертификаты обычно помещаются в списки отзыва сертификатов , с которыми можно сопоставить любой сертификат.
Несколько стран и других юрисдикций приняли законы или выпустили правила, поощряющие PKI, придавая (более или менее) юридическую силу этим цифровым сертификатам (см. цифровая подпись ). Многие коммерческие фирмы, а также несколько правительственных департаментов создали такие центры сертификации.
Однако это не решает проблему, поскольку надежность самого CA все еще не гарантирована для конкретного человека. Это форма аргумента от ошибки авторитета. Для фактической надежности требуется личная проверка принадлежности сертификата CA и установление доверия к CA. Обычно это невозможно.
Известны случаи, когда авторитарные правительства предлагали создать так называемые «национальные центры сертификации», чьи сертификаты были бы обязательны для установки на устройствах граждан и, после установки и доверия, могли бы использоваться для мониторинга, перехвата, изменения или блокировки зашифрованного интернет-трафика. [3] [4] [5]
Для новичков в таких вещах эти договоренности лучше всего рассматривать как электронные нотариальные подтверждения того, что «этот открытый ключ принадлежит этому пользователю». Как и в случае с нотариальными подтверждениями, в таких подтверждениях могут быть ошибки или недоразумения. Кроме того, сам нотариус может быть ненадежным. Было несколько громких публичных провалов со стороны различных органов сертификации. [6] [7]
На другом конце концептуального диапазона находится система сети доверия , которая полностью избегает центральных центров сертификации. Каждый пользователь несет ответственность за получение сертификата от другого пользователя перед использованием этого сертификата для связи с пользователем. PGP и GPG (реализация стандарта OpenPGP Internet) используют именно такой механизм сети доверия.
Алгоритмы согласования ключей с аутентификацией по паролю могут выполнять криптографический обмен ключами, используя знание пароля пользователя .
Квантовое распределение ключей использует определенные свойства квантовой физики для обеспечения своей безопасности. Оно основано на том факте, что наблюдения (или измерения ) квантового состояния вносят возмущения в это состояние. Во многих системах эти возмущения обнаруживаются приемником как шум, что позволяет обнаруживать атаки типа «человек посередине» . Помимо корректности и полноты квантовой механики, протокол предполагает наличие аутентифицированного канала между Алисой и Бобом.