Введение
Аутентификация ключа/конфигурации используется для решения проблемы подтверждения подлинности ключей одного пользователя (например, "пользователя А") другим пользователем ("пользователем Б"), который с ним взаимодействует или пытается взаимодействовать. Иными словами, это процесс удостоверения в том, что ключ "пользователя А", находящийся у "пользователя Б", действительно принадлежит "пользователю А", и наоборот. Обычно это выполняется после того, как ключи были переданы обеим сторонам по защищенному каналу. Однако некоторые алгоритмы обмениваются ключами непосредственно в процессе аутентификации. Самое простое решение для этой задачи – непосредственное общение и обмен ключами между двумя пользователями. Однако в системах с большим количеством пользователей или когда пользователи не знакомы друг с другом лично (например, в интернет-магазинах) это нецелесообразно. Существуют различные алгоритмы для симметричных и асимметричных криптосистем с открытым ключом, предназначенные для решения этой проблемы.
Аутентификация с использованием общих ключей
Для ключевой аутентификации с использованием традиционной симметричной криптографии, основная проблема заключается в предотвращении атак "человек посередине", пытающихся перехватить или подделать обмен данными. В настоящее время существует множество алгоритмов для защиты от подобных атак. Наиболее распространенными являются обмен ключами Диффи — Хеллмана, аутентификация с использованием центра распределения ключей, Kerberos и протокол Needham — Schroeder. Также могут использоваться другие методы, такие как протоколы согласования ключей с аутентификацией по паролю и другие.
Аутентификация с использованием криптографии с открытым ключом
Криптосистемы, использующие алгоритмы асимметричного шифрования, также не решают эту проблему. Тот факт, что открытый ключ может быть известен всем без компрометации безопасности алгоритма шифрования (для некоторых таких алгоритмов, хотя и не для всех), безусловно, полезен, но не предотвращает определенные виды атак. Например, возможна атака подмены, при которой публичный ключ A публично выдается за ключ пользователя Алисы, но на самом деле принадлежит злоумышленнику, находящемуся посередине, Малле. Ни один открытый ключ не привязан к какому-либо конкретному пользователю, и любой пользователь, полагающийся на ненадежную привязку (включая саму Алису, когда она отправляет себе защищенные сообщения), столкнется с проблемами. Наиболее распространенным решением этой проблемы является использование сертификатов открытых ключей и центров сертификации (CA) в системе инфраструктуры открытых ключей (PKI). Центр сертификации (CA) выступает в качестве «доверенной третьей стороны» для взаимодействующих пользователей и, используя криптографические методы привязки (например, цифровые подписи), заверяет обе стороны в том, что публичные ключи, которыми они владеют и которые предположительно принадлежат другой стороне, действительно принадлежат ей. Это, по сути, цифровой нотариус. Такие ЦС могут быть частными организациями, предоставляющими такие гарантии, государственными учреждениями или их комбинацией. Однако, по сути, это лишь отодвигает проблему аутентификации ключа на один уровень, поскольку любой ЦС может добросовестно сертифицировать ключ, но ошибиться по ошибке или злонамеренно. Любое использование дефектного сертификата ключа для «аутентификации» открытого ключа приведет к проблемам. В результате многие считают все проекты PKI неприемлемо небезопасными. Соответственно, методы аутентификации ключей активно исследуются.