Tema 12
Proteger la información mientras está almacenada es una necesidad central en seguridad de bases de datos. El cifrado en reposo, la correcta gestión de claves y el uso de técnicas como la tokenización ayudan a reducir el impacto de accesos no autorizados sobre discos, backups, réplicas y conjuntos persistentes de datos.
Una vez que los datos están guardados en discos, volúmenes, snapshots, backups o servicios de almacenamiento persistente, aparecen nuevos riesgos. Un atacante no siempre necesita comprometer el motor en ejecución para obtener información. A veces le alcanza con acceder a un archivo de backup, a un volumen montado, a una réplica olvidada o a un snapshot expuesto para llevarse grandes cantidades de datos.
El cifrado en reposo busca reducir ese riesgo protegiendo la información almacenada de manera que no sea legible sin el material criptográfico adecuado. Sin embargo, cifrar no es suficiente por sí solo. Si las claves están mal gestionadas o demasiado cerca del dato, la protección real se debilita considerablemente.
En este tema abordaremos tres conceptos estrechamente relacionados: cifrado en reposo, gestión de claves y tokenización. Juntos permiten construir una estrategia más robusta para proteger información persistente.
Los datos en reposo son aquellos que se encuentran almacenados de forma persistente, ya sea dentro del motor de base de datos o en componentes derivados de su operación. No se limitan a las tablas activas visibles desde una aplicación.
En la práctica, incluyen:
El cifrado en reposo no resuelve todos los problemas de seguridad, pero sí mitiga escenarios importantes donde el atacante obtiene acceso al soporte de almacenamiento sin pasar necesariamente por todos los controles lógicos del motor.
| Escenario | Qué ocurre sin cifrado | Qué aporta el cifrado |
|---|---|---|
| Robo o copia de discos | Acceso directo al contenido almacenado | Dificulta la lectura sin la clave |
| Backup expuesto | La información puede abrirse offline | Reduce utilidad del archivo robado |
| Snapshot mal compartido | Exposición masiva de datos históricos | Protege el contenido persistente |
| Acceso físico o administrativo parcial | Lectura de archivos fuera del flujo normal del motor | Agrega barrera criptográfica adicional |
Lo importante es entender que el cifrado en reposo reduce impacto sobre soportes y copias, pero no sustituye autorización, auditoría ni segmentación.
La protección en reposo puede implementarse en distintos niveles. Cada uno ofrece ventajas y limitaciones, y en muchos casos se combinan.
Cada nivel responde a un conjunto distinto de amenazas. Por eso conviene elegirlos según sensibilidad del dato, arquitectura y modelo operativo.
El cifrado de disco o volumen suele ser una primera capa útil porque protege el contenido almacenado ante robo físico, desmontaje o lectura directa del soporte. Es relativamente transparente para la aplicación y para el motor, lo que facilita su adopción.
Sin embargo, tiene limitaciones claras. Si el sistema está en ejecución y el volumen ya está montado, un proceso con acceso lógico suficiente puede seguir interactuando con los datos. Por eso este nivel ayuda a mitigar ciertos escenarios, pero no reemplaza controles más cercanos al dato ni al motor.
Muchos motores ofrecen capacidades de cifrado integradas para proteger datos, logs, temporales o estructuras relacionadas. Este enfoque puede ser más rico que el cifrado de volumen porque se integra con la lógica del propio sistema de base de datos.
Entre sus ventajas suelen estar:
De todos modos, sigue siendo fundamental entender qué protege exactamente y qué no. No todos los motores cubren del mismo modo archivos temporales, caches, exportaciones o datos derivados.
Cuando ciertos atributos tienen una sensibilidad mucho mayor que el resto, puede ser útil cifrarlos individualmente. Este enfoque permite aplicar protección reforzada sobre datos específicos sin cifrar necesariamente toda la base del mismo modo.
Se suele considerar especialmente para:
Su principal ventaja es la precisión. Su principal desafío es la complejidad: afecta consultas, indexación, búsquedas, rendimiento y diseño de aplicaciones. Por eso no debe adoptarse de forma indiscriminada, sino donde el valor de la protección adicional justifique el costo operativo.
El verdadero valor del cifrado depende de la gestión de claves. Si la información está cifrada pero la clave se encuentra expuesta, incrustada en código, almacenada junto con el backup o accesible sin control, la protección se vuelve más teórica que real.
Una gestión madura de claves debe responder, como mínimo, estas preguntas:
Aunque los detalles cambian según la plataforma y la infraestructura, existen principios bastante estables para una buena gestión de claves.
Estas prácticas no hacen invulnerable a la plataforma, pero elevan significativamente el costo y la dificultad de comprometer datos cifrados.
La tokenización es una técnica que reemplaza un dato sensible por un valor sustituto o token que no tiene valor directo fuera del sistema que mantiene la relación entre ambos. A diferencia del cifrado, el token no necesariamente permite recuperar el dato original por sí mismo; la reversibilidad depende del diseño del sistema tokenizador.
Su utilidad es alta cuando se desea reducir exposición de datos sensibles en sistemas que no necesitan procesar el valor real en todo momento. Por ejemplo, aplicaciones o procesos pueden trabajar con tokens mientras el dato original permanece protegido en un componente más restringido.
Aunque ambos mecanismos protegen información sensible, responden a necesidades distintas.
| Aspecto | Cifrado | Tokenización |
|---|---|---|
| Objetivo principal | Hacer ilegible el dato sin clave | Reemplazar el dato por un valor sustituto |
| Reversibilidad | Normalmente reversible con la clave | Depende del sistema de tokens |
| Uso típico | Proteger almacenamiento o transporte | Reducir exposición del dato real en otros sistemas |
| Dependencia crítica | Gestión segura de claves | Protección del sistema de mapeo o vault |
Un error frecuente es pensar el cifrado en reposo solo para la base principal. Sin embargo, muchos incidentes relevantes ocurren en activos derivados: backups automáticos, snapshots cloud, exportaciones manuales, datasets de prueba y medios de recuperación.
Si estas copias no están cifradas o se gestionan con claves débiles, se convierten en el camino más fácil para extraer información. Además, suelen contener grandes volúmenes de datos históricos y pueden permanecer accesibles mucho después de que la base principal haya cambiado.
Por eso, una estrategia seria de cifrado en reposo debe extenderse a todo el ecosistema persistente, no solo al almacenamiento principal del motor.
El cifrado, especialmente a niveles más finos, puede introducir costos operativos y técnicos: complejidad de diseño, impacto en consultas, limitaciones en indexación o dependencia de infraestructura adicional para claves. La respuesta adecuada no es evitarlo, sino elegir el nivel correcto para cada caso.
Una decisión madura considera:
En seguridad, el objetivo no es cifrar absolutamente todo de la misma manera, sino aplicar protección proporcional al riesgo.
El cifrado en reposo, la buena gestión de claves y la tokenización permiten proteger la información más allá del motor en ejecución, reduciendo el valor de discos, backups y copias comprometidas. Son herramientas fundamentales para disminuir el impacto de fugas y accesos no autorizados sobre información persistente.
En el próximo tema estudiaremos el enmascaramiento, la anonimización y la protección de datos en entornos de prueba, donde el desafío no es solo almacenar de forma segura, sino evitar exponer datos reales en contextos menos controlados.