Вы находитесь на странице: 1из 92

Web Services

Clase 3

Agenda


Introduccin
o

Web Services
o
o

Caractersticas
Tecnologas
 Bsicas
 Avanzados

REST
o
o

Definicin, historia y motivacin

Caractersticas
Tecnologas

Conclusiones
INCO - Facultad de Ingeniera Montevideo, Uruguay

Definicin


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 Webrelated standards.
o World Wide Web Consortium (W3C), 2006

INCO - Facultad de Ingeniera Montevideo, Uruguay

Evolucin Middleware

Semantic Management of Middleware. Ramesh Jain. Amit Sheth. Springer 2006.


INCO - Facultad de Ingeniera Montevideo, Uruguay

Web Services


El trmino Web Service nace


aproximadamente en el ao 2000 por
iniciativa de MS e IBM

Surgen como una necesidad de la industria


en las reas:
o
o

Enterprise Application Integration (EAI)


Business to Business (B2B)

INCO - Facultad de Ingeniera Montevideo, Uruguay

Motivacin (1)

INCO - Facultad de Ingeniera Montevideo, Uruguay

Motivacin (1)


Inters de atravesar los firewalls

Middlewares existentes no provean tales


caractersticas

INCO - Facultad de Ingeniera Montevideo, Uruguay

Motivacin (2)


Confianza entre empresas


o

Autonoma
o

es baja y a veces,
inexistente.
Las empresas desean ser
lo ms autnomas posibles
unas de otras

Confidencialidad
o

Las empresas no quieren


guardar sus datos y
transacciones en
middleware de terceros

INCO - Facultad de Ingeniera Montevideo, Uruguay

Sin embargo

INCO - Facultad de Ingeniera Montevideo, Uruguay

Problema


No es escalable

Suposicin falsa
o Una plataforma de integracin basada en middleware puede ser
centralizada, en donde todos los componentes (de diferentes
empresas) que integra confan en ella.

El surgimiento de las tecnologas Web y de protocolos de


comunicacin (HTTP) y formatos (primero HTML y luego XML)
estndares, posibilitaron la creacin de un middleware
convencional denominado Web Services, que posibilita la
integracin de aplicaciones en escenarios B2B

INCO - Facultad de Ingeniera Montevideo, Uruguay

10

B2B integration via WS

INCO - Facultad de Ingeniera Montevideo, Uruguay

11

WS & EAI

INCO - Facultad de Ingeniera Montevideo, Uruguay

12

WS & EAI


El objetivo principal de los Web Services es proveer


una forma sencilla de exponer los sistemas de
informacin de la empresa de una forma controlada y
estndar

De alcanzar este objetivo, los Web Services pueden


ser utilizados para posibilitar EAI entre empresas sin
la necesidad del uso de adaptadores especficos.

De esta forma, los Web Services permiten a los


clientes acceder a los sistemas de informacin
internos de la empresa de una forma estndar
INCO - Facultad de Ingeniera Montevideo, Uruguay

13

WS & EAI dentro de la


compaa

INCO - Facultad de Ingeniera Montevideo, Uruguay

14

WS & EAI dentro de la


compaa


Dentro de una empresa, los Web Services


permiten una integracin EAI sin la
necesidad de costosos adaptadores
o

Los Web Services toman el lugar de los


adaptadores
Ejemplo




Conectar aplicaciones .NET con JEE


Conectar aplicaciones .NET con Cobol

INCO - Facultad de Ingeniera Montevideo, Uruguay

15

Tipos de Web Services




Simples o de informacin
o
o

Operaciones de corta duracin


Patrn de comunicacin Request/Response


Pedido-Espera-Respuesta

Complejos o de procesos de negocios


o
o

Operaciones de larga duracin


Coordinacin de operaciones I/O

INCO - Facultad de Ingeniera Montevideo, Uruguay

16

Simples o de Informacin


Exponen las funcionalidades de negocios de


una aplicacin de forma estndar
o

Back End escritos en Java/EJB, VB, C#, C++,

Mecanismos de comunicacin sincrnicos


 Operaciones atmicas


o
o

Una nica operacin por request


No son transaccionales


Por ms que su backend si lo sea

Son stateless
o

No mantienen estado entre pedidos


INCO - Facultad de Ingeniera Montevideo, Uruguay

17

Complejos o procesos de negocios




Composicin de servicios simples para la


implementacin de procesos de negocios
o

P. ej: Procesos de compra

Coordinacin de operaciones
 Transacciones de larga duracin
 Mecanismos de comunicacin asincrnicos
 Servicios de alta granularidad
 Stateful


Mantienen el estado entre pedidos


INCO - Facultad de Ingeniera Montevideo, Uruguay

18

Tecnologas para
el desarrollo de
Web Services
SOAP, WSDL, UDDI

Web Services


Iniciativa de Microsoft e IBM en el ao 2000


para resolver necesidades de las reas EAI y
B2B

Resultado:
o
o

Primera generacin de Web Services


Un conjunto de estndares de comunicacin
basado en XML y tecnologas Web (http, tcp,
smtp, etc)
o

WSDL, SOAP, UDDI

INCO - Facultad de Ingeniera Montevideo, Uruguay

20

Requerimientos bsicos para


llevar a cabo una comunicacin


Sintaxis

Formato

Transporte

Interfaces
o

Definicin de operaciones y parametros I/O

Descubirimiento/Bsqueda

INCO - Facultad de Ingeniera Montevideo, Uruguay

21

Requerimientos bsicos para


llevar a cabo una comunicacin


Sintaxis
o

Formato
o

Tecnologas Web (http, smtp, etc)

Interfaces
o

SOAP

Transporte
o

XML

WSDL

Descubirimiento/Bsqueda
o

UDDI
INCO - Facultad de Ingeniera Montevideo, Uruguay

22

Cmo funciona?

INCO - Facultad de Ingeniera Montevideo, Uruguay

23

Simple Object Access


Protocol (SOAP)

SOAP


Estndar de la W3C que describe un formato


de mensaje (basado en XML) y mecanismos
para intercambiar informacin entre
aplicaciones, en un ambiente distribuido y
descentralizado.

Actualmente, se encuentra en la versin 1.2.

INCO - Facultad de Ingeniera Montevideo, Uruguay

25

SOAP


Provee una forma estndar de estructurar mensajes


utilizando XML

Define mecanismos para utilizar distintos protocolos de


transporte para el envo de mensajes

Especifica un modelo de procesamiento que indica cmo se


deben procesar los mensajes

Una forma de adjuntar datos no-XML a los mensajes.

INCO - Facultad de Ingeniera Montevideo, Uruguay

26

Mensaje SOAP

INCO - Facultad de Ingeniera Montevideo, Uruguay

27

Un ejemplo
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soapenvelope">
<env:Header>
<pns:qualityOfService xmlns:pns="http://example.org/qos">
<pns:priority>3</pns:priority>
<pns:timestamp>2004-02-25T01:00:00-03:00</pns:timestamp>
<pns:persist>true</pns:persist>
</pns:qualityOfService>
Header
</env:Header>
<env:Body>
<bmns:businessPO xmlns:env="http://example.org/po">
<bmns:description>Widgets</bmns:description>
<bmns:quantity>100</bmns:quantity>
<bmns:price>20.5</bmns:price>
</bmns:businessPO>
</env:Body>
Body
</env:Envelope>

Envelope
INCO - Facultad de Ingeniera Montevideo, Uruguay

28

Mensaje SOAP


La estructura bsica de un mensaje SOAP consiste


de un elemento Envelope el cual contiene
o
o

un elemento opcional Header


un elemento requerido Body
 que puede incluir un elemento Fault

El Envelope es el elemento raz de todo mensaje


SOAP e identifica un documento XML como un
mensaje SOAP

INCO - Facultad de Ingeniera Montevideo, Uruguay

29

Mensaje SOAP Header




El Header, de estar presente, debe ser el primer


elemento del Envelope

Provee un mecanismo de extensin que permite


incluir informacin extra en mensajes SOAP
(seguridad, transacciones, etc)

Puede contener varios header blocks que son una


forma de agrupar lgicamente la informacin

INCO - Facultad de Ingeniera Montevideo, Uruguay

30

Mensaje SOAP Header


... ... ...
<soap:Header>
<t:trans xmlns:t="http://........../transaction/"
soap:mustUnderstand="1">
<t:id>12345</t:id>
</t:trans>
<s:sec xmlns:m="http://........../security/"
soap:mustUnderstand="1">
<s:user>john</s:user>
<s:pass>1234</s:pass>
</s:sec>
</soap:Header>
... ... ...

INCO - Facultad de Ingeniera Montevideo, Uruguay

31

Mensaje SOAP Body




Contiene la informacin a ser intercambiada


entre el cliente y servicio

En el Body tpicamente se especifica:


o
o

una solicitud para efectuar cierta operacin


la respuesta a cierta solicitud que puede ser:



un resultado o
un error (fault)

INCO - Facultad de Ingeniera Montevideo, Uruguay

32

Mensaje SOAP Body


<soap:Body>
<t:Translate xmlns:t="http://....../translations">
<t:Word>red</t:Word>
</t:Translate>
</soap:Body>

<soap:Body>
<t:TranslateResponse
xmlns:t="http://....../translations">
<t:Translation>rojo</t:Translation>
</t:TranslateResponse>
</soap:Body>

INCO - Facultad de Ingeniera Montevideo, Uruguay

solicitud

resultado
33

Mensaje SOAP Fault




El elemento Fault indica la ocurrencia de un


error en el procesamiento del mensaje
o

Comprensin del mensaje




Infraestructura


Error de sintaxis
Error de red: HTTP 500 Internal Server Error

Negocio


No existe la cuenta con nmero X

INCO - Facultad de Ingeniera Montevideo, Uruguay

34

Mensaje SOAP Fault




Tiene 5 sub-elementos:
o
o
o
o
o

Code
Reason
Detail
Node (opcional)
Role (opcional)

INCO - Facultad de Ingeniera Montevideo, Uruguay

35

Ejemplo
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
m="http://www.plastics-suply.com/product-prices">
<env:Header/>
<env:Body>
<env:Fault>
<env:Code>
<env:Value>env:Sender</env:Value>
<env:Subcode>
<env:Value>m:InvalidPurchaseOrder</env:Value>
</env:Subcode>
</env:Code>
<env:Reason>
<env:Text xml:lang="en-UK">
Specified product did not exist
</env:Text>
<env:Text xml:lang="es">
El producto solicitado no existe
</env:Text>
</env:Reason>
</env:Fault>
</env:Body>
</env:Envelope>
INCO - Facultad de Ingeniera Montevideo, Uruguay

36

Procesamiento de Mensajes


En el modelo SOAP pueden existir varios nodos


intermediarios que procesan los mensajes

Usos comunes: auditora, compresin, seguridad,


etc.

http://www14.informatik.tu-muenchen.de/konferenzen/Jass05/courses/6/Papers/10.pdf
INCO - Facultad de Ingeniera Montevideo, Uruguay

37

Procesamiento de Mensajes


Los header blocks pueden incluir informacin que


especifique para qu rol est destinado el bloque
(atributo role)

SOAP define tres posibles valores para dicho


atributo: none, ultimateReceiver y next

SOAP no incluye un mecanismo para especificar la


ruta que debe seguir un mensaje SOAP hasta llegar
al WS destino
INCO - Facultad de Ingeniera Montevideo, Uruguay

38

Transporte de Mensajes


SOAP no impone el uso de un determinado


protocolo para el intercambio de mensajes

A travs del concepto de binding SOAP


permite especificar:
o

cmo los mensajes SOAP se encapsulan en un


protocolo de transporte
cmo los mensajes SOAP deben ser tratados con
las primitivas del protocolo
INCO - Facultad de Ingeniera Montevideo, Uruguay

39

SOAP Bindings


En el estndar SOAP se incluye la especificacin de


un bindings para los protocolos http y smtp

Se dan un conjunto de reglas para definir nuevos


bindings
o

Binding JMS (estndar)


 http://www.w3.org/TR/soapjms/
Binding TCP (propietario)
 http://blogs.sun.com/oleksiys/entry/soap_tcp_makes_web
_services

INCO - Facultad de Ingeniera Montevideo, Uruguay

40

SOAP Bindings

INCO - Facultad de Ingeniera Montevideo, Uruguay

41

Implementacin simple sobre http

INCO - Facultad de Ingeniera Montevideo, Uruguay

42

Web Service
Description Language
(WSDL)

WSDL


Estndar de la W3C que define un lenguaje


basado en XML que permite describir la
interfaz, formas de acceso y ubicacin de un
Web Service

Actualmente, en versin 2.0

INCO - Facultad de Ingeniera Montevideo, Uruguay

44

Para qu sirve?






Dnde est ubicado el servicio?


Qu operaciones tiene?
Qu mensajes de entrada/salida recibe/responde?
Cul es la estructura de los mensajes?
Qu protocolos de transporte hay que usar
(bindings)?

Un documento WSDL se divide en dos partes:


o
o

descripcin abstracta
descripcin concreta

INCO - Facultad de Ingeniera Montevideo, Uruguay

45

WSDL Descripcin Abstracta


La descripcin abstracta describe de forma
general la estructura de la interfaz del Web
Service, que incluye operaciones,
parmetros y tipos de datos abstractos
 Los cuatro elementos XML que componen la
descripcin abstracta son:


o
o
o

<wsdl:types>
<wsdl:message>
<wsdl:portType>


<wsdl:operation>

INCO - Facultad de Ingeniera Montevideo, Uruguay

46

WSDL types


El elemento types encapsula todas las


definiciones abstractas de tipos de datos

<wsdl:types>
<xsd:schema
targetNamespace=http://..../weatherService/wsdl
xmlns:xsd=http://www.w3.org/2001/XMLSchema>
<xsd:element name=City
type=xsd:string/>
<xsd:element name=Country
type=xsd:string/>
</schema>
<wsdl:types>

INCO - Facultad de Ingeniera Montevideo, Uruguay

47

WSDL messages


El elemento messages representa de forma


abstracta los parmetros de entrada y salida
para una operacin

<message name="getWeatherIn">
<part name=CityIn element=tns:City"/>
<part name=CountryIn element=tns:Country"/>
</message>

INCO - Facultad de Ingeniera Montevideo, Uruguay

48

WSDL portType


El elemento portType es el contenedor de


todas las operaciones abstractas y describe
una interfaz especfica del servicio

<portType name=getWeatherPortType">
<operation name="getWeather">
<input message="getWeatherIn"/>
<output message="getWeatherOut"/>
</operation>
</portType>

INCO - Facultad de Ingeniera Montevideo, Uruguay

49

WSDL Descripcin Concreta


La descripcin concreta asocia a una
descripcin abstracta una direccin de red
concreta, un protocolo de comunicacin y
estructuras de datos concretas
 Los tres elementos XML que componen la
descripcin concreta son:


o
o

<wsdl:binding>
<wsdl:service>


<wsdl:port>

INCO - Facultad de Ingeniera Montevideo, Uruguay

50

WSDL binding


Este elemento asocia un portType, y sus


mensajes y operaciones, a un protocolo de
transporte y un formato de mensaje

<binding name=weatherServiceSoapBinding
type=getWeatherPortType >
<soap:binding style=rpc transport=http/>
<operation name=getWeather>
<input soap:body use=encoded/>
<output soap:body use=encoded/>
</operation>
</binding>

INCO - Facultad de Ingeniera Montevideo, Uruguay

51

WSDL service y port


El elemento port especifica la direccin de
red para un determinado binding
 El elemento service es un contenedor de
elementos port


<service name=WeatherService>
<port name=weatherServicePort
type=tns:weatherServiceSoapBinding>
<soap:address
location=http://.../weather//>
</port>
</service>

INCO - Facultad de Ingeniera Montevideo, Uruguay

52

Cmo lo uso?

Proporcionado por plataformas de desarrollo


INCO - Facultad de Ingeniera Montevideo, Uruguay

53

Jugar con WS


Seekda
o

.NET
o
o

http://webservices.seekda.com/providers/webserv
icex.com/GlobalWeather
Getting Started Tutorial
http://msdn.microsoft.com/enus/library/ms734712.aspx

JBoss
o

http://community.jboss.org/wiki/JBossWSUserGuide
INCO - Facultad de Ingeniera Montevideo, Uruguay

54

Universal Description,
Discovery and
Integration (UDDI)

UDDI


Estndar de la OASIS que provee una forma


estndar de publicar, categorizar y buscar Web
Services

UDDI define
o

Un directorio y un modelo de datos para almacenar


informacin de servicios y negocios
tres interfaces para utilizar el registro UDDI
 Inquiry (Bsqueda de servicios)
 Publish (Publicacin de servicios)
 Subscribe (Notificacin de cambios)
INCO - Facultad de Ingeniera Montevideo, Uruguay

56

Registro UDDI


El registro de un negocio en UDDI tiene tres


partes:
o

Pginas blancas - direccin, contacto y otros


identificadores conocidos.
Pginas amarillas - categorizacin industrial
basada en taxonomas.
Pginas verdes - informacin tcnica sobre los
servicios que aportan las propias empresas.

INCO - Facultad de Ingeniera Montevideo, Uruguay

57

Registro UDDI


El esquema original de classificacin de


UDDI estaba basado en una taxonoma de
negocios del gobierno de US

Las versiones recientes de UDDI tienen


soporte para la definicin de taxonomas
personalizadas

INCO - Facultad de Ingeniera Montevideo, Uruguay

58

Modelo de Datos UDDI

Developing Java Web Services. Ramesh Nagappan, Robert Skoczylas, Rima Patel Sriganesh. Wiley Publishing. 2003.
INCO - Facultad de Ingeniera Montevideo, Uruguay

59

Interfaces UDDI


El estndar UDDI define interfaces que


pueden ser utilizadas, por proveedores y
consumidores de Web Services

Dichas interfaces estn descriptas utilizando


WSDL y pueden ser accedidas a travs de
mensajes SOAP sobre HTTP

INCO - Facultad de Ingeniera Montevideo, Uruguay

60

Interfaces UDDI


Interfaz de Publicacin (publish)


o

Un proveedor de Web Services utiliza esta interfaz para


publicar, actualizar o eliminar informacin en el registro
UDDI
Dos tipos de operaciones: save y delete

Interfaz de Bsqueda (inquiry)


o

Un consumidor de Web Services utiliza esta interfaz para


buscar Web Services, proveedores de Web Services e
informacin de los mismos
Dos tipos de operaciones: find y get
INCO - Facultad de Ingeniera Montevideo, Uruguay

61

Interfaces UDDI: Subscripcin




Objetivo: proveer un mecanismo a los clientes, para


recibir informacin concerniente a los cambios que
se realizan en el registro UDDI

Dos mecanismos de comunicacin


o

Sincrnico
 Operacin getSubscriptionResults
Asincrnico
 Va mail o Web Services SOAP
 Clientes pueden implementar la operacin
notify_subscriptionListener
INCO - Facultad de Ingeniera Montevideo, Uruguay

62

Resumen


SOAP
o

WSDL
o
o

Define el formato y transporte de los mensajes


Describe las interfaces de los servicios
Describe operaciones, mensajes, estructuras de datos,
protocolos de transporte, etc

UDDI
o
o
o

Permite el desarrollo de directorios de Web Services


Clasificacin de servicios por parte de proveedores
Bsqueda de servicios por clientes/consumidores

INCO - Facultad de Ingeniera Montevideo, Uruguay

63

Limitaciones


Serializacin a SOAP

Descripcin de caractersticas no funcionales


en un WSDL

Seguridad? Transacciones? Mensajera?


o

Los Web Services bsicos no proveen soluciones


a este tipo de requerimientos empresariales

INCO - Facultad de Ingeniera Montevideo, Uruguay

64

Tecnologas avanzadas
para el desarrollo
de Web Services

Estndares Avanzados de WS


Los estndares bsicos no abordan problemticas


comunes en contextos empresariales
o

Confiabilidad, seguridad, transacciones, etc.

Surgen entonces un conjunto de nuevas


especificaciones (conocidas como WS-* o segunda
generacin de estndares )

Cada una aborda una problemtica especfica y


estn orientadas a bloques y a su composicin
INCO - Facultad de Ingeniera Montevideo, Uruguay

66

Estndares Avanzados de WS

http://www.innoq.com/soa/ws-standards/poster/
INCO - Facultad de Ingeniera Montevideo, Uruguay

67

Segunda Generacin de
Estndares para WS

INCO - Facultad de Ingeniera Montevideo, Uruguay

68

Conceptos bsicos
en Seguridad
Confidencialidad, integridad,
autenticacin y no repudio

Introduccin


Algunos requerimientos empresariales


en seguridad
o
o
o
o

Confidencialidad de la informacin
Integridad de la informacin
Autenticacin de usuarios
No repudio

INCO - Facultad de Ingeniera Montevideo, Uruguay

70

Confidencialidad


Cifrado simtrico

Cifrado asimtrico

INCO - Facultad de Ingeniera Montevideo, Uruguay

71

Cifrado simtrico


Es la forma tradicional de la criptografa


o Su origen conocido se remonta al menos a la poca de los
romanos
Los algoritmos simtricos utilizan la misma clave para encriptar y
desencriptar la informacin
o Dk(Ek(x)) = x

A la clave se le denomina clave secreta, Llave secreta,


secreto compartido (Secret-Key o shared key en ingls)

Requieren una comunicacin previa de la clave entre las


entidades participantes de forma segura (secreta)

INCO - Facultad de Ingeniera Montevideo, Uruguay

72

Ejemplo: Cifrado Csar





Data de la poca de Julio Csar (siglo I A. C.)


Es un tipo de cifrado por sustitucin en el que una
letra en el texto original es reemplazada por otra
letra que se encuentra un nmero fijo de posiciones
ms adelante en el alfabeto.
Ejemplo:
Texto original: WIKIPEDIA, LA ENCICLOPEDIA LIBRE
Texto codificado: CPVKJG, QG KSIIQUVKJG
QHXK

INCO - Facultad de Ingeniera Montevideo, Uruguay

73

Cifrado asimtrico


Los mtodos asimtricos, conocidos como de clave


pblica, se basan en encontrar un criptosistema
donde se tienen dos claves distintas para encriptar
y desencriptar, y es computacionalmente imposible
obtener la clave de descifrado (dk) a partir de la
clave de cifrado(ek) (o viceversa)

De esa forma, una de las claves puede ser hecha


pblica

INCO - Facultad de Ingeniera Montevideo, Uruguay

74

Cifrado asimtrico

INCO - Facultad de Ingeniera Montevideo, Uruguay

75

Firma digital


Las firmas digitales


permiten al receptor de
la informacin verificar
o

La autenticidad del
origen de la informacin
Que la informacin est
intacta

INCO - Facultad de Ingeniera Montevideo, Uruguay

76

Firma digital


En muchos sistemas prcticos, se utiliza


criptografa asimtrica
o

Si encriptamos mensaje con la clave privada,


alcanza con verificar que es desencriptado
correctamente con la clave pblica

Los algoritmos asimtricos son lentos


o

Se encripta un hash del mensaje con la clave


privada
INCO - Facultad de Ingeniera Montevideo, Uruguay

77

No repudio


Servicio de seguridad que previene que un


emisor niegue haber remitido un mensaje
(cuando realmente lo ha emitido) y que un
receptor niegue su recepcin (cuando
realmente lo ha recibido).

En el primer caso el no repudio se denomina


en origen y en el segundo en destino.
[Ribagorda:1997]
INCO - Facultad de Ingeniera Montevideo, Uruguay

78

Seguridad en WS

Introduccin


Dos alternativas para proveer seguridad


entre Web Services:
o

Seguridad en Capa de Transporte (SSL/TLS)




Seguridad provista por el canal de comunicacin

Seguridad a nivel de Mensaje SOAP




Seguridad incluida en el propio mensaje

INCO - Facultad de Ingeniera Montevideo, Uruguay

80

Seguridad en Capa de
Transporte (SSL/TLS)
Opcin estndar
 Garantiza la autenticacin de usuarios, as
como la integridad y confidencialidad de la
informacin.
 Permite establecimiento de sesiones seguras
 Transparente a las aplicaciones
 Soportado por varios proveedores
 Tecnologa conocida y madura


INCO - Facultad de Ingeniera Montevideo, Uruguay

81

Seguridad en Capa de
Transporte (SSL/TLS)

SSL & TLS Essentials: Securing the Web. Stephen A. Thomas. John Wiley & Sons. 2000.
INCO - Facultad de Ingeniera Montevideo, Uruguay

82

Sin embargo

HTTP

INCO - Facultad de Ingeniera Montevideo, Uruguay

83

Sin embargo


Cifrado y firmado de mensajes punto a punto


o

Intermediarios pueden dejar huecos de


seguridad

Autenticacin de usuarios punto a punto


o

Autenticacin del usuarios trabajosa si hay


intermediarios

Cifrado de todo el mensaje


 Dependiente del protocolo de transporte


INCO - Facultad de Ingeniera Montevideo, Uruguay

84

Seguridad a nivel de mensaje




Toda la informacin de seguridad es


encapsulada en el propio mensaje

Estndares que dan soporte a este


mecanismo:
o
o
o

WS-Security
WS-SecureConversation
WS-Trust

INCO - Facultad de Ingeniera Montevideo, Uruguay

85

WS-Security
Seguridad a nivel de mensaje, no transporte
 Garantiza la confidencialidad e integridad de
los mensajes SOAP
 Brinda mecanismos para adjuntar tokens de
seguridad a los mensajes SOAP


o
o

Usuario/Password, certificados X.509, etc


Permite la autenticacin de usuarios!

Es un estndar
INCO - Facultad de Ingeniera Montevideo, Uruguay

86

<envelope>

Escenario:
<header>
Security Token

Deposito
en cuenta bancaria
<security>
<envelope>
<binarysecuritytoken></binarysecuritytoken>
<header>
Mensajes SOAP
encriptados y
<signature></signature>
firmados va certificados
X.509

</security>
Servicio y cliente
autenticados
</header>
</header>
va certificados
X.509

Firma

<body>
<body>
<depositar>
<depositar>
<cuenta>123459</cuenta>
<EncryptedData><CipherData>
<monto>100.000</monto>
<CipherValue>A23B45C56</CipherValue>
<moneda>pesos-uy</moneda>
</CipherData></EncryptedData>
<fecha>09-03-2009</fecha>
<fecha>09-03-2009</fecha>
</depositar>
</depositar>
</body>
Certificado del
</body>

cliente
</envelope>
</envelope>

INCO - Facultad de Ingeniera Montevideo, Uruguay

Certificado
Cifrado del
servicio
87

WS+SSL vs WS-Security
Caractersticas

WS+SSL

WS-Security

Estndar

Seguridad

A nivel de transporte

A nivel de applicacin

Confidencialidad

Todo el mensaje.

Todo o partes del mensaje

Autenticacin de
clientes

X.509

Usuario/Passwd, X.509,
Kerberos, SAML.

Protocolo

Potencialmente varios.
HTTP el ms popular.

Potencialmente varios.
HTTP el ms popular.

Algoritmos de
cifrado

Simtricos

Simtricos y asimtricos
En gral, asimtrico

Sesiones seguras

No, pero
WS-SecureConversation

INCO - Facultad de Ingeniera Montevideo, Uruguay

88

Costos: Performance

http://www.ibm.com/developerworks/java/library/j-jws6/index.html
INCO - Facultad de Ingeniera Montevideo, Uruguay

89

Sin embargo


Small responses

INCO - Facultad de Ingeniera Montevideo, Uruguay

90

Large responses

http://www.ibm.com/developerworks/java/library/j-jws14/index.html
INCO - Facultad de Ingeniera Montevideo, Uruguay

91

Fin

Вам также может понравиться