SlideShare una empresa de Scribd logo
<Seguridad en Web Services> Servicios Web y Frameworks de Desarrollo <José Miguel Selman Grez> Lunes 3 de Julio de 2006
En esta  Sesión … ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Seguridad como un habilitador ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura General Aplicaciones Empresariales Clientes Servidor Web Servidor App. Servidor App. Servidor App. Acceso Datos Conectores a Sistemas Legados Bases de Datos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Plataformas Predominantes: J2EE y .NET
¿De qué debemos proteger nuestras aplicaciones? Violación de Confidencialidad Violación de Integridad Ataque de Repetición
Ataques Aplicaciones Ataque del Intermediario  (conocido como “Man in the Middle”)
Ataque típicos Aplicaciones Web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Requerimientos de Seguridad ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Desafíos de Seguridad Servicios Web ,[object Object],[object Object],[object Object]
Seguridad basada en el usuario final
Seguridad a través de múltiples Servicios y múltiples transportes ,[object Object],[object Object],Usuario Sitio Web Servicio Web HTTP JMS Physical Data Link Network Transport Session Presentation Application Physical Data Link Network Transport Session Presentation Application Contexto de Seguridad 1 Contexto de Seguridad 2 …
Arquitectura General Servicios Web Comunicaciones HTTP, SMTP, FTP, JMS, IIOP, … Mensajes Extensiones SOAP Entrega Confiable, Correlación, Transacciones… SOAP Descripciones WSDL Procesos Descubrimiento, Agregación, Coreografía, … XML, DTD, XML Schema S E G U R I D A D A D M I N I S T R A C I Ó N
Opciones de Seguridad Capa de Transporte Servicio de Seguridad Tecnologías Integridad SSL/TLS Confidencialidad SSL/TLS Autenticación Proveedor (Servidor) SSL/TLS Autenticación Consumidor (Cliente) SSL/TLS con autenticación de cliente HTTP Basic HTTP Digest HTTP Attributes SSL/TLS HTTP Basic HTTP Digest
Seguridad para Servicios Web ,[object Object],[object Object],[object Object],[object Object],[object Object]
Seguridad en la Capa de Mensajería ,[object Object],[object Object],Transporte (HTTP, SMTP, FTP, MQ, etc.) Envelope  (XML) Header Body ,[object Object],[object Object],[object Object],[object Object]
Interrelación Tecnologías/Especificaciones de Seguridad Servicios Web … TCP/IP Capa de Transporte (HTTP, FTP, SMTP, MQ, etc.) Seguridad Capa de Transporte (TLS/SSL) XML Signature XML Encryption SOAP WS Security SAML XKMS Otras Alto Nivel Infraestructura de Red Frameworks XML Fuente:  “Securing Web Services With WS-Security. Demystifying WS-Security, WS-Policy, SAML, XML Signature, and XML Encryption”, Jothy Rosenberg and David Remy
XML Signature ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tipos de Firmas XML Signature <Signature> <Reference> <ElementoFirmado> Enveloping <ElementoEnvolvente> <Signature> <Reference> Enveloped <DocumentoXML> <Signature> <Reference> Detached <ElementoDestino>
Canonicalización ,[object Object],[object Object],[object Object],<OrdenDeCompra> <Productos>  <CodProducto>  SKU10023  </CodProducto>  </Productos> </OrdenDeCompra> <OrdenDeCompra><Productos> <CodProducto>SKU10023</CodProducto></Productos></OrdenDeCompra>
Estructura XML Signature <Signature ID?> <SignedInfo> <CanonicalizationMethod/> <SignatureMethod/> (<Reference> (<Transforms>)? <DigestMethod> <DigestValue> </Reference>)+ </SignedInfo> <SignatureValue> (<KeyInfo>)? (<Object ID?>)* </Signature>
XML Signature: Enveloped <OrdenDeCompra id=” ODC200504251002 ”> <SKU>12345678</SKU> <Cantidad>17</Cantidad> <Signature xmlns=”http://www.w3.org/2000/09/xmldsig#”> <SignedInfo>   <Reference URI=” #ODC200504251002 ”/> </SignedInfo> <SignatureValue>…</SignatureValue> <KeyInfo>…</KeyInfo> </Signature> </OrdenDeCompra>
XML Signature: Enveloping <Signature xmlns=”http://www.w3.org/2000/09/xmldsig#”> <SignedInfo> <Reference URI=” #10022334 ”/> </SignedInfo> <SignatureValue>…</SignatureValue> <KeyInfo>…</KeyInfo> <Object> <SignedItem id=” 10022334 ”>Información a ser Firmada</SignedItem> </Object> </Signature>
XML Signature: Detached <Signature xmlns=”http://www.w3.org/2000/09/xmldsig#”> <SignedInfo> <Reference URI=” http://www.jselman.com/imagen.jpg ”/> </SignedInfo> <SignatureValue>…</SignatureValue> <KeyInfo>…</KeyInfo> </Signature>
Recomendaciones Seguridad XML Signature ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XML Encryption ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Confidencialidad Simétrica Asimétrica
Llave de Sesión
Estructura XML Encryption <EncryptedData Id? Type? MimeType? Encoding?> <EncryptionMethod/>? <ds:KeyInfo> <EncryptedKey>? <AgreementMethod>? <ds:KeyName>? <ds:RetrievalMethod>? <ds:*>? </ds:KeyInfo> <CipherData> <CipherValue>? <CipherReference URI?>? </CipherData> <EncryptionProperties>? </EncryptedData>
Ejemplo XML Encryption <purchaseOrder> <Order>  <Item>book</Item> <Id>123-958-74598</Id> <Quantity>12</Quantity> </Order>  <Payment>  <CardId> 123654-8988889-9996874 </CardId> <CardName>visa</CardName> <ValidDate>12-10-2004</ValidDate> </Payment> </purchaseOrder>  <PurchaseOrder> <Order>  <Item>book</Item> <Id>123-958-74598</Id> <Quantity>12</Quantity> </Order> <EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element‘ xmlns='http://www.w3.org/2001/04/xmlenc#'>  <CipherData>  <CipherValue>A23B45C564587</CipherValue>  </CipherData>  </EncryptedData> </PurchaseOrder>
XKMS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],PKI Servicios Web  XKMS Aplicaciones
SAML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Aserciones SAML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo Aserción de Autenticación <saml:Assertion MajorVersion=”1” MinorVersion=”0” AssertionID=”10.254.1.101.12345” Issuer=”jselman.com” IssueInstant=”2005-05-07T22:02:00Z”> <saml:Conditions NotBefore=”2005-05-07T22:02:00Z” NotAfter=”2005-05-07T22:09:00Z” /> <saml: AuthenticationStatement AuthenticationMethod =”password” AuthenticationInstant =”2005-05-07T22:02:00Z”> <saml:Subject> <saml: NameIdentifier  SecurityDomain=” jselman.com ”    Name=” José Miguel ” /> </saml:Subject> </saml:AuthenticationStatement> </saml:Assertion>
Arquitectura SAML SAML Aserción de Autenticación Aserción de Atributos Aserción de Autorización Autoridad de  Autenticación Autoridad de  Atributos Punto de Decisión de Políticas (PDP) Recolector de  Credenciales Entidad de Sistema Punto de Hacer Valer Políticas (PEP) Requerimiento Aplicación Política Política Política
WS-Security ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
El encabezado  WS-Security ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo Sobre SOAP WS-Security <S:Envelope> <S:Header> <wsse:Security> <wsse:UsernameToken> … </wsse:UsernameToken> <ds:Signature> … </ds:Signature> … <xenc:ReferenceList> … <xenc:DataReference URI=”#body”/> … </xenc:ReferenceList> </wsse:Security> </S:Header> <S:Body> <xenc:EncryptedData Id=”body” Type=”content”> … </xenc:EncryptedData> </S:Body> </S:Envelope>
Espacios de Nombre en WS-Security Prefijo Significado Espacio de Nombre ds Digital Signature http://www.w3.org/2000/09/xmldsig# wsse WS-Security Extension http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd wsu Web Services Utility http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd xenc XML Encryption http://www.w3.org/2001/04/xmlenc#
WS-Security Timestamps <S:Envelope> <S:Header> <wsse:Security> … <wsu:Timestamp> <wsu:Created>2005-05-14T19:31:22Z</wsu:Created> <wsu:Expires>2005-05-14 T19:46:22Z</wsu:Expires> </wsu:Timestamp> … </wsse:Security> </S:Header> </S:Envelope>
Tokens de Seguridad ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Username Token <wsse:Security> <wsse:UsernameToken> <wsse:Username>jselman</wsse:Username> <wsse:Password>1234</wsse:Password> </wsse:UsernameToken> </wsse:Security>
Username Token Password Digest <wsse:Security> <wsse:UsernameToken> <wsse:Username>jselman</wsse:Username> <wsse:PasswordType=”wsse:PasswordDigest”> D2A12DFE8D90FC6… </wsse:PasswordType> <wsse:Nonce>EFD89F06CCB28C89</wsse:Nonce> <wsu:Created>2005-05-08T20:21:23Z</wsu:Created> </wsse:UsernameToken> </wsse:Security>
Certificados X509  <wsse:Security> <wsse:BinarySecurityToken  ValueType=”wsse:X509v3”  EncodingType=”wsse:Base64Binary”> NIFEPzCCA9CrAwIBAgIQEmtJZc0… </wsse:BinarySecurityToken> </wsse:Security>
Token SAML <S:Envelope xmlns:S=&quot;...&quot;> <S:Header> <wsse:Security xmlns:wsse=&quot;...&quot;> <saml:Assertion  MajorVersion=&quot;1&quot;  MinorVersion=&quot;0&quot;  AssertionID=&quot;SecurityToken-ef912422&quot;  Issuer=&quot;jselman&quot;  IssueInstant=&quot;2005-05-14T16:47:05.6228146-07:00&quot;  xmlns:saml=&quot;urn:oasis:names:tc:SAML:1.0:assertion&quot;> ... </saml:Assertion> ... </wsse:Security> </S:Header> <S:Body> ... </S:Body> </S:Envelope>
Token eXtensible Rights Markup Language <S:Envelope> <S:Header> <wsse:Security> <r:license licenseId=”urn:foo:SecurityToken:ab12345”> <r:grant> <r:keyHolder> <r:info> <ds:KeyValue>…</ds:KeyValue> </r:info> </r:keyHolder> <r:possessProperty/> <sx:commonName>José Miguel Selman</sx:commonName> </r:grant> <r:issuer> <ds:Signature>…</ds:Signature> </r:issuer> </r:license> <ds:Signature> <ds:SignedInfo> … <ds:Reference URI=”#msgBody”> … </ds:Reference> … </ds:SignedInfo> … <ds:KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference URI=”urn:foo:SecurityToken:ab12345” ValueType=”r:license”/> </wsse:SecurityTokenReference> </ds:KeyInfo> </ds:Signature> </wsse:Security> </S:Header> <S:Body wsu:Id=”msgBody”> <PictureRequest xmlns=”http://www.jselman.com/pics”> <Picture format=”image/gif”> AxE1TrsRGGH… </Picture> </PictureRequest> </S:Body> </S:Envelope>
Token XCBF <S:Envelope xmlns:S=&quot;...&quot;> <S:Header> <wsse:Security xmlns:wsse=&quot;...&quot;> <wsse:XCBFSecurityToken xmlns:wsse=&quot;http://schemas.xmlsoap.org/ws/2002/04/secext&quot; Id=&quot;XCBF-biometric-object&quot; ValueType=&quot;wsse:XCBFv1&quot; EncodingType=&quot;wsee:XER&quot;> <BiometricSyntaxSets> <BiometricSyntax> <biometricObjects> <BiometricObject> <biometricHeader> <version> 0 </version> <recordType> <id> 4 </id> </recordType> <dataType> <processed/> </dataType> <purpose> <audit/> </purpose> <quality> -1 </quality> <validityPeriod> <notBefore> 1980.10.4 </notBefore> <notAfter>2003.10.3.23.59.59</notAfter> </validityPeriod> <format> <formatOwner> <oid> 2.23.42.9.10.4.2 </oid> </formatOwner> </format> </biometricHeader> <biometricData>  0A0B0C0D0E0F1A1B1C1D1E1F2A2B2C2D2E2F </biometricData> </BiometricObject> </biometricObjects> </BiometricSyntax> </BiometricSyntaxSets> </wsse:XCBFSecurityToken> </wsse:Security> </S:Header> <S:Body> ... </S:Body> </S:Envelope>
XML Signature en  WS-Security ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo XML Signature en WS-Security <S:Envelope> <S:Header> <wsse:Security> <wsse:BinarySecurityToken ValueType=”wsse:X509v3” EncodingType=”wsse:Base64Binary” wsu:Id=” X509Token ”> ... </wsse:BinarySecurityToken> </wsse:Security> <ds:Signature> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm=”…”/> <ds:SignatureMethod Algorithm=”…”/> <ds:Reference URI=” #body ”> <ds:Transforms> <ds:Transform Algorithm=”…”/> </ds:Transforms> <ds:DigestMethod Algorithm=”…”/> <ds:DigestValue>…</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue> … </ds:SignatureValue> <ds:KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference URI=” #X509Token ”/> </wsse:SecurityTokenReference> </ds:KeyInfo> </ds:Signature> </S:Header> <S:Body wsu:Id=” body ”> … </S:Body> </S:Envelope>
XML Encryption en  WS-Security ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo XML Encryption en WS-Security <S:Envelope> <S:Header> <wsse:Security> <xenc:EncryptedKey> <xenc:EncryptionMethod Algorithm=”…”/> <ds:KeyInfo> <wsse:SecurityTokenReference> <wsse:KeyIdentifier EncodingType=”wsse:Base64Binary” ValueType=”wsse:X509v3”> F2jFla0GxSq… </wsse.KeyIdentifier> </wsse:SecurityTokenReference> </ds:KeyInfo> <xenc:CipherData> <xenc:CipherValue>…</xenc:CipherValue> </xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI=” #body ”/> </xenc:ReferenceList> </xenc:EncryptedKey> </wsse:Security> </S:Header> <S:Body> <xenc:EncryptedData Id=” body ”> <xenc:CipherValue>…</xenc:CipherValue> </xenc:EncryptedData> </S:Body> </S:Envelope>
Opciones de Seguridad Capa de Mensajería Servicio de Seguridad Tecnologías Integridad XML Signature S/MIME PKCS#7 Confidencialidad XML Encryption Autenticación del Emisor SOAP (Cliente) XML Encryption username & [password|digest] username  & [password|digest] Certificado X.509 Token de Seguridad Kerberos SAML REL Etc.
Comparación Seguridad Según Capa Seguridad de Transporte Seguridad de Mensajería Punto a Punto Destino a Destino Madura, su implementación es relativamente directa Nueva, relativamente compleja con muchas opciones de seguridad No granular, enfoque del todo o nada Muy granular, puede aplicar selectivamente a trozos de mensajes y solamente a los requerimientos o respuestas Dependiente del Transporte La misma estrategia puede aplicarse a distintas tecnologías de transporte
Seguridad Capa de Mensajería ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Frameworks de Desarrollo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recomendaciones Interoperabilidad ,[object Object],[object Object],[object Object],[object Object],http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html
El problema de administración Servicio 1 Política 1 Servicio 2 Servicio 3 Servicio j Política 2 Política k Cliente 1 Cliente 2 Cliente 3 Cliente 4 Cliente 2 Cliente i
Firewall Servicios Web Clientes Servidor Web Servidor App. Servidor App. Servidor App. Acceso Datos Conectores a Sistemas Legados Bases de Datos FW Firewall para Servicios Web
Proxy Reverso Aplicación 1 Aplicación 2 Aplicación M Firewall Servicios Web Cliente N Cliente 2 Cliente 1 Fuente:  “Patterns for Application Firewalls”,  Nelly Delessy-Gassant, Eduardo B. Fernandez,  Saeed Rajput, and Maria M. Larrondo-Petrie
Múltiples Agentes Aplicación 1 Aplicación 2 Aplicación M Agente FW Cliente N Cliente 2 Cliente 1 Agente FW Agente FW Fuente:  “Patterns for Application Firewalls”,  Nelly Delessy-Gassant, Eduardo B. Fernandez,  Saeed Rajput, and Maria M. Larrondo-Petrie
¿Preguntas?

Más contenido relacionado

La actualidad más candente

Las etapas de un proyecto informático
Las etapas de un proyecto informáticoLas etapas de un proyecto informático
Las etapas de un proyecto informáticolizbravo1981
 
Metodología rmm resumido
Metodología rmm resumidoMetodología rmm resumido
Metodología rmm resumidoAngel Morinigo
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
Carlos Macallums
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
RAUL CHIPANA LARICO
 
Estilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-ComputadorEstilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-Computador
Percy Negrete
 
*Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1**Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1*
venusprinz583
 
Informe de Diseño de Sistemas
Informe de Diseño de SistemasInforme de Diseño de Sistemas
Informe de Diseño de Sistemas
Jean Cruz
 
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
Jesús Navarro
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de softwareVictor Varela
 
Ejemplos práctios de calidad en el software tecdencies
Ejemplos práctios de calidad en el software tecdenciesEjemplos práctios de calidad en el software tecdencies
Ejemplos práctios de calidad en el software tecdencies
MICProductivity
 
Politicas de Seguridad Informática
Politicas de Seguridad InformáticaPoliticas de Seguridad Informática
Politicas de Seguridad Informática
Jose Manuel Acosta
 
Modelado del sistema
Modelado del sistemaModelado del sistema
Modelado del sistema
Israel Rey
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
Johan Villamizar Tabares
 
Metodología WEB UWE
Metodología WEB UWEMetodología WEB UWE
Metodología WEB UWE
Universidad Técnica del Norte
 
diagramas UML. NAHAMA
diagramas UML. NAHAMAdiagramas UML. NAHAMA
diagramas UML. NAHAMANAHAMA19
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
Arcangel Gale
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De Software
Ricardo
 

La actualidad más candente (20)

Las etapas de un proyecto informático
Las etapas de un proyecto informáticoLas etapas de un proyecto informático
Las etapas de un proyecto informático
 
Metodología rmm resumido
Metodología rmm resumidoMetodología rmm resumido
Metodología rmm resumido
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uniPrototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
Prototipo de-sistema-para-matricula-e-inscripcion-de-asignaturas---uni
 
Estilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-ComputadorEstilos y paradigmas de la Interacción Humano-Computador
Estilos y paradigmas de la Interacción Humano-Computador
 
*Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1**Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1*
 
Informe de Diseño de Sistemas
Informe de Diseño de SistemasInforme de Diseño de Sistemas
Informe de Diseño de Sistemas
 
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
 
Metodologia de desarrollo de software
Metodologia de desarrollo de softwareMetodologia de desarrollo de software
Metodologia de desarrollo de software
 
Sqa
SqaSqa
Sqa
 
Ejemplos práctios de calidad en el software tecdencies
Ejemplos práctios de calidad en el software tecdenciesEjemplos práctios de calidad en el software tecdencies
Ejemplos práctios de calidad en el software tecdencies
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Politicas de Seguridad Informática
Politicas de Seguridad InformáticaPoliticas de Seguridad Informática
Politicas de Seguridad Informática
 
Modelado del sistema
Modelado del sistemaModelado del sistema
Modelado del sistema
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Metodología WEB UWE
Metodología WEB UWEMetodología WEB UWE
Metodología WEB UWE
 
diagramas UML. NAHAMA
diagramas UML. NAHAMAdiagramas UML. NAHAMA
diagramas UML. NAHAMA
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
SPICE
SPICESPICE
SPICE
 
Metricas Ingenieria De Software
Metricas Ingenieria De SoftwareMetricas Ingenieria De Software
Metricas Ingenieria De Software
 

Destacado

Trabajo final 1
Trabajo final 1Trabajo final 1
Trabajo final 1beatriz
 
Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4
tantascosasquenose
 
Instalar un certificado ssl en WordPress
Instalar un certificado ssl en WordPressInstalar un certificado ssl en WordPress
Instalar un certificado ssl en WordPress
Samuel Álvarez Sariego
 
Protección a nivel de transporte
Protección a nivel de transporteProtección a nivel de transporte
Protección a nivel de transporte
Manuel Fdz
 
Capa4 Modelo Osi
Capa4 Modelo OsiCapa4 Modelo Osi
Capa4 Modelo Osiguest58fcdf
 
6.owasp day costa_rica_didier
6.owasp day costa_rica_didier6.owasp day costa_rica_didier
6.owasp day costa_rica_didier
Didier Fallas
 
En 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSLEn 20 minutos... Buenas Practicas SSL
Protocolos De Seguridad
Protocolos  De SeguridadProtocolos  De Seguridad
Protocolos De Seguridadguestc0218e
 
Capa de transporte
Capa de transporteCapa de transporte
Capa de transportelaura1352
 
Seguridad de redes inalámbricas - 2007
Seguridad de redes inalámbricas - 2007 Seguridad de redes inalámbricas - 2007
Seguridad de redes inalámbricas - 2007
Wardner Maia
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAHelmilpa
 
Protocolo SSL, TLS Y SSH
Protocolo SSL, TLS Y SSHProtocolo SSL, TLS Y SSH
Protocolo SSL, TLS Y SSHAbner Torres
 
Tecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNsTecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNs
Rodolfo Pilas
 
Protocolos de la capa de transporte
Protocolos de la capa de transporteProtocolos de la capa de transporte
Protocolos de la capa de transporte
Ricardo Sava
 
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacion
Eduardo J Onofre
 
Atacando servicios web
Atacando servicios webAtacando servicios web
Atacando servicios web
limahack
 
CAPA DE PRESENTACION Y APLICACION
CAPA DE PRESENTACION Y APLICACIONCAPA DE PRESENTACION Y APLICACION
CAPA DE PRESENTACION Y APLICACION
Daniel Mayorga
 

Destacado (20)

Trabajo final 1
Trabajo final 1Trabajo final 1
Trabajo final 1
 
Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4
 
Instalar un certificado ssl en WordPress
Instalar un certificado ssl en WordPressInstalar un certificado ssl en WordPress
Instalar un certificado ssl en WordPress
 
Protección a nivel de transporte
Protección a nivel de transporteProtección a nivel de transporte
Protección a nivel de transporte
 
Expo10
Expo10Expo10
Expo10
 
Capa4 Modelo Osi
Capa4 Modelo OsiCapa4 Modelo Osi
Capa4 Modelo Osi
 
6.owasp day costa_rica_didier
6.owasp day costa_rica_didier6.owasp day costa_rica_didier
6.owasp day costa_rica_didier
 
En 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSLEn 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSL
 
Capa de transporte
Capa de transporteCapa de transporte
Capa de transporte
 
Protocolos De Seguridad
Protocolos  De SeguridadProtocolos  De Seguridad
Protocolos De Seguridad
 
SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
 
Capa de transporte
Capa de transporteCapa de transporte
Capa de transporte
 
Seguridad de redes inalámbricas - 2007
Seguridad de redes inalámbricas - 2007 Seguridad de redes inalámbricas - 2007
Seguridad de redes inalámbricas - 2007
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVA
 
Protocolo SSL, TLS Y SSH
Protocolo SSL, TLS Y SSHProtocolo SSL, TLS Y SSH
Protocolo SSL, TLS Y SSH
 
Tecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNsTecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNs
 
Protocolos de la capa de transporte
Protocolos de la capa de transporteProtocolos de la capa de transporte
Protocolos de la capa de transporte
 
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacion
 
Atacando servicios web
Atacando servicios webAtacando servicios web
Atacando servicios web
 
CAPA DE PRESENTACION Y APLICACION
CAPA DE PRESENTACION Y APLICACIONCAPA DE PRESENTACION Y APLICACION
CAPA DE PRESENTACION Y APLICACION
 

Similar a Seguridad Para Servicios Web

8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML
Juan Carlos Rubio Pineda
 
Actividad5
Actividad5Actividad5
Actividad5
Fercho Leon
 
Protocolo
ProtocoloProtocolo
Protocolo
Ronny Ure
 
Introducción a La Seguridad Desde La Perspectiva Del Desarrollador V2
Introducción a La Seguridad Desde La Perspectiva Del Desarrollador V2Introducción a La Seguridad Desde La Perspectiva Del Desarrollador V2
Introducción a La Seguridad Desde La Perspectiva Del Desarrollador V2
Juan Pablo
 
Modulo V: Acceso remoto y redes privadas virtuales
Modulo V: Acceso remoto y redes privadas virtualesModulo V: Acceso remoto y redes privadas virtuales
Modulo V: Acceso remoto y redes privadas virtuales
Juan Manuel García
 
Protocolo SSL Jean
Protocolo SSL JeanProtocolo SSL Jean
Protocolo SSL Jean
jeanpro1
 
TALLER DE SEGURIDAD WEB, 2 Protocolos SSL y TLS.pptx
TALLER DE SEGURIDAD WEB, 2 Protocolos SSL y TLS.pptxTALLER DE SEGURIDAD WEB, 2 Protocolos SSL y TLS.pptx
TALLER DE SEGURIDAD WEB, 2 Protocolos SSL y TLS.pptx
DanyZamora6
 
Protocolos de redes ssl
Protocolos de redes sslProtocolos de redes ssl
Protocolos de redes ssl
NaNy PiRe
 
Trabajo Final de IMS (IP Multimedia Subsystem) - Enunciados
Trabajo Final de IMS (IP Multimedia Subsystem) - EnunciadosTrabajo Final de IMS (IP Multimedia Subsystem) - Enunciados
Trabajo Final de IMS (IP Multimedia Subsystem) - Enunciados
Andy Juan Sarango Veliz
 
Seguridad informatica en redes windows
Seguridad informatica en redes windowsSeguridad informatica en redes windows
Seguridad informatica en redes windows
habg2000
 
Seguridad informatica en redes windows
Seguridad informatica en redes windowsSeguridad informatica en redes windows
Seguridad informatica en redes windows
habg2000
 
Seguridad en redes
Seguridad en redesSeguridad en redes
Seguridad en redes3123753782
 
Ana ssl
Ana   sslAna   ssl
Ana ssl
Ana_Aguero95
 

Similar a Seguridad Para Servicios Web (20)

8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML8/9 Curso JEE5, Soa, Web Services, ESB y XML
8/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Actividad5
Actividad5Actividad5
Actividad5
 
Protocolo SSL
Protocolo SSLProtocolo SSL
Protocolo SSL
 
Protocolo
ProtocoloProtocolo
Protocolo
 
Introducción a La Seguridad Desde La Perspectiva Del Desarrollador V2
Introducción a La Seguridad Desde La Perspectiva Del Desarrollador V2Introducción a La Seguridad Desde La Perspectiva Del Desarrollador V2
Introducción a La Seguridad Desde La Perspectiva Del Desarrollador V2
 
Modulo V: Acceso remoto y redes privadas virtuales
Modulo V: Acceso remoto y redes privadas virtualesModulo V: Acceso remoto y redes privadas virtuales
Modulo V: Acceso remoto y redes privadas virtuales
 
Protocolo SSL Jean
Protocolo SSL JeanProtocolo SSL Jean
Protocolo SSL Jean
 
Tema 3 - Seguridad en Internet
Tema 3 - Seguridad en InternetTema 3 - Seguridad en Internet
Tema 3 - Seguridad en Internet
 
Protocolo rodrigo
Protocolo rodrigoProtocolo rodrigo
Protocolo rodrigo
 
TALLER DE SEGURIDAD WEB, 2 Protocolos SSL y TLS.pptx
TALLER DE SEGURIDAD WEB, 2 Protocolos SSL y TLS.pptxTALLER DE SEGURIDAD WEB, 2 Protocolos SSL y TLS.pptx
TALLER DE SEGURIDAD WEB, 2 Protocolos SSL y TLS.pptx
 
Actividas n5
Actividas n5Actividas n5
Actividas n5
 
Protocolos de redes ssl
Protocolos de redes sslProtocolos de redes ssl
Protocolos de redes ssl
 
Trabajo Final de IMS (IP Multimedia Subsystem) - Enunciados
Trabajo Final de IMS (IP Multimedia Subsystem) - EnunciadosTrabajo Final de IMS (IP Multimedia Subsystem) - Enunciados
Trabajo Final de IMS (IP Multimedia Subsystem) - Enunciados
 
U.3 .- Seguridad en redes de comunicación.
U.3 .- Seguridad en redes de comunicación.U.3 .- Seguridad en redes de comunicación.
U.3 .- Seguridad en redes de comunicación.
 
Seguridad informatica en redes windows
Seguridad informatica en redes windowsSeguridad informatica en redes windows
Seguridad informatica en redes windows
 
Seguridad informatica en redes windows
Seguridad informatica en redes windowsSeguridad informatica en redes windows
Seguridad informatica en redes windows
 
Ssl
SslSsl
Ssl
 
Seguridad en redes
Seguridad en redesSeguridad en redes
Seguridad en redes
 
Ana ssl
Ana   sslAna   ssl
Ana ssl
 
VC4NM73-EQ#6-TLS
VC4NM73-EQ#6-TLSVC4NM73-EQ#6-TLS
VC4NM73-EQ#6-TLS
 

Seguridad Para Servicios Web

  • 1. <Seguridad en Web Services> Servicios Web y Frameworks de Desarrollo <José Miguel Selman Grez> Lunes 3 de Julio de 2006
  • 2.
  • 3.
  • 4.
  • 5. ¿De qué debemos proteger nuestras aplicaciones? Violación de Confidencialidad Violación de Integridad Ataque de Repetición
  • 6. Ataques Aplicaciones Ataque del Intermediario (conocido como “Man in the Middle”)
  • 7.
  • 8.
  • 9.
  • 10. Seguridad basada en el usuario final
  • 11.
  • 12. Arquitectura General Servicios Web Comunicaciones HTTP, SMTP, FTP, JMS, IIOP, … Mensajes Extensiones SOAP Entrega Confiable, Correlación, Transacciones… SOAP Descripciones WSDL Procesos Descubrimiento, Agregación, Coreografía, … XML, DTD, XML Schema S E G U R I D A D A D M I N I S T R A C I Ó N
  • 13. Opciones de Seguridad Capa de Transporte Servicio de Seguridad Tecnologías Integridad SSL/TLS Confidencialidad SSL/TLS Autenticación Proveedor (Servidor) SSL/TLS Autenticación Consumidor (Cliente) SSL/TLS con autenticación de cliente HTTP Basic HTTP Digest HTTP Attributes SSL/TLS HTTP Basic HTTP Digest
  • 14.
  • 15.
  • 16. Interrelación Tecnologías/Especificaciones de Seguridad Servicios Web … TCP/IP Capa de Transporte (HTTP, FTP, SMTP, MQ, etc.) Seguridad Capa de Transporte (TLS/SSL) XML Signature XML Encryption SOAP WS Security SAML XKMS Otras Alto Nivel Infraestructura de Red Frameworks XML Fuente: “Securing Web Services With WS-Security. Demystifying WS-Security, WS-Policy, SAML, XML Signature, and XML Encryption”, Jothy Rosenberg and David Remy
  • 17.
  • 18. Tipos de Firmas XML Signature <Signature> <Reference> <ElementoFirmado> Enveloping <ElementoEnvolvente> <Signature> <Reference> Enveloped <DocumentoXML> <Signature> <Reference> Detached <ElementoDestino>
  • 19.
  • 20. Estructura XML Signature <Signature ID?> <SignedInfo> <CanonicalizationMethod/> <SignatureMethod/> (<Reference> (<Transforms>)? <DigestMethod> <DigestValue> </Reference>)+ </SignedInfo> <SignatureValue> (<KeyInfo>)? (<Object ID?>)* </Signature>
  • 21. XML Signature: Enveloped <OrdenDeCompra id=” ODC200504251002 ”> <SKU>12345678</SKU> <Cantidad>17</Cantidad> <Signature xmlns=”http://www.w3.org/2000/09/xmldsig#”> <SignedInfo> <Reference URI=” #ODC200504251002 ”/> </SignedInfo> <SignatureValue>…</SignatureValue> <KeyInfo>…</KeyInfo> </Signature> </OrdenDeCompra>
  • 22. XML Signature: Enveloping <Signature xmlns=”http://www.w3.org/2000/09/xmldsig#”> <SignedInfo> <Reference URI=” #10022334 ”/> </SignedInfo> <SignatureValue>…</SignatureValue> <KeyInfo>…</KeyInfo> <Object> <SignedItem id=” 10022334 ”>Información a ser Firmada</SignedItem> </Object> </Signature>
  • 23. XML Signature: Detached <Signature xmlns=”http://www.w3.org/2000/09/xmldsig#”> <SignedInfo> <Reference URI=” http://www.jselman.com/imagen.jpg ”/> </SignedInfo> <SignatureValue>…</SignatureValue> <KeyInfo>…</KeyInfo> </Signature>
  • 24.
  • 25.
  • 28. Estructura XML Encryption <EncryptedData Id? Type? MimeType? Encoding?> <EncryptionMethod/>? <ds:KeyInfo> <EncryptedKey>? <AgreementMethod>? <ds:KeyName>? <ds:RetrievalMethod>? <ds:*>? </ds:KeyInfo> <CipherData> <CipherValue>? <CipherReference URI?>? </CipherData> <EncryptionProperties>? </EncryptedData>
  • 29. Ejemplo XML Encryption <purchaseOrder> <Order> <Item>book</Item> <Id>123-958-74598</Id> <Quantity>12</Quantity> </Order> <Payment> <CardId> 123654-8988889-9996874 </CardId> <CardName>visa</CardName> <ValidDate>12-10-2004</ValidDate> </Payment> </purchaseOrder> <PurchaseOrder> <Order> <Item>book</Item> <Id>123-958-74598</Id> <Quantity>12</Quantity> </Order> <EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element‘ xmlns='http://www.w3.org/2001/04/xmlenc#'> <CipherData> <CipherValue>A23B45C564587</CipherValue> </CipherData> </EncryptedData> </PurchaseOrder>
  • 30.
  • 31.
  • 32.
  • 33. Ejemplo Aserción de Autenticación <saml:Assertion MajorVersion=”1” MinorVersion=”0” AssertionID=”10.254.1.101.12345” Issuer=”jselman.com” IssueInstant=”2005-05-07T22:02:00Z”> <saml:Conditions NotBefore=”2005-05-07T22:02:00Z” NotAfter=”2005-05-07T22:09:00Z” /> <saml: AuthenticationStatement AuthenticationMethod =”password” AuthenticationInstant =”2005-05-07T22:02:00Z”> <saml:Subject> <saml: NameIdentifier SecurityDomain=” jselman.com ” Name=” José Miguel ” /> </saml:Subject> </saml:AuthenticationStatement> </saml:Assertion>
  • 34. Arquitectura SAML SAML Aserción de Autenticación Aserción de Atributos Aserción de Autorización Autoridad de Autenticación Autoridad de Atributos Punto de Decisión de Políticas (PDP) Recolector de Credenciales Entidad de Sistema Punto de Hacer Valer Políticas (PEP) Requerimiento Aplicación Política Política Política
  • 35.
  • 36.
  • 37. Ejemplo Sobre SOAP WS-Security <S:Envelope> <S:Header> <wsse:Security> <wsse:UsernameToken> … </wsse:UsernameToken> <ds:Signature> … </ds:Signature> … <xenc:ReferenceList> … <xenc:DataReference URI=”#body”/> … </xenc:ReferenceList> </wsse:Security> </S:Header> <S:Body> <xenc:EncryptedData Id=”body” Type=”content”> … </xenc:EncryptedData> </S:Body> </S:Envelope>
  • 38. Espacios de Nombre en WS-Security Prefijo Significado Espacio de Nombre ds Digital Signature http://www.w3.org/2000/09/xmldsig# wsse WS-Security Extension http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd wsu Web Services Utility http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd xenc XML Encryption http://www.w3.org/2001/04/xmlenc#
  • 39. WS-Security Timestamps <S:Envelope> <S:Header> <wsse:Security> … <wsu:Timestamp> <wsu:Created>2005-05-14T19:31:22Z</wsu:Created> <wsu:Expires>2005-05-14 T19:46:22Z</wsu:Expires> </wsu:Timestamp> … </wsse:Security> </S:Header> </S:Envelope>
  • 40.
  • 41. Username Token <wsse:Security> <wsse:UsernameToken> <wsse:Username>jselman</wsse:Username> <wsse:Password>1234</wsse:Password> </wsse:UsernameToken> </wsse:Security>
  • 42. Username Token Password Digest <wsse:Security> <wsse:UsernameToken> <wsse:Username>jselman</wsse:Username> <wsse:PasswordType=”wsse:PasswordDigest”> D2A12DFE8D90FC6… </wsse:PasswordType> <wsse:Nonce>EFD89F06CCB28C89</wsse:Nonce> <wsu:Created>2005-05-08T20:21:23Z</wsu:Created> </wsse:UsernameToken> </wsse:Security>
  • 43. Certificados X509 <wsse:Security> <wsse:BinarySecurityToken ValueType=”wsse:X509v3” EncodingType=”wsse:Base64Binary”> NIFEPzCCA9CrAwIBAgIQEmtJZc0… </wsse:BinarySecurityToken> </wsse:Security>
  • 44. Token SAML <S:Envelope xmlns:S=&quot;...&quot;> <S:Header> <wsse:Security xmlns:wsse=&quot;...&quot;> <saml:Assertion MajorVersion=&quot;1&quot; MinorVersion=&quot;0&quot; AssertionID=&quot;SecurityToken-ef912422&quot; Issuer=&quot;jselman&quot; IssueInstant=&quot;2005-05-14T16:47:05.6228146-07:00&quot; xmlns:saml=&quot;urn:oasis:names:tc:SAML:1.0:assertion&quot;> ... </saml:Assertion> ... </wsse:Security> </S:Header> <S:Body> ... </S:Body> </S:Envelope>
  • 45. Token eXtensible Rights Markup Language <S:Envelope> <S:Header> <wsse:Security> <r:license licenseId=”urn:foo:SecurityToken:ab12345”> <r:grant> <r:keyHolder> <r:info> <ds:KeyValue>…</ds:KeyValue> </r:info> </r:keyHolder> <r:possessProperty/> <sx:commonName>José Miguel Selman</sx:commonName> </r:grant> <r:issuer> <ds:Signature>…</ds:Signature> </r:issuer> </r:license> <ds:Signature> <ds:SignedInfo> … <ds:Reference URI=”#msgBody”> … </ds:Reference> … </ds:SignedInfo> … <ds:KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference URI=”urn:foo:SecurityToken:ab12345” ValueType=”r:license”/> </wsse:SecurityTokenReference> </ds:KeyInfo> </ds:Signature> </wsse:Security> </S:Header> <S:Body wsu:Id=”msgBody”> <PictureRequest xmlns=”http://www.jselman.com/pics”> <Picture format=”image/gif”> AxE1TrsRGGH… </Picture> </PictureRequest> </S:Body> </S:Envelope>
  • 46. Token XCBF <S:Envelope xmlns:S=&quot;...&quot;> <S:Header> <wsse:Security xmlns:wsse=&quot;...&quot;> <wsse:XCBFSecurityToken xmlns:wsse=&quot;http://schemas.xmlsoap.org/ws/2002/04/secext&quot; Id=&quot;XCBF-biometric-object&quot; ValueType=&quot;wsse:XCBFv1&quot; EncodingType=&quot;wsee:XER&quot;> <BiometricSyntaxSets> <BiometricSyntax> <biometricObjects> <BiometricObject> <biometricHeader> <version> 0 </version> <recordType> <id> 4 </id> </recordType> <dataType> <processed/> </dataType> <purpose> <audit/> </purpose> <quality> -1 </quality> <validityPeriod> <notBefore> 1980.10.4 </notBefore> <notAfter>2003.10.3.23.59.59</notAfter> </validityPeriod> <format> <formatOwner> <oid> 2.23.42.9.10.4.2 </oid> </formatOwner> </format> </biometricHeader> <biometricData> 0A0B0C0D0E0F1A1B1C1D1E1F2A2B2C2D2E2F </biometricData> </BiometricObject> </biometricObjects> </BiometricSyntax> </BiometricSyntaxSets> </wsse:XCBFSecurityToken> </wsse:Security> </S:Header> <S:Body> ... </S:Body> </S:Envelope>
  • 47.
  • 48. Ejemplo XML Signature en WS-Security <S:Envelope> <S:Header> <wsse:Security> <wsse:BinarySecurityToken ValueType=”wsse:X509v3” EncodingType=”wsse:Base64Binary” wsu:Id=” X509Token ”> ... </wsse:BinarySecurityToken> </wsse:Security> <ds:Signature> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm=”…”/> <ds:SignatureMethod Algorithm=”…”/> <ds:Reference URI=” #body ”> <ds:Transforms> <ds:Transform Algorithm=”…”/> </ds:Transforms> <ds:DigestMethod Algorithm=”…”/> <ds:DigestValue>…</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue> … </ds:SignatureValue> <ds:KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference URI=” #X509Token ”/> </wsse:SecurityTokenReference> </ds:KeyInfo> </ds:Signature> </S:Header> <S:Body wsu:Id=” body ”> … </S:Body> </S:Envelope>
  • 49.
  • 50. Ejemplo XML Encryption en WS-Security <S:Envelope> <S:Header> <wsse:Security> <xenc:EncryptedKey> <xenc:EncryptionMethod Algorithm=”…”/> <ds:KeyInfo> <wsse:SecurityTokenReference> <wsse:KeyIdentifier EncodingType=”wsse:Base64Binary” ValueType=”wsse:X509v3”> F2jFla0GxSq… </wsse.KeyIdentifier> </wsse:SecurityTokenReference> </ds:KeyInfo> <xenc:CipherData> <xenc:CipherValue>…</xenc:CipherValue> </xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI=” #body ”/> </xenc:ReferenceList> </xenc:EncryptedKey> </wsse:Security> </S:Header> <S:Body> <xenc:EncryptedData Id=” body ”> <xenc:CipherValue>…</xenc:CipherValue> </xenc:EncryptedData> </S:Body> </S:Envelope>
  • 51. Opciones de Seguridad Capa de Mensajería Servicio de Seguridad Tecnologías Integridad XML Signature S/MIME PKCS#7 Confidencialidad XML Encryption Autenticación del Emisor SOAP (Cliente) XML Encryption username & [password|digest] username & [password|digest] Certificado X.509 Token de Seguridad Kerberos SAML REL Etc.
  • 52. Comparación Seguridad Según Capa Seguridad de Transporte Seguridad de Mensajería Punto a Punto Destino a Destino Madura, su implementación es relativamente directa Nueva, relativamente compleja con muchas opciones de seguridad No granular, enfoque del todo o nada Muy granular, puede aplicar selectivamente a trozos de mensajes y solamente a los requerimientos o respuestas Dependiente del Transporte La misma estrategia puede aplicarse a distintas tecnologías de transporte
  • 53.
  • 54.
  • 55.
  • 56. El problema de administración Servicio 1 Política 1 Servicio 2 Servicio 3 Servicio j Política 2 Política k Cliente 1 Cliente 2 Cliente 3 Cliente 4 Cliente 2 Cliente i
  • 57. Firewall Servicios Web Clientes Servidor Web Servidor App. Servidor App. Servidor App. Acceso Datos Conectores a Sistemas Legados Bases de Datos FW Firewall para Servicios Web
  • 58. Proxy Reverso Aplicación 1 Aplicación 2 Aplicación M Firewall Servicios Web Cliente N Cliente 2 Cliente 1 Fuente: “Patterns for Application Firewalls”, Nelly Delessy-Gassant, Eduardo B. Fernandez, Saeed Rajput, and Maria M. Larrondo-Petrie
  • 59. Múltiples Agentes Aplicación 1 Aplicación 2 Aplicación M Agente FW Cliente N Cliente 2 Cliente 1 Agente FW Agente FW Fuente: “Patterns for Application Firewalls”, Nelly Delessy-Gassant, Eduardo B. Fernandez, Saeed Rajput, and Maria M. Larrondo-Petrie