Vulnerabilidades · 2 de agosto de 2025 · Rodrigo Gutiérrez

Estamos autenticando operaciones. Pero no el canal que las ejecuta.

En el centro del ecosistema bancario digital hay una conversación constante. Fluida, veloz, repetida millones de veces al día entre aplicaciones móviles y servidores que gobiernan la infraestructura financiera. Nos referimos específicamente al vector mobile, donde el canal cliente–servidor depende enteramente del entorno de ejecución del dispositivo, no de un navegador con gestión de certificados.

Esa conversación es la puerta de entrada a todo: saldos, transferencias, tarjetas virtuales, seguros, inversión. Y a pesar de su criticidad, esa puerta se abre con demasiada facilidad.

Lo que hoy se asume como “canal seguro” es, en muchos casos, una ruta débil protegida solo por un certificado de servidor y un token de usuario.

Se valida qué transacción se ejecuta, quién la solicita, incluso desde qué lugar se emite. Pero no se valida, con certeza criptográfica, si el canal desde donde se origina tiene derecho legítimo a iniciar la conversación.

Y es ahí donde se instala el nuevo riesgo estructural que aún no ha sido resuelto. En un ecosistema donde los ataques ya no entran rompiendo puertas, sino emulando a la perfección al usuario legítimo, lo que está en juego ya no es solo la transacción: es la confianza en el canal que la habilita.

Mutual TLS —mTLS— no es una innovación reciente, pero su uso ha estado históricamente limitado a entornos corporativos, servicios internos o integraciones entre entidades confiables. En el mundo de las apps móviles financieras, sin embargo, su adopción sigue siendo la excepción. Y esa omisión, en 2025, debería encender todas las alertas estratégicas.

Una llave criptográfica que marca el inicio legítimo del canal

La propuesta de mTLS es simple y contundente: el canal no debe establecerse si ambas partes —cliente y servidor— no se presentan pruebas criptográficas firmadas de su identidad. En vez de confiar en que quien llega al endpoint es una app válida desde un dispositivo autorizado, el servidor exige un certificado de cliente emitido por la institución. Sin ese certificado, el canal TLS simplemente no se establece.

Aplicado al ecosistema de apps móviles financieras, esto significa que durante el enrolamiento del dispositivo, la institución emite o instala un certificado único en el terminal. Este enfoque no se refiere a portales web ni banca tradicional sobre navegador, donde el modelo de certificados, sesiones y canales es completamente distinto.

Y esa distinción importa: mientras en mobile se puede controlar el APK, el tráfico, los headers y el canal completo, en entornos browser el manejo de certificados de cliente es inconsistente entre navegadores, difícil de distribuir y de mantener. En mobile, mTLS es viable, práctico y altamente efectivo. En web, es complejo, friccionante y arriesgado a nivel UX y soporte.

Por eso el foco de este análisis es claro: la banca móvil como canal crítico, pero subprotegido.

Hoy, muchos ataques avanzados —replay de sesión, fraude automatizado, reverse proxy, suplantación de apps o scraping de APIs— se apoyan precisamente en la posibilidad de iniciar conexiones válidas con el backend desde entornos falsificados. Se clona la app, se manipulan headers, se simula comportamiento humano. Incluso se replica el fingerprint del dispositivo original. Pero si no hay certificado mTLS válido, toda esa sofisticación se estrella contra una barrera silenciosa.

El canal no responde. La sesión no se inicia. El fraude no despega.

Evitar la exposición antes de que el fraude se construya

El verdadero aporte de mTLS no está en la autenticación transaccional, sino en lo que impide que ocurra antes. Porque todo fraude, por sofisticado que sea, comienza con una etapa de reconocimiento. El atacante necesita entender cómo se estructura la API, qué rutas existen, cómo responde ante errores, qué validaciones puede sortear y qué tokens reutilizar.

Sin mTLS, esa fase es rutinaria. Basta con instalar la app en un emulador, interceptar tráfico, observar respuestas, jugar con parámetros. Aunque la transacción no se complete, el atacante ya sabe cómo hablarle al sistema. Ya puede construir su réplica, automatizar su ataque, o diseñar un flujo que opera desde el canal legítimo.

Con mTLS, esa etapa queda abortada desde el primer intento. No importa que se tenga el APK original. No importa que se conozcan los endpoints. No importa que se tenga un token válido robado. Si no hay certificado emitido y vigente para ese dispositivo, el canal ni siquiera se abre a nivel de transporte.

La infraestructura permanece muda. Para el atacante, la app es una caja negra sin retorno.

Esto no elimina el fraude. Pero lo vuelve extraordinariamente más difícil. Disminuye la superficie de ataque. Quita visibilidad al adversario. Y obliga a rediseñar sus tácticas desde cero, con una barrera que ya no depende de comportamiento, sino de criptografía formal.

Y lo más relevante: la institución recupera el control sobre quién tiene permiso para iniciar la conversación, no solo sobre qué hace esa conversación una vez autorizada.

La visibilidad que la autenticación tradicional no entrega

Otra de las grandes promesas de mTLS es lo que entrega a la organización una vez implementado. Cada certificado es una identidad técnica. No solo prueba de autenticación, sino de atribución verificable. El canal deja de ser una nebulosa con headers inconsistentes, y se convierte en una vía auditada donde cada solicitud puede ser asociada, de forma precisa, a un dispositivo legítimo, enrolado bajo condiciones definidas.

Esto tiene implicancias que van mucho más allá de la seguridad.

Permite a los equipos de riesgo observar patrones de uso por dispositivo, detectar cambios de comportamiento, anomalías de secuencia o picos de actividad sospechosa. Permite reaccionar antes de que el fraude se materialice, revocando el certificado, suspendiendo el canal o revalidando la identidad técnica del dispositivo comprometido.

Incluso habilita modelos de validación transaccional donde ciertos mensajes —por ejemplo, transferencias por encima de cierto umbral, cambios de beneficiarios o solicitudes de productos sensibles— pueden ser firmados localmente con la clave privada del certificado, generando trazabilidad, no repudio y defensa jurídica ante disputas complejas.

Esto no debe confundirse con los esquemas de enrolamiento que hoy aplican muchas apps bancarias, donde se instala una “semilla” local para generar códigos dinámicos de segundo factor. Ese mecanismo, aunque útil, no tiene relación con mTLS. La semilla puede permitir OTPs temporales, validaciones por PIN o incluso biometría local, pero no impide que la app inicie un canal de comunicación sin demostrar que es legítima.

En cambio, mTLS exige que el servidor solo permita conexiones TLS si el dispositivo presenta un certificado previamente emitido y verificado.

No importa si el atacante tiene el APK original o un token robado: si no tiene el certificado criptográfico correcto, el canal ni siquiera se establece.

Así, mTLS no reemplaza otros factores como contraseñas o biometría, sino que los refuerza desde la base, convirtiendo el canal mismo en parte activa de la seguridad.

Una decisión pendiente que no se justifica seguir postergando

¿Por qué entonces no se implementa ampliamente? Porque requiere estructura. Una PKI interna o federada. Un mecanismo de enrolamiento robusto. Un canal de distribución de certificados seguro. Un enclave confiable en el dispositivo móvil. Una lógica de revocación ante pérdida, robo o cambio de equipo. Y una coordinación entre áreas técnicas, de arquitectura, seguridad y experiencia digital.

Pero los beneficios lo justifican ampliamente.

No se trata de una mejora cosmética. Se trata de cerrar una brecha que hoy está siendo explotada por adversarios que ya entienden perfectamente cómo habla la infraestructura financiera. Se trata de dejar de asumir que el canal es confiable solo porque la app fue firmada y el token es válido. Se trata de blindar el inicio mismo de la conversación, en un entorno donde la suplantación es cada vez más precisa y más rentable.

No es un reemplazo de lo que existe. No elimina MFA, biometría ni validaciones contextuales. Pero lo que hace es fortalecer todo lo demás, desde abajo. Desde el lugar que, hasta ahora, ha quedado sin autenticación real: el canal en sí mismo.

Y a diferencia del canal web —donde mTLS enfrenta desafíos técnicos, fricciones de experiencia, riesgos de instalación cruzada, compromisos de clave y fragmentación de navegadores—, en mobile el modelo es factible, auditable y controlable. Es una medida que puede implementarse con claridad de propósito y resultados medibles.

En un contexto donde las apps móviles concentran el mayor volumen de transacciones financieras y representan la principal interfaz cliente–banco, seguir confiando en que el canal se comportará bien por defecto es una apuesta insostenible.

Porque el problema ya no es quién hizo la transacción. Es cómo fue posible que el canal la permitiera sin saber quién hablaba.

← Volver al blog