В криптографии с открытым ключом , то станция к станции ( STS ) протокол является криптографическим соглашением ключевой схемой. Протокол основан на классическом протоколе Диффи – Хеллмана и обеспечивает взаимную аутентификацию по ключу и сущности. В отличие от классического протокола Диффи – Хеллмана , который не защищен от атак «злоумышленник-посередине» , этот протокол предполагает, что стороны имеют ключи подписи, которые используются для подписи сообщений, тем самым обеспечивая защиту от «злоумышленника-посередине». атаки.
Помимо защиты установленного ключа от злоумышленника, протокол STS не использует временных меток и обеспечивает идеальную прямую секретность . Это также влечет за собой двустороннее явное подтверждение ключа, что делает его согласованием аутентифицированного ключа с протоколом подтверждения ключа (AKC).
STS была первоначально представлена в 1987 году в контексте безопасности ISDN ( O'Higgins et al. 1987 ), завершена в 1989 году и в целом представлена Уитфилдом Диффи , Полом К. ван Оршотом и Майклом Дж. Винером в 1992 году. Исторический контекст для протокол также обсуждается в Diffie (1988) .
Описание [ править ]
Развертывание STS может принимать различные формы в зависимости от требований к коммуникации и уровня предшествующей коммуникации между сторонами. Данные, описанные в настройке STS, могут быть переданы перед началом сеанса, чтобы уменьшить влияние установления сеанса.
В следующих пояснениях операции возведения в степень (Диффи – Хеллмана) обеспечивают основу для согласования ключей, хотя это не является обязательным требованием. Протокол может быть изменен, например, для использования вместо него эллиптических кривых .
Настройка STS [ править ]
Перед запуском протокола должны быть сгенерированы следующие данные.
- Пара ключей для асимметричной подписи для каждой стороны
- Требуется для аутентификации. Открытая часть этой пары ключей может быть совместно использована до установления сеанса.
- Ключевые параметры учреждения
- Спецификация циклической группы p и генератора g для этой группы. Эти параметры могут быть общедоступными. Менезес, ван Оршот и Ванстон (1997) отмечают, что для дополнительной безопасности каждая сторона может указать свои собственные параметры.
Совместное использование этих данных до начала сеанса снижает сложность протокола.
Базовая СТС [ править ]
Предположим, что все данные настройки были совместно использованы, протокол STS работает следующим образом. Если шаг не может быть завершен, протокол немедленно останавливается. Все экспоненты находятся в группе, указанной п .
- Алиса генерирует случайное число x, вычисляет и отправляет Бобу экспоненту g x .
- Боб генерирует случайное число y и вычисляет экспоненту g y .
- Боб вычисляет общий секретный ключ K = ( g x ) y .
- Боб сцепляет экспонент ( г Y , г х ) (порядок важен), знаки их , используя его Asymmetric (частный) ключ B , а затем шифрует подпись с K . Он отправляет Алисе зашифрованный текст вместе со своим экспоненциальным g y .
- Алиса вычисляет общий секретный ключ K = ( g y ) x .
- Алиса расшифровывает и проверяет подпись Боба, используя его асимметричный открытый ключ.
- Алиса сцепляет экспонент ( г х , г у ) (порядок важен), знаки их , используя ее Asymmetric (частный) ключ A , а затем шифрует подпись с K . Она отправляет зашифрованный текст Бобу.
- Боб расшифровывает и проверяет подпись Алисы, используя ее асимметричный открытый ключ.
Алиса и Боб теперь взаимно аутентифицированы и имеют общий секрет. Затем этот секрет K можно использовать для шифрования дальнейших сообщений. Базовая форма протокола оформляется в три этапа:
(1) Алиса → Боб: g x (2) Алиса ← Боб: g y , E K (S B ( g y , g x ))(3) Алиса → Боб: E K (S A ( g x , g y ))
Полная СТС [ править ]
Данные настройки также могут быть включены в сам протокол. Сертификаты открытых ключей могут быть отправлены на шагах 2 и 3, если ключи заранее не известны.
(1) Алиса → Боб: g x (2) Алиса ← Боб: g y , Cert B , E K (S B ( g y , g x ))(3) Алиса → Боб: Cert A , E K (S A ( g x , g y ))
Если общесистемные параметры установления ключа не используются, инициатор и ответчик могут создавать и отправлять свои собственные параметры. В этом случае параметры следует отправлять с экспонентой.
(1) Алиса → Боб: g , p , g x
Они также должны быть проверены Бобом, чтобы не дать активному злоумышленнику вставить слабые параметры (и, следовательно, слабый ключ K ). Диффи, ван Оршот и Винер (1992) рекомендуют не проводить специальные проверки, чтобы предотвратить это, и вместо этого предлагают включить параметры группы в сертификат Алисы.
Варианты [ править ]
Упомянутые здесь варианты взяты из оригинальной статьи STS. См. Следующие ссылки для других, более значительных вариаций.
- Bellare, M .; Canetti, R .; Кравчик, Х. (1998), "Модульный подход к разработке и анализу протоколов аутентификации и обмена ключами", Труды 30-го ежегодного симпозиума по теории вычислений.
- RFC 2412 , «Протокол определения ключа OAKLEY».
- ISO / IEC 117703, «Механизмы, использующие асимметричные методы», (1999).
STS только для аутентификации [ править ]
Доступна упрощенная форма STS, которая обеспечивает взаимную аутентификацию, но не создает общий секрет. Вместо описанного выше метода Диффи – Хеллмана в нем используются вызовы случайных чисел.
- Алиса генерирует случайное число x и отправляет его Бобу.
- Боб генерирует случайное число y .
- Боб сцепляет случайные числа ( у , х ) (порядок важен) и подписывает их , используя его асимметричный ключ B . Он отправляет Алисе подпись вместе со своим случайным числом.
- Алиса проверяет подпись Боба.
- Алиса сцепляет случайные числа ( х , Y ) (порядок важен) и подписывает их , используя ее асимметричный ключ A . Она отправляет подпись Бобу.
- Боб проверяет подпись Алисы.
Формально:
(1) Алиса → Боб: x (2) Алиса ← Боб: y , S B ( y , x )(3) Алиса → Боб: S A ( x , y )
Этот протокол может быть расширен за счет включения сертификатов, как в Full STS .
СТС-МАК [ править ]
В случаях, когда шифрование не является жизнеспособным выбором при установлении сеанса, вместо этого можно использовать K для создания MAC .
(1) Алиса → Боб: g x (2) Алиса ← Боб: g y , S B ( g y , g x ), MAC K (S B ( g y , g x ))(3) Алиса → Боб: S A ( g x , g y ), MAC K (S A ( g x , g y ))
Blake-Wilson & Menezes (1999) отмечают, что этот вариант может быть предпочтительнее оригинального STS («STS-ENC») в любом случае, потому что
- ... использование шифрования для подтверждения ключа в STS-ENC вызывает сомнения - традиционно единственной целью шифрования является обеспечение конфиденциальности, и если схема шифрования используется для демонстрации владения ключом, то это проявляется в расшифровке, а не в шифровании .
Однако в документе говорится, что использование K как для MAC, так и в качестве сеансового ключа нарушает принцип, согласно которому ключи не должны использоваться более чем для одной цели, и предлагает различные обходные пути.
Криптоанализ [ править ]
STS-MAC уязвим для некоторых неизвестных атак с использованием общего ключа , в результате чего активный злоумышленник может ввести свою личность в процедуру установления сеанса вместо инициатора или ответчика. Блейк-Уилсон и Менезес (1999) представляют уязвимости и некоторые решения.
Ссылки [ править ]
- Blake-Wilson, S .; Менезес, А. (1999), «Неизвестные атаки с использованием ключа совместного использования по протоколу« станция-станция »(STS)», Криптография с открытым ключом, конспект лекций по компьютерным наукам, 1560 , Springer, стр. 154–170
- Диффи, W. (1988), "Первые десять лет криптографии с открытым ключом", Труды IEEE , 76 (5): 560-577, DOI : 10,1109 / 5,4442
- Диффи, В .; ван Оршот, ПК; Wiener, MJ (1992), "Проверка подлинности и идентифицированные обмена ключами", Designs, коды и криптография , 2 (2): 107-125, CiteSeerX 10.1.1.59.6682 , DOI : 10.1007 / BF00124891 , S2CID 7356608
- Menezes, A .; ван Оршот, ПК; Ванстон, С. (1997), Справочник по прикладной криптографии , CRC Press, стр. 519–520.
- О'Хиггинс, Б. Диффи, В .; Strawczynski, L .; До Хуг, Р. (1987), «Шифрование и ISDN - естественная подгонка», Международный симпозиум по коммутации 1987 года (ISS87)