|
El principal beneficio de las arquitecturas
orientadas a servicios es la extrema flexibilidad y eficiencia que ofrecen para
el desarrollo y la mejora de la de las soluciones, especialmente cuanto mayor
sea el número de aplicaciones y más heterogéneo sea el entorno.
La integración de los servicios de
seguridad propios de las Infraestructuras de Clave Pública (PKI) en las
aplicaciones de forma fácil, sencilla y segura, es un factor clave para la
reducción de costes en los cambios de mejora tecnológicos orientados a
optimizar la eficiencia de los procesos.
Únicamente un enfoque orientado a
servicios permite simplificar la integración de mecanismos de seguridad o
también llamados de confianza, definiendo cómo deben interactuar los sistemas y
facilitando de forma extrema su gestión, especialmente cuanto mayor sea el
número de aplicaciones a securizar y más heterogéneo sea el entorno.
Integración Orientada a Servicios
La integración orientada a servicios (SOI
o Service Oriented Integration) contempla la integración de sistemas usando
únicamente las interacciones de los servicios, ofreciendo la solución más
adecuada a las necesidades de integración de los citados mecanismos.
Las características de la Integración
Orientada a Servicios, se resumen en las siguientes:
- Presenta unos interfaces de acceso bien
definidos y estandarizados a los diferentes servicios, por lo que cualquier
aplicación podrá usar el servicio únicamente conociendo cómo debe “conectarse”
a éste. Por ejemplo, si conocemos cómo acceder a un servicio especializado en
realizar la verificación de firmas electrónicas, no incluiremos esta complicada
lógica en las aplicaciones sino que éstas consumirán dicho servicio a través de
la interfaz que éstos disponen.
- La tecnología para localizar un sistema que
nos facilita un servicio determinado es inherente a la propia interfaz. De
hecho, no hay necesidad de usar un proveedor fijo de un determinado servicio.
Así, en referencia al ejemplo anterior, en el diseño de las aplicaciones no
será necesario conocer la localización de dicho servicio, ya que este proceso
de localización se realizará de forma transparente en tiempo real mientras
éstas se ejecuten.
- La descripción del servicio nunca se modifica
pudiendo variar tanto el consumidor como el proveedor del servicio. Esto nos
ofrece una elevada flexibilidad ya que indistintamente de la tecnología usada y
los cambios aplicados la aplicación continuará funcionando. En el ejemplo
anterior, es evidente que el servicio podrá mejorar y cambiar sus parámetros de
confianza sin que esto implique modificar las aplicaciones que consuman dicho
servicio.
Arquitectura
Orientada a Servicios
Una arquitectura orientada a servicios
(SOA) define como dos entidades pueden interactuar de forma que una entidad
realice procesos en nombre de otra. De esta forma, unas entidades prestan un
servicio a otras que lo demanden, por lo que podemos referirnos a estas
entidades como a servicios.
La arquitectura orientada a servicios
posibilita, pues, una integración basada en la combinación de los objetivos
tradicionales de toda integración juntamente con la incorporación de servicios
estándares y flexibles accesibles para otros sistemas que precisen interactuar
con éstos, simplemente descubriéndolos y usándolos mientras se están
ejecutando.
Aunque pueden existir numerosas
implantaciones de arquitecturas orientadas a servicios, las implantaciones más
aceptadas son:
- Servicios web basados en el protocolo
simple de acceso a objetos (SOAP o Simple Object Access Protocol).
- Servicios web basados en patrones de
diseño REST (Representational State Transfer).
Servicios Web SOAP
Los Servicios Web (WS), comprenden
aquellos servicios que se ofrecen mediante un servidor Web a otros sistemas que
precisen consumirlos mediante los protocolos web. Los WS se están
estandarizando de forma considerable gracias al uso del lenguaje XML
(Extensible Markup Language), como mecanismo de estandarización adoptado de
formato de datos e intercambio de datos.
Tal como se ha comentado en el apartado
anterior, SOAP es una de forma de comunicación de WS ampliamente aceptada, pero
no la única.
La especificación de los WS se realiza en
el leguaje de descripción de servicios web (WSDL o Web Services Description
Languaje) que permite disponer de una definición abstracta del servicio,
independiente del lenguaje de programación que se utilice para su
implementación. Numerosas herramientas en el mercado permiten generar, por
ejemplo, stubs Java o .NET a partir de la definición WSDL del servicio,
descargando al integrador/programador de todas las tareas relacionadas con la
gestión de peticiones / respuestas XML.
Los proveedores de servicios ofrecen sus
servicios utilizando WSDL. Dicha definición se puede publicar en directorios de
servicios como el UDDI (Universal Description, Discovery, and Integration), los
cuales permiten obtener los detalles de un servicio concreto y de su
localización. UDDI es un directorio de recursos de servicios web en la red que
permite obtener los detalles concretos de localización y categorización dentro
de taxonomías o información técnica de un servicio abstracto especificado en
WSDL.
El intercambio de mensajes entre cliente
/ servidor de un servicio web, se hace mediante SOAP (Simple Object Access
Protocol). Por debajo de SOAP, el protocolo de transporte utilizado puede ser
cualquiera (e.g. HTTP, FTP, SMTP) aunque el más utilizado es HTTP. SOAP podría
verse como un mecanismo abstracto de invocación remota de operaciones o RPC
(Remote Procedure Call).
En la arquitectura general de WS (Figura 2-1) las diferentes entidades
consumidoras de servicios (consumidor) acceden de forma estándar a los
servicios a través de clientes (también denominados clientes de servicio web o
agentes). La estandarización del servicio se basa en una especificación común
WSDL en la que se basan tanto Consumidores como Proveedores de servicio.
Figura 2-1. Arquitectura general de los servicios web.
Nótese que la arquitectura presentada es
un subconjunto válido de una arquitectura de servicios web genérica en la que
los consumidores pueden ser usuarios finales u otros servicios, esto es,
servicios que consumen otros servicios.
Plataforma de
Servicios de Confianza
En una plataforma de servicios de
confianza con arquitectura orientada a servicios, cada uno de los servicios
está diseñado para reducir los riesgos de seguridad asociados a los procesos de
negocio que se realizan sobre medios electrónicos.
Una plataforma orientada a servicios
ofrecerá una interfaz de acceso simple a todos los servicios de PKI basada en
Servicios Web, por lo que en definitiva permitirá la incorporación de forma
simple, rápida y fiable de dicha funcionalidad en las aplicaciones. En concreto
puede proveer las siguientes funcionalidades:
- Firma electrónica. A través de diferentes componentes de servicio, permite la
verificación y generación de firmas electrónicas. Se reconocen diferentes
prestadores de certificación y se permite generar y custodiar las evidencias
electrónicas necesarias para la verificación de firmas a lo largo del tiempo.
- Protección de datos. A través de diferentes componentes de servicio, se permite la
protección de datos, y su custodia garantizando su mantenimiento y el acceso a
éstos por las entidades autorizadas a lo largo del tiempo.
- Gestión de claves. A través de un componente de servicio, se puede registrar,
revocar, consultar y verificar las claves de las entidades.
- Autenticación, autorización y control de
acceso. A través de un componente de servicio
común, se permite la autenticación, autorización y control del acceso de las
entidades registradas haciendo posible el control de acceso único y federación
en toda la plataforma (entre usuarios, servicios web y aplicaciones).
- Gestión de objetos y entidades. A través de un componente de servicio común, se proporciona un
modelo de información uniforme basado en XML para todos los objetos y entidades
de la plataforma, enmascarando totalmente formatos (XML, ASN.1, Tablas, etc.),
fuentes de información (SQL, LDAP, Ficheros, etc.), localizaciones (Intranet,
Extranet, WAN, etc.), etc. Se ofrecen así funciones de registro, consulta y
modificación de la información sobre entidades, en particular, información de
identidad, configuración y auditoría.
- Auditoría y accounting. A través de un componente de servicio común, se gestiona de
forma centralizada y uniforme toda la información de traza (log) de todos los
componentes de servicio de la plataforma así como la información de uso y/o
consumo de los servicios. Mediante el acceso controlado a toda la información
de actividad se puede generar todo tipo de informes (reports).
Dichos servicios, a su vez, requieren los
servicios avanzados de una o varias infraestructuras de clave pública, que
incluyan los servicios de sellado de tiempo y de verificación de los
certificados digitales.
La
Plataforma TrustedX
La plataforma TrustedX incluye un
conjunto completo de servicios de confianza basados en Infraestructuras de
Clave Pública (PKI) de una forma estándar y orientada a servicios a cualquier
tipo de consumidor, ya sea usuario final, aplicación u otro servicio.
Los beneficios únicos de la plataforma
TrustedX son los que se detallan a continuación:
- Solución completa: La solución de Safelayer ofrece todos los componentes de
seguridad necesarios, incluyendo tecnología de autenticación, autorización,
firma electrónica, protección de datos y gestión y custodia de claves y firmas.
La plataforma, puede incorporar, además, las soluciones de KeyOne para la
gestión de certificados digitales y emisión de sellos de tiempo como KeyOne
CA/RA, KeyOne TSA o KeyOne VA.
- Integración estratégica orientada a servicios. TrustedX
ofrece una solución que permite integrar las funciones de seguridad en las
aplicaciones como servicios de confianza en entornos orientados a servicios (SOA),
en clara alineación con la práctica predominante en los
procesos de ingeniería de los sistemas de información corporativos y cerrando una etapa de predominio de arquitecturas de software poco
flexibles.
- Mayor orientación a los procesos de negocio. En los
procesos de toma de decisiones es clave conocer con exactitud cuál es el nivel
de confianza que la información tiene en todo momento, quiénes son sus autores
y cuáles son sus atributos. Una de las características únicas de la plataforma
TrustedX es su capacidad para suministrar dichos datos a las aplicaciones,
simplificando drásticamente su lógica, aportando mayor fiabilidad y evitando la
realización de cambios en éstas en la dinámica de reconocimiento de nuevos
servicios de seguridad o nuevos mecanismos de autenticación (por ejemplo:
autoridades de validación o de sellado de tiempo).
- Mayor facilidad y control. Permite el establecimiento y
mantenimiento de un conjunto de políticas de confianza comunes y un sistema de
control y auditoría centralizado. Por ejemplo, elimina la complejidad asociada
al número de autoridades de certificación (CAs) y los diferentes mecanismos de
validación (VAs), permite la federación con otros dominios de confianza de
forma transparente a las aplicaciones, o la capacidad para regular el uso de
criptografía en los procesos críticos de negocio, entre otros.
- Solución sencilla y rápida de implantar: TrustedX es una solución innovadora que consolida el concepto
Enterprise Trust Integration (ETI) en el contexto de las Arquitecturas Orientadas
a Servicios (SOA), donde todas las funciones son definidas como servicios
especializados utilizando tecnologías de servicios web (WSDL/SOAP). Los servicios de TrustedX se pueden usar de tres formas: (i) como
servicios web, usando las herramientas populares como Axis o .NET, o los
estándares XPath y XSLT, como variante; (ii) mediante una API integrada en las
aplicaciones que consume de forma transparente los servicios de TrustedX o,
(iii) usando la pasarela de integración, que evita modificar las aplicaciones y
aporta la capacidad de procesado de datos de forma encadenada mediante el
lenguaje XML Pipeline.
- Solución abierta y flexible: Tanto la infraestructura de servicios como los propios servicios
de confianza se basan sólo en estándares o borradores de trabajos actuales en
estandarización. Se cubren los estándares de infraestructura de WSDL, SOAP,
XML, UDDI y los de seguridad de SSL, TLS, WS-Security, SAML y OASIS DSS. El
soporte de WS-Trust, WS-Federation y XKMS está previsto. Por otra parte, también
se cubren todos los estándares de firma electrónica y cifrado, tales como
PKCS#7/CMS, S/MIME, PDF-Sig, XML-Dsig, XML-Enc, CAdES y XAdES. De esta forma se
garantiza una infraestructura independiente de la tecnología empleada (C++,
Java, J2EE, .NET, etc.) e interoperable con todos los productos del mercado que
utilizan dichos estándares.
- Soluciones que garantizan el retorno y la
protección de la inversión: La firma electrónica
simplifica los procesos y mejora su eficiencia. La capacidad de adaptación de la
plataforma TrustedX de Safelayer a los procesos corporativos y la incorporación
de los estándares del mercado, garantizan por una parte el ahorro de costes de
implantación y puesta en marcha y por otra parte la protección de la inversión.
|