Explorando FAPI: un vistazo a sus fundamentos

Pamela Melissa Eberle
Bancolombia Tech
Published in
3 min readApr 15, 2024

La banca abierta o el open banking es un tema de interés que en los últimos años ha tomado mayor fuerza a nivel mundial. Esta iniciativa donde las organizaciones financieras exponen sus APIs a terceros, han impulsado avances en estándares como consecuencia del acceso a los datos personales y financieros de los usuarios a un tercero. Uno de estos estándares es enfocado a la seguridad de las APIs, el cual es conocido como FAPI (Financial-grade API), cabe destacar que no solo se limita a las APIs financieras. En este artículo, exploraremos algunas de sus características clave.

FAPI es una especificación técnica desarrollada por FAPI Working Group de OpenID Foundation. Este grupo de trabajo tiene como objetivo proporcionar recomendaciones de seguridad, privacidad y protocolos, para:

  • Permitir que las aplicaciones utilicen los datos almacenados en cuentas financieras.
  • Permitir que las aplicaciones interactúen con cuentas financieras y permitir a los usuarios controlar la configuración de seguridad y privacidad.

FAPI proporciona pautas de implementación específicas para que los servicios financieros en línea las adopten mediante el desarrollo de un modelo de datos REST/JSON protegido por un perfil OAuth de alta seguridad” (Fuente: OIDF).

FAPI no reemplaza a los estándares OAuth y OpenID Connect, introduce controles de mayor rigurosidad que refuerzan las especificaciones mencionadas y controles adicionales.

OpenID Foundation Working Groups y Stack Financial-grade API

FAPI 1.0 incorpora 2 perfiles de seguridad (parte 1 y parte 2) que están destinados a aplicarse a los servicios en línea, en cualquier sector:

  • Parte 1: Línea base - Es un perfil de seguridad básico de OAuth que sea adecuado para proteger las APIs con un riesgo moderado, no críticas (solo lectura). Es compatible con clientes públicos y confidenciales. Tiene como objetivo el acceso de solo lectura a la cuenta de un usuario final, impone niveles sólidos de autenticación para los clientes, capa de seguridad con Mutual TLS y un mecanismo basado en JSON Web Token. Asegura que se utilicen períodos cortos para los tokens de acceso.
  • Parte 2: Avanzado - Es un perfil de seguridad avanzado de OAuth que es adecuado para proteger las API con un alto riesgo, críticas (lectura/escritura), como aquellas que dan acceso a datos altamente confidenciales o activan transacciones financieras (por ejemplo, iniciación de pagos). Solo admite clientes confidenciales.

Un “cliente” en OAuth se refiere a la aplicación o servicio que solicita acceso a los recursos protegidos en nombre del usuario.

Escenario de posible ataque y como FAPI interviene

Los dos perfiles de FAPI tanto el perfil base como el avanzado proporcionan requisitos para el cliente, el servidor de autorización y el servidor de recursos.

FAPI 2.0 es una actualización del estándar lanzado en abril de 2023, incluye un modelo de atacante que proporciona una descripción general de los objetivos de seguridad del perfil y el tipo de atacantes contra los que protege. Además del modelo atacante, FAPI 2.0 mantiene dos perfiles:

  1. El perfil de seguridad FAPI 2.0 que enumera los requisitos para lograr los objetivos de seguridad descritos en el modelo de ataque.
  2. La firma de mensajes FAPI 2.0 que amplía el perfil de seguridad con requisitos para lograr objetivos de no repudio.

Adicionalmente, FAPI 2.0 se encuentran temas a destacar como:

  • Prevención de la suplantación del remitente
  • Controles contra ataques como la manipulación de mensajes en términos de solicitud y manipulación de respuesta de autorización: inyección de código
  • Prevención de fugas y uso no autorizado del código de autorización
  • Prevención de suplantación de identidad del cliente
  • Autenticación de cliente con Mutual TLS o JWT
  • Prevención del uso no autorizado de tokens
  • Tokens de acceso vinculados a certificados
  • Autenticación fuerte y multifactor para usuarios
  • Tiempo de vida corto para tokens de acceso
  • Mecanismos de criptografía

Para finalizar, podemos concluir que el desarrollo y la implementación de Financial-grade API (FAPI) en el contexto del Open Banking han marcado un hito significativo en la evolución de la industria financiera.

La adopción de estándares ha contribuido de manera crucial a la mejora de la seguridad, protección de los datos de los usuarios y la interoperabilidad de las APIs utilizadas por instituciones financieras y proveedores de servicios relacionados.

Referencias:

--

--

Pamela Melissa Eberle
Bancolombia Tech

Specialist Architect | Cloud | Security | Infrastructure | Electronics & Sound Engineer | Tech & Innovation Enthusiast |