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:

  1. Servicios web basados en el protocolo simple de acceso a objetos (SOAP o Simple Object Access Protocol).
  2. 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.

TrustedX
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.