08 J2EE Seguridad En XML Y WEB Services
SERVICES
• Índice de contenidos
− Introducción:
• ¿Qué es seguridad?
• ¿Por qué crear esquemas de seguridad para web services?
− Iniciativas basadas en XML para seguridad en WS
• Firma XML (XML signature)
• Encriptación XML
• XKMS
• XACML
• SAML
• WS-security
• ¿Cómo trabajan juntas?
Introducción
• ¿Qué es seguridad? Conceptos básicos
− Confidencialidad: ¿Pueden losojos cotillas verlo?
− Autenticación: ¿Eres quien dices ser?
− Confianza: ¿Me fío de trabajar contigo?
− No repudio: ¿Puedes decir: “Yo no he sido” y mentir?
− Integridad: ¿Me ha llegado alterado o no?
− Autorización: ¿Tienes permiso para tenerlo?
− Auditoría: ¿Puedes probar lo que ha ocurrido sin tener que
llamar a los de C.S.I.?
¿Por qué definir nuevos esquemas de
seguridad para web services?Esquemas de seguridad
• ¿Por qué definir nuevos esquemas de seguridad para
Web Services? A día de hoy…
− La interacción se centra más “sobre internet” (frente a un
escenario “dentro de la intranet”)
− Interacción entre miembros que previamente no habían
establecido una relación (mutuamente desconocidos).
− Interacción programa a programa (frente a interacción humano
a programa)
− Interacción másdinámica (frente a interacción estática)
− El número de servicios, proveedores y consumidores se
incrementa.
Esquemas de seguridad
• Actualidad de los esquemas de seguridad de web
services
− SSL/TLS/HTTPS
• Nivel de seguridad de transporte (frente a nivel de seguridad de
mensaje)
• Seguridad únicamente punto-a-punto; no se lleva a cabo seguridad de
mensajes extremo-a-extremo multisalto
•Seguridad sólo cuando los datos viajan por el cable. No hay seguridad
de datos fuera del cable.
• HTTPS no tiene soporte a no repudio.
• HTTP podría no ser el único protocolo de transporte usado.
• No hay medios de firmar o encriptar elementos.
Esquemas de seguridad
• ¿Puede el modelo actual de seguridad en web
services controlar los web services?
− La técnica habitual es HTTPS usando SSL
•Comunicación punto a punto encriptada temporalmente.
• Transient point-to-point encrypted communication
− Los WS pueden usar y usan esta técnica, pero es insuficiente
en algunos aspectos
• No es suficientemente granular; LO ENCRIPTA TODO.
• Es inflexible respecto al enrutamiento; funciona únicamente
punto-a-punto
• No ofrece posibilidad a auditar lo que está pasando
• No puede evitarse el repudio; losdatos no se firman
XML y estándares de seguridad en Web
Services
Estándares en seguridad WS
• Estándares
Estándares en seguridad WS
• XML y esquemas de seguridad WS
− XML Digital Signature
− XML Encryption
− XKMS (XML Key Management Specification)
− XACML (eXtensible Access Control Markup Language)
− SAML (Secure Assertion Markup Language)
− WS-Security
− Identity Management & Liberty ProjectXML SIGNATURE (firma XML)
XML Signature
• ¿Qué es XML Digital Signature (firma digital XML)?
− Autenticación, integridad de datos y no repudio
− Esfuerzo conjunto de W3C/IETF
− Sintaxis XML para representar firma de recursos web
− Procedimientos para calcular y verificar esas firmas
− Validar por clave no está entre sus objetivos.
XML Signature
• ¿Por qué XML Signature?
• Muy flexible; puedesoportar diversos conjuntos de
modelos de transacción de intenet.
− Puede firmar elementos individuales de un documento XML
− Puede firmar múltiples elementos
− Puede firmar tanto objetos locales como remotos.
− Permite firmas diferidas que se aplican a un elemento remoto
− Contenido referenciado por URIs
− Puede firmar tanto contenido XML como contenido no XML
− Permite múltiples niveles defirma (diferentes semánticas)
para el mismo contenido.
• Firma, co-firma (firma conjunta), testigo, notario, etc.
XML Signature
• Formularios de firma XML
− Enveloped (ensobrado)
− Enveloping (más o menos “envolvente”)
− Detached (más o menos “diferida”)
XML Signature
• XML Signature de tipo Enveloped
...
...
......
Regístrate para leer el documento completo.