ws-security, wse 3.0, wcf(indigo) césar de la torre software architect [microsoft mvp – connected...
TRANSCRIPT
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
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
¿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…
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
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
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
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
¿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
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
Windows Windows Communication Communication
FoundationFoundation
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
¿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
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
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’
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
Cliente Servicio
Clientes y ServiciosClientes y Servicios
Mensaje
Cliente Servicio
EndpointsEndpoints
EndpointEndpoint
Endpoint
EndpointMensaje
Servicio
CBA
CBA
Cliente
ABC:ABC: Address, Binding, Contract Address, Binding, Contract
ABC
Address¿Donde?
Contract¿Qué?
Binding¿Como?
EndpointEndpoint
CBAMensaje
Host
Cliente Servicio
Creación de EndpointsCreación de Endpoints
Channel Cliente
ABC CBA
CBA
CBAMensaje
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
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
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
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
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
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