Tema 11
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.
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.
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:
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:
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.
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:
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:
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 |
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:
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:
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:
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.
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.