Проверка подлинности веб-служб - лучшие практики? - PullRequest
21 голосов
/ 02 октября 2008

У нас есть веб-службы SOAP, которые используют аутентификацию SOAP-заголовков (содержащих простые учетные данные клиента). WS используются в гетерогенных средах с клиентами .NET / Java / PHP / Python / C ++ как в веб-приложении, так и в настольном приложении.

Мы рассматриваем v2 для этих WS, и мне интересно, что считается рекомендациями для аутентификации WS SOAP? (достаточно безопасный, но простой в обращении на самых разных платформах).

Ответы [ 3 ]

15 голосов
/ 10 октября 2008

Самый простой способ справиться с этим на различных платформах - это использовать базовую аутентификацию HTTP и HTTPS для транспортного уровня. WS-Security был бы хорош, если бы ваши потребности выходили за рамки простого имени пользователя / пароля, но поддержка будет варьироваться между платформами. HTTP-аутентификация поддерживается каждой достойной реализацией SOAP.

4 голосов
/ 16 ноября 2008

Если вам придется свернуть все это самостоятельно и вы не можете использовать HTTPS, я бы рекомендовал основанную на хеше часть имени пользователя в WS-Security. Это довольно безопасно и довольно легко реализовать, если в ваших библиотеках есть функции хеширования.

Если вы пользуетесь веб-сервисами, я бы не стал использовать HTTP для аутентификации.

WS-Security в целом слишком велик.

2 голосов
/ 04 января 2010

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

Вместо использования функции аутентификации мы включаем функцию целостности заголовка сообщения. Это требует, чтобы обе стороны диалога имели доступ к паре открытого / закрытого ключа и обнаруживали любое изменение поля имени пользователя в заголовке. Таким образом, вы можете быть уверены, что тот, кто отправил сообщение и установил идентификатор пользователя, имеет доступ к закрытому ключу.

Это обеспечивает разумный уровень целостности при правильном управлении ключами.

...