tipos servicios services seguridad implementar example consumir con certificado autenticacion web-services authentication soap

web-services - servicios - web service authentication c# example



Autenticación de servicios web: ¿mejores prácticas? (3)

La forma en que lo he abordado en el pasado es usar las características estándar WS- *.

En lugar de utilizar la función de autenticación, configuramos la función de integridad del encabezado del mensaje. Esto requiere que ambos lados del diálogo tengan acceso al par de claves pública / privada y detecta cualquier alteración del campo de nombre de usuario en el encabezado. De modo que puede estar seguro de que quien envió el mensaje y configuró la identificación de usuario tiene acceso a la clave privada.

Esto proporciona un nivel razonable de integridad si las claves se gestionan correctamente.

Tenemos servicios web SOAP en producción que se basan en encabezados SOAP (que contienen credenciales de cliente simple) para la autenticación. Los WS se utilizan en entornos heterogéneos con clientes .NET / Java / PHP / Python / C ++ tanto en la aplicación web como en la aplicación de escritorio.

Estamos considerando una versión 2 para esos WS y me pregunto cuáles son las mejores prácticas para la autenticación WS SOAP. (razonablemente seguro, pero fácil de manejar en una amplia variedad de plataformas).


La forma más fácil de manejarlo en una variedad de plataformas es usar autenticación HTTP básica y HTTPS para la capa de transporte. WS-Security sería bueno si sus necesidades van más allá del simple nombre de usuario / contraseña, pero el soporte va a variar bastante entre las plataformas. La autenticación HTTP es compatible con todas las implementaciones decentes de SOAP.


Si tiene que tirar todo usted mismo y no puede usar HTTPS, sugeriría la porción de UsernameToken basada en hash de WS-Security. Es bastante seguro y bastante fácil de implementar, siempre y cuando sus bibliotecas tengan las funciones de hash.

Si está haciendo servicios web, no confiaría en HTTP para la autenticación.

WS-Security en su conjunto es demasiado grande.