Validador de identidad de referencia pública de AWS

Validador de identidad de referencia pública de AWS

SISTEMA VALIDADOR DE IDENTIDAD DE REFERENCIA DEL PROYECTO – Administradora de Fondos de Pensiones

El La Administradora de Fondos de Pensiones de Colombia hace parte de un reconocido holding colombiano y es una de las mayores administradoras de fondos de pensiones y censos del país con más de 1,6 millones de afiliados. Esta gestora de fondos de pensiones gestiona tres tipos de fondos: seguro de desempleo, pensiones voluntarias y pensiones obligatorias.

En 2011, la empresa adquirió los activos de los fondos de pensiones en otros países de la región, en 2013 la firma completó un proceso de fusión con un grupo extranjero agregando a su cartera de administración de Fondos de Pensiones y Cesantías, seguros de vida y administración de inversiones.

The technical difficulty and business involvement.

Actualmente, esta gestora de Fondos de Pensiones tiene un desarrollo constante de aplicaciones para fidelizar a sus clientes y también para estar a la vanguardia del negocio, por ello, actualmente con una gran cantidad de aplicaciones, estas aplicaciones se agrupan de acuerdo a los usuarios que la utilizan, hay dos grupos:

  • Aplicaciones internas o aplicaciones de uso interno de la empresa
  • Las aplicaciones tipo satélite son utilizadas principalmente por afiliados que realizan operaciones de autogestión en los diferentes canales existentes de acuerdo a sus requerimientos y / o necesidades.

En aplicaciones de tipo satélite, el administrador debe permitir operaciones que por su naturaleza requieran diferentes mecanismos de seguridad como autenticación, identificación y autorización. Sin embargo,

  • Para lograr la autenticación, los afiliados utilizan el mecanismo de nombre de usuario y contraseña.
  • La autorización se realiza a través de un sistema de roles, perfiles y permisos, todos configurados en función del tipo de afiliado y los accesos que requieran para realizar sus respectivas operaciones.
  • La identificación del afiliado es una tarea más compleja, teniendo en cuenta que el objetivo de este mecanismo es conseguir que el usuario sea realmente quien dice ser y que no ha sido suplantado.

Este último mecanismo de identificación es el núcleo del problema a resolver ya que debe permitir al administrador asegurar que los afiliados realicen los trámites, operaciones y / o uso de los servicios de manera confiable y segura con la calidad que merecen.

Ahora, la combinación de diferentes factores de seguridad agrega más capas de seguridad al procedimiento de autenticación, brindando robustez a la verificación y dificultando la intrusión y el robo de identidad por parte de terceros. Para ellos, introducimos autenticación fuerte, que es cuando se combina con menos dos factores para garantizar que el usuario que se autentica sea realmente quien dice ser, toda autenticación fuerte es también una autenticación multifactor (MFA), donde el usuario verifica su identidad. Cuantas veces se combinen los factores, incluso si uno de los factores falla o es atacado por un ciberdelincuente, existen más barreras de seguridad antes de que el ciberdelincuente pueda acceder a la información.

Como consecuencia de ello, surge el "sistema validador de identidad", que es el sistema como servicio que realiza el proceso de identificación de los afiliados en el administrador, el cual es utilizado por los demás sistemas que lo requieran para que puedan decidir si autorizan o no la ejecución de un procedimiento.

Solución realizada, servicios de AWS, arquitectura 

Para lograr una correcta identificación del afiliado, la recolección de datos se hace evidente como un primer paso, en función de estos datos se debe tomar la mejor decisión en cuanto a qué mecanismos de identificación se deben aplicar, luego se deben aplicar estos mecanismos, esperar la Afiliarse la respuesta y verificarla, en paralelo todo el proceso consta de su respectivo registro de operaciones y estadísticas.

La arquitectura general del sistema se compone esencialmente de los siguientes componentes:

  • Satélite: son aquellos que consumen los servicios del sistema validador de identidad ya que necesitan validar la identidad de sus afiliados antes de realizar un trámite.
  • UI: Interfaz gráfica del sistema validador de identidades. Conjunto de componentes y librerías desarrolladas en React JS que pueden ser utilizadas por los Satélites, que contienen la lógica de conexión hacia los servicios del sistema validador de identidad. 
  • APIGateway: Contiene los endPoints que expone el sistema de validación de identidades 
  • Trazabilidad en Splunk: Componentes que se encargan de registrar los mensajes que intercambia sistema validador de identidad (externa e internamente)

  • Exhaustividad: Componente que se encarga de realizar las llamadas necesarias a los servicios del sistema validador de identidad externo que extrae la información necesaria del cliente para tomar la decisión de qué mecanismo se aplicará.

  • Validar Pass: Componente que se encarga de eliminar los mecanismos a aplicar al cliente aquellos que ya han sido validados teniendo en cuenta una serie de criterios configurables.

  • Gerente de Mecanismo: Encargado de ejecutar el mecanismo y realizar la validación a través de la comunicación con servicios de terceros e interpretar y validar sus respuestas.
  • Rule Manager: Encargado de tomar la decisión de los mecanismos que se aplicarán al cliente.

Flujo de arquitectura

El sistema validador de identidad es un sistema integrado internamente por varios microservicios que interactúan entre sí. El flujo general del sistema validador de identidad consiste en una solicitud de validación del mecanismo para un cliente que recorre los diferentes microservicios que componen el sistema. La siguiente es la arquitectura del flujo de mensajes del sistema de validación de identidad.

La imagen muestra, de forma similar a la arquitectura lógica del sistema validador de identidad, la arquitectura interna de los microservicios utilizando colas de AWS SQS como canal de comunicación intermedio, que conforman el sistema y el flujo de datos de una solicitud. que se realiza al mismo. El flujo de imágenes es un flujo funcional, lo que significa que la solicitud no se cancela.

El flujo se describe a continuación:

  1. El sistema validador de identidad recibe una solicitud de validación de uno de los canales correspondientes y, que están configurados, valida los datos enviados de acuerdo con una estructura definida y un ID de solicitud.
  2. Autentica la solicitud según el satélite que la realiza.
  3. Registre la información en Redis donde seguirá esperando la respuesta para el ID de solicitud (simulación de sincronización)
  4. Determina si es una solicitud no iniciada, valida si la transacción y el canal existen.
  5. Comienza el proceso de cumplimentación de los datos de la solicitud.
  6. Se denominan servicios de completitud externa del sistema validador de identidad para extraer la información requerida del afiliado, que será utilizada en la toma de decisiones del mecanismo de identificación que se deba aplicar.
  7. Los datos de completitud se envían al microservicio RuleProcessor, mediante el esquema de fan-out y utilizando SNS y SQS, que se encargará de orquestar las reglas para determinar la lista de mecanismos a aplicar al cliente.
  8. Están determinadas por los datos que se extrajeron en Completitud, más los datos de la propia Solicitud inicial, y teniendo en cuenta una serie de reglas que se debe cumplir con la lista de mecanismos a aplicar.
  9. Se determinan las validaciones que ha pasado el cliente en un tiempo determinado
  10. Se realizan las consultas necesarias para completar la información requerida
  11. Los datos de completitud y la lista de mecanismos a aplicar se envían al microservicio ExecuteMechanism, que busca en la lista de mecanismos a solicitar el primero que no ha sido validado y llama al servicio externo al sistema validador de identidad que inicia el mecanismo de validación.
  12. Los datos recopilados más la respuesta desde el inicio del primer mecanismo no válido se envían a SendResponse. Esto almacena la solicitud completa en la base de datos para solicitudes posteriores.
  13. Empuje los datos a Redis donde RestRequest está esperando para enviar la solicitud-respuesta
  14. Se inicia una solicitud de validación del mecanismo iniciado. Sigue leyendo de Redis la respuesta.
  15. Se valida que la solicitud de inicio se ha ejecutado correctamente y que la solicitud es válida
  16. Se envía para validar el mecanismo, donde se llama al servicio de validación correspondiente al mismo mecanismo iniciado
  17. Se verifica que la validación ha sido exitosa y el mecanismo está marcado como válido en la lista de mecanismos.
  18. Enviar respuesta de mecanismo no válida

Arquitectura de bajo nivel 

Una arquitectura de sistema de validación de identidad de nivel inferior muestra la complejidad del sistema y la cantidad de componentes que intervienen e interactúan con la información de la Solicitud que viaja de un microservicio a otro; donde cada uno va enriqueciendo y modificando su estado.

¿Cuáles son los beneficios de esta solución para el cliente?

As part of the implemented solution, the client obtained greater security in the processes of self-management and operations that required verification of the identity of the person who required it. That In this sense, the consumption of the system was implemented in the satellites to make the decision whether to allow or not carry out operations, which brought a greater securitization of operations and prevents in a high degree spoofing. With this, it has gained greater prestige and confidence from affiliates knowing that there are ways to verify their identity when operating with their services and products of your day-to-day.

Renzo Disi

    Los comentarios están cerrados.