Подтвердить что ты не робот

Аутентификация веб-служб - лучшие практики?

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

Ответ 3

То, как я это делал в прошлом, это использовать стандартные WS- * функции.

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

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