Cifrado de bases de datos: algo vital en la lucha contra la fuga de datos

El cifrado consultable en el sistema de gestión de bases de datos MongoDB y cómo se puede mejorar la protección de los datos.

Los episodios de fugas de datos se han vuelto preocupantemente comunes en los últimos tiempos. Los ciberdelincuentes utilizan todo tipo de trucos para acceder a las bases de datos y a los registros almacenados en ellas. La forma más lógica de asegurar las bases de datos sería mediante el cifrado, pero esto es, a menudo, poco práctico. Al fin y al cabo, cuanto más tenga que acceder un servicio a una base de datos, más lenta será su respuesta. Y si esa base de datos también está cifrada, el tiempo de respuesta puede ser aún mayor. Y eso no es todo, como se demostró en un estudio de 2009 sobre los principales problemas del cifrado de bases de datos. Sin embargo, a principios de junio de 2022, los desarrolladores del sistema de gestión de bases de datos (DBMS) MongoDB anunciaron un gran avance en su última versión: soporte para el cifrado consultable. El cifrado consultable es una forma de almacenar los datos de forma cifrada pero con tiempos de respuesta aceptables para sus consultas.

Aplicación en el mundo real

La mente que está detrás de esta nueva tecnología es Seny Kamara, un profesor asociado de Ciencias de la Informática en la Universidad de Brown (Providence, Rhode Island, EE.UU.), que ha trabajado mucho en la aplicación del cifrado fiable en el mundo real. Cuando su startup fue adquirida por MongoDB, su investigación se centraba en el desarrollo de un método fiable para proteger las bases de datos sin perjudicar su rendimiento.

No es ningún secreto que los desarrolladores y operadores de bases de datos siempre han priorizado la velocidad y la fiabilidad sobre la protección. Para los expertos en cifrado, en cambio, la prioridad es garantizar la imposibilidad de descifrar los datos, mientras que la comodidad pasa a un segundo plano. Por ello, las soluciones anteriores han oscilado entre cifrar los datos de forma rápida pero poco fiable, o de forma segura pero muy lenta. Kamara combina un enfoque científico (es decir, un cifrado fuerte) con las necesidades de los usuarios de la vida real (es decir, tiempos de respuesta rápidos). Así es como se ve en MongoDB:

Sistema de acceso a bases de datos cifradas.

Sistema de acceso a bases de datos cifradas. Source

Supongamos que necesitamos recuperar los datos de un usuario a partir de su número de la seguridad social. Tomamos el número de la seguridad social, lo ciframos y lo enviamos como parte de la consulta a la base de datos. En respuesta, la base de datos devuelve otra información sobre el usuario: nombre, número de teléfono y dirección de correo electrónico. Hay que tener en cuenta que en la base de datos no se realiza ningún tipo de descifrado. La consulta solo contiene datos cifrados, al igual que la respuesta. Es importante destacar que las claves secretas para descifrar los datos no se almacenan ni en el servidor de la base de datos ni en el del cliente. Esto significa que incluso si los atacantes acceden a la base de datos, los datos de los usuarios siguen estando seguros.

Un futuro esperanzador… con un poco de suerte

Si estamos ante un problema tan importante, te preguntarás, ¿por qué no ha habido antes soluciones de cifrado para las bases de datos? Bueno, lo cierto es que ha habido algunas. Pero la mayoría de ellas estaban orientadas al rendimiento y el cifrado era un elemento secundario, por ejemplo, para demostrar a algunos organismos que no se había descuidado totalmente la protección. Como es lógico, las soluciones existentes tienen una serie de vulnerabilidades. En particular, se descubrió que, si una base de datos entera cifrada con CryptDB se viera en peligro, la mayor parte de su contenido podría descifrarse. En otras palabras, este tipo de cifrado no es nada más que un pequeño inconveniente para los hackers. Esta solución, al igual que otras, nunca ha sido verificada formalmente para determinar la solidez de su método de cifrado.

Este es un problema común del cifrado práctico: cuando los desarrolladores de un sistema de información se sienten obligados a crear algo interno que cumpla con sus requisitos particulares de cifrado de datos. Este “algo” suele resultar vulnerable porque el proceso de desarrollo no ha tenido en cuenta las últimas investigaciones científicas. Y las vulnerabilidades suelen ser tales que su presencia solo puede determinarse analizando el algoritmo y prediciendo su funcionamiento. El resultado es que tus datos están teóricamente cifrados, pero en la práctica hace tiempo que están a la venta en el mercado negro o algo parecido.

En términos de funcionalidad, el cifrado consultable en MongoDB se encuentra en una intersección entre la ciencia y el negocio (menuda novedad). Solo falta que el nuevo método de cifrado pase una prueba formal para demostrar la seguridad de los datos (las críticas son positivas). Los usuarios reales también deberían dar su opinión: ¿interfiere el cifrado en el rendimiento? Y sería bueno ver la aparición de un sistema rival basado en principios similares: al final, la competencia sana es la clave del progreso.

¿Y qué viene después?

En las empresas que se preocupan por los datos de los clientes, casi todo está cifrado: las copias de seguridad, el correo electrónico, las comunicaciones entre los dispositivos y la red corporativa. Así que las bases de datos pueden ser el último reducto de información importante almacenada en texto sin formato. Sí, esas bases de datos tienen la máxima protección contra la intrusión por parte del exterior, pero, aun así, siguen siendo vulnerables. Esperemos que el éxito de la implantación de sistemas de gestión de bases de datos cifrados ayude a evitar el robo masivo de datos de los usuarios. Seguirá siendo posible atacar a usuarios individuales o recopilar datos abiertos que, por definición, están disponibles en línea. Pero ¿será posible robar cien millones de cuentas a la vez? Los avances en el cifrado de bases de datos podrían hacer que estos incidentes sean cada vez más improbables.

Consejos