Definición: ¿Qué significa Web Services Security (WS Security)?
Web Services Security (WS Security) es una especificación que define cómo se implementan las medidas de seguridad en los servicios web para protegerlos de ataques externos. Es un conjunto de protocolos que garantizan la seguridad de los mensajes basados en SOAP implementando los principios de confidencialidad, integridad y autenticación.
Debido a que los servicios web son independientes de cualquier implementación de hardware y software, los protocolos de WS-Security deben ser lo suficientemente flexibles para adaptarse a los nuevos mecanismos de seguridad y proporcionar mecanismos alternativos si un enfoque no es adecuado. Debido a que los mensajes basados en SOAP atraviesan múltiples intermediarios, los protocolos de seguridad deben poder identificar nodos falsos y evitar la interpretación de datos en cualquier nodo. WS-Security combina los mejores enfoques para abordar diferentes problemas de seguridad al permitir al desarrollador personalizar una solución de seguridad particular para una parte del problema. Por ejemplo, el desarrollador puede seleccionar firmas digitales para no repudio y Kerberos para autenticación.
Techinfo explica la seguridad de los servicios web (WS Security)
El objetivo de WS-Security es garantizar que la comunicación entre dos partes no sea interrumpida o interpretada por un tercero no autorizado. El receptor debe estar seguro de que el remitente envió el mensaje, y el remitente debe estar seguro de que el receptor no puede negar la recepción del mensaje. Finalmente, los datos enviados durante la comunicación no deben ser alterados por una fuente no autorizada. Todos los datos relacionados con la seguridad se agregan como parte del encabezado SOAP. Por lo tanto, se impone una sobrecarga considerable en la formación del mensaje SOAP cuando se activan los mecanismos de seguridad.
Encabezado SOAP de WS-Security:
El desarrollador es libre de elegir cualquier mecanismo de seguridad subyacente o conjunto de protocolos para lograr su objetivo. La seguridad se implementa mediante un encabezado que consiste en un conjunto de pares clave-valor donde el valor cambia apropiadamente con los cambios en el mecanismo de seguridad subyacente utilizado. Este mecanismo ayuda a identificar la identidad de la persona que llama. Si se utiliza una firma digital, el encabezado contiene información sobre cómo se ha firmado el contenido y la ubicación de la clave utilizada para firmar el mensaje.
La información relacionada con el cifrado también se almacena en el encabezado SOAP. El atributo ID se almacena como parte del encabezado SOAP, lo que simplifica el procesamiento. La marca de tiempo se utiliza como un nivel adicional de protección contra ataques a la integridad del mensaje. Cuando se crea un mensaje, se asocia una marca de tiempo con el mensaje que indica cuándo se creó. Se utilizan marcas de tiempo adicionales para la expiración del mensaje y para indicar cuándo se recibió el mensaje en el nodo de destino.
Mecanismos de autenticación de WS-Security
- Enfoque de nombre de usuario / contraseña: la combinación de nombre de usuario y contraseña es uno de los mecanismos de autenticación básicos utilizados, y es análogo a los métodos de autenticación basados en HTTP Digest y Basic. El elemento de token de nombre de usuario se utiliza para pasar las credenciales de usuario para la autenticación. La contraseña se puede transportar como texto sin formato o en formato de resumen. Cuando se utiliza el método de resumen, la contraseña se cifra mediante la técnica de hash SHA1.
- Método X.509: Este método identifica al usuario mediante una infraestructura de clave pública que asigna el certificado X.509 a un usuario en particular. Se puede agregar más seguridad utilizando una clave pública y una clave privada para cifrar y descifrar el certificado X.509. Para asegurarse de que los mensajes no se reproduzcan, se puede establecer un límite de tiempo para rechazar los mensajes que llegan después de un cierto tiempo transcurrido.
- Kerberos: el concepto de ticket forma el mecanismo subyacente de Kerberos. El cliente debe autenticarse con un centro de distribución de claves (KDC) utilizando una combinación de nombre de usuario / contraseña o un certificado X.509. En la autenticación exitosa, el usuario recibe un boleto de concesión de boletos (TGT). Usando el TGT, el cliente intenta acceder a un servicio de concesión de tickets (TGS). En este paso, los dos primeros roles de identificación y autorización han terminado. Luego, el cliente solicita un ticket de servicio (ST) para adquirir un recurso particular del TGS y se le otorga el ST. El cliente utiliza el ST para acceder al servicio.
- Firma digital: las firmas XML se utilizan para proteger el mensaje de modificaciones e interpretaciones. La firma debe ser realizada por una parte confiable o el remitente real.
- Cifrado: el cifrado XML se utiliza para proteger los datos de la interpretación haciéndolos ilegibles para un tercero no autorizado. Se pueden utilizar enfoques tanto simétricos como asimétricos.
WS-Security permite que los mecanismos de seguridad existentes se aprovechen adecuadamente para evitar cualquier sobrecarga al incorporar nuevos mecanismos.