STS (протокол)


Протокол STS или Протокол Station-To-Station (англ. Station-to-Station protocol, STS) — криптографический протокол, позволяющий двум сторонам получить общий секретный ключ, используя незащищённый от прослушивания канал связи. Полученный ключ используется для дальнейшего обмена с помощью симметричного шифрования. В основе протокола лежит алгоритм Диффи-Хеллмана.

Отличительной чертой STS протокола является отсутствие временных меток и поддержка свойства perfect forward secrecy[источник не указан 1775 дней]. Также в протоколе проводится двухстороннее подтверждение ключа[1], что позволяет отнести протокол к классу «authenticated key agreement with key confirmation» (AKC).

Изначально STS был представлен в 1987 году в контексте безопасности для телефонной сети ISDN (O’Higgins et al. 1987)[2], дополнен в 1989 и окончательно представлен Уитфилдом Диффи, Полом Ван Ооршортом (Paul C. van Oorschot) и Михаилом Вейнером (Michael J. Wiener) в 1992 году. На основе протокола STS был создан протокол IKE, ставший промышленным стандартом[источник не указан 3560 дней].

Для подробного описания принципа работы рассмотрим процесс обмена информацией между некоторыми пользователями — Алисой и Бобом. Предположим, что у Алисы есть сертифицированный открытый ключ Боба, а у Боба есть сертифицированный открытый ключ Алисы. При этом оба ключа были ранее сертифицированы доверенным центром сертификации, непосредственно не участвующем в процессе. Перед началом работы протокола необходимо выполнить следующие действия[3][4]:

Протокол состоит из следующих раундов обмена информацией между Алисой и Бобом[источник не указан 3560 дней]:

1. Алиса выбирает случайное число x такое, что 2 ≤ x ≤ p-1 и отправляет Бобу сообщение mA = gx mod p