WS-Security

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

Безопасность веб-служб (WS-Security, WSS ) расширение SOAP для применения безопасности к веб-службам. Он входит в состав спецификаций веб-служб и был опубликован OASIS.

. Протокол определяет, как можно обеспечить целостность и конфиденциальность сообщений, и позволяет передавать различные форматы токенов безопасности, например Язык разметки утверждений безопасности (SAML), Kerberos и X.509. Его основное внимание уделяется использованию подписи XML и шифрования XML для обеспечения сквозной безопасности.

Содержание
  • 1 Возможности
  • 2 Варианты использования
    • 2.1 Сквозная безопасность
    • 2.2 Отсутствие отказа от авторства
    • 2.3 Альтернативные транспортные привязки
    • 2.4 Обратный прокси / общий токен безопасности
  • 3 Проблемы
  • 4 Производительность
  • 5 История
  • 6 Сопутствующие спецификации
  • 7 Альтернатива
  • 8 См. Также
  • 9 Ссылки
  • 10 Внешние ссылки
Возможности

WS-Security описывает три основных механизма:

  • Как подписывать сообщения SOAP для обеспечения целостности. Подписанные сообщения также обеспечивают неотказуемость.
  • Как зашифровать сообщения SOAP для обеспечения конфиденциальности.
  • Как прикрепить маркеры безопасности для установления личности отправителя.

Спецификация допускает различные форматы подписи, алгоритмы шифрования и несколько доверенных доменов, и открыт для различных моделей токенов безопасности, таких как:

  • сертификаты X.509,
  • билеты Kerberos,
  • учетные данные идентификатора пользователя / пароля,
  • Утверждения SAML и
  • пользовательские токены.

Форматы и семантика токенов определены в связанных документах профиля.

WS-Security включает в себя функции безопасности в заголовке сообщения SOAP, работая на прикладном уровне.

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

Управление ключами, доверительная начальная загрузка, объединение и согласование технических деталей (шифры, форматы, алгоритмы) выходят за рамки WS-Security.

Сценарии использования

Сквозная безопасность

Если требуется посредник SOAP, а этот посредник не является более или менее надежным, сообщения должны быть подписаны и, возможно, зашифрованный. Это может быть случай прокси-сервера уровня приложения на периметре сети, который завершает соединения TCP (протокол управления передачей).

Отсутствие отказа от авторства

Один из методов неотказуемости - это запись транзакций в журнал аудита, который подлежит определенным мерам безопасности. Цифровые подписи, которые поддерживает WS-Security, обеспечивают более прямое и поддающееся проверке доказательство отказа от авторства.

Альтернативные транспортные привязки

Хотя почти все службы SOAP реализуют привязки HTTP, теоретически можно использовать другие привязки, такие как JMS или SMTP; в этом случае потребуется сквозная безопасность.

Обратный прокси / общий токен безопасности

Даже если веб-служба полагается на безопасность транспортного уровня, службе может потребоваться знать о конечном пользователе, если служба ретранслируется через (HTTP-) обратный прокси. Заголовок WSS может использоваться для передачи токена конечного пользователя, за который отвечает обратный прокси.

Проблемы
  • При частом обмене сообщениями между поставщиком услуг и потребителем накладные расходы на XML SIG и XML ENC являются значительными. Если требуется сквозная безопасность, такой протокол, как WS-SecureConversation, может снизить накладные расходы. Если этого достаточно, используйте только шифрование или подпись, поскольку их сочетание значительно медленнее, чем простая сумма отдельных операций. См. Производительностьниже.
  • Слияние нескольких схем XML, таких как SOAP, SAML, XML ENC, XML SIG, может вызвать зависимости от различных версий библиотечных функций, таких как канонизация и синтаксический анализ, которые трудно поддаются обработке. управлять на сервере приложений.
  • Если применяется только шифрование / дешифрование в режиме CBC или если применяется дешифрование в режиме CBC без проверки безопасной контрольной суммы (подпись или MAC ) перед расшифровкой, реализация, вероятно, будет уязвима для атак оракула с заполнением.
Производительность

WS-Security добавляет значительные накладные расходы на обработку SOAP из-за увеличенного размера сообщения по проводам, XML и криптографическая обработка, требующие более быстрых процессоров и большего объема памяти и пропускной способности.

В ходе оценки в 2005 году было измерено 25 типов SOAP-сообщений разного размера и сложности, обработанных WSS4J как с WS-Security, так и с WS-SecureConversation на процессоре Pentium 4 / 2,8 ГГц. Были получены следующие результаты:

  • Шифрование выполнялось быстрее, чем подписание.
  • Шифрование и подписание вместе выполнялись в 2–7 раз медленнее, чем подписание в одиночку, и приводили к созданию документов значительно большего размера.
  • В зависимости от типа сообщения., WS-SecureConversation либо не имеет никакого значения, либо сокращает время обработки вдвое в лучшем случае.
  • Для подписи или шифрования массива размером 100 килобайт потребовалось менее 10 миллисекунд, но это заняло около 100 ~ 200 для выполнения операций безопасности для SOAP.

Другой тест в 2006 году привел к этому сравнению:

Механизм безопасностиСообщений в секунду
WS-Security (X.509) XML-подпись и шифрование352
XML-подпись и шифрование WS-SecureConversation798
Безопасность транспортного уровня2918
История

Первоначально полагались веб-службы о базовой транспортной безопасности. Фактически, большинство реализаций все еще работают. Поскольку SOAP допускает несколько транспортных привязок, таких как HTTP и SMTP, необходим механизм безопасности на уровне SOAP. Другим фактором было отсутствие сквозной безопасности из-за зависимости от транспортной безопасности.

Протокол был первоначально разработан IBM, Microsoft и VeriSign. Их первоначальная спецификация была опубликована 5 апреля 2002 года, а 18 августа 2002 года было выпущено дополнение.

В 2002 году в Технический комитет OASIS WSS были представлены два предложения: безопасность веб-сервисов (WS-Security) и Дополнение по безопасности веб-служб. В результате был опубликован WS-Security:

  • WS-Security 1.0 был выпущен 19 апреля 2004 года.
  • Версия 1.1 была выпущена 17 февраля 2006 года.

Стандарт версии 1.0, опубликованный OASIS, содержал ряд существенных отличий от стандарта, предложенного консорциумом IBM, Microsoft и VeriSign. Многие системы были разработаны с использованием предложенного стандарта, и различия сделали их несовместимыми с системами, разработанными в соответствии со стандартом OASIS.

Некоторые называют спецификацию до OASIS «Проектом 13 WS-Security» или Базовую спецификацию безопасности веб-служб. Однако эти имена малоизвестны, и действительно сегодня трудно четко определить, использует ли приложение или сервер спецификацию до или после OASIS. В большинстве сообщений на форуме для ссылки на версию до OASIS используется ключевое слово «WSSE», поскольку оно требовало использования префикса «wsse» XML namespace для URL-адреса (и аналогичных URL-адресов разных версий).

Протокол официально называется WSS и разработан комитетом Oasis-Open.

Связанные спецификации

Следующие предварительные спецификации связаны с WS-Security: WS-Federation,.

Следующие утвержденные спецификации связаны с WS-Security: WS-Policy, WS-SecureConversation, WS-Trust, ID-WSF.

Следующие архитектуры используют WS-Security:.

Альтернатива

В ситуациях «точка-точка» конфиденциальность и целостность данных также могут быть обеспечены в веб-службах с помощью Безопасность транспортного уровня (TLS), например, путем отправки сообщений по HTTPS. WS-Security, однако, решает более широкую проблему поддержания целостности и конфиденциальности сообщений до тех пор, пока сообщение не будет отправлено с исходного узла, обеспечивая так называемую сквозную безопасность.

Применение TLS может значительно снизить накладные расходы. устраняя необходимость кодировать ключи и подписи сообщений в XML перед отправкой. Проблемой при использовании TLS может стать то, что сообщения должны проходить через прокси-сервер уровня приложения, поскольку он должен иметь возможность видеть запрос на маршрутизацию. В таком примере сервер будет видеть запрос, исходящий от прокси, а не от клиента; это можно обойти, если прокси-сервер будет иметь копию ключа и сертификата клиента или иметь сертификат подписи, которому доверяет сервер, с помощью которого он мог бы сгенерировать пару ключ / сертификат, совпадающую с таковыми у клиента. Однако, поскольку прокси-сервер не работает с сообщением, он не обеспечивает сквозную безопасность, а только обеспечивает безопасность точка-точка.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-20 05:28:29
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте