¿Qué es la seguridad? La necesidad de garantizar la integridad, la confidencialidad y la autenticidad de los datos que fluyen a través de la Web se ha convertido en un requisito esencial. Por este motivo el área de seguridad crece rápidamente, pero hay muchas dificultades a la hora de manejar datos con estructuras jerárquicas y con subgrupos de datos con diferentes requisitos en lo que se refiere a confidencialidad, derechos de acceso o integridad. Para hacer frente a estos problemas se han desarrollado estándares como XML Encryption y XML Signature, preparados para manejar situaciones en las que partes de un mismo documento necesitan un tratamiento diferente, como ocurren en documentos con diferentes secciones cuyo contenido puede ser visto por unos usuarios pero no por otros. En estos casos la encriptación juega un papel muy importante ya que es lo que va a confirma la integridad del texto. Por otro lado, las firmas digitales permiten la autenticación del remitente. Otro problema añadido surge cuando diferentes personas firman digitalmente un mismo documento XML o cuando es necesario hacerlo conjuntamente codificando ciertas partes de ese documento. ¿Para que sirve? *XML Encryption es un lenguaje cuya función principal es asegurar la confidencialidad de partes de documentos XML, a través de la encriptación parcial del documento transportado. XML Encryption se puede aplicar a cualquier recurso Web, incluyendo contenido que no es XML. *XML Signature asegura la integridad de partes de documentos XML transportados. También proporciona la autenticación de mensajes y/o servicios de autenticación de firma para datos de cualquier tipo, tanto si se encuentra en el XML que incluye la firma o en cualquier otra parte. Puede aplicarse a cualquier contenido digital (objeto de datos), incluyendo XML. Lo que hace principalmente XML Signature es asociar claves con los datos de consulta. XML Signature representa un sistema que a través de una firma digital permite ofrecer autenticidad de los datos. Con la firma digital se confirma la identidad del emisor, la autenticidad del mensaje y su integridad, sin olvidar que los mensajes no serán repudiados. *XML Key Management es un protocolo para distribuir y registrar claves públicas. Lo que hace es ocultar la parte compleja que surge con PKI (Infraestructura de Clave Pública). Está compuesto de dos partes que son: el registro de la clave pública (X-KRSS) y la información de clave pública (X-KISS). ¿Como funciona? XML Encryption: El fragmento de código muestra que Cliente Ficticio utiliza una tarjeta de crédito con un límite de 5.000 Euros para realizar su compra. El número de la tarjeta de crédito es una información que debería ser confidencial por motivos de seguridad por lo cual es importante que esté cifrada Al cifrar el elemento completo de tarjeta de crédito, el elemento en sí mismo se oculta por lo que no es posible saber si el cliente está usando un tarjeta de crédito o simplemente dinero en metálico. El elemento DatosClave contiene el número encriptado del elemento TarjetaCredito. También es posible cifrar todo el documento.