Almacenamiento fragmentado de archivos en la Nube

Publicado el 13 noviembre 2020 por Dataprius Sl @dataprius

El almacenamiento de archivos en la Nube mediante fragmentos es un técnica que emplean algunas plataformas con la finalidad de proporcionar seguridad. Mostramos en que consiste, sus virtudes y sus defectos.

¿En qué consiste el almacenamiento por fragmentos?

Cuando subes un archivo a la Nube este terminará guardándose en un disco duro de algún servidor situado en alguna parte del mundo. Aunque realmente tendríamos que matizar la forma como se hace esto, resulta una buena aproximación.

Conviene recordar que esos discos duros, dónde finalmente se almacenan nuestros ficheros, están en los servidores de un Datacenter (Centro de datos).

Datacenter (Centro de datos)

En lugar de guardar el archivo completo en el disco duro de uno de esos servidores, la fragmentación divide el archivo en trozos.

Un archivo, y en definitiva cualquier dato en informática, es una ristra de ceros y unos, una secuencia muy larga que contiene la información necesaria para representar los datos necesitan los programas.

La fragmentación de un fichero.

Si por ejemplo tenemos un archivo PDF, a nivel del disco hay una secuencia de ceros y unos guardada, de tal forma que los programas lectores de PDF saben interpretar para abrir el documento y mostrar su texto y contenidos.

Un PDF es un bloque de ceros y unos en el disco.

Teniendo ese bloque de ceros y unos que constituyen el fichero es lógico que se pueda dividir en trozos.

Fragmentar es como cortar el archivo en trozos.

Guardando los fragmentos o bloques en la Nube.

Cuando ya se tienen los bloques del archivo, entonces se suben a la Nube, con la particularidad de que cada trozo puede guardarse en el disco duro de un servidor independiente e incluso en diferentes lugares geográficos.

Guardar cada fragmento en un servidor de la Nube diferente.

Descargando el fichero desde la Nube.

Cuando se usa esta técnica de almacenamiento es obvio que la descarga de un archivo implicará una operación de ensamblado de los fragmentos que lo componen.

El sistema ha de encargarse de buscar estos trozos, volver a pegarlos y mandarnos el archivo completo.

Ventajas del almacenamiento por fragmentos.

Este modelo de almacenamiento presenta la ventaja de proporcionar un alto nivel de privacidad si alguien tuviera acceso a un servidor de almacenamiento. Para esta persona, sería imposible saber que hay, porque no dispone del archivo completo y solo de bloques ininteligibles.

Otra ventaja, es que la subida de los trozos a la Nube se puede hacer de forma asincrónica, esto quiere decir que se pueden subir varios trozos en paralelo, obteniendo tasas de transferencias más rápidas que cuando se sube mediante un flujo de bytes.

Inconvenientes del almacenamiento por fragmentos.

Si bien hemos dicho que la privacidad del fichero no está comprometida si de alguna forma alguien obtiene acceso a uno de los servidores, el sistema adolece de otras vulnerabilidades que normalmente nadie tiene en cuenta.

Cuando se almacena de esta forma, es necesario guardar en algún lugar un mapa de los fragmentos que indica los trozos y dónde están almacenados, si no sería imposible juntar de nuevo los fragmentos en su estricta secuencia.

En términos netos, podemos considerar que el problema de la seguridad se ha trasladado a ese servidor que guarda los trozos, a ese otro que mantiene los mapas de los archivos.

De nada sirve obsesionarse con el lugar de almacenamiento de los bloques si no está muy bien controlado el lugar dónde están descritos los bloques del fichero, normalmente una base de datos. Es en ese servidor dónde se encuentra el programa que ensambla los trozos, el objetivo de cualquier hacker sería este.

Otro problema grave que se puede plantear. Si se produce una eventual caída de unos de los servidores que guardan los fragmentos tendremos innumerables ficheros incompletos e imposibles de recuperar. Si los fragmentos están distribuidos simétricamente puede producir la caída completa del sistema (sería el caso de cuatro servidores que mantienen los trozos de cualquier archivo que se corta en cuatro fragmentos).

Método de fragmentos pero en un solo lugar.

Es la metodología que seguimos en Dataprius para el almacenamiento de los ficheros.

Se realiza una fragmentación de los ficheros, pero los fragmentos de un mismo archivo siempre residen en el mismo lugar. De esta forma y mediante el cifrado en reposo, los archivos son igual de ilegibles que repartiendo los fragmentos en varios servidores, lo bueno es que no es vulnerable a la caída un almacenamiento en concreto.

Además el sistema guarda de forma simultánea en dos localizaciones diferentes, hay dos copias del ficheros siempre: https://dataprius.com/dataprius-almacenamiento-por-duplicado.html

La entrada Almacenamiento fragmentado de archivos en la Nube se publicó primero en Blog de Dataprius..