Tema 11

11. Cifrado en tránsito y en reposo en arquitecturas distribuidas

El cifrado protege datos y comunicaciones frente a observación o acceso indebido, pero no reemplaza autorización ni corrige errores de diseño. En sistemas distribuidos hay que decidir qué cifrar, dónde hacerlo, cómo gestionar claves y qué límites reales tiene cada estrategia.

Objetivo Proteger datos y flujos con criterio
Enfoque Tránsito, reposo y gestión de claves
Resultado Aplicar cifrado sin falsas suposiciones

11.1 Introducción

Cuando se habla de proteger información, una de las primeras respuestas suele ser "cifrar". La idea es correcta, pero incompleta. El cifrado es una herramienta poderosa, aunque no soluciona todos los problemas de seguridad. Puede impedir lectura no autorizada en ciertos contextos, pero no evita por sí solo abuso de permisos, exposición lógica ni errores de autorización.

En microservicios esto es especialmente relevante porque los datos viajan entre múltiples componentes, se almacenan en varios sistemas, se replican en logs, cachés, colas, backups y volúmenes, y dependen de claves o certificados que también deben protegerse.

Por eso una estrategia madura de cifrado debe responder tres preguntas: qué datos o canales necesitan protección, frente a qué amenaza concreta y con qué modelo de gestión de claves.

11.2 Qué protege realmente el cifrado

El cifrado busca proteger la confidencialidad y, en algunos casos, también la integridad de los datos. Su valor depende del contexto. Cifrar datos en tránsito protege frente a observación o manipulación durante la comunicación. Cifrar datos en reposo protege frente a ciertos accesos al almacenamiento subyacente.

Pero no protege, por ejemplo:

  • Frente a un servicio legítimamente autorizado que ya descifró los datos.
  • Frente a una autorización de negocio mal implementada.
  • Frente a fuga de información a través de logs, pantallas o respuestas excesivas.
  • Frente a compromiso de la clave usada para descifrar.
Cifrar es proteger una superficie específica del riesgo, no toda la semántica de acceso al dato.

11.3 Cifrado en tránsito

El cifrado en tránsito protege la comunicación mientras los datos se mueven entre clientes, gateways, servicios, proxies, brokers o bases de datos. En arquitecturas distribuidas es esencial porque la red interna ya no puede tratarse como totalmente confiable.

Su objetivo principal es impedir:

  • Lectura del tráfico por actores intermedios no autorizados.
  • Manipulación del contenido durante el recorrido.
  • Suplantación del extremo si la autenticación del canal está bien resuelta.

11.4 TLS y mTLS

TLS es el mecanismo más habitual para cifrar canales de comunicación. Cuando se usa correctamente, protege confidencialidad e integridad del tráfico y permite autenticar al servidor. mTLS, o mutual TLS, agrega autenticación mutua entre ambas partes del canal.

Mecanismo Qué protege Cuándo suele usarse
TLS Cifra el canal y autentica el servidor Clientes externos, APIs públicas, conexiones estándar
mTLS Cifra el canal y autentica ambos extremos Comunicación entre servicios y workloads internos

mTLS es especialmente útil en Zero Trust, porque evita asumir que un actor interno merece confianza solo por su ubicación de red.

11.5 Terminación TLS y puntos intermedios

En muchas arquitecturas el TLS se termina en un gateway, un load balancer o un proxy de ingreso. Esa práctica puede ser correcta, pero obliga a analizar qué pasa después. Si desde ese punto hacia los servicios internos el tráfico queda sin cifrar, la superficie protegida es menor de lo que parece.

Por eso conviene identificar claramente:

  • Dónde termina el cifrado.
  • Qué segmentos quedan expuestos luego de esa terminación.
  • Si el tráfico interno necesita volver a cifrarse.
  • Qué componente valida identidad y certificados en cada salto.

11.6 Cifrado en reposo

El cifrado en reposo protege datos almacenados: bases de datos, discos, snapshots, volúmenes, backups, colas persistentes y objetos en almacenamiento. Su propósito es reducir exposición cuando alguien accede al medio de almacenamiento sin estar autorizado a leer los datos en claro.

En microservicios esto suele aplicarse a:

  • Bases de datos relacionales y no relacionales.
  • Discos de máquinas, nodos o volúmenes de contenedores.
  • Backups y snapshots.
  • Archivos temporales y almacenamiento de objetos.

11.7 Niveles de cifrado en reposo

No todo cifrado en reposo se aplica en el mismo nivel. Cada opción protege superficies diferentes.

Nivel Qué cifra Límite principal
Disco o volumen Bloques de almacenamiento completos El proceso autorizado sigue viendo datos en claro
Motor de base de datos Datos gestionados por la base No controla exposición lógica vía consultas permitidas
Aplicación o campo Campos específicos antes de persistir Mayor complejidad de gestión y uso

11.8 Cuándo conviene cifrar a nivel de aplicación

En algunos casos, el cifrado del disco o de la base no alcanza. Si ciertos datos tienen sensibilidad muy alta, puede ser conveniente cifrarlos en la aplicación antes de persistirlos. Esto reduce exposición frente a algunos administradores de infraestructura o frente a accesos parciales al almacenamiento.

Pero también introduce complejidad:

  • Gestión más fina de claves.
  • Dificultad para búsqueda, indexado o procesamiento sobre campos cifrados.
  • Mayor responsabilidad del código de aplicación.

11.9 Gestión de claves y relación con el cifrado

El valor del cifrado depende de cómo se gestionan las claves. Si la clave vive en el mismo lugar y con los mismos permisos que el dato cifrado, la protección se debilita notablemente. Por eso el manejo de claves debe tratarse como parte inseparable de la estrategia de cifrado.

Hay que definir:

  • Dónde se almacenan las claves.
  • Quién puede usarlas y en qué condiciones.
  • Cómo se rotan sin romper el sistema.
  • Qué evidencias existen de su uso.

11.10 Integridad y autenticidad del canal

Cuando se habla de cifrado en tránsito a veces se piensa solo en confidencialidad, pero la integridad también es fundamental. Un canal seguro no debería permitir que un intermediario modifique contenido sin ser detectado. Además, la autenticidad del extremo evita hablar con un actor falso.

Por eso el canal seguro en arquitecturas distribuidas suele combinar:

  • Cifrado del contenido.
  • Verificación de integridad.
  • Autenticación del extremo remoto.

11.11 Cifrado y performance

El cifrado tiene costo computacional y operativo. Eso no justifica evitarlo en contextos sensibles, pero sí obliga a diseñarlo correctamente. Si se implementa sin planificación, puede introducir latencia, complejidad de troubleshooting y dependencia fuerte de la gestión de certificados o claves.

La respuesta no debería ser "no cifrar", sino entender dónde el costo es aceptable, qué componentes necesitan aceleración o automatización y qué rutas requieren más cuidado.

11.12 Errores frecuentes

  • Asumir que cifrar en disco resuelve exposición lógica en la aplicación.
  • Terminar TLS en el borde y dejar tráfico interno sin protección sin justificarlo.
  • Usar certificados o configuraciones criptográficas débiles por compatibilidad innecesaria.
  • Guardar claves junto con los datos que protegen.
  • No monitorear expiración de certificados o fallos de renovación.
Cifrar mal puede dar una falsa sensación de seguridad. La protección real depende de dónde terminan los datos en claro y quién puede llegar hasta ese punto.

11.13 Qué debes recordar de este tema

  • El cifrado protege superficies concretas, no reemplaza control de acceso ni diseño seguro.
  • TLS y mTLS son claves para proteger comunicación en arquitecturas distribuidas.
  • El cifrado en reposo puede aplicarse a distintos niveles con alcances distintos.
  • La gestión de claves es tan importante como el algoritmo o la tecnología usada.
  • Hay que identificar dónde termina el cifrado y dónde reaparecen datos en claro.

11.14 Conclusión

El cifrado es una capa esencial de protección en microservicios, pero solo cuando se aplica con claridad sobre amenazas y límites reales. Cifrar en tránsito reduce exposición de comunicaciones; cifrar en reposo protege almacenamiento; y gestionar bien claves y certificados evita que esa protección se vuelva decorativa. La clave está en combinar estas piezas con autorización, identidad y observabilidad.

En el próximo tema estudiaremos service discovery, configuración centralizada y riesgos de exposición para entender cómo localizar servicios y distribuir configuración sin ampliar innecesariamente la superficie de ataque.