Buena práctica implementada desde: 2017 Buenas Prácticas en la Seguridad Social Generación automática de servicios web seguros para el intercambio de datos Una práctica de la Caja Nacional de Seguridad Social Caja Nacional de Seguridad Social Túnez Año de publicación: 2017 www.issa.int
2 Resumen Los servicios de la Caja Nacional de Seguridad Social (Caisse nationale de sécurité sociale CNSS) interactúan entre sí, con los servicios de otras instituciones, con los cotizantes y con los asegurados. Entre otras cosas, intercambian datos suministrados o utilizados por el sistema de información de la CNNS. Estos intercambios plantean problemas de normalización y seguridad. Por ello, la Caja ha creado una herramienta informática que permite generar automáticamente y bajo demanda servicios web genéricos normalizados y seguros para cumplir sus diferentes funciones en estos intercambios. Se ha comenzado por desarrollar un servicio web genérico parametrado por una solicitud SQL y por la elección de una política de seguridad. La herramienta lo utiliza para crear, en un par de clics, un nuevo servicio para una funcionalidad comercial determinada. Asunto o desafío Qué asunto o desafío aborda su buena práctica? Por favor, descríbalo brevemente. La CNSS intercambia datos a nivel interno entre sus servicios y a nivel externo con sus asociados, esto es las demás Cajas sociales, las empresas cotizantes y los asegurados. Los intercambios se efectúan por diversos medios: puntos de acceso (ad hoc), correos electrónicos y soportes magnéticos, ópticos o en papel enviados por mensajero o por correo certificado. En sus intercambios, el sistema de información de la CNSS funciona alternativamente como proveedor y consumidor de los datos intercambiados. La utilización de los medios descritos plantea problemas de normalización. Sea cual sea el medio utilizado, la CNSS debe acordar de antemano, quizás con un asociado externo, cuál va a ser el formato del intercambio: la estructura (sintaxis) de los datos intercambiados y su significado (semántica). Esta tarea puede resultar muy compleja y en ocasiones genera un intercambio de documentación consecuente. Además, la mayoría de los medios utilizados plantean varios interrogantes en materia de seguridad: cómo identificar con certeza el origen del intercambio (autenticación)?; cómo demostrar a posteriori que el intercambio ha tenido lugar (trazabilidad)?; cómo garantizar que los datos intercambiados no han sido modificados durante el intercambio (integridad)?; cómo garantizar que únicamente el destinatario del intercambio está habilitado para leer el contenido (confidencialidad)? Abordar el desafío Cuáles eran los principales objetivos del plan o estrategia para resolver el asunto o desafío? Enumere y describa brevemente los principales elementos del plan o estrategia, con particular hincapié en sus características innovadoras y los efectos buscados o esperados. Para facilitar a la CNSS el cumplimiento de su cometido en relación con los intercambios de datos entre sus propios servicios y con sus asociados externos, se fijaron los siguientes objetivos: disponer de un marco estándar, independiente de tecnologías y plataformas, para los intercambios de datos tanto a nivel interno (entre los servicios de la CNSS) como a
3 nivel externo (con sus asociados). Este objetivo viene dado por la necesidad de apoyar los intercambios con sistemas de información heterogéneos, ya sea con los asociados externos de la CNSS o dentro del sistema de información interno, en aras de la interoperabilidad de las nuevas aplicaciones con las antiguas; garantizar propiedades tales como la autenticación, la integridad, la confidencialidad y la trazabilidad de los intercambios. Estas exigencias de seguridad son importantes tanto en los intercambios endógenos como en los exógenos, ya que permiten responsabilizar a los interesados e instauran un clima de confianza entre ellos; simplificar y reducir los costos del estudio y del desarrollo de las herramientas que posibilitan los intercambios de datos. Ello permite a la CNSS reforzar la colaboración con sus asociados externos y ejercer un mayor control sobre la integración y urbanización de su propio sistema de información. Para alcanzar estos objetivos, la CNSS optó por recurrir a los servicios web, que representan una buena solución de normalización y seguridad en cuanto a los intercambios. En primer lugar, permiten encapsular las funcionalidades comerciales existentes y su exposición por medio de interfaces normalizadas y auto-descritas (en el caso de la CNSS, la mayor parte de las competencias técnicas se implementa de manera uniforme en las bases de datos como funciones y procedimientos almacenados, lo que debería simplificar considerablemente la tarea). Además, la utilización de servicios web orientados SOAP permite aprovechar toda una serie de estándares (ampliamente reconocidos y utilizados) en materia de seguridad que aplican técnicas criptográficas (firma y codificación electrónicos) para garantizar la confidencialidad, la integridad y la autenticación de los intercambios. En este contexto, se planteó la posibilidad de desarrollar un generador automático de servicios web seguros. Concretamente, en un primer momento había que elaborar un modelo de servicio web cuya tarea fuera la ejecución de una consulta SQL determinada. Para utilizar un servicio de estas características, un cliente debe invocarlo especificando sus propios valores para los parámetros de la consulta. A continuación, el servicio ejecuta la solicitud con los parámetros facilitados por el cliente y devuelve una matriz que contiene los resultados. Se crearon varias versiones de este modelo, cada una de las cuales se corresponde con una política de seguridad determinada: autenticación mediante una ficha de seguridad: nombre de usuario/contraseña; firma del cuerpo de la solicitud (respectivamente de la respuesta) del servicio; codificación del cuerpo de la solicitud y de la respuesta del servicio; firma y codificación del cuerpo de la solicitud y de la respuesta del servicio. El siguiente paso era desarrollar un generador de servicios web que aceptase como entrada una consulta SQL, la elección de una política de seguridad determinada y un conjunto de parámetros de seguridad, y que generase el servicio web correspondiente, manipulando los modelos ya mencionados.
4 Metas Cuáles fueron las metas cuantitativas y/o cualitativas o indicadores clave del rendimiento que se establecieron para el plan o estrategia? Por favor, descríbalos brevemente. Para validar la solución obtenida se definieron las siguientes metas: utilizar la herramienta para llevar a cabo una nueva integración entre dos aplicaciones existentes en la cartera de aplicaciones de la CNSS; utilizar la herramienta para normalizar una integración (ya establecida) entre dos aplicaciones existentes en la cartera de aplicaciones de la CNSS; una meta cualitativa asociada al punto anterior consiste en demostrar que la eficacia, la fiabilidad y el costo del desarrollo de la nueva integración son mejores; utilizar la herramienta para exponer un punto de acceso a los datos destinado a un asociado externo (otra Caja de la seguridad social, por ejemplo); utilizar la herramienta para generar un servicio web que vaya a utilizar una aplicación móvil (para los asegurados sociales o los responsables de las empresas cotizantes, por ejemplo); una meta cualitativa asociada a los dos puntos anteriores consiste en someter los servicios web a un análisis de seguridad. En efecto, los servicios web de la CNSS están destinados a una implantación en extranet (internet); permitir la utilización del sistema por un administrador familiarizado con el sistema de información de la CNSS a fin de generar un servicio web que responda a una necesidad de su servicio. Evaluación de los resultados Se ha evaluado la buena práctica? Por favor, suministre datos sobre el impacto y los resultados de la buena práctica comparando los objetivos con el desempeño real, indicadores de antes y después y/u otros tipos de estadísticas o mediciones. La solución descrita en el presente documento fue evaluada con respecto a algunas de las metas enumeradas en la sección anterior. La herramienta se utilizó en el marco de un proyecto de implantación de un sistema de información médico en los policlínicos de la CNSS para llevar a cabo una nueva integración entre una aplicación informática existente (gestión de la farmacia, desarrollada con Oracle Forms) y una aplicación nueva (gestión del consultorio médico, desarrollado con Java JEE). que va a utilizar el servicio web generado automáticamente para consultar el stock de medicamentos. La generación automática del servicio web en cuestión permitió acortar plazos y reducir los costos de desarrollo. A fin de ofrecer a sus asegurados la posibilidad de consultar las informaciones sobre su trayectoria laboral y calcular su pensión, la CNSS ha desarrollado una serie de aplicaciones móviles que utilizan exclusivamente los servicios web generados por la herramienta. Se ha llevado a cabo un análisis de seguridad de los servicios web utilizados por estas aplicaciones móviles. Su resultado fue concluyente: no se pudo demostrar que se hubiera producido ningún ataque a la confidencialidad o la integridad de los datos.
5 En el marco de los intercambios de datos con la Caja Nacional del Seguro de Salud (Caisse nationale d assurance maladie CNAM), se utilizó la herramienta para crear servicios web relacionados con los datos necesarios para el reconocimiento del derecho a las prestaciones. Esta nueva modalidad de intercambio permitirá evitar los problemas detectados hasta la fecha en materia de plazos y fiabilidad de los datos. Las demás metas definidas que aún no han sido validadas lo serán a la mayor brevedad: ya se están estudiando posibles escenarios de validación. Lecciones aprendidas A partir de la experiencia de la organización, mencione hasta tres factores que considera indispensables para reproducir esta buena práctica. Cite hasta tres riesgos que surgieron o podrían surgir con la implementación de esta práctica. Por favor, explique brevemente estos factores y/o riesgos. Para reproducir la buena práctica descrita en el presente documento es indispensable: comprender la utilidad de los estándares, sobre todo en términos de seguridad, y mantenerse en la medida de lo posible dentro de un contexto normalizado: compartir las mismas referencias favorece la interoperabilidad; optar por reutilizar las herramientas existentes en vez de reinventar la rueda: ello permite disminuir costos y aprovechar la madurez del software ya existente en el mercado. Con todo, es preciso tener en cuenta ciertos riesgos antes de utilizar esta buena práctica: la utilización de los servicios web para normalizar los intercambios exige una motivación lúcida y debe responder a una necesidad auténtica. Por ejemplo, resultaría contraproducente utilizar los servicios web para integrar módulos de una misma aplicación informática; convendría prever una formación de los responsables técnicos para aplicar esta buena práctica. Los estándares, así como su implementación, están bastante bien documentados y se hallan disponibles en libre acceso, si bien no dejan de ser bastante difíciles de asimilar y dominar.