Almacenamiento de información en la nube y retos de seguridad

Actualmente una gran cantidad de información está disponible en Internet, por ejemplo, fotografías, videos, archivos de texto, entre otros. Esta información se transmite y comparte por medio de aplicaciones como whatsApp, facebook, sitios web, etcétera. Todas estas facilidades para transmitir y compartir datos ha permitido la globalización de la comunicación. Sin embargo, pocas veces nos detenemos a pensar en qué, dónde y cómo están siendo almacenados estos datos.

El concepto de almacenar se refiere a guardar en algún medio (disco duro, cinta magnética) algún archivo o datos estructurados como una base de datos, con la idea de que éstos serán consultados posteriormente. Una base de datos es una colección de información que está organizada para que se pueda acceder, administrar y actualizar fácilmente.

En el pasado el almacenamiento se realizaba de forma local, es decir, todos estos datos residían en las computadoras del usuario o de la empresa que los generaba. Con el nuevo paradigma de cómputo en la nube, la mayoría de este almacenamiento se realiza en servidores externos; de tal suerte que el dueño de la información no sabe en dónde se encuentran físicamente sus datos.

El cómputo en la nube ofrece distintos servicios que permiten que nuestros datos sean almacenados en sus servidores, entre los que se puede mencionar: almacenamiento para archivos como dropbox, google drive; o bien el almacenamiento de bases de datos (database as a service (DaaS)) como amazon simple Db, Microsoft Azure Cloud SQL Database [1].

Estos servicios de externalización de datos brindan grandes ventajas para las compañías como para los usuarios finales, ya que se puede tener grandes ahorros en la administración, en recursos humanos especializados, en licencias de software, etcétera. Sin embargo, este nuevo paradigma también conlleva riesgos de seguridad, que deben ser atendidos a la brevedad.

Existen tres preocupaciones principales que el dueño de la información debe considerar: a) la confidencialidad, b) la integridad y c) la disponibilidad.

Aun cuando ya hay avances en leyes que protegen la información de los clientes en este ámbito global, aún hay muchos huecos legales precisamente para saber qué ley tiene prioridad; por ejemplo, se debe aplicar la ley correspondiente al lugar ¿dónde se generaron los datos o aquella dónde los servidores están ubicados?

En las siguientes secciones se discute brevemente en qué consisten las inquietudes que el dueño posiblemente tendrá y qué soluciones se le ha dado hasta el momento desde una perspectiva de seguridad y criptografía.

 

Confidencialidad

 

Al delegar la información a un tercero existe la posibilidad de que el proveedor de servicio exponga nuestra información o que la comparta con otras entidades de forma no autorizada. Este riesgo tiene un efecto dominó, si pensamos que una empresa que delega su base de datos, estaría compartiendo la información de todos sus clientes.

Para proveer confidencialidad por lo general se piensa en cifrar los datos y no compartir la llave con el servidor, ya que lo consideramos no confiable. Sin embargo, el aplicar algoritmos de cifrado tradicionales en información estructurada impide que el servidor pueda dar respuesta a las consultas de los clientes. Esto se debe a que un buen cifrador debe romper con la estructura del texto en claro, de modo que si la base de datos se cifra con el algoritmo Advanced Encryption Estándar (AES), el servidor no será capaz de procesar consultas simples como: seleccionar todos los estudiantes mayores de 18 años y menores de 22, ya que la edad ha sido cifrada y ha ido a parar a una cifra que no revela nada sobre el valor del texto en claro.

Por ello, la comunidad criptográfica está proponiendo nuevos algoritmos de cifrado con propiedades especiales, como algoritmos de cifrado que preservan el orden [2], que preservan el formato [3], algoritmos de cifrado con propiedades homomorfas que permiten realizar operaciones aritméticas sobre el texto cifrado, entre otros. Sin embargo, otro punto importante a tomar en cuenta es que cualquiera de los cifradores con propiedades especiales brinda una seguridad menor que los cifradores a los que aquí hacemos referencia como clásicos (AES).

Por lo que estos nuevos algoritmos están siendo estudiados con mucho detenimiento, ya que encontrar el compromiso correcto entre funcionalidad y seguridad es una tarea sumamente difícil.

 

Integridad

 

El problema de integridad en datos estructurados se considera el escenario donde un cliente delega una base de datos en un servidor no confiable. Cuando el cliente consulta sus datos, espera un conjunto de registros (respuesta) que satisfagan las restricciones de la consulta. Como el servidor no es confiable, el cliente debe poner a prueba que las respuestas que le está enviando sean correctas. Por lo tanto, debe existir un proceso que pueda proteger al cliente de comportamientos maliciosos del servidor, tal proceso es conocido en la literatura como procesamiento de consultas autenticado.

El servidor debe poder proveer una prueba de que el resultado que está enviando es íntegro (no ha sido modificado de forma no autorizada), es completo (no está omitiendo registros que cumplen con las condiciones de la consulta) y es fresco (corresponde a la última versión de la base de datos).

La comunidad criptográfica se encuentra trabajando arduamente en este problema, para ello se hace uso de primitivas bien estudiadas como códigos de autenticación de mensajes, firmas digitales y algunas estructuras de datos como árboles, bitmaps y filtros de Bloom [4].

 

Disponibilidad

 

Lo que se busca en este servicio es que el cliente pueda preguntar por algún archivo al servidor, y que éste pueda enviar una prueba de que en efecto el archivo está almacenado sin necesidad de reenviar el archivo completo. El objetivo de este servicio es garantizar que el proveedor de servicio no borre archivos del usuario de manera maliciosa o por algún error del sistema. Hay que tomar en cuenta que no toda la información almacenada es consultada continuamente por parte del cliente, por lo que el servidor podría borrar archivos y el usuario no lo descubriría hasta mucho tiempo después o posiblemente nunca.

Para ello la comunidad criptográfica está trabajando en soluciones conocidas como pruebas de conocimiento, pruebas de posesión, entre otros.

 

Otros servicios de seguridad

 

Es importante considerar que pese a que estos tres servicios son los que han recibido mayor atención por parte de la comunidad científica, no quiere decir que no se requieran otros servicios de seguridad como el no repudio en las transacciones, mejoras los mecanismos de autenticación y el control de acceso, entre otros.

 

Conclusiones

 

El cómputo nube ha facilitado la manera en que las personas administran e intercambian información, además ha generado un conjunto de servicios de suma utilidad para empresas y usuarios finales como es el almacenamiento o las bases de datos como servicio. Sin embargo, existen retos de seguridad que deben ser resueltos para evitar ataques de confidencialidad, integridad y disponibilidad en los datos.

El hecho de que estos datos sean estructurados implica que las técnicas tradicionales de criptografía y seguridad no sean directamente aplicables, por lo que la comunidad se mantiene activa buscando mejores soluciones para estos escenarios.

 

 

Referencias

 

[1] Cloud Security Alliance. Security guidance for critical areas of focus in cloud computing. Url: https://cloudsecurityalliance.org/csaguide.pdf, 2009.

 

[2] Boldyreva et.al. Order-Preserving Symmetric Encryption, Advances in Cryptology – EUROCRYPT 2009.

 

[3] Liu, Zheli & Jia, Chunfu & Li, Jingwei & Cheng, Xiaochun. (2010). Format-preserving encryption for DateTime. 201 – 205.

 

[4] Luca Ferretti, Mirco Marchetti, Mauro Andreolini, Michele Colajanni, A symmetric cryptographic scheme for data integrity verification in cloud databases, Information Sciences,Volume 422, 2018,Pages 497-515.

 

 

 

* brunoramos@inaoep.mx, lmrodriguez@inaoep.mx