Data Origin Authentication

Existe el riesgo de que un atacante podría manipular los mensajes en tránsito con el fin de alterar maliciosamente comportamiento en servicio. La manipulación de mensajes puede ser mediante la modificación de datos dentro del mensaje, o incluso la sustitución de credenciales que cambian de origen aparente del mensaje, permitiendo de ese modo a un atacante hacerse pasar por un consumidor legítimo.

 La tecnología de firma digital se utiliza para habilitar los destinatarios del mensaje, verificando que los mensajes no han sido alterados en tránsito y que se originan a partir de un remitente de confianza.
 Data Origin Authentication dentro de los servicios Web se aplica típicamente a través de una tecnología de firma XML desde dentro de WS-Security, que permite que el destinatario de un mensaje pueda verificar que:
• El mensaje no ha sido alterado en tránsito (la integridad de los datos del mensaje).
• El mensaje se originó desde el remitente esperado (autenticidad del mensaje).
Con este patrón se puede aplicar con variaciones simétricas y asimétricas de firmas digitales
Una firma simétrica, comúnmente conocida como Message Authentication Code (MAC), se crea mediante el uso de un secreto compartido a firmar y verificar del mensaje. MACs se generan tomando como entrada una suma de control basado en el contenido del mensaje y un secreto compartido. Cada MAC sólo puede ser comprobada por un destinatario del mensaje que tiene tanto el secreto compartido y el contenido del mensaje original que se utilizó para crear el MAC.
El tipo más común de MAC se utiliza en los servicios web Hashed Message Authentication Code (HMAC), un algoritmo que utiliza un secreto compartido y un algoritmo hash para crear la firma que está incrustado a continuación en el mensaje. El receptor verifica esta firma utilizando el secreto compartido y el contenido del mensaje para recrear la HMAC y comparándolo con el HMAC real que fue enviado en el mensaje.
Las firmas asimétricas, por el contrario, se procesan con dos claves diferentes: Una (la clave privada) se utiliza para la creación de la firma y la otra (la clave pública) para la verificación de la misma.
Estas claves están relacionados y se denominan comúnmente como un par de claves pública / privada. La clave pública se distribuye generalmente con el mensaje, mientras que la clave privada se mantiene en secreto por el propietario (y nunca se envía en un mensaje). Una firma que se crea y verifica con un par de clave pública/privada asimétrica se conoce como una firma digital.
Tanto para los fines de firma y cifrado, claves asimétricas se gestionan a menudo a través de una infraestructura de clave pública (PKI). La información que describe el consumidor está obligado a su clave pública a través de la aprobación de una parte de confianza para formar un certificado que permite a un destinatario del mensaje verificar la clave privada en una firma al mensaje recibido con la clave pública en el certificado del remitente. También vale la pena señalar que las firmas digitales asimétricas pueden ser utilizadas para apoyar los requisitos de no repudio. Esto es porque el acceso a la clave privada se restringe generalmente al propietario de la llave, que hace que sea más fácil para verificar la prueba de la propiedad, un valor que un cliente presenta para demostrar el conocimiento de ya sea un secreto compartido o una clave privada para el apoyo autenticación de cliente. En los casos en que el consumidor niega haber realizado la acción, las firmas digitales pueden proporcionar evidencia de lo contrario. Aunque las firmas digitales pueden ayudar a demostrar el no repudio, su uso puede no ser suficiente para proporcionar una prueba legal real.
 Principios
 Ventajas
 \*Los mensajes son encriptados independientemente del transporte
\* Protege el mensaje mientras están en tránsito entre los servicios y al mismo tiempo cuando están en poder de intermediarios no autorizados.
\* Composición de servicios
\* Si mucha información es encriptada con la misma llave simétrica, un atacante puede interceptar varios mensajes e intentar atacar a los mensajes cifrados con el objetivo de obtener la llave
\* La encripción asimétrica requiere más recursos de procesamiento que la simétrica.