Confidencialidad e Integridad
- Área: Servicios Web
- Tipo de pauta: Directriz
- Carácter de la pauta: Recomendada
Aplicar técnicas de cifrado para garantizar la confidencialidad e integridad de los mensajes
Como SOAP no es capaz de cifrar la información, es necesario garantizar que los mensajes no se han modificado en el transcurso de las comunicaciones entre servicios web. Un servicio debe recibir un mensaje con la garantía de no presentar ninguna alteración, ya que, por mínima que sea su respuesta, estaría alterada.
La confidencialidad de la información que se maneja es vital, por lo que debemos aplicar técnicas de cifrado que puedan protegerla frente a posibles ataques externos. Del mismo modo, la forma más adecuada de garantizar la integridad consiste en cifrar con la clave privada el resultado de aplicar una función resumen sobre el contenido.
Pautas
Título | Carácter |
---|---|
Comunicación por distintos endpoint | Recomendada |
Firma del token | Recomendada |
Protocolo SSL | Recomendada |
Comunicación por distintos endpoint
Utilizar las especificaciones XML-Signature y XML-Encrypt conforme a la especificación WS-Security y nunca de forma directa.
Especificaciones como el XMLSignature y el XMLEncrypt están diseñados para garantizar la confidencialidad (encriptación) e integridad (firma) de los mensajes dentro de una comunicación por Web Services. Estos dos estándares están recogidos a su vez, dentro de la especificación WS-Security.
Estos mecanismos de seguridad son independientes del transporte, por lo que son ideales en entornos por lo que la comunicación viaja por distintos tipos de transporte (https, jms, etc). Además, son mecanismos que garantizan una seguridad de extremo a extremo, es decir, abarcan comunicaciones de Servicios Webs por los que el mensaje circula por más de un endpoint.
Por último, permiten garantizar la integridad de los mensajes almacenados, por ejemplo cuando son encolados en colas JMS o guardados en ficheros, logs, BD, etc.
Firma del token
Incluir en la firma del token la cabecera de WS-Addressing
Cuando se emplean tokens, es necesario que estos sean transmitidos de forma segura para evitar ataques de replay. Esto se consigue mediante la firma del token dentro del mensaje SOAP, junto a un TimeStamp o IDMessage, por lo que se recomienda incluir en la firma la cabecera de WS-Addressing.
Protocolo SSL
Emplear SSL X.509 Certificate en entornos cerrados, siempre y cuando exista conexión directa entre todos los participantes
En entornos cerrados también se puede emplear SSL para transmitir los mensajes con Tokens de forma segura, aunque esta aproximación es menos segura que la anterior. La principal ventaja de este mecanismo es su facilidad de implantación. Sus debilidades se manifiestan en entornos en los que el mensaje pasa por varios endpoint, ya que en estos casos, el protocolo SSL, aún cuando se emplee en todos los tramos de la comunicación, no garantiza la seguridad de extremo a extremo.
Contenidos relacionados
Código | Título | Tipo | Carácter |
---|---|---|---|
RECU-0211 | Conceptos de seguridad en los servicios WEB | Especificación | Recomendado |
RECU-0598 | WS-Addressing | Especificación | Recomendado |
RECU-0597 | WS-Policy | Especificación | Recomendado |
Código | Título | Tipo | Carácter |
---|---|---|---|
RECU-0554 | Introducción al cifrado | Referencia | Recomendado |