¿Qué es WS-Security?
(Seguridad en Servicios Web) es un protocolo de comunicaciones que suministra un medio para aplicar seguridad a los Servicios Web. En abril de 2004 el estándar WS-Security 1.0 fue publicado por Oasis-Open. En 2006 fue publicada la versión 1.1.
Historia
Originalmente desarrollado por IBM, Microsoft, y VeriSign, el protocolo es ahora llamado oficialmente WSS y está desarrollado por un comité en Oasis-Open.
Contenido
El protocolo contiene especificaciones sobre cómo debe garantizarse la integridad y seguridad en mensajería de Servicios Web. El protocolo WSS incluye detalles en el uso de SAML (Lenguaje de Marcado para Confirmaciones de Seguridad) y Kerberos (Protocolo de Autenticación de Redes de Ordenador), y formatos de certificado tales como X.509 (en criptografía, es un estándar UIT-T para infraestructuras de claves públicas).
Método Alternativo al WSS
La Integridad de datos y confidencialidad podrían también garantizarse sobre Servicios Web a través del uso de la Transport Layer Security (TLS), por ejemplo enviando mensajes sobre HTTPS. Esto puede reducir significativamente la sobrecarga, por ejemplo eliminando la necesidad de codificar claves y firmas de mensaje en ASCII antes de enviar. La parte negativa de usar TLS sería si los mensajes necesitaran pasar a través de un servidor proxy, como si fuera necesario ver la petición para enrutado. En tal caso, el servidor vería la petición que llega del proxy, no del cliente; esto podría ser solventado si el proxy tiene una copia de la clave y certificado del cliente, o teniendo un certificado de firmado de confianza para el servidor, con el cual podría generar un par clave/certificado que coincida con aquellos del cliente. Sin embargo, el hecho de que el proxy está operando el mensaje significa que no asegura la seguridad extremo a extremo, sino que solo asegura la seguridad punto a punto.
¿Dónde se implementa?
WS-Security incorpora características de seguridad en el encabezado de un mensaje SOAP, trabajando en la capa aplicación. Así asegura seguridad extremo a extremo.
Fuentes
Y a todo esto... ¿Cómo lo implementa PeopleSoft?
PeopleSoft WS-Security para WSRP
Empezaremos definiendo: ¿Qué es WSRP? Es un protocolo estándar aprobado por OASIS diseñado para la comunicación con portlets remotos.
WSRP implica pasar los mensajes SOAP entre el consumidor y el productor WSRP. Para usar WSRP sin peligro, Oracle proporciona seguridad a nivel de mensajes entre el consumidor y el productor mediante la incorporación de WS-Security.
WS-Security es una extensión del concepto SOAP envelope header que permite a las aplicaciones construir el intercambio de mensajes SOAP de forma segura. También proporciona un medio para asociar los tokens de seguridad con los mensajes.
WS-Security proporciona tres mecanismos principales:
1. La solución de integración entre el consumidor y el productor WSRP: El consumidor pasa su identificación al productor como parte del mensaje SOAP para que el productor pueda verificar la identidad y producir contenidos WSRP sin requerir que el usuario inicie sesión.
2. Integridad del mensaje: Asegura que los mensajes no han sido manipulados.
3. Confidencialidad Mensaje: Garantiza que los mensajes estén protegidos.
El siguiente diagrama muestra el sobre SOAP, el encabezado SOAP, y el cuerpo SOAP y la forma en que WS-Security incorpora el token de seguridad en los mensajes SOAP:
Cuando el portal de PeopleSoft es un consumidor WSRP, el ID Usuario y la Contraseña del usuario logueado en el portal se coloca en un Username o Token SAML en el encabezado SOAP, y el portlet WSRP lo consume. Este es presentado a cada portlet durante la petición de marcado inicial. El controlador de seguridad realiza la generación de un token WS-Security, la generación de la firma digital, y el cifrado del token antes de que PeopleSoft envíe el mensaje de petición SOAP y la cabecera SOAP WS-Security.
¡Importante! La información de autenticación al portal de PeopleSoft (tanto el ID de usuario como la contraseña) debe ser el mismo que el de los productores.
El portal acepta el token de nombre de usuario en el encabezado WS-Security desde el portal remoto, suponiendo que el ID y la contraseña son aceptados por el sistema PeopleSoft. El controlador de seguridad receptor descifra el encabezado SOAP, valida la firma digital, verifica el token WS-Security, y genera una cookie PS_TOKEN, el token de autenticación PeopleSoft.
El siguiente diagrama muestra el portal de PeopleSoft como consumidor WSRP and como productor WSRP:
El soporte WS-Security proporcionado para aplicaciones PeopleSoft incluyen:
1. Perfil de Token Username
2. Perfil de Token SAML (Lenguaje de Marcado para Confirmaciones de Seguridad)
NOTA: Las aplicaciones PeopleSoft soportan SAML 1.1.
Seguridad UserName Token
Con el soporte del token Username, un consumidor puede suministrar un UsernameToken como un medio de identificación del solicitante por nombre de usuario, y, opcionalmente usando una contraseña para autenticar su identidad en un proveedor de servicios web.
Este es un ejemplo XML de un Token UserName con password:
Al igual que la primera entrada que realicé, el objetivo no es explicar paso a paso como implementar la especificación WS-Security en los servicios PeopleSoft basados en SOAP; por esta razón, adjunto unos links de documentación Oracle (100% gratuito en la web) que les permitirá lograr este propósito:
Espero que esta entrada haya contribuido al conocimiento que poseen acerca de la especificación WS-Security y su implementación mediante encabezados SOAP.
Saludos
AAM
No hay comentarios:
Publicar un comentario