Seguridad en Web Services. Junio/2010



Documentos relacionados
Servicios Web Estándares, Extensiones y Perspectivas de Futuro

Transmision de datos SOAP. Transmision de Datos

TEMA 5. Otras arquitecturas distribuidas IV. Web Services

Qué son los Web Services?

FESB Servicio de Solicitud de Token

Desarrollo y servicios web

Documentación Técnica Conector

Protegiendo nuestros servicios webs WS-SEC

La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la

PKI y Firma Digital: Aplicaciones y la Ley en Colombia Por: Jorge Mario Calvo L.

Curso de SOA. Nivel Avanzado

Web Services Security: a preliminary study using Casper and FDR

ANEXO 1. ANEXO TÉCNICO

Especificación WebService para:

Confianza en entornos de Servicios Web: WS-Trust y STS. Antonio David Pérez Morales RedIRIS

Universidad Nacional Autónoma de México Dirección de Sistemas Dirección General de Personal

Oracle Service Bus: Entorno de Desarrollo

Anexo Técnico 005 Servicio de Recepción de Facturas Electrónicas

Manual Desarrollador Externo

GALA. Servicios WEB. Curso ASP.NET Desarrollo de Sitios y Servicios Web con Visual Basic 2010, 24 h. L25. Servicios Web en Integración

Servicios Web. Andrés Pastorini. TRIA Tecnólogo Informático

PIDE. Presentación. Proyecto Plataforma de Interoperabilidad del Estado. Preparado por: Equipo de Proyecto PIDE

Seguridad en SSO. 02/27/06 José Ramón Palanco Hazent Systems SL

Seguridad -- básico. Subtemas. XML Web Services Security. Criptografía (transporte sobre un medio no fiable),

Aplicaciones y Servicios Web (Web Services)

Federación de la Identidad Digital y su aplicación en las AA.PP. José Antonio Márquez Contreras Director de Firma Digital Telvent

Servicios web. Jorge Iván Meza Martínez

Plataforma de Interoperabilidad Libre Orientada a Servicios para el Estado Venezolano

Construir RIA usando Flex. Eduardo Ostertag Jenkins, Ph.D. OBCOM INGENIERIA S.A.

PCI Day Today PCI DSS. WebSphere DataPower IBM Corporation

PUBLICACIÓN DE SERVICIOS WEB(SW) EN EL BUS DE SERVICIOS GUBERNAMENTALES (BSG)

Manual de Desarrollador Autenticación Automática

Plataforma de Interoperabilidad Libre Orientada a Servicios para el Estado Venezolano Prueba de Concepto

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Sistemas Operativos Distribuidos. Introducción a los Servicios Web (Web Services)

Servicios web. Contenido. Programación en Internet Curso Introducción Los pilares (SOAP, WSDL, UDDI) Desarrollo de un servicio web

PROTOCOLOS DE APLICACIÓN PRÁCTICA EN INFOMED INTEROPERABILIDAD

Service Oriented Architecture: Con Biztalk?

Propuesta de Implementación del Sistema de Banca Móvil para: Banca Universal.

Evolución de los servicios de Internet

105 Apéndice III Ejemplos. Apéndice III. Ejemplos

Manual de Desarrollador Externo

Ignacio Cattivelli

SISTEMAS DE INFORMACIÓN III TEORÍA

PORTAL DE INTEGRACIÓN DE BANCOS DE INFORMACIÓN DISPERSOS A TRAVÉS DE WEB SERVICES Autor: Ing. Walther Antonioli Ravetto

Ingeniería de Software en SOA

Introducción a XML (III) - Web Services Huibert Aalbers Senior Certified Software IT Architect

Curso SOA and Java Web Services with JAX-WS

Federación de Identidades

SEGURIDAD OCTUBRE Versión 1

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

Requerimientos de tecnología para operar con Tica. Proyecto TICA

Intercambio de Ficheros. Institucionales. IFI - IFI Web

Resumen de Requisitos Técnicos para incorporación de Organismos a la Plataforma Integrada de Servicios Electrónicos del Estado

Servicio Web. Estándares empleados. Ventajas de los servicios web. Inconvenientes de los servicios Web

WS-Trust en ambiente. Taller de Sistemas de Información Andrea Mesa Soledad Félix Felipe Rodríguez Emiliano Martínez

Web Services. Richard Rossel 23 de noviembre de Web Services

Service Oriented Architecture

MANUAL TÉCNICO WEB SERVICE PROTOCOLO SOAP

RECOMENDACIÓN TÉCNICA: CATÁLOGO DE ESTÁNDARES DE INTEROPERABILIDAD

Circular de Tecnología

Manual de Desarrollador Externo

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

1. CONFIGURACIÓN Y DESARROLLO FACTURACIÓN ELECTRÓNICA. a. CONFIGURACION DE SERVIDORES b. CERTIFICADO DIGITAL c. MODULO GENERADOR DOCUMENTOS XML d.

LICENCIA PROFESIONAL EN DESARROLLO DE SOFTWARE PARA APLICACIONES WEB

Documentacion de servicios para los SARCF del proyecto FACe. Equipo de desarrollo de la plataforma FACe. Versión 1.2.4

Prospecto Risk Manager

Contrato de Servicio ServiciosPortalWS

.NET Framework 3.5 Visual Studio Express 2008 Tabla 1 Requerimientos de Software

BANCO CENTRAL DE RESERVA DEL PERÚ

MARCANDO LA DIFERENCIA

Federación de Identidades. Experiencias de Éxito

Lineamientos para el desarrollo de sistemas

Plataforma CGN. Comunicaciones con terceros. Fecha del Documento 07/10/2008 Versión 0.2

Política de confianza

Contrato de Servicio

WEB SERVICE FACTORUMCFDISERVICE

Documentacion de servicios para los SARCF del proyecto FACe. Equipo de desarrollo de la plataforma FACe. Versión 1.2.9

Taller de Sistemas de Información 3. Presentación SCA

Tema 6: Comparativa CORBA/Servicios Web

Seguridad de la información en SMart esolutions

XII JICS 25 y 26 de noviembre de 2010

Web Services Security. Primera línea en Seguridad SOA.

Certificados digitales SSL y TLS

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Marco de Interoperabilidad

Sistema de Información Integrada del Área Social

Single Sign On y Federaciones en las Universidades. Noviembre 2012

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Requerimiento Tecnológico para acceso a Sistemas del SIAF

Objetos Distribuidos - Componentes. Middleware

CUSTODIA DIGITAL como garantía de la validez legal de los Documentos Electrónicos eadministración Segura

La aplicación práctica en el mundo empresarial de los estándares Web

INGENIERÍA del SOFTWARE Curso 2004/05. Tema 2: Arquitecturas Software de varios niveles en Java. Introducción a los Servicios Web

CONFIGURACIÓN PARA CORREO ELECTRÓNICO SEGURO CON MOZILLA

Proyecto Piloto. Integración de Ventanillas Únicas de Comercio Exterior dela RED VUCE

Gran número de usuarios accediendo a un único servicio y con un único protocolo. Servidores y clientes con distintos protocolos.

2524 Developing XML Web Services Using Microsoft ASP.NET

Prueba de conectividad y soluciones de integración para sistemas de salud

Transcripción:

Seguridad en Web Services Por: Jorge Mario Calvo L. Junio/2010

Objetivo Proveer una visión de los principales aspectos de seguridad de los Web Services y cuales alternativas y estándares existen para resolverlos Mostrar algunos ejemplos prácticos a través de un productos de Software Libre que implementa algunos de los estándares

Plan de la Charla Que es un Web Services? Aspectos de seguridad d a resolver Niveles donde podemos resolver el problema Transporte Mensajería Aplicación Otros Estándares relacionados con la Otros Estándares relacionados con la seguriada en XML y Web Services

Que es un Web Services? A Web service is a software system designed to support interoperable machine to machine interaction over a network. It has an interface described in a machine processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web related standards. (www.w3c.org)

Que es un Web Services? Una de las posibles interfaces de mensajeria de un servicio, en una Arquitectura SOA Mensajeria basada en XML SOAP WSDL

Operación de un Web Service Service Broker ESB WSDL WSDL Consumidor Web Service SOAP Web Service

Mensajería SOAP <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env="http://schemas... <SOAP-ENV:Body> <SOAP-ENV:getOrderStatus> <body>us-247860</body> </SOAP-ENV:getOrderStatus> </SOAP-ENV:Body> </SOAP-ENV:Envelope> <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env="http://schemas... <SOAP-ENV:Body> <SOAP-ENV:getOrderStatusResponse> <body>shipped</body> </SOAP-ENV:getOrderStatusResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Request Response

POST /temperapp/getlocaltemperature HTTP/1.1 Host: www.ubiquando.com.co Content-type: text/xml Content-length: 543 <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env="http://schemas... <SOAP-ENV:Body> <SOAP-ENV:getOrderStatus> <body>us-247860</body> </SOAP-ENV:getOrderStatus> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Consumidor Web Service HTTP Web Service HTTP/1.1 200 OK Content-type: text/xml Content-length: 145 <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env="http://schemas... <SOAP-ENV:Body> <SOAP-ENV:getOrderStatusResponse> <body>shipped</body> </SOAP-ENV:getOrderStatusResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Mostrar un Web Service simple

Aspectos de Seguridad Autenticación Identidad Quién lo consume? Autorización Control de Acceso Qué esta autorizado a hacer el consumidor? Confidencialidad i d Integridad

Nivel donde lo podemos resolver Aplicación Consumido r Web Service Web Service Mensajeria SOAP stack SOAP stack Transporte Cliente HTTP Servidor HTTP

Browser Servidor Web CA Verisign, Certicamara firma el Digital ID del servidor Web

A nivel de Transporte Utilizando SSL y su sucesor TLS (https) Autenticación Identidad Certificado de servidor seguro y Cerrtificado de cliente Autorización Control ió lde Acceso No existe Confidencialidad i d Conexión encriptada de SSL Integridad d Conexión encriptada de SSL

A nivel de mensajería WSS: SOAP Message Security Security Tokens: almacena la información para autenticación y autorización. Ejemplo: login/password o Certificados X.509 XML Encryption: almacena EncryptedKey y element y ReferencedList que apuntan a las partes encriptadas del mensaje XML Signatures

WS Security: Security: Security Tokens <Envelope> <Header> <Security> <UserNameToken> <UserName>administrador</UserName> <Password>1234</Password> </UserNameToken> </Security> </Header> <Body>...

WS Security: Security: XML Encryption <Envelope> <Header> <Security> <ReferenceList> <DataReference URI="#bodyID"/> </ReferenceList> </Security> </Header> <Body> <EncryptedData Id="bodyID"> <KeyInfo> <KeyName>CN=Hiroshi Maruyama, C=JP</KeyName> </KeyInfo> <CipherData> <CipherValue>...</CipherValue> </CipherData> </EncryptedData> </Body> </Envelope>

Mostrar el Web Service con el estandar WS Security

A nivel de aplicación XML Signatures y XML Encryption Estándar para el uso de Digital Signatures en los mensajes XML y garantizar la autenticidad de los mensajes. Adicionar autenticidad, integridad y no repudio a los mensajes XML Permite firmar parte de los mensajes y no el documento completo

XML Signatures

A nivel de aplicación Generar campos adicionales y/o encriptar parámetros Amazon Web Service AWS

Otros Estándares XML XML Signatures y XML Encryption Web Services WS Security, WS Trust, WS Policy AAA SAML

WS Policy Framework para expresar las limitaciones y los requisitos de los Web Services, utilizando aserciones o predicados. Estos predicados definen las características de seguridad que deben tener los mensajes SOAP.

Ejemplo de WS Policy <wsp:policy> <sp:symmetricbinding> <wsp:policy> <sp:protectiontoken> <wsp:policy> <sp:kerberosv5apreqtoken sp:includetoken=".../includetoken/once" /> </wsp:policy> </sp:protectiontoken> <sp:signbeforeencrypting /> <sp:encryptsignature /> </wsp:policy>

SAML Framework XML para representar información acerca de autenticidad, autorización y seguridad que pueda ser utilizada por las aplicaciones y/o intercambiada entre diferentes aplicaciones y plataformas. Utiliza predicados (statements)

Usos de SAML Single sign on (SSO) Identity federation Attribute t services Securing web service messages Handled by the OASIS WSS TC as the SAML Token Profile of WS Security

SAML Token Profile of WS SecuritySecurity Definir el uso de tokens para SAML dentro de WSS: SOAP Message Security specification Cuando un Web Service recibe el SOAP Request con una referencia a un(os) predicado(s) SAML los selecciona y los procesa.

<S12:Envelope xmlns:s12="..."> <S12:Header> <wsse:security xmlns:wsse="..."> <saml:assertion xmlns:saml="..." l " AssertionID="_a75adf55-01d7-40cc-929f-dbd8372ebdfc" IssueInstant="2003-04-17T00:46:02Z" Issuer= www.opensaml.org MajorVersion="1" MinorVersion="1"> <saml:authenticationstatement> <saml:subject> <saml:nameidentifier NameQualifier="www.example.com" Format= urn:oasis:names:tc:saml:1.1:nameidformat:

Otros Temas La seguridad en el código del Web Service es La seguridad en el código del Web Service es algo por fuera de esta presentación