EIVUS

SSL pinning para clientes móvil y API

Fijar certificados o claves públicas para evitar MITM; rotación y fallback.

Volver al blog

El pinning de certificado o clave reduce el riesgo de MITM en apps sensibles. Planee rotación y expiración de los pins; soporte pins de respaldo. Equilibre seguridad y carga operativa. Use junto con TLS 1.2+ y HSTS.

Qué hace el pinning

  • MITM: Sin pinning el cliente confía en cualquier cert que encadene a una CA de confianza. Un atacante con una CA (o red comprometida) puede presentar un cert falso e interceptar tráfico. El pinning restringe al cliente a aceptar solo cert(s) o clave(s) pública(s) específicos.
  • Dónde: Apps móviles (iOS/Android) y a veces clientes de API. Los navegadores en general no soportan pinning (HPKP fue deprecado). Use para app-to-backend o API-to-API cuando controla ambos lados.
  • Qué fijar: Pin de certificado (hash del cert) o pin de clave pública (hash de la clave pública). El pin de clave sobrevive a la renovación del cert con la misma clave; el pin de cert cambia al rotar. El pin de respaldo permite un segundo cert/clave para rotación.

Rotación y fallback

  • Expiración: Los pins expiran o usted rota certs. Si la app solo tiene un pin y el cert cambia, la app fallará hasta que envíe una actualización con el nuevo pin. Tenga siempre al menos un pin de respaldo.
  • Rollout: Antes de rotar: añada el nuevo cert/clave y fíjelo en la app (pin de respaldo). Envíe actualización de la app. Tras adopción suficiente, haga el nuevo pin primario y quite el antiguo. Luego rote el cert en el servidor.
  • Carga operativa: El pinning ata releases de la app al ciclo de vida del cert. Planee calendario de rotación y pruebe en staging.

Buenas prácticas

  • TLS 1.2+: Use TLS fuerte y deshabilite cifrados débiles. El pinning no sustituye TLS; añade una segunda comprobación.
  • HSTS: En el servidor habilite HSTS. Para móvil/API el pinning es la capa extra.
  • Alcance: Fije solo el/los host(s) que necesite. No fije APIs de terceros que no controla.
  • Fallo: Si falla la comprobación del pin no haga fallback silencioso a sin pinning. Falle cerrado o muestre error claro.

Resumen

El pinning de certificado o clave reduce el riesgo de MITM. Planee rotación y expiración; soporte pins de respaldo. Equilibre seguridad y carga operativa. Use con TLS 1.2+ y HSTS.

Clientes que confían en nosotros