Está en la página 1de 18

Modelo de gestin de servicios PKI basado en una arquitectura

orientada a servicios
Diana Carolina Valbuena Pabn
e-mail: d.valbuena@javeriana.edu.co
Edgar Hernn Lpez Crdenas
e-mail: edgar.lopez@javeriana.edu.co
Febrero 24 de 2006

Resumen
Este artculo tiene como objetivo
profundizar
y
aclarar
algunos
conceptos inmersos en los principales
temas de investigacin de nuestro
trabajo de grado, como lo son
Servicios Web (Web Services) ,
Arquitectura Orientada a Servicios
(Service Oriented Architecture o SOA)
e Infraestructura de Llaves Pblicas
(Public Key Infrastructure o PKI). As
mismo se pretende visualizar el estado
actual de estas nociones que han
causado revuelo en el campo de la
tecnologa, conociendo las tendencias,
productos, estndares y esfuerzos
realizados
por
diferentes
organizaciones de la industria, en pro
de la evolucin e implementacin de
estas concepciones.
Palabras Clave
Public Key Infrastructure (PKI), Firma
Digital,
criptografa
de
clave
pblica/asimtrica, Certificado Digital,
Web
Services,
SOA,
SOAP,
Componente, W3C, WSDL, UDDI.

1.

Introduccin

Hoy en da es comn or acerca de


temas como PKI, Web Services y

SOA. Estos conceptos prometen


facilitar
y
solucionar
varias
necesidades de las organizaciones en
cuanto
a
interoperabilidad,
flexibilidad, reutilizacin, seguridad e
integracin de aplicaciones, pero
llevar esto a la prctica no es tan
trivial.
SOA, por un lado, est cambiando la
forma en la que interoperan las
organizaciones a nivel interno y
externo. Esta tendencia conduce a
sistemas de informacin conectados e
integrados a travs de la infraestructura
que proporciona Internet, e introduce
un
nuevo
entorno
donde
la
funcionalidad de las aplicaciones se
ofrece y accede como servicio. Al
realizar cada servicio una tarea bien
definida, se tiene una baja dependencia
entre componentes de software que
interactan entre si, lo cual permite
dotar de flexibilidad la infraestructura
tecnolgica de un negocio, para que
pueda responder a los cambios
organizacionales u operacionales que
traiga
consigo
la
constante
transformacin del entorno en el que
se desenvuelve.
Cualquier tecnologa basada en
servicios se puede utilizar para

implementar SOA. Al ser esta una


filosofa o enfoque de arquitectura,
donde todas las actividades o procesos
estn diseados para ofrecer un
servicio, no especifica un protocolo
especfico a travs del cual deban
ofrecerse dichos servicios. CORBA
(Common Object Request Broker
Architecture), DCOM (Distributed
Complement Object Model), RMI
(Remote Method Invocation), ICE
(Internet Communications Engine),
EJB (Enterprise JavaBeans), MQSeries
(hoy WebSphere) de IBM, ESB
(Enterprise Service Bus), JMS (Java
Messaging Service) y Web Services
son algunas de las propuestas
existentes para implementar SOA.
De todos estos, Web Services se
postula como
la tecnologa ms
comn para posibilitar arquitecturas
orientadas a servicios, ya que se apoya
en estndares, permite la integracin
de los procesos de negocio y
proporciona interoperabilidad al ser
independiente
de
plataformas,
protocolos
y
lenguajes
de
implementacin.
Por otro lado, la necesidad de ofrecer
un entorno confiable para el
intercambio de informacin en red,
hace que PKI se convierta en una
alternativa a evaluar por las
organizaciones para cumplir con este
proposito.
Comercio
electrnico
seguro, comunicaciones confidenciales
y transacciones fiables son posibles
con PKI, desafortunadamente las
organizaciones enfrentan muchos
problemas a la hora de adoptar este
tipo de solucin pues es una tecnologa
costosa,
tiene
problemas
de
interoperabilidad y escalabilidad y

resulta complicada para los usuarios


finales.
Por lo tanto, a pesar de que en teora
son varias las utilidades y beneficios
que traen consigo SOA y PKI, la
implementacin de esto en una
organizacin es una tarea laboriosa:
implica
esfuerzo
econmico,
operativo, administrativo y cambios en
la cultura organizacional.
La realidad de las organizaciones es
que, aunque quieran estar actualizadas
y sacar provecho de los avances que
da a da ofrece la industria
tecnolgica, optan por soluciones
menos costosas, menos confusas y ms
rpidas y simples de implantar.

2.

Conceptos Generales

Para abordar y comprender


mas
adelante lo que es una infraestructura
de llaves pblicas, es necesario tratar
algunos
conceptos
relacionados
directamente con su definicin.
Hablaremos primero de lo que es una
criptografa de clave pblica, luego
trataremos el concepto de firma digital
y cmo esta soporta algunos principios
de seguridad. Por ltimo nos
concentraremos en los certificados
digitales.
2.1 Criptografa de clave pblica
La criptografa de clave pblica,
tambin conocida como criptografa
asimtrica, se basa en la idea de un
par
de
llaves
matemticas
dependientes, una pblica conocida

por todos que se publica junto con la


identidad del usuario, y otra privada
slo conocida por el usuario a quien le
es asignada la cual es imprescindible
que se mantenga en secreto. [1] [2]
[28].
Estas claves tienen la propiedad que
cada una de ellas invierte la accin de
la otra pero a partir de una no se puede
obtener la otra. [2]. La informacin
cifrada con una clave slo puede
descifrarse con la otra del mismo par,
as cuando se quiera enviar un mensaje
seguro a un usuario, se le enviar la
informacin cifrada con su clave
pblica de tal forma que slo ese
usuario que posee la clave privada
correspondiente podr descifrar la
informacin. Por otra parte, si un
usuario enva informacin cifrada con
su clave privada, al descifrarla con su
clave pblica (accin que puede
realizar cualquiera que conozca dicha
clave), puede asegurarse que ha sido
ese usuario quin envi la informacin
ya que slo l posee la clave privada
[28]. Se pueden tener mltiples pares
de
claves
para
mantener
comunicaciones distintas con grupos
diferentes [13].
2.2 Firma Digital
La firma digital va de la mano con la
criptografa de clave pblica ya que es
la aplicacin ms comn de las
propiedades que esta ofrece.
A travs de la firma digital y su
funcionamiento se puede dar soporte a
los siguientes principios de seguridad:

Autenticacin: se define como la


capacidad de verificar que alguien o
algo es quien o lo que dice ser [31].
Integridad: Garantizar que la
informacin no ser alterada,
eliminada o destruida por entidades
no autorizadas [30].
No repudio: se define como la
capacidad de afirmar la autora de
un mensaje o informacin del que
un tercero es autor. De este modo el
autor no puede negar su propia
autora. [29].
Como puede la firma soportar dichos
principios de seguridad?
La
firma
digital
tiene
dos
caractersticas principales. La primera
es que slo puede ser generada por el
poseedor de la clave privada y puede
ser verificada por cualquiera que
conozca la clave pblica del firmante.
La segunda es que es dependiente del
documento a firmar, es decir, la firma
digital de un documento no puede
emplearse para firmar otro documento
(esto debido al funcionamiento de la
firma digital explicado mas adelante)
[28].
Lo anterior nos lleva a deducir que la
firma puede soportar la autenticacin y
no repudio, ya que a travs de la llave
pblica se puede saber quin firm y el
poseedor de la llave privada no puede
negar su firma.
La integridad, haciendo uso de
firma digital,
esta dada por
funcionamiento. Bsicamente si
quiere enviar un documento a
haciendo uso de la firma digital
siguen los siguientes pasos: [3]

la
su
A
B
se

1. A genera un resumen del


documento utilizando una funcin
unidireccionales
de
resumen
(hash).
2. A cifra el resumen con su clave
privada, firmando por tanto el
documento.
3. A enva el documento junto con el
resumen firmado a B.
4. B genera un resumen del
documento recibido de A, usando
la misma funcin de hash. Despus
descifra con la clave pblica de A
el resumen firmado. Si el resumen
firmado coincide con el resumen
que l ha generado, la firma es
vlida y el documento no ha sido
alterado (integridad).
2.3 Certificado Digital
Se podra pensar que solo con la firma
digital, que soporta la mayora de los
principios de seguridad, se puede
establecer un entorno seguro para la
transferencia
electrnica
de
informacin, pero
cmo puedo
asegurar que la clave publica de un
usuario es confiable? Para dar
respuesta a esta pregunta debemos
hablar de otro trmino ampliamente
utilizado en seguridad: certificado
digital.
Un certificado digital es un archivo (si
se quiere ver de esa forma) que
contiene informacin sobre la persona
o entidad a quien se le otorga el
certificado (identidad del titular), su
llave publica, periodo de validez del
certificado, e identidad de la entidad
que emite el certificado [28].
Los certificados digitales deben estar
aprobados por una entidad en la que

todos los usuarios tengan confianza


con tal de asegurar que una clave
pblica pertenezca a quien dice
pertenecer [2]. Tal entidad es la
autoridad certificadora AC, que hace
parte los principales componentes de
una PKI y se trata en la siguiente
seccin.

3.

Infraestructura de Llaves
Publicas

Varias definiciones se encuentran en


diferentes fuentes bibliogrfcas acerca
de lo que es PKI, pero todas estas
convergen a definir una infraestructura
de llaves pblicas como una
infraestructura de seguridad basada
en criptografa de clave pblica, que
a travs del conjunto de componentes
y polticas que la conforman, gestiona
claves, certificados digitales y ofrece
servicios de firma digital y
ciframiento, permitiendo obtener
autenticacin,
auditabilidad,
integridad, no repudio y confiabilidad
en el intercambio de informacin
electrnica sensible, ya sea en
intranets, extranets o Internet. [1] [3]
[28].
En los principios de seguridad
mencionados en la anterior definicin,
no se hace referencia a la
disponibilidad y a la autorizacin.
Autorizacin se define como la
capacidad de controlar que servicios,
recursos, funciones o informacin
puede utilizar o acceder un usuario
identificado.

PKI no controla accesos ni restringe


las acciones de los usuarios. A fin de
eliminar esta falencia, el grupo de
trabajo X.509 PKI de Internet
Engineering Task Force (IETF)
desarroll un perfil de certificados de
atributos compatible con el formato de
certificados X.509 que es el ms
extendido.
Un Certificado de Atributos es una
estructura
de
datos
firmada
digitalmente por una Autoridad de
Atributos
que
relaciona
inequvocamente
determinados
atributos a la identidad del poseedor
del certificado X.509.
Los atributos que contiene especifican
la pertenencia a grupos, el rol, tareas
de seguridad y cualquier informacin
sobre control de acceso asociadas al
propietario
del
Certificado
de
Atributos. De este modo los
certificados ofrecern, adems de
identidad,
un mecanismo de
autorizacin y control de accesos [13]
[35].

dependientes de ella. Dentro de sus


tareas tambin se encuentra mantener
actualizada peridicamente una lista de
revocacin de certificados [1] [13]. La
AC es tambin conocida como la
tercera parte confiable (Trusted Third
Party o TTP). [4]
Otro componente es la autoridad de
registro AR (Registration Authority o
RA) cuya labor es verificar la
identidad de los solicitantes de
certificados para ordenar a la autoridad
certificadora expedirlos [13]. Es el
punto de comunicacin entre los
usuarios de la PKI y la autoridad
certificadora [28].

Con respecto a los componentes de


una infraestructura de llaves publicas,
esta se puede implementar de
diferentes formas, pero en todas ellas
siempre van a estar presentes algunos
componentes bsicos para que el PKI
cumpla su funcin.

Dentro de los componentes se


encuentra la lista de revocacin de
certificados (Certificate Revocation
List o CRL), que consiste en una lista,
firmada digitalmente, de certificados
revocados que no han expirado. Los
usuarios pueden consultar esta lista por
diferentes medios como correo
electrnico,
Web
o
LDAP
(Lightweight
Directory
Access
Protocol), para asegurarse de que un
determinado certificado sigue siendo
vlido justo en ese momento.
Igualmente
se
implementa
un
directorio central donde se almacenan
y pueden consultarse, va web u otro
medio, los certificados junto con otras
informaciones relevantes.

Como primer componente tenemos la


autoridad
certificadora
AC
(Certification Authority o CA) que
proporciona la base de confianza en la
PKI [28]. Su funcin es crear y emitir
certificados firmados con su clave
privada, a todos los usuarios aceptados
por las Autoridades de Registro

Por ltimo encontramos como


elemento de PKI la poltica de
certificacin que establece las reglas
de uso del PKI. Este conjunto de
normas debe prever todo tipo de
situaciones en una declaracin de
prcticas de certificados (CPS
Certificate Practice Statement). El CPS

proporciona una explicacin detallada


de cmo la autoridad de certificacin
ha de gestionar los certificados que
edita, y otros servicios asociados como
la gestin de claves [13].
3.1 Pros y contras de PKI
El despliegue de un sistema PKI en
una organizacin, le otorga a esta un
elevado nivel de seguridad. El manejo
de la firma digital, los certificados
digitales y la intervencin de una
autoridad certificadora, permiten que
usuarios con necesidad de comunicar
datos, o cualquier otro tipo de
informacin confidencial, a travs de
una red, puedan hacerlo con un grado
de confianza aceptable, pues PKI
soporta autenticacin, integridad,
confidencialidad y no repudio.
PKI provee la infraestructura necesaria
para llevar a cabo aplicaciones como
correo electrnico seguro, encriptacin
de documentos, autentificacin segura
y fiable de los usuarios, entre otras.
Ademas resulta de gran utilidad en una
intranet corporativa en la que se
comparten documentos, se accede a
recursos de red o se intercambia correo
certificado entre los empleados.
En el caso de extranets o de Internet,
PKI es una forma de prestar confianza
a la partes de una transaccin que no
se conocen entre ellos. La confianza en
un grupo de AC mundialmente
reconocidas o localmente aceptadas,
permite que las entidades involucradas
en una transaccin puedan fiarse unas
de otras a pesar de no existir contacto
fsico ni vnculo previo entre ellas [1].

Una tecnologa como PKI puede


volverse imprescindible para las
grandes corporaciones, que no pueden
permitirse el lujo de no invertir en
estos medios de seguridad, sin
embargo adoptar este tipo de
soluciones en una organizacin tiene
sus complicaciones.
Al
no
existir
un
mercado
suficientemente maduro en PKI, las
empresas que ofrecen este tipo de
soluciones establecen precios altos, por
lo tanto, asumir PKI como solucin de
seguridad, representa un alto costo
econmico para una organizacin.
Igualmente, PKI requiere inversin de
tiempo en diseo, implantacin,
pruebas y adaptacin.
Ademas PKI presenta problemas de
interoperabilidad,
confianza
y
escalabilidad:

Interoperabilidad entre certificados


generados
por
sistemas
desarrollados por casas distintas.
El hecho de que se rijan por el
estndar X.509.v3 no garantiza
que sean compatibles.
Confianza entre AC de distintas
organizaciones al no ser posible la
verificacin con xito de cadenas
de certificacin si una AC raz es
no confiable.
Escalabilidad cuando el nmero de
certificados emitidos a los usuarios
va creciendo, debido a que las
listas de revocacin deben ser
consultadas en cada operacin que
involucre certificados y firmas
digitales.

Por ultimo PKI es una solucin


compleja,
lo que conduce a los
usuarios finales a seguir con los
sistemas tradicionales de control y
autenticacin, basados en nombre y
contrasea y listas de control de
acceso.
3.2 Estndares
Hablar de un sistema utilizado en
numerosas compaas del mundo que
cuentan con diversas tecnologas y
plataformas de cmputo, nos lleva a
pensar que existen organizaciones
dedicadas a crear y emitir estndares
con
el
fin
de
asegurar
interoperabilidad e integracin entre
componentes
de
diferentes
implementaciones PKI. En efecto
existen varias de estas, pero en esta
seccin solo mencionaremos algunas.
El NIST (The National Institute of
Standards and Technology) por
ejemplo, es un organismo de Estados
Unidos que tiene, entre otras, la
iniciativa de coordinar grupos de la
industria que desarrollan tecnologa
PKI, para sostener interoperabilidad
entre diferentes implementaciones.
Este trabajo ha sido desarrollado con
ayuda de partners de la industria
empleando un convenio llamado
CRADAs (Cooperative Research and
Development Agreements) con el
proposito de que compaas y gobierno
trabajen juntos en la especificacin de
productos PKI [4].
El
NIST
desarroll
las
especificaciones
mnimas
de
interoperabilidad para componentes
PKI
MISPC
(Minimum
Interoperability Specifications for PKI

Components), Versin 1 con la


asistencia de 10 partners: AT&T, BBN,
Certicom, Cylink, DynCorp, IRE,
Motorola, Nortel (Entrust), Spyrus, y
Verisign.
Las
especificaciones
incluyen, entre otras cosas, un perfil de
certificado y CRL, formatos de
mensaje y transacciones bsicas para
emitir certificados e igualmente
soporte para mltiples algoritmos de
firma [4].
Un estndar a mencionar es el X.509
definido por la RFC3280 del IETF
(Internet Engineering Task Force) que
especifica, entre otras cosas, formatos
estndar para certificados de claves
pblicas [32].
Igualmente un estndar importante a la
hora de hablar de PKI es el OCSP
(Online Certificate Status Protocol)
estandarizado por el IETF en junio de
1999, que permite a las aplicaciones
verificar la validez de un certificado en
tiempo real.
En un sistema basado en OCSP,
cuando un certificado necesita
validacin, la aplicacin pasa una
peticin a un servidor OCSP y el
servidor verifica el certificado
informando al cliente si ha sido o no
revocado. OCSP esta soportado por las
ltimas versiones de los navegadores
de Microsoft y Netscape.
IETF trabaja ahora en la versin 2 de
OCSP, que aade, entre otras cosas, la
posibilidad de solicitar informacin
sobre el estado de un certificado en el
pasado. Algunos analistas de la
industria afirman que extender la
funcionalidad de OCSP, como propone
la
versin
2,
complicar

innecesariamente un protocolo ahora


bastante simple. Por ello, proponen la
alternativa SCVP (Simple Certificate
Validation Protocol) que permite
contestar, adems de a la simple
cuestin de si el certificado es vlido, a
la ms compleja de si es vlido para un
propsito
concreto
[13].
3.3 Productos
Existen infinidad de implementaciones
y herramientas para desarrollar PKI en
el mundo. Nos tomara mucho tiempo
describir cada una de ellas y es por eso
que nos centramos en algunas
incluyendo aquellas que son pioneras y
lderes en el mercado.
3.3.1

Managed PKI

Managed PKI de VeriSign permite a


los clientes desentenderse de la
emisin de certificados digitales y de
tareas administrativas tales como la
generacin, validacin, renovacin y
revocacin de certificados digitales.
Los servicios de Managed PKI se
proporcionan a travs de la
infraestructura de clave pblica de
VeriSign, y de sus centros de
operaciones en red, lo que asegura una
expansin,
administracin
y
seguimiento continuo 24 horas al da, 7
das a la semana, 365 das al ao y en
todo el mundo [33].
3.3.2

Entrust Authority

PKI de la organizacin Entrust. Entrust


Authority es el primer PKI comercial
disponible en el mundo. Fue realizado

en 1994 y ahora esta en su sptima


edicin. El portafolio del producto
maneja el ciclo de vida completo de
los certificados digitales de manera tal
que los usuarios no tienen que
entender como trabaja el
PKI y
aprovechan los servicios de encripcin
y firma digital [17].
Entrust Authority cuenta con una serie
de Toolkits para diferentes lenguajes
que ayudan a los desarrolladores a
construir aplicaciones
seguras
empleando en ellas seguridad PKI
[18].
3.3.3

PKI y Windows

Las mejoras de PKI en Windows XP


Professional y Windows Server 2003
proveen una solucin efectiva a bajo
costo con un poderoso framework para
extender la seguridad de la red a los
empleados, clientes y socios.
La familia Windows Server 2003
incluye
una
multitud
de
funcionalidades para ayudar a crear
una PKI robusta y flexible. Una gran
variedad de productos desarrollados
por terceros (Cisco routers y
dispositivos PIX) y servicios web
aprovechan la infraestructura PKI para
Windows. Microsoft est dedicada a
continuar
innovando
en
esta
infraestructura [10].
3.3.4

Cycom's PKI

Cycom's PKI con cdigo fuente java es


un pequeo subconjunto de PKI. En
particular este permitir a una
aplicacin
de
usuario
generar
solicitudes de certificados digitales, al

igual que permite que el usuario acte


como una CA para otros usuarios
locales.
Soporta certificados con el estndar
X.509 [16].
3.3.5

RSA BSAFE Cert-J - PKI para


aplicaciones Java

Software de la compaa RSA Security


que incluye los programas de
certificacin y encriptacin necesarios
para
construir
y
proporcionar
aplicaciones Java seguras para una
variedad de entornos.
RSA BSAFE Cert-J da a los
programadores y desarrolladores de
aplicacin una herramienta que
simplifica el desarrollo de aplicaciones
que necesiten manejar certificados
digitales
e
interoperar
automticamente con PKI [6] [7].
Este
software
ayuda
a
las
organizaciones a construir aplicaciones
abiertas a PKI y productos de
seguridad que no estn ligados a un
fabricante PKI especfico. Las
aplicaciones creadas con RSA BSAFE
Cert-J pueden de manera transparente
y automtica interoperar con mltiples
productos PKI tales como VeriSign,
Netscape y Entrust [7].

4.

Servicios Web

La evolucin vertiginosa de Internet y


el negocio electrnico necesita de
tecnologas software que faciliten la
conexin de informacin, sistemas,
dispositivos, y personas. Desde la

aparicin del Web los procesos de


negocios ofrecidos a travs del Web
han ido mejorando, en una primera
fase (1995 aproximadamente) se inicia
el inters por le desarrollo de Portales
fomentando la presencia de las
empresas, en una segunda fase (1997
aproximadamente) se implementa el
comercio electrnico y las transaccin
a travs de Internet (eCommerce), en
una tercera fase (1999 hasta la
actualidad) se inicia lo que se llama la
economa digital con el desarrollo e
implementacin de los negocios
(eBusiness), las empresas (eEnterprise)
y
los
mercados
(eMarkets)
electrnicos. Los mercados digitales
constituyen la nueva generacin de
negocios digitales proporcionando
bienes y servicios de carcter
electrnico que sustituyen a los
tradicionales. Dichos servicios pueden
integrar otras empresas en sus modelos
de negocio. En este contexto estamos
evolucionando hacia empresas y
relaciones virtuales a travs de Internet
con clientes cada vez ms exigentes.
Los servicios Web constituyen un
esfuerzo para construir plataformas
distribuidas para el Web, que den un
soporte adecuado como mecanismo de
implementacin a la economa digital.
Los servicios Web son la ltima
evolucin tecnolgica desde el clsico
modelo cliente / servidor, el
middleware
distribuido
mediante
sistemas basados en RPC (Remote Call
Procedure), monitores de objetos o la
orientacin a mensajes. La nueva
evolucin tecnolgica debe permitir la
interoperabilidad universal, la amplia y
rpida adopcin y un soporte eficiente
de entornos abiertos [3].

Segn la W3C (el organismo que se


encarga de desarrollar gran parte de los
estndares de Internet), se define un
servicio Web de la siguiente forma:
Un servicio Web es una aplicacin
software identificada mediante una
URL (Uniform Resource Locator),
cuyo interfaz (y uso) es capaz de ser
definido, descrito y descubierto
mediante artefactos XML, y soportar
interacciones directas con otras
aplicaciones software usando mensajes
basados en XML y protocolos basados
en Internet [3].
En trminos ms sencillos y menos
genricos un servicio Web es un
componente de software que se basa
en las siguientes tecnologas:
Un formato que describe la interfaz
del componente (sus mtodos y
atributos) basado en XML. Por lo
general este formato es el de WSDL
(Web
Service
Description
Language).
Un protocolo de aplicacin basado
en mensajes y que permite que una
aplicacin
interaccione
(use,
instancia, llame, ejecute) al servicio
Web. Por lo general este protocolo
es SOAP (Simple Object Access
Protocol).
Un protocolo de transporte que se
encargue
de
transportar
los
mensajes por Internet. Por lo
general este protocolo es http
(Hiper-Text Transport Protocol).
Los servicios Web, no son por tanto
aplicaciones con una interfaz grfica
con la que las personas puedan
interaccionar, sino que son software
accesible en Internet (o en redes

privadas que usen tecnologas Internet)


por otras aplicaciones. De esta forma
podemos desarrollar aplicaciones que
hagan uso de otras aplicaciones que
estn
disponibles
en
Internet
interaccionando con ellas.
Las arquitecturas de los sistemas de
informacin de las empresas, se han
tenido que enfrentar a un entorno cada
vez ms complejo de software,
derivado fundamentalmente, de la
necesidad de responder de una forma
rpida a las necesidades del negocio,
reducir los costes de las tecnologas de
la informacin, e integrarse con
clientes, proveedores u otros socios del
negocio. Hace aproximadamente 10
15 aos las empresas empezaron a
desarrollar sus soluciones de ERP
(Enterprise Resource Planing), CRM
(Customer Relationship Management),
SCM (Supply Chain Management), y
un poco ms tarde Intranets, ECommerce y Portales.
El resultado de todo esto, es que una
misma empresa poda tener hasta 4 5
cdigos de programas para ejecutar
una misma funcin (por ejemplo:
consultar el saldo de un cliente),
dependiendo de s sta se haca desde
su ERP, su CRM, su E-Commerce o
cualquier otra aplicacin. Esta
complejidad es una consecuencia de la
arquitectura de sistemas heredada, en
la que el cdigo de la funcin en s
mismo y su integracin con otra
interfase
de
aplicacin
estn
mezclados y por tanto se necesita
hacer una integracin especfica por
cada interfase de aplicacin que vaya a
utilizar la funcin.

Con los Servicios Web podemos


reutilizar desarrollos ya utilizados sin
importar la plataforma en la que
funcionan o el lenguaje en el que estn
escritos. Los servicios Web se
constituyen en una capa adicional a
estas aplicaciones de tal forma que
pueden interaccionar entre ellas
usando para comunicarse tecnologas
estndares que han sido desarrolladas
en el contexto de Internet.

5.

Arquitectura SOA

La arquitectura SOA (Service Oriented


Architecture) propone un modelo
mucho ms eficiente, en el que el
cdigo de la funcin es independiente
de la forma en que se resuelve la
integracin. La funcin puede estar
hecha en cualquier lenguaje de
programacin y residir en cualquier
tipo de plataforma tecnolgica
conservndose de esta manera los
activos actuales de la empresa en sus
sistemas de informacin. Desde el
punto de vista de las aplicaciones
externas, la funcin es una caja negra
que recibe unos parmetros de llamada
o solicitud de informacin y responde
de una manera que es reconocible
segn unos estndares. La integracin
se resuelve mediante una buena
definicin de los parmetros de
llamada a la funcin y una buena
definicin de la naturaleza de la
respuesta. Esta definicin se hace
mediante los estndares que engloban
los Web Service y que describimos
brevemente a continuacin.
SOAP es el acrnimo de Simple
Object Access Protocol, es decir

protocolo simple de acceso a objetos.


SOAP es un protocolo ligero de
mensajes XML que se usa para
codificar la informacin de los
mensajes de peticin y respuesta de los
Servicios Web que se envan a travs
de una red.
Los
mensajes
SOAP
son
independientes de los sistemas
operativos y de los protocolos, y
pueden ser transportados usando una
variedad de protocolos Internet,
incluyendo SMTP, y http [8].
Explicndolo de una mejor manera,
dentro del paradigma orientado a
objetos, usar un Servicio Web es igual
que usar cualquier otra clase. Esto
significa instanciarlo y llamar a sus
mtodos, pasndoles los parmetros
que sean necesarios, y obteniendo a su
vez el resultado que nos retornen.
Como ya hemos dicho por lo general
llamaremos a Servicios Web que no
estarn en nuestra mquina local, sino
en cualquier servidor accesible desde
Internet. Debemos por tanto disponer
de alguna forma de llamar a cualquiera
de sus mtodos pasndole los
parmetros oportunos y obteniendo el
resultado de esa llamada.
SOAP es un protocolo que define
precisamente cmo realizar esta
comunicacin, es decir, cmo debemos
codificar las llamadas a los mtodos de
un Servicio Web, y cmo debe el
servicio Web codificar el resultado
para que nosotros lo podamos
interpretar.
Estos mensajes son los que
transportarn los protocolos de
transporte, por lo general, HTTP [8]
[9].
Qu especifica SOAP?

Un formato de mensaje para una


comunicacin
unidireccional,
describiendo como se empaqueta la
informacin en documentos XML.
Un conjunto de convenciones para
usar
mensajes
SOAP
para
implementar
el
patrn
de
interaccin RPC, definiendo como
los clientes pueden invocar un
procedimiento remoto enviando un
mensaje SOAP y como los
servidores
pueden
responder
enviando otro mensaje al llamador.
Un conjunto de reglas que una
entidad que procesa mensajes
SOAP debe seguir, definiendo en
particular los elementos XML que
una entidad debe leer y entender, as
como las acciones que deben tomar
si no entienden el contenido. Reglas
de codificacin de los datos.
Una descripcin de cmo se debe
transportar un mensaje SOAP sobre
HTTP y SMTP.
WSDL es un acrnimo de Lenguaje de
Descripcin de Servicios Web (Web
Services Description Language), que
es un lenguaje XML usado para
describir la interfaz de un Servicio
Web como un conjunto de puntos
finales de comunicacin (mtodos)
capaces de intercambiar mensajes (es
decir recibir llamadas con sus
parmetros correspondientes y generar
respuesta con el resultado que le
corresponda). WSDL se considera
parte integral de UDDI (Universal
Description,
Discovery
and
Integration), que debera ser un
registro de servicios Web XML [5] [3].
WSDL es el lenguaje usado por UDDI
para describir a los servicios Web. Fue

desarrollado de forma conjunta por


Microsoft e IBM.
WSDL es un fichero XML que
describe el conjunto de mtodos
expuestos por un servicio Web. Esta
descripcin incluye el nmero de
argumentos y tipo de cada uno de los
parmetros de cada uno de los
mtodos, as como la descripcin de
los elementos que retornan. Estas
descripciones son las que se usan para
generar los objetos Proxy que usamos
en los entornos de desarrollo con los
que se programan Servicios Web.
Por cada Servicio Web, tomamos su
descripcin WSDL y generamos una
clase con la misma interfaz (igual
nmero de mtodos y la misma
signatura de los mismos) que describe
el fichero. Esta clase es el Proxy local
del servicio Web.
El cdigo local de un Proxy de
servicios Web es el encargado de
construir las llamadas SOAP al
Servicio Web y de recepcionar las
llamadas SOAP de ese servicio Web.
Usando este patrn el programador es
capaz de abstraerse de todos los
elementos que intervienen en una
llamada a un Servicio Web. Para l, es
exactamente igual a llamar a una clase
local (el Proxy) la cual se encarga de
encapsular la complejidad propia de la
comunicacin con el Servicio Web.
UDDI es un acrnimo de Integracin,
Descubrimiento
y
Descripcin
Universal (en ingls Universal
Description,
Discovery
and
Integration). Es un directorio de
servicios Web distribuido y basado en
Web que permite que se listen,
busquen y descubran este tipo de
servicios.

UDDI se concibi como un Registro


de Negocio = Servicio de directorio y
Nombrado sofisticado. Especifica un
marco para describir y descubrir
Servicio Web. UDDI define estructuras
de datos y APIs para publicar
descripciones de servicios en el
registro y para consultar el registro
para buscar descripciones publicadas.
Las APIs de UDDI estn especificadas
con WSDL y SOAP, lo que permite
acceder a ellas como Servicios Web.

fiabilidad, seguridad, orquestacin,


soporte a sistemas legados y a la
semntica. En general, los servicios
Web son tiles para necesidades
simples como obtener informacin de
los portales Web, pero las aplicaciones
criticas y complejas son otra historia.
Este ultimo tipo de aplicacin
demanda nuevos estndares que estn
todava en desarrollo [3].

La especificacin UDDI tiene dos


objetivos esenciales: (1) ser un soporte
a los desarrolladores para encontrar
informacin sobre servicios Web y
poder construir clientes, (2) facilitar el
enlace Dinmico de Servicios Web,
permitiendo consultar referencias y
acceder a servicios de inters.

Estos estndares, extensiones y


protocolos se estn poniendo en el
contexto de un marco modular que
permita a los desarrolladores utilizar
solo los mdulos o aspectos necesarios
para sus servicios Web [1]. Entre este
tipo de protocolos y estndares
podemos destacar algunos muy
necesarios para la total implantacin
de los servicios Web; estos dan soporte
a la fiabilidad del envi de mensajes
(WS-ReliableMessaging,
WSEventing, WS-Addressing), seguridad
(WS-Security ratificado pro OASIS y
WS-I,
SAML(Security
Assertion
Markup Language), WS-Policy, WSSecurityPolicy,
WS-Trust,
WSSecureConversation) y orquestacin
(BPEL (Business Process Execution
Language)complementada con WSTransaction, WS-Coordination, WSChoreography y WS-CAF(Composite
Application Framework)) diseados
para facilitar la implementacin de
transacciones y procesos de negocio
complejos [3] [5].

6.

Extensiones y perspectivas
de futuro

Los servicios Web y SOA prometen la


integracin universal de aplicaciones.
Sin
embargo,
esta
afirmacin
actualmente es bastante vaga, ya que
mirando de cerca el estado actual nos
damos cuenta de algunos agujeros en

6.1 Protocolos y Estndares

6.2 Desarrollo
alternativas.

de

propuestas

El grado de consenso de la industria en


el mbito de los protocolos de los

Servicios Web es elevado. Aunque se


han
desarrollado
propuestas
alternativas en algunas reas, la
formacin de grupos de trabajo en
W3C u OASIS ha llevado muchas
veces a la convergencia de todas las
partes interesadas.
Existen actualmente algunas reas
donde se mantienen propuestas
alternativas, por ejemplo en Reliable
Messaging,
Orchestration,
y
Transaction
Coordination.
Estas
alternativas se han visto reflejadas por
grupos
de
empresas
como
IBM/Microsoft por una parte y
SUN/Oracle por la otra.
Sin embargo, este ao Microsoft y Sun
han iniciado un acercamiento y una
mayor cooperacin en el mbito de los
Servicios Web. Un ejemplo de esta
situacin ha sido que Sun se ha unido a
BEA, IBM, Microsoft y SAP AG para
proponer la ultima versin de WSAddressing al W3C. lo mismo a
ocurrido con especificaciones como
WS-MessageDelivery,
con
la
actualizacin
de
WS-Eventing
permitiendo la interoperabilidad de
esta con especificaciones como WSNotification.
Tambin ha existido un solapamiento
entre los Servicios Web y la iniciativa
edXML. ebXML utiliza SOAP a nivel
de transporte, pero tiene su propio
registro y orquestacin aunque ebXML
es un estndar aprobado y robusto, su
aplicabilidad es mas reducida que los
Servicios Web. ebXML se considera
una evolucin de EDI cuya principal
orientacin el dominio de negocios
electrnicos B2B. los servicios Web
estn diseados para dar soporte a un

mayor numero de requisitos y


escenarios de uso, por lo que ebXML
probablemente evolucionara para
adoptar los protocolos adicionales de
los Servicios Web cuando estos
maduren y sean aprobados. Parte del
trabajo del grupo edSOA de OASIS es
evolucionar la arquitectura ebXML y
dirigir la transicin hacia la adopcin
de ms protocolos basados en los
Servicios Web.
6.3 Proceso de Estandarizacin.
Aunque la propuesta de protocolos
para Servicios Web ha sido un rea de
trabajo muy movida y con un
crecimiento rapidsimo, su transicin a
estndares abiertos es inevitablemente
mucho ms lenta. Existen muy pocos
protocolos finalizando su proceso de
estandarizacin de forma adecuada. En
la definicin de estndares existen
principalmente dos grupos implicados
en el mbito de los Servicios Web:
World Wide Web Consortium
(W3C). http://www.w3c.org/
Organization for the advancement
of structured information standards
(OASIS).
http://www.oasisopen.org/
WS Interoperability (WS - I):
WS-I (http://www.ws-i.org/) es un
grupo de la industria abierta que se
creo en 2002 para promover la
interoperabilidad de los Servicios
Web a travs de plataformas,
sistemas operativos y lenguajes de
programacin. WS I juega un
papel muy til dando soluciones a
algunos
de
las
siguientes
cuestiones:

- Las especificaciones estndares


estn
siempre
abiertas
a
interpretaciones.
WS-I
proporciona guas y herramientas
para ayudar a medir el grado de
fidelidad o ajuste de las
implementaciones al estndar y
permitir su interoperabilidad.
- Como
los
estndares
evolucionan,
es
necesario
entender que difiere entre
versiones para poder nter operar.
- Se publicaran perfiles (profiles)
de interoperabilidad que reflejen
los requisitos que deben cumplir
las implementaciones de los
estndares.
6.4 Adopcin
El estado de adopcin de los
protocolos presentados se puede ver en
la siguiente figura:

Experimentation:
Algunos
vendedores
proporcionan
implementaciones tempranas que
permiten la experimentacin, pero
no se recomiendan para el uso en
produccin.
Early
adoption:
Existen
implementaciones robustas y el
protocolo esta estandarizado o
finalizando su estandarizacin, lo
que recomienda su uso por las
organizaciones.
Mainstream: El estndar se ha
ratificado o existe una adopcin a
gran escala.
Por ejemplo, Microsoft proporciona
WSE (Web Services Extensions) que
son
implementaciones
de
las
especificaciones WS Security
(estndar de OASIS, 2004), WS
Policy (Experimentation), WS
SecurityPolicy, WS Trust, WS
SecureConversation
y
WS

Addressing (Specification).

7.

SOA Y PKI

En el marco de nuestro trabajo de


grado nos dimos a la tarea de
investigar que implementaciones y
avances existen en la actualidad
referentes al tema.
Los niveles de adopcin significan:
Specification: Solo existe una
especificacin en formato borrador.
Cualquier uso requiere codificacin
manual.

Para sorpresa nuestra encontramos


solo una solucin conocida en el
mundo que le apuesta a gestionar
servicios PKI en el entorno de las
aplicaciones y de los servicios web.
Safelayer Secure Communications,
compaa espaola lder en soluciones

de seguridad PKI, identificacin


electrnica, firma electrnica y
proteccin de datos, vuelve a innovar
en el entorno de la seguridad, con la
introduccin en el mercado de una
nueva
y
avanzada
plataforma
tecnolgica denominada TrustedX
Web Services [25]. Safelayer
materializa en TrustedX su apuesta por
SOA [22].

identificacin electrnica en el entorno


web services, e indistintamente de sus
plataformas tecnolgicas [25].
Sobre
su
comercializacin,
la
compaa ya prev que la solucin,
que ser presentada a la red de partners
de la compaa a mediados del
prximo mes de marzo, sea implantada
por unas 300 empresas en los
prximos 48 meses [22].

TrustedX es una plataforma de


servicios web y de seguridad basada en
arquitectura SOA cuyo fin es orquestar
las diferentes polticas de seguridad
corporativos [23].
"El objetivo perseguido es que las
aplicaciones consuman unos servicios
especializados y gestionados de forma
centralizada
por
la
propia
corporacin, no siendo ya necesario
recurrir a las herramientas de bajo
nivel de PKI incrustadas en las
aplicaciones" [22].
TrustedX integra como tecnologa PKI
subyacente KeyOne de Safelayer,
ofreciendo as protocolos y estndares
de servicios de web y de seguridad
encapsulados bajo servicios web,
proporcionando una interoperabilidad
con todos los productos que utilizan
dichos
estndares
e
independientemente de la tecnologa
empleada (C++, Java, J2EE, .Net, etc.)
[22].
Con TrustedX Web Services,
Safelayer se convierte en la primera
empresa del mercado en disponer de
una tecnologa de seguridad avanzada,
extremadamente ligera y de reducido
coste, capaz de proporcionar firma
electrnica, proteccin de datos y

8.

REFERENCIAS

[1]. Artculo Publicado en Boletn del


Criptonomicn #57, Octubre de 1999,
http://www.instisec.com/publico/verart
iculo.asp?id=32
[2]. Artculo Publicado en Boletn del
Criptonomicn #44, Marzo de 1999,
http://www.iec.csic.es/CRIPTON
OMICON/articulos/expertos44.h
tml
[3] Web Services Architecture, W3C
Working Group Note, D. Booth, H.
Haas,
F.
McCabe,
2004
http://www,w3,org/TR/2004/NOTEws-arch-20040211/
[4]. The Opensource PKI Book,
Symeon Xenitellis, 1999, 2000,
http://ospkibook.sourceforge.net/docs/
OSPKI-2.4.7/OSPKI-html/ospkibook.htm
[5] Web Services Architecture Usage
Scenarios, W3C Working Group Note,

H. He, H. Haas, D. Orchard, Febrero


2004,
http://www.w3.org/TR/2004/NOTEws-arch-scenarios-20040211/
[6].
Artculo
publicado
en
Computerworld N:841, Pag 15, Joan
C. Ambrojo, Abril de 2000,
http://www.idg.es/computerworld/artic
ulo.asp?id=109799&org=ten
[8] E. Newcomer, Understanding Web
Services: XML, WSDL, SOAP, and
UDDI, Addison Wesley, Mayo 2002.
[9] Unraveling the Web Services Web:
An Introduction to SOAP, WSDL, and
UDDI, IEEE Internet Computing vol.
6 N 2, Marzo/Abril 2002, pag. 86-93.
[7].http://www.componentsource.com/
products/515110/11399/index-es.html
[10]. Windows Server 2003 y la
Infraestructura de Clave Pblica (PKI),
Jonathan Perera, Enero de 2004,
http://www.microsoft.com/latam/techn
et/seguridad/articulos/010104_Windo
ws_Server_2003_PKI.asp
[11].http://www.um.es/atica/ssl/PKI/pk
i.html
[13].http://www.idg.es/comunicaciones
/articulo.asp?id=134356
[16].http://club.cycom.co.uk/whatisPK
I.html
[17]. Public key infrastructure (PKI)
Entrust,
http://www.entrust.com/pki/pkioverview/index.htm

[18].http://www.entrust.com/pki/index.
htm
[22].
Safelayer
materializa
en
TrustedX su apuesta por SOA, Febrero
de 2006,
http://www.computinges.com/Actualidad/Noticias/Infraestruc
turas/Soluciones/20060215014
[23]. Safelayer unifica los servicios
PKI con su plataforma TrustedX,
http://www.idg.es/computerworld/noti
cia.asp?id=45987
[24].http://www.computinges.com/Actualidad/Noticias/Seguridad/
Sistemas_de_protecci
%C3%B3n/20050419040, Abril de
2005.
[25].http://www.safelayer.com/web/es/
suite_prensa/notas_prensa/p1025.jsp
[28].http://www.eurologic.es/solucione
s/que-es-pki.htm
[29]. Definiciones de seguridad de la
informacin y sus limitaciones.,
Diciembre 2004,
www.fistconference.org/data/presentac
iones/queesseguridad.pdf
[30]. Articulo Estndares de seguridad
en la informacin, Alejandro Nez
Sandoval, Febrero de 2005,
http://www.enterate.unam.mx/Articulo
s/2005/febrero/seguridad.htm
[31].http://www.microsoft.com/latam/t
echnet/seguridad/glosario/default.mspx
[32].http://es.wikipedia.org/wiki/X.509

[33].https://www.verisign.com/latinam
erica/esp/products/pki/
[34]
Modelo de Seguridad para
aplicaciones en canales pblicos
orientados a Web Services, Maria
Gabriela Farias Terrens - Andrea
Infante
Salgado,
Pontificia
Universidad javeriana, 2005.
[35].http://www.pgmacline.es/revpatol
ogia/volumen36/vol36-num2/362n07.htm