Протокол между станциями

редактировать

В криптографии с открытым ключом Станция-станция (STS ) протокол - это криптографическая схема согласования ключей. Протокол основан на классическом Диффи – Хеллмана и обеспечивает взаимную аутентификацию по ключу и объекту. В отличие от классического Диффи – Хеллмана, который не защищен от атаки типа «человек посередине», этот протокол предполагает, что у сторон есть ключи подписи, которые используются для подписи сообщений., тем самым обеспечивая защиту от атак типа «злоумышленник в середине».

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

STS был первоначально представлен в 1987 году в контексте безопасности ISDN (O'Higgins et al. 1987), завершен в 1989 году и обычно представлен Whitfield Diffie, Пол К. ван Оршот и Майкл Дж. Винер в 1992 году. Исторический контекст протокола также обсуждается в Диффи (1988).

Содержание
  • 1 Описание
    • 1.1 STS Настройка
    • 1.2 Базовая STS
    • 1.3 Полная STS
  • 2 Варианта
    • 2.1 STS только для аутентификации
    • 2.2 STS-MAC
  • 3 Криптоанализ
  • 4 Ссылки
Описание

Развертывание STS может принимать различные формы в зависимости от требований к обмену данными и уровня предшествующего взаимодействия между сторонами. Данные, описанные в Настройка STS, могут быть совместно использованы до начала сеанса, чтобы уменьшить влияние установления сеанса.

В следующих пояснениях операции возведения в степень (Диффи – Хеллмана) обеспечивают основу для согласования ключей, хотя это не является обязательным требованием. Протокол может быть изменен, например, для использования вместо него эллиптических кривых.

Настройка STS

Перед запуском протокола должны быть сгенерированы следующие данные.

Пара ключей асимметричной подписи для каждой стороны
Требуется для аутентификации. Открытая часть этой пары ключей может использоваться совместно до установления сеанса.
Параметры установления ключа
Спецификация циклической группы p и генератора g для этой группы. Эти параметры могут быть общедоступными. Менезес, ван Оршот и Ванстон (1997) отмечают, что для дополнительной безопасности каждая сторона может предоставить свои собственные параметры.

Совместное использование этих данных до начала сеанса снижает сложность протокола.

Базовая STS

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

  1. Алиса генерирует случайное число x, вычисляет и отправляет экспоненту g Бобу.
  2. Боб генерирует случайное число y и вычисляет экспоненту g.
  3. Боб вычисляет общий секретный ключ K = (g).
  4. Боб объединяет экспоненты (g, g) (порядок важен), подписывает их, используя свой асимметричный (закрытый) ключ B, а затем шифрует подпись с помощью K. Он отправляет зашифрованный текст вместе с с его собственным экспоненциальным g для Алисы.
  5. Алиса вычисляет общий секретный ключ K = (g).
  6. Алиса расшифровывает и проверяет подпись Боба, используя его асимметричный открытый ключ.
  7. Алиса объединяет экспоненты (g, g) (порядок важен), подписывает их, используя свой асимметричный (закрытый) ключ A, а затем шифрует подпись с помощью K. Она отправляет зашифрованный текст Бобу.
  8. Боб расшифровывает и проверяет подпись Алисы, используя ее асимметричный открытый ключ.

Алиса и Боб теперь взаимно аутентифицированы и имеют общий секрет. Этот секрет, K, можно затем использовать для шифрования дальнейших сообщений. Базовая форма протокола формализуется в следующие три этапа:

(1) Алиса → Боб: g (2) Алиса ← Боб: g, E K(SB(g, g)) (3) Алиса → Боб: E K(SA(g, g))

Полная STS

Данные настройки также могут быть включены в сам протокол. Сертификаты открытых ключей могут быть отправлены на шагах 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. См. Следующие ссылки для других, более значительных вариаций.

  • Bellare, M.; Canetti, R.; Кравчик, Х. (1998), «Модульный подход к разработке и анализу протоколов аутентификации и обмена ключами», Труды 30-го ежегодного симпозиума по теории вычислений
  • RFC 2412, «Определение ключа OAKLEY Протокол ».
  • ISO / IEC 117703,« Механизмы, использующие асимметричные методы », (1999).

STS только для аутентификации

Доступна упрощенная форма STS, которая обеспечивает взаимную аутентификацию, но не создает общий секрет. Вместо описанного выше метода Диффи – Хеллмана в нем используются вызовы случайных чисел.

  1. Алиса генерирует случайное число x и отправляет его Бобу.
  2. Боб генерирует случайное число y.
  3. Боб объединяет случайные числа (y, x) (порядок важен) и подписывает их, используя свой асимметричный ключ B. Он отправляет подпись вместе со своим случайным числом Алисе.
  4. Алиса проверяет подпись Боба.
  5. Алиса объединяет случайные числа (x, y) (порядок равен важно) и подписывает их своим асимметричным ключом A. Она отправляет подпись Бобу.
  6. Боб проверяет подпись Алисы.

Формально:

(1) Алиса → Боб: x (2) Алиса ← Боб: y, S B (y, x) (3) Алиса → Боб: S A (x, y)

Этот протокол может быть расширен для включения сертификатов, как в Full STS.

STS-MAC

В случаях, когда шифрование не является жизнеспособным выбором при установлении сеанса, вместо этого можно использовать 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") в любом случае, потому что

... использование шифрования для подтверждения ключа в STS-ENC сомнительно - традиционно единственная цель шифрования - обеспечить конфиденциальность, и если схема шифрования используется для демонстрации владения ключом, то это демонстрируется расшифровкой, а не шифрованием.

В документе, однако, говорится, что использование K как для MAC, так и в качестве сеансового ключа нарушает принцип, согласно которому ключи не должны использоваться более чем для одной цели, и предлагает различные обходные пути.

Криптоанализ

STS-MAC уязвим для некоторых атак с использованием неизвестного ключа, в результате чего активный злоумышленник может ввести свою личность в процедуру установления сеанса вместо любого инициатор или ответчик. Блейк-Уилсон и Менезес (1999) представляют уязвимости и некоторые решения.

Ссылки
  • Blake-Wilson, S.; Менезес, А. (1999), «Неизвестные атаки с использованием совместного использования ключа на протокол между станциями (STS)», Криптография с открытым ключом, Лекционные заметки по информатике, 1560, Springer, стр. 154 –170
  • Диффи В. (1988), «Первые десять лет криптографии с открытым ключом», Протоколы IEEE, 76 (5): 560–577, doi : 10,1109 / 5,4442
  • Diffie, W.; van Oorschot, P.C.; Винер, MJ (1992), «Аутентификация и аутентифицированный обмен ключами», Дизайн, коды и криптография, 2 (2): 107–125, CiteSeerX 10.1.1.59. 6682, doi : 10.1007 / BF00124891
  • Menezes, A.; van Oorschot, P.C.; Vanstone, S. (1997), Справочник по прикладной криптографии, CRC Press, стр. 519–520
  • O'Higgins, B.; Диффи, В.; Strawczynski, L.; do Hoog, R. (1987), «Шифрование и ISDN - естественное соответствие», Международный симпозиум по коммутации 1987 года (ISS87)
Последняя правка сделана 2021-06-09 10:04:29
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте