945 261 858

Modelo de cifrado de la información

Este documento describe la encriptación de datos, el acceso seguro y las opciones de transferencia que JumboCopy utiliza en sus productos. Incluye que algoritmo de cifrado es usado, la generación de claves de encriptación y los procedimientos de descifrado.

JumboCopy proporciona una funcionalidad de cifrado robusto. Permite a nuestros clientes transferir y mantener sus datos de forma segura en el almacenamiento en la nube. Es compatible con algoritmos de cifrado compatible con FIPS para la encriptación de datos. Para la transferencia de datos JumboCopy utiliza un canal de red segura.

Implementación

Modelo de datos técnicos

Vamos a considerar un fichero o datos almacenados en una red empresarial y se va a configurar una copia de seguridad para el almacenamiento en la nube.

Modelo de Cifrado

En primer lugar, se debe de especificar una cuenta de almacenamiento en el agente. Las credenciales de la cuenta son almacenadas en el fichero de configuración del agente de forma encriptadas (AES – 128).

A continuación, se crea un plan de copias donde se seleccionan los datos de copia de seguridad, se especifica si se desea utilizar la compresión, cifrado y otras opciones (retención, notificación y programación). Todos estos ajustes se almacenan en un archivo de configuración del plan de copias. Si se utiliza el cifrado, la contraseña introducida se almacena de forma cifrada (AES-128).

Cuando se ejecuta una copia de seguridad por primera vez, se suben todos los archivos y carpetas seleccionados en el almacenamiento en la nube (copia de seguridad completa inicial). Cuando se inicia una copia de seguridad en el siguiente ciclo de programación o de forma manual, se escanean las carpetas y los archivos y se identifica si hay archivos nuevos / modificados para hacer una copia de seguridad incremental.

NOTA: Nosotros usamos un repositorio local (base de datos SQLite) para mantener una lista de los archivos de copia de seguridad. Permite reducir el número de peticiones al almacenamiento en la nube. De esta forma, mientras se hace la exploración de archivos y carpetas, se compara con la lista de archivos desde el repositorio local (en vez de hacer peticiones a la nube) con sus datos locales y a partir de aquí se contempla una lista de archivos para realizar la copia de seguridad.

Una vez que la lista de archivos está preparada, el plan comienza a subirlos a la nube en múltiples hilos usando peticiones HTTP (S).

Nota: para habilitar un canal seguro, es necesario seleccionar la opción «Usar SSL» en el diálogo Cuenta de almacenamiento (Configuración avanzada).

Nota: si usted tiene algún servidor proxy, es necesario especificar la configuración del proxy en Herramientas | opciones.

Nota: si utiliza la compresión / encriptación, sus archivos serán comprimidos y / cifrados previamente al envio por el canal de datos. Véase el siguiente diagrama:

Modelo de Cifrado

El agente de JumboCopy Backup Online calcula un hash MD5 para cada archivo que carga y envía este hash al servicio de almacenamiento en la nube. Al terminar de subir el fichero el DataCenter calcula el hash en el lado del servidor y lo compara con el hash que enviamos. Si no coinciden, devuelve un error y no carga el fichero. Para permitir la verificación MD5, es necesario seleccionar la opción «Usar MD5 checksum» en la opción Herramientas | opciones | Conexión.

Encriptación de datos

JumboCopy Backup Online soporta la encriptación de datos de forma concurrente durante la operación de subida de datos a la nube y soporta varios algoritmos de cifrado con clave simétrica.

Los algoritmos soportados que cumple la norma FIPS 140-2 son: AES de 128,196 y 256 bits y 3DES de 112 y 168 bits.

Los algoritmos soportados que no cumplen la norma FIPS 140-2 son: RC2 de 40,48,56,64,72,80,88,96,104,112,120 y 128 bits y DES de 64 bits.

El agente de JumboCopy utiliza la API .NET de Microsoft para proporcionar estos algoritmos de cifrado. El usuario puede optar por utilizar algoritmos FIPS para cifrado.

Clave de encriptación

Al habilitar encriptación, el usuario tiene que elegir un algoritmo de cifrado e introducir una contraseña en el asistente del plan de copias. Esta contraseña se convierte en una clave criptográfica y se almacena en el archivo de configuración. El algoritmo de cifrado de la contraseña es AES-128.

Diagrama de flujo de los datos

Modelo de Cifrado

*RNG – random number generator (generador de números aleatorios).

**IV – Initialization Vector (Vector de inicialización). Es generado para cada uno de los ficheros.

Como se encriptan los datos:

Cuando un usuario introducela contraseña de encriptación en el asistente, la contraseña se almacena se forma cifrada con el algoritmo AES-128.

Cuando se ejecuta el programa se lee la contraseña proporcionada por el usuario y se genera la clave de cifrado. Para crear esta clave se utiliza PBKDF2 (RFC2898): UTF8 (contraseña), array constante de 8 bytes a cero, interacciones.

La encriptación se ejecuta en modo CBC. Se utiliza relleno PKCS7 y para generar el vector de inicialización se usa la clase Microsoft .NET RNGCryptoServiceProvider.

La encriptación se produce «sobre la marcha» («on the fly»).

Finalmente, un fichero ya almacenado en el almacén del DataCenter tiene unos metadatos de encriptación almacenados en un encabezado HTTP x-amz-meta-cb-encryptioninfo: <version>;<sourcesize>;<algo>;<keysize_in_bits>;<Base64encodedIV>;; <Compression>;

donde

<version> – actualmente solo version 1 es admitido.

<sourcesize> – el tamaño del fichero original (desencriptado / descomprimido).

<algo> – uno de los siguientes valores: AES, 3DES, DES o RC2.

<keysize_in_bits> – el tamaño de la clave de encriptación en bits.

<Base64encodedIV> – Un vector de inicialización codificado en Base64. Es diferente para cada archivo. Así no hay manera de descrifrar varios archivos a la vez si se consigue la especificación de un solo vector de incialización.

<compression> – Puede ser un blanco o GZip si está comprimido.

Como se desencriptan los datos:

Cuando un usuario introducela contraseña de encriptación en el asistente de restauración, se descarga del almacén de la nube el fichero encriptado, y el agente genera una clave de encriptación usando la función PBKDF2 (RFC2898).

Esta clave se utiliza para desencriptar el fichero o bloque de datos.

Una vez el fichero o bloque de datos es desencriptado se almacena en el disco.

Cuando el fichero o bloque de datos ha sido desencriptado se comprueba el relleno generado y si es posible la identificación del mismo, la contraseña proporcionada para la desencriptación ha sido la correcta.

Si la password es incorrecta, el dato o fichero es descartado del disco y se genera un error de restauración.