25
WS-Security, WSE 3.0, WS-Security, WSE 3.0, WCF(Indigo) WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento www.renacimiento.com Seguridad en Aplicaciones Seguridad en Aplicaciones Distribuidas Distribuidas

WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Embed Size (px)

Citation preview

Page 1: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

WS-Security, WSE 3.0, WS-Security, WSE 3.0, WCF(Indigo)WCF(Indigo)

César de la TorreSoftware Architect[Microsoft MVP – Connected Systems][MCSE] [MCT]

Renacimientowww.renacimiento.com

Seguridad en Aplicaciones Seguridad en Aplicaciones DistribuidasDistribuidas

Page 2: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

AgendaAgenda

WS-* y WS-SecurityWS-* y WS-Security

WSE 3.0 – WSE 3.0 – Introducción y SeguridadIntroducción y Seguridad

WCF(Indigo) – WCF(Indigo) – Introducción y SeguridadIntroducción y Seguridad

Page 3: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

¿Son suficientes los WS Básicos ¿Son suficientes los WS Básicos (Basic Profile)?(Basic Profile)?

Los WS básicos (XSD, SOAP, WSDL, Los WS básicos (XSD, SOAP, WSDL, UDDI) consiguen una comunicación UDDI) consiguen una comunicación básicabásica

Proporcionan intercambio básico de Proporcionan intercambio básico de mensajes XMLmensajes XML

Interconexión de sistemas heterogéneosInterconexión de sistemas heterogéneos

La compartición de esquemas permite La compartición de esquemas permite mayores abstraccionesmayores abstracciones

PERO, la mayoría de las aplicaciones PERO, la mayoría de las aplicaciones distribuidas necesitan MAS…distribuidas necesitan MAS…

Page 4: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Temas Pendientes AbiertosTemas Pendientes Abiertos

SOA y Aplicaciones Distribuidas tienen SOA y Aplicaciones Distribuidas tienen muchas otras necesidades:muchas otras necesidades:

Modelo de Modelo de seguridad ‘orientado a seguridad ‘orientado a mensajes’mensajes’

Mensajería estable y confiableMensajería estable y confiable

Soporte de Transacciones (entre Soporte de Transacciones (entre Servicios-Web)Servicios-Web)

Mecanismos de Direccionamiento y RuteoMecanismos de Direccionamiento y Ruteo

Mensajería AsíncronaMensajería Asíncrona

Metadatos para ‘Políticas’ de Servicios-Metadatos para ‘Políticas’ de Servicios-WebWeb

Soporte para datos binariosSoporte para datos binarios

Page 5: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

WS-* WS-* Son las Son las ESPECIFICACIONESESPECIFICACIONES ESTANDARD ESTANDARD (teoría, normas y especificaciones SOAP (teoría, normas y especificaciones SOAP para aspectos avnazados) que están para aspectos avnazados) que están siendo definidas por múltiples siendo definidas por múltiples fabricantesfabricantes

- Microsoft, IBM, HP, Fujitsu, BEA, - Microsoft, IBM, HP, Fujitsu, BEA, VeriSign, SUN, Oracle, CA, Nokia, VeriSign, SUN, Oracle, CA, Nokia, CommerceOne, Documentum, TIBCO, CommerceOne, Documentum, TIBCO, etc.etc.

Especificaciones disponibles en:Especificaciones disponibles en:

http://http://www.oasiswww.oasis--open.orgopen.org

Page 6: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

WS-* : Pila de ProtocolosWS-* : Pila de Protocolos

PlataformaPlataformaBaseBase

Aplicaciones eAplicaciones eInraestructura Inraestructura

de Aplicacionesde Aplicaciones

TransportesTransportes

Aplicaciones Aplicaciones ConectadasConectadas GestiónGestión Procesos Procesos

de Negociode Negocio……

SeguridadSeguridad ConfiabilidadConfiabilidad TransaccionesTransacciones

MensajeríaMensajería

XMLXML

Met

adat

os

Met

adat

os

HTTPHTTP TCPTCP SMTPSMTP ……

WS-SecurityWS-Security

WS-TrustWS-Trust

WS-SecureConversationWS-SecureConversation

Page 7: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Necesidades Necesidades SeguridadSeguridadServicios-Web intra ó inter organizacionalesServicios-Web intra ó inter organizacionalesNecesitamos:Necesitamos:

Autenticación, integridad de mensajes, Autenticación, integridad de mensajes, privacidad, confidencialidad, confianza yprivacidad, confidencialidad, confianza yFederación de seguridad entre Federación de seguridad entre organizacionesorganizaciones

Seguridad en Servicios WebSeguridad en Servicios WebSecurizar los mensajesSecurizar los mensajesSoportar varias tecnologías criptográficasSoportar varias tecnologías criptográficas

Conversaciones SegurasConversaciones SegurasSecurizar un intercambio contínuo de Securizar un intercambio contínuo de mensajesmensajes

ConfianzaConfianzaExtender relaciones de confianza a lo largo Extender relaciones de confianza a lo largo de servicios distribuidosde servicios distribuidos

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 8: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

¿Qué es WSE? ¿Qué es WSE? (Web Services Enhancements 1.0, 2.0 y 3.0)(Web Services Enhancements 1.0, 2.0 y 3.0)

Implementación de Microsoft para Implementación de Microsoft para Servicios Web Avanzados que Servicios Web Avanzados que proporciona algunas de las proporciona algunas de las especificaciones WS-*especificaciones WS-*

VersionesVersionesWSE 1.0 y 2.0 se integran con VS.2003 WSE 1.0 y 2.0 se integran con VS.2003 (1.x)(1.x)

WSE 3.0 se integra con VS.2005 (2.0)WSE 3.0 se integra con VS.2005 (2.0)

Focalizado en Focalizado en SeguridadSeguridad

Modelo de programación y seguridad Modelo de programación y seguridad basada en basada en mensajes SOAPmensajes SOAP

Page 9: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Securización de Servicio-Securización de Servicio-Web con WSE 3.0:Web con WSE 3.0:

- Token ej.: Usuario-Pwd- Token ej.: Usuario-Pwd- Firma y Cifrado- Firma y Cifrado

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 10: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Windows Windows Communication Communication

FoundationFoundation

Page 11: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Nueva Generación Tecnologías Base de Windows

Revolución Revolución Interfaz GráficoInterfaz Gráfico Aplic.Aplic.

Basado en Basado en VectoresVectores

Independiente deIndependiente de

resoluciónresolución

Interfaces 3DInterfaces 3D

Windows Windows Communication Communication

FoundationFoundation

Servicios Web Servicios Web segurosseguros

Aplic. Distribuidas Aplic. Distribuidas TransaccionalesTransaccionales y y ConfiablesConfiables

Interoperabilidad Interoperabilidad con protocolos con protocolos WS-*WS-*

Cualquier Cualquier TransporteTransporte

Cualquier Cualquier HostHost

Motor base para Motor base para WorkflowsWorkflows

Workflows Workflows ‘programa’ y ‘programa’ y ‘humano’‘humano’

Aplicaciones Aplicaciones CompuestasCompuestas

Windows Windows Presentation Presentation FoundationFoundation

Windows Workflow Windows Workflow Foundation Foundation

Page 12: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

¿Qué es WCF? (Indigo)¿Qué es WCF? (Indigo)

Unifica las tecnologías distribuidas de Unifica las tecnologías distribuidas de MicrosoftMicrosoftFuncionalidad Funcionalidad Desacoplada/ComponentizadaDesacoplada/ComponentizadaPara maquina-local, intranet, e InternetPara maquina-local, intranet, e Internet

““El modelo El modelo unificadounificado de programación para de programación para aplicaciones distribuidas/SOA sobre aplicaciones distribuidas/SOA sobre plataforma Windows”plataforma Windows”

Interoperabilidad con WS-* para otras Interoperabilidad con WS-* para otras plataformas (Java, etc.)plataformas (Java, etc.)Interoperabilidad con tecnologías actuales Interoperabilidad con tecnologías actuales de Microsoftde Microsoft

UnificaciónUnificación

InteroperabilidaInteroperabilidadd

Desarrollo Orientado a ServiciosDesarrollo Orientado a ServiciosSoporta los ‘4 tenets’ de SOASoporta los ‘4 tenets’ de SOA

DesarrolloDesarrolloSOASOA

Page 13: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Unión de los Unión de los stacksstacks actuales actuales

ProtocolosProtocolosWS-*WS-*

ProgramaciónProgramaciónOrientada aOrientada a

ServiciosServicios

ProgramaciónProgramaciónbasada enbasada enatributosatributos

ProgramaciónProgramaciónOrientada aOrientada aMensajesMensajes

ExtensibilidadExtensibilidad

Page 14: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Los 4 principios de Los 4 principios de SOASOA(‘The 4 Tenets of SOA’)(‘The 4 Tenets of SOA’)

Las Las fronterasfronteras de los Servicios deben de los Servicios deben ser ser explícitasexplícitas

Los Servicios deben ser Los Servicios deben ser AutónomosAutónomos

Los Servicios deben Los Servicios deben compartircompartir Esquemas y ContratosEsquemas y Contratos, no Clases y , no Clases y TiposTipos

La La CompatibilidadCompatibilidad se basa en se basa en PolíticasPolíticas

ServiciosServiciosNo ya ‘Servicios-Web’No ya ‘Servicios-Web’

Page 15: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

AplicaciónAplicación

Service ModelService Model

MessagingMessaging

Hosting Hosting EnvironmentsEnvironments IISIISIISIIS AvalonAvalonAvalonAvalon WinFormWinFormWinFormWinForm NT ServiceNT ServiceNT ServiceNT Service COM+COM+COM+COM+

TCPTCPChannelChannel

TCPTCPChannelChannel

HTTPHTTPChannelChannel

HTTPHTTPChannelChannel

QueueQueueChannelChannelQueueQueue

ChannelChannel

SecureChannelSecure

ChannelReliableReliableChannelChannelReliableReliableChannelChannel

Instance Instance BehaviorBehaviorInstance Instance BehaviorBehavior

Throttling Throttling BehaviorBehavior

Throttling Throttling BehaviorBehavior

Type Integ. Type Integ. BehaviorBehavior

Type Integ. Type Integ. BehaviorBehavior

TransactionTransactionBehaviorBehavior

TransactionTransactionBehaviorBehavior

ConcurrencyConcurrencyBehaviorBehavior

ConcurrencyConcurrencyBehaviorBehavior

ErrorErrorBehaviorBehavior

ErrorErrorBehaviorBehavior

MetadataMetadataBehaviorBehaviorMetadataMetadataBehaviorBehavior

BinaryBinaryEncoderEncoderBinaryBinary

EncoderEncoder

Text/XMLText/XMLEncoderEncoder

Text/XMLText/XMLEncoderEncoder

…………

……

…………

Arquitectura Arquitectura WCF(Indigo)WCF(Indigo)

WASWASWASWAS

Behaviors (Behaviors (atributosatributos))

Bindings (Bindings (configconfig))

Service & Data ContractsService & Data Contracts

Page 16: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Cliente Servicio

Clientes y ServiciosClientes y Servicios

Mensaje

Page 17: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Cliente Servicio

EndpointsEndpoints

EndpointEndpoint

Endpoint

EndpointMensaje

Page 18: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Servicio

CBA

CBA

Cliente

ABC:ABC: Address, Binding, Contract Address, Binding, Contract

ABC

Address¿Donde?

Contract¿Qué?

Binding¿Como?

EndpointEndpoint

CBAMensaje

Page 19: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Host

Cliente Servicio

Creación de EndpointsCreación de Endpoints

Channel Cliente

ABC CBA

CBA

CBAMensaje

Page 20: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Creación de un Servicio WCF Creación de un Servicio WCF de tipo básico de tipo básico (basicHttpBinding) (basicHttpBinding)

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 21: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Capa Modelo de ServicioCapa Modelo de Servicio Capa MensajeríaCapa Mensajería

BehaviorsBehaviors ChannelsChannels

Transaction Behavior

CLR Type Integration

Instancing Behavior

SecurityChannel

HTTP Transport

Custom Channel

Reliable Messaging

Queue Transport

MSMQ Integration

TCP Transport

Named Pipes

Throttling Behavior

Error Handling Behavior

Concurrency Behavior

Metadata Behavior

Custom Behavior

HTTP Transport

TCP Transport

SecurityChannel

Custom Channel

Reliable Messaging

CLR Type Integration

Instancing Behavior

Transaction Behavior

Desacoplamiento en Desacoplamiento en ServiciosServicios

Page 22: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

BindingsBindings estandard en WCF estandard en WCF

Inte

ropera

bilid

aIn

tero

pera

bilid

add S

eg

urid

ad

Seg

urid

ad

Sesio

nS

esio

n

Tra

nsa

ccion

es

Tra

nsa

ccion

es

Du

ple

xD

up

lex

Stre

am

ing

Stre

am

ing

BasicHttpBindingBasicHttpBinding BP BP 1.11.1

TT

WsHttpBindingWsHttpBinding WS-*WS-* T | T | SS XX XX

WsDualHttpBindingWsDualHttpBinding WS-*WS-* T | T | SS XX XX XX

NetTcpBindingNetTcpBinding .NET.NET T | T | SS XX XX XX UUNetNamedPipesBindingNetNamedPipesBinding .NET.NET T | T | SS XX XX XX UUNetMsmqBindingNetMsmqBinding .NET.NET T | T | SS XX XX

NetPeerTcpBindingNetPeerTcpBinding .NET.NET T | T | SS XXT = Transporte-SeguridadT = Transporte-Seguridad|| SS = = WS-SecurityWS-Security | O = Un-Sentido Solo | O = Un-Sentido Solo

Page 23: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

Securización de un Servicio Securización de un Servicio WCF WCF (WsHttpBinding) (WsHttpBinding) (con token InfoCard) (con token InfoCard)

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

SecuritySecurity ReliableMessagingReliable

Messaging TransactionsTransactions

Messaging Messaging

Meta

data

Meta

data

XMLXML

Seguridad MensajeríaConfiable

Transacciones

Mensajería

XML

Meta

dato

s

Page 24: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

ConclusionesConclusiones

Importancia de subir de nivel la Seguridad en los Servicios

Nivel de Mensajes mas flexible que a nivel de protocolo (SSL, etc.)

TecnologíasTecnologíasWSE 3.0 ahora mismo (Mayo 2006)WSE 3.0 ahora mismo (Mayo 2006)

WCF(Indigo) finales 2006WCF(Indigo) finales 2006

Importancia de los principios SOAImportancia de los principios SOA

Page 25: WS-Security, WSE 3.0, WCF(Indigo) César de la Torre Software Architect [Microsoft MVP – Connected Systems] [MCSE] [MCT] Renacimiento

César de la TorreCésar de la TorreSoftware ArchitectSoftware Architect[Microsoft MVP - Connected [Microsoft MVP - Connected Systems]Systems][MCSE] [MCT][MCSE] [MCT][email protected]@renacimiento.comRenacimientoRenacimiento

ContactoContacto- Consultoría- Consultoría- Proyectos- Proyectos- Formación- Formación

SOPORTE como MVP en NEWS SOPORTE como MVP en NEWS publicas:publicas:

msnews.microsoft.commsnews.microsoft.com

microsoft.public.es.servicios.webmicrosoft.public.es.servicios.web