sábado, 11 de agosto de 2012

WS-Security en SOAP

WS-Security define la forma de conseguir integridad, confidencialidad y autenticación en los mensajes SOAP.

La autenticación se ocupa de identificar al llamador. WS-Security utiliza tokens de seguridad para mantener esta información mediante un encabezado de seguridad del mensaje SOAP.

La integridad del mensaje se consigue mediante firmas digitales XML, que permiten garantizar que no se han alterado partes del mensaje desde que lo firmó el originador. La confidencialidad del mensaje se basa en la especificación XML Encryption y garantiza que sólo el destinatario o los destinatarios a quien va destinado el mensaje podrán comprender las partes correspondientes.

La especificación permite una variedad de formatos de firma, algoritmos de encriptación y es abierto a varios modelos de seguridad, tales como:

X.509 certificates,
Kerberos tickets,
UserID/Password credentials,
SAML Assertions, and
custom-defined tokens.

Esta especificación se debe aplicar en aquellos servicios que solo pueden ser accedidos por ciertos clientes. Un ejemplo de caso de uso de WS-Security es un sistema de compras online en el cual el cliente se conecta al sistema de un comerciante para hacer un pedido pero el pago (por ejemplo, con tarjeta de crédito) debe ser confirmado por un sistema bancario antes que se procese el pedido. Si el sistema del comerciante tiene acceso a las informaciones de tarjeta de crédito en forma no cifrada, genera un tipo de riesgo a la seguridad . Con WS-Security, es posible enviar las informaciones de tarjeta de crédito en un formato cifrado que sólo puede ser descifrado por el sistema bancario que emite la confirmación de pago.

En .net se puede implementar Ws-Security con WCF.
Java y Python tambien soportan WS-Security.