Оглавление:
- Определение. Что означает безопасность веб-служб (WS Security)?
- Techopedia объясняет безопасность веб-сервисов (WS Security)
Определение. Что означает безопасность веб-служб (WS Security)?
Безопасность веб-служб (WS Security) - это спецификация, которая определяет, как меры безопасности реализуются в веб-службах для защиты их от внешних атак. Это набор протоколов, которые обеспечивают безопасность сообщений на основе SOAP, реализуя принципы конфиденциальности, целостности и аутентификации.
Поскольку веб-службы не зависят от каких-либо аппаратных и программных реализаций, протоколы WS-Security должны быть достаточно гибкими, чтобы приспосабливать новые механизмы безопасности и предоставлять альтернативные механизмы, если подход не подходит. Поскольку сообщения на основе SOAP проходят через нескольких посредников, протоколы безопасности должны иметь возможность идентифицировать поддельные узлы и предотвращать интерпретацию данных на любых узлах. WS-Security сочетает в себе лучшие подходы для решения различных проблем безопасности, позволяя разработчику настраивать конкретное решение безопасности для части проблемы. Например, разработчик может выбрать цифровые подписи для отказа от авторства и Kerberos для проверки подлинности.
Techopedia объясняет безопасность веб-сервисов (WS Security)
Целью WS-Security является обеспечение того, чтобы связь между двумя сторонами не была прервана или интерпретирована неавторизованной третьей стороной. Получатель должен быть уверен, что отправитель действительно отправил сообщение, и отправитель должен быть уверен, что получатель не может отрицать получение сообщения. Наконец, данные, отправленные во время связи, не должны быть изменены неавторизованным источником. Все данные, относящиеся к безопасности, добавляются как часть заголовка SOAP. Поэтому при формировании механизмов безопасности накладываются значительные накладные расходы на формирование сообщения SOAP.
Заголовок SOAP WS-Security:
Разработчик может свободно выбирать любой базовый механизм безопасности или набор протоколов для достижения своей цели. Безопасность реализуется с использованием заголовка, который состоит из набора пар ключ-значение, где значение изменяется соответствующим образом с изменениями в используемом базовом механизме безопасности. Этот механизм помогает идентифицировать личность звонящего. Если используется цифровая подпись, заголовок содержит информацию о том, как контент был подписан, и расположение ключа, использованного для подписи сообщения.
Информация, связанная с шифрованием, также хранится в заголовке SOAP. Атрибут ID хранится как часть заголовка SOAP, что упрощает обработку. Отметка времени используется в качестве дополнительного уровня защиты от атак на целостность сообщения. Когда сообщение создано, отметка времени связана с сообщением, указывающим, когда оно было создано. Дополнительные временные метки используются для истечения срока действия сообщения и для указания того, когда сообщение было получено на узле назначения.
Механизмы аутентификации WS-Security
- Подход с именем пользователя и паролем. Комбинация имени пользователя и пароля является одним из базовых используемых механизмов аутентификации и аналогична методам аутентификации на основе дайджеста HTTP и Basic. Элемент токена имени пользователя используется для передачи учетных данных пользователя для аутентификации. Пароль может быть передан в виде простого текста или в дайджест-формате. Когда используется дайджест-подход, пароль шифруется с использованием техники хеширования SHA1.
- Подход X.509. Этот подход идентифицирует пользователя с помощью инфраструктуры открытого ключа, которая сопоставляет сертификат X.509 конкретному пользователю. Больше безопасности можно добавить, используя открытый ключ и закрытый ключ для шифрования и дешифрования сертификата X.509. Чтобы гарантировать, что сообщения не будут воспроизведены, можно установить ограничение по времени для отклонения сообщений, которые поступают по истечении определенного времени.
- Kerberos: концепция билета формирует основной механизм Kerberos. Клиент должен пройти аутентификацию в центре распространения ключей (KDC), используя комбинацию имени пользователя и пароля или сертификат X.509. При успешной аутентификации пользователю предоставляется билет на выдачу билетов (TGT). Используя TGT, клиент пытается получить доступ к службе предоставления билетов (TGS). На этом этапе первые две роли идентификации и авторизации закончились. Затем клиент запрашивает билет службы (ST) для получения конкретного ресурса от TGS и получает ST. Клиент использует ST для доступа к услуге.
- Цифровая подпись: подписи XML используются для защиты сообщения от модификации и интерпретации. Подписание должно быть выполнено надежной стороной или реальным отправителем.
- Шифрование. Шифрование XML используется для защиты данных от интерпретации, делая их нечитаемыми для посторонних лиц. Можно использовать как симметричный, так и асимметричный подходы.
WS-Security позволяет соответствующим образом использовать существующие механизмы безопасности, чтобы предотвратить любые накладные расходы при внедрении новых механизмов.