В криптографии с открытым ключом Станция-станция (STS ) протокол - это криптографическая схема согласования ключей. Протокол основан на классическом Диффи – Хеллмана и обеспечивает взаимную аутентификацию по ключу и объекту. В отличие от классического Диффи – Хеллмана, который не защищен от атаки типа «человек посередине», этот протокол предполагает, что у сторон есть ключи подписи, которые используются для подписи сообщений., тем самым обеспечивая защиту от атак типа «злоумышленник в середине».
Помимо защиты установленного ключа от злоумышленника, протокол STS не использует временных меток и обеспечивает совершенную прямую секретность. Это также влечет за собой двустороннее явное подтверждение ключа, что делает его согласованием аутентифицированного ключа с протоколом подтверждения ключа (AKC).
STS был первоначально представлен в 1987 году в контексте безопасности ISDN (O'Higgins et al. 1987), завершен в 1989 году и обычно представлен Whitfield Diffie, Пол К. ван Оршот и Майкл Дж. Винер в 1992 году. Исторический контекст протокола также обсуждается в Диффи (1988).
Развертывание STS может принимать различные формы в зависимости от требований к обмену данными и уровня предшествующего взаимодействия между сторонами. Данные, описанные в Настройка STS, могут быть совместно использованы до начала сеанса, чтобы уменьшить влияние установления сеанса.
В следующих пояснениях операции возведения в степень (Диффи – Хеллмана) обеспечивают основу для согласования ключей, хотя это не является обязательным требованием. Протокол может быть изменен, например, для использования вместо него эллиптических кривых.
Перед запуском протокола должны быть сгенерированы следующие данные.
Совместное использование этих данных до начала сеанса снижает сложность протокола.
Предположим, что все данные настройки были совместно использованы, протокол STS действует следующим образом. Если шаг не может быть завершен, протокол немедленно останавливается. Все экспоненты находятся в группе, указанной п.
Алиса и Боб теперь взаимно аутентифицированы и имеют общий секрет. Этот секрет, K, можно затем использовать для шифрования дальнейших сообщений. Базовая форма протокола формализуется в следующие три этапа:
(1) Алиса → Боб: g (2) Алиса ← Боб: g, E K(SB(g, g)) (3) Алиса → Боб: E K(SA(g, g))
Данные настройки также могут быть включены в сам протокол. Сертификаты открытых ключей могут быть отправлены на шагах 2 и 3, если ключи не известны заранее.
(1) Алиса → Боб: g (2) Алиса ← Боб: g, Cert B, E K(SB(g, g)) (3) Алиса → Боб: Cert A, E K(SA(g, g))
Если общесистемные параметры установления ключа не используются, инициатор и ответчик могут создавать и отправлять свои собственные параметры. В этом случае параметры следует отправлять с экспонентой.
(1) Алиса → Боб: g, p, g
Они также должны быть проверены Бобом, чтобы не дать активному злоумышленнику вставить слабые параметры (и, следовательно, слабый ключ K). Diffie, van Oorschot Wiener (1992) рекомендуют не проводить специальные проверки, чтобы предотвратить это, и вместо этого предлагают включать параметры группы в сертификат Алисы.
Упомянутые здесь варианты взяты из оригинальной статьи STS. См. Следующие ссылки для других, более значительных вариаций.
Доступна упрощенная форма STS, которая обеспечивает взаимную аутентификацию, но не создает общий секрет. Вместо описанного выше метода Диффи – Хеллмана в нем используются вызовы случайных чисел.
Формально:
(1) Алиса → Боб: x (2) Алиса ← Боб: y, S B (y, x) (3) Алиса → Боб: S A (x, y)
Этот протокол может быть расширен для включения сертификатов, как в Full STS.
В случаях, когда шифрование не является жизнеспособным выбором при установлении сеанса, вместо этого можно использовать K для создания MAC.
(1) Алиса → Боб: g (2) Алиса ← Боб: g, S B (g, g), MAC K(SB(g, g)) (3) Алиса → Боб: S A (g, g), MAC K(SA(g, g))
Блейк-Уилсон и Менезес (1999) n Обратите внимание, что этот вариант может быть предпочтительнее оригинального STS ("STS-ENC") в любом случае, потому что
В документе, однако, говорится, что использование K как для MAC, так и в качестве сеансового ключа нарушает принцип, согласно которому ключи не должны использоваться более чем для одной цели, и предлагает различные обходные пути.
STS-MAC уязвим для некоторых атак с использованием неизвестного ключа, в результате чего активный злоумышленник может ввести свою личность в процедуру установления сеанса вместо любого инициатор или ответчик. Блейк-Уилсон и Менезес (1999) представляют уязвимости и некоторые решения.