Procedimiento para el almacenamiento de datos en un servidor central.
Procedimiento para grabar datos en un servidor central, cada uno de una pluralidad de usuarios que tiene una palabra de paso de usuario que es utilizada por lo menos para generar una llave de usuario y por lo menos un cliente sobre el cual son grabados los datos siendo atribuido a cada uno por lo menos una parte de los dichos usuarios y por lo menos una parte de los dichos datos que son atribuidos según las necesidades por lo menos a un bloque de datos a ser transferido y cada bloque de datos que es comparado con los bloques de datos sobre el servidor con la ayuda de un valor único de identidad de bloque de datos para determinar si los bloques de datos ya están presentes sobre el servidor y los bloques de datos que no están presentes sobre el servidor que son transferidos sobre el servidor central y una lista de datos / bloques de datos que hay que transferir sobre el servidor,
con la ayuda de la cual los datos pueden ser regenerados en su estado original en el curso de una etapa de recuperación de datos después de una petición del usuario, estando establecida y transferida sobre el servidor central, Caracterizado por
que cada bloque de datos no cifrado sobre el cliente está sometido a las etapas siguientes para identificar los bloques de datos que hay que transferir sobre el servidor central y establecer la lista de datos / bloques de datos que hay que transferir sobre el servidor central:
- Generar una llave de bloque de datos teniendo exclusivamente como base un bloque de datos no cifrado utilizando un protocolo de generación de llave, de manera que la palabra de paso del usuario y otros datos del usuario no son utilizados para generar dicha llave,
- Cifrar el bloque de datos no cifrado utilizando un protocolo de encriptación teniendo como base dicha llave de bloque de datos generada para obtener un bloque de datos cifrado,
- Generar un valor único de identificación de bloque de datos teniendo como base el bloque de datos no cifrado y, según el caso, sobre un protocolo de recuperación de informaciones y/o de generación de llave y/o de encriptación y atribuir dicho valor de identidad de bloque de datos al bloque de datos cifrado utilizando un protocolo de generación de identidad de bloque de datos predefinido para el usuario,
- Transferir dicho valor único de identificación de bloque de datos del cliente sobre el servidor central para obtener una respuesta del servidor si el bloque de datos cifrado atribuido a dicho valor de identificación de bloque de datos está ya presente sobre el servidor central y transferir el bloque de datos cifrado sobre el servidor central si no está todavía allí presente,
- Inscribir dicho valor único de identificación de bloque de datos en la lista de datos / bloques de datos que hay que transferir sobre el servidor central,
- Inscribir dicho valor de identificación de bloque de datos y dicha llave de datos en una lista de bloques de datos / llaves si dicho valor de identificación de bloque de datos no está comprendido todavía en dicha lista de bloques de datos / llaves, dicha lista de bloques de datos / llaves que puede formar parte de la lista de datos / bloques de datos,
y por que las etapas siguientes pueden ser realizadas para todos los bloques de datos identificados para ser transferidos sobre el servidor central:
- Cifrar la lista de datos / bloques de datos utilizando una llave de lista de datos / bloques de datos que es generada utilizando un protocolo de generación de llave de lista de datos / bloques de datos exclusivamente por el usuario,
- Cifrar dicha lista de bloques de datos / llaves utilizando la llave de usuario,
- Transferir la lista cifrada de datos / bloques de datos y la lista cifrada de bloques de datos / llaves del cliente sobre el servidor central,
Los bloques de datos no cifrados, la lista no cifrada de datos / bloques de datos, la lista no cifrada de bloques de datos / llaves y las llaves fechadas de bloques generadas y la llave de usuario que se quede sobre el cliente,
el servidor que enviaba datos que son grabados sobre el servidor en su estado cifrado y no pueden ser descifrados por el servidor al cliente en el curso de la etapa de recuperación de datos, para que sea solo sobre el cliente se puedan recuperar los datos.
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/AT2011/000216.
Solicitante: SECLOUS GmbH.
Nacionalidad solicitante: Alemania.
Dirección: Heimeranstrasse 39 80339 München ALEMANIA.
Inventor/es: RAUDASCHL,WOLFGANG.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- G06F17/30
- G06F21/00 FISICA. › G06 CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › Disposiciones de seguridad para la protección de computadores, sus componentes, programas o datos contra actividades no autorizadas.
- H04L29/06 ELECTRICIDAD. › H04 TECNICA DE LAS COMUNICACIONES ELECTRICAS. › H04L TRANSMISION DE INFORMACION DIGITAL, p. ej. COMUNICACION TELEGRAFICA (disposiciones comunes a las comunicaciones telegráficas y telefónicas H04M). › H04L 29/00 Disposiciones, aparatos, circuitos o sistemas no cubiertos por uno solo de los grupos H04L 1/00 - H04L 27/00. › caracterizadas por un protocolo.
- H04L29/08 H04L 29/00 […] › Procedimiento de control de la transmisión, p. ej. procedimiento de control del nivel del enlace.
PDF original: ES-2536654_T3.pdf
Fragmento de la descripción:
PROCEDIMIENTO PARA EL ALMACENAMIENTO DE DATOS EN UN SERVIDOR CENTRAL
[0001]La invención se refiere a un procedimiento para el almacenamiento de datos en un servidor central. Este procedimiento se caracteriza porque hay múltiples usuarios, cada uno con una contraseña, que será utilizada al menos para crear una clave de usuario, y al menos a algunos de estos usuarios les corresponde al menos una 5 máquina-cliente con datos almacenados, y al menos partes de estos datos, en caso necesario, se dividen en al menos un bloque de datos para su subida, y cada bloque de datos se compara, con ayuda de un valor ID del bloque de datos, para determinar si hay otro bloque de datos idéntico en el servidor, y los bloques de datos no disponibles se suben al servidor central. Se genera entonces una lista de bloques de datos que se sube al servidor central, a partir de la cual, cuando el usuario solicita datos que están almacenados en el servidor central, dichos datos pueden 10 volver a generarse en su formato original mediante un proceso de recuperación de datos.
En la patente US 2010/332401 ya ha sido publicado un procedimiento de este tipo.
En la patente US 2009/313483 A1 se muestra cómo se almacenan el valor ID del bloque de datos y el valor ID de la clave del bloque de datos en una lista de claves del bloque de datos siempre y cuando este valor ID del bloque de datos todavía no esté disponible, así como cómo se sube la lista de claves del bloque de datos de la 15 máquina-cliente al servidor central.
De la patente US 2010/058013 A1 se deriva una clave de bloque de datos que se genera exclusivamente a partir de un bloque de datos cifrado mediante el uso de un procedimiento de generación de claves.
De manera muy general, se entiende por datos cualquier tipo de información, sobre todo cuando se presenta de forma estructurada como ficheros, como por ejemplo imágenes, documentos, programas y archivos. Asimismo, 20 los datos también pueden ser registros de un servidor de bases de datos u otro tipo de información que, por ejemplo, deba almacenarse en el servidor central mediante la memoria de trabajo de la máquina-cliente. En el presente documento el término ficheros se emplea como sinónimo de datos y viceversa. El nombre de los ficheros equivaldría por ejemplo a la descripción de los datos.
Por servidor central se entiende también una infraestructura en la nube, en la que un conjunto de servidores o 25 granjas de servidores están conectados entre sí, pudiendo estar también repartidos en diferentes lugares geográficos. En lo sucesivo, el término servidor se utilizará como sinónimo de servidor central. Los servidores centrales son controlados por proveedores de espacio de almacenamiento en línea (proveedores de servicio) para que en estos espacios de almacenamiento en línea se puedan cubrir además los recursos necesarios para las operaciones del lado del servidor. 30
En la mayoría de ejemplos de aplicación, el concepto de servidor central hace referencia a un servidor externo que se comunica con el usuario a través de una red de información, como por ejemplo Internet. Asimismo, el servidor central puede estar disponible en un edificio de una empresa solo para sus empleados.
Se entiende como usuario tanto los usuarios particulares, como las empresas y sus empleados; un proveedor de servicios de almacenamiento en línea tiene una multitud de usuarios como clientes. 35
En la presente solicitud se utiliza el término máquina cliente para describir ordenadores personales, ordenadores portátiles, netbooks, iPhones y similares, es decir, cualquier dispositivo en el que los usuarios han almacenado sus datos, por ejemplo en forma de ficheros, y desde los cuales quieren guardarlos en el servidor. En las máquinas-cliente, una aplicación ejecuta los pasos del procedimiento en el modelo de aplicación correspondiente. 40
Se parte de que, para la transmisión de datos entre el servidor y la máquina-cliente, se emplea una conexión cifrada que proporciona el proveedor de servicio y que se adecua al estado actual de la técnica, por ejemplo una conexión SSL (Secure Sockets Layer) .
Cuando en la solicitud se haga referencia al cifrado, se puede utilizar cualquier algoritmo de cifrado apropiado, aunque preferentemente el AES de 256 bits. 45
De forma análoga, si deben calcularse valores hash, el inventor recomienda uno de los candidatos finalistas SHA3 de 256 bits, ya que son considerablemente más rápidos que los SHA2.
Cabe recalcar que en la presente invención no es necesaria la utilización de RSA o curvas elípticas, si bien su empleo es opcional como algoritmo de cifrado. Los algoritmos de cifrado asíncronos son unas 1000 veces más lentos, por lo que se recomienda evitar su uso. 50
Según el Grupo Gartner y otras empresas de investigación de mercados de tecnología, la computación en la nube es una de las tendencias tecnológicas más relevantes del futuro próximo.
La computación en la nube ofrece a los clientes el acceso dinámico y escalable a recursos en la red, con la ventaja de que el usuario solo paga por aquellos recursos que realmente necesita y únicamente durante el tiempo que los necesita de verdad. Además es posible compartir recursos, ya sean en el seno interno de la empresa o con 5 otros clientes o socios, pudiéndose definir estos recursos como espacio de almacenamiento o capacidad del procesamiento o servicios, entre otros.
Un aspecto fundamental para trabajar en la nube es la elevada disponibilidad de recursos y la máxima seguridad para que no pueda perderse ningún dato.
Los diferentes modelos de la computación en la nube se clasifican en: 10
SaaS - Software como servicio (aplicación alojada en la red) ;
DaaS - Datos como servicio (consultas del cliente a la base de datos del proveedor) ;
PaaS - Plataforma como servicio (plataforma de desarrollo de software alojada en la red) ;
IaaS - Infraestructura como servicio (el proveedor aloja las máquinas virtuales del cliente o proporciona almacenamiento en la red) ; 15
IPMaaS - Gestión de identidad y política como servicio (el proveedor gestiona la identidad o la política de control de accesos para el cliente) ;
NaaS - Red como servicio (el proveedor ofrece redes virtuales, como redes VPN) , que son utilizadas en la actualidad por millones de clientes en todo el mundo.
En el ámbito de la computación en la nube, la presente invención hace referencia principalmente al modelo 20 DaaS, si bien no está limitada únicamente a este modelo ni a la computación en la nube.
Por ejemplo, la empresa norteamericana Dropbox lleva trabajando en este ámbito desde 2008 y en 2011 ya había alcanzado 25 millones de usuarios que almacenaban diariamente 200 millones de ficheros. Dropbox ofrece a sus usuarios espacio de almacenamiento en línea con control simultáneo de versiones, con la particularidad de que este espacio virtual de almacenamiento no solo se puede utilizar para guardar datos en línea, sino para mantener 25 sincronizados los ficheros en este espacio de almacenamiento en todas las máquinas-cliente que desee el usuario.
Otros ejemplos de empresas que ofrecen servicios en la nube son Amazon, Google, Cisco o Microsoft, entre muchas otras. Empresas como IBM, Microsoft, Oracle o Apple ven la computación en la nube como el servicio informático con más crecimiento de los próximos años y así lo han promocionado.
Sin embargo, a pesar de las ventajas de la computación en la nube, existen ciertos obstáculos para los 30 usuarios potenciales (desde usuarios con fines particulares hasta grandes empresas internacionales) . Estos obstáculos son, entre otros:
El cumplimiento de la legislación exige la soberanía de los datos: los datos deben ponerse a disposición de las autoridades estatales si así lo solicitan.
Debido a optimizaciones del espacio de almacenamiento por parte del proveedor de espacio de almacenamiento, 35 la seguridad y la protección de los datos están limitadas.
No siempre es posible garantizar los tiempos de respuesta y los anchos de banda, ya que los servidores del proveedor deben dar servicio a millones de usuarios.
Las empresas que ofrecen espacio de almacenamiento en línea tienen desde cientos de miles a millones de usuarios que desean guardar, sincronizar y distribuir sus datos a través de sus servidores. 40
Muchos de estos proveedores de almacenamiento en línea ofrecen un control de versiones a sus usuarios, lo que significa que todas las versiones de los ficheros se mantienen al menos durante un determinado espacio de tiempo, lo que le permite al usuario recuperarlos en caso necesario. Es habitual que... [Seguir leyendo]
Reivindicaciones:
1. Procedimiento para grabar datos en un servidor central, cada uno de una pluralidad de usuarios que tiene una palabra de paso de usuario que es utilizada por lo menos para generar una llave de usuario y por lo menos un cliente sobre el cual son grabados los datos siendo atribuido a cada uno por lo menos una parte de los dichos usuarios y por lo menos una parte de los dichos datos que son atribuidos según las necesidades por lo menos a un 5 bloque de datos a ser transferido y cada bloque de datos que es comparado con los bloques de datos sobre el servidor con la ayuda de un valor único de identidad de bloque de datos para determinar si los bloques de datos ya están presentes sobre el servidor y los bloques de datos que no están presentes sobre el servidor que son transferidos sobre el servidor central y una lista de datos / bloques de datos que hay que transferir sobre el servidor, con la ayuda de la cual los datos pueden ser regenerados en su estado original en el curso de una etapa de 10 recuperación de datos después de una petición del usuario, estando establecida y transferida sobre el servidor central,
Caracterizado por
que cada bloque de datos no cifrado sobre el cliente está sometido a las etapas siguientes para identificar los bloques de datos que hay que transferir sobre el servidor central y establecer la lista de datos / bloques 15 de datos que hay que transferir sobre el servidor central:
- Generar una llave de bloque de datos teniendo exclusivamente como base un bloque de datos no cifrado utilizando un protocolo de generación de llave, de manera que la palabra de paso del usuario y otros datos del usuario no son utilizados para generar dicha llave,
- Cifrar el bloque de datos no cifrado utilizando un protocolo de encriptación teniendo como base dicha 20 llave de bloque de datos generada para obtener un bloque de datos cifrado, - Generar un valor único de identificación de bloque de datos teniendo como base el bloque de datos no cifrado y, según el caso, sobre un protocolo de recuperación de informaciones y/o de generación de llave y/o de encriptación y atribuir dicho valor de identidad de bloque de datos al bloque de datos cifrado utilizando un protocolo de generación de identidad de bloque de datos predefinido para el 25 usuario,
- Transferir dicho valor único de identificación de bloque de datos del cliente sobre el servidor central para obtener una respuesta del servidor si el bloque de datos cifrado atribuido a dicho valor de identificación de bloque de datos está ya presente sobre el servidor central y transferir el bloque de datos cifrado sobre el servidor central si no está todavía allí presente, 30
- Inscribir dicho valor único de identificación de bloque de datos en la lista de datos / bloques de datos que hay que transferir sobre el servidor central, - Inscribir dicho valor de identificación de bloque de datos y dicha llave de datos en una lista de bloques de datos / llaves si dicho valor de identificación de bloque de datos no está comprendido todavía en dicha lista de bloques de datos / llaves, dicha lista de bloques de datos / llaves que puede 35 formar parte de la lista de datos / bloques de datos,
y por que las etapas siguientes pueden ser realizadas para todos los bloques de datos identificados para ser transferidos sobre el servidor central:
- Cifrar la lista de datos / bloques de datos utilizando una llave de lista de datos / bloques de datos que es generada utilizando un protocolo de generación de llave de lista de datos / bloques de datos 40 exclusivamente por el usuario,
- Cifrar dicha lista de bloques de datos / llaves utilizando la llave de usuario,
- Transferir la lista cifrada de datos / bloques de datos y la lista cifrada de bloques de datos / llaves del cliente sobre el servidor central,
Los bloques de datos no cifrados, la lista no cifrada de datos / bloques de datos, la lista no cifrada de bloques de 45 datos / llaves y las llaves fechadas de bloques generadas y la llave de usuario que se quede sobre el cliente,
el servidor que enviaba datos que son grabados sobre el servidor en su estado cifrado y no pueden ser descifrados por el servidor al cliente en el curso de la etapa de recuperación de datos, para que sea solo sobre el cliente se puedan recuperar los datos.
2. Procedimiento según la reivindicación 1, caracterizado por que la llave de bloque de datos es un valor hash del 50 bloque de datos no cifrado.
3. Procedimiento según la reivindicación 1, caracterizado por que informaciones de base de llaves son generadas con la ayuda del bloque de datos no cifrado utilizando un protocolo de recuperación de informaciones y por que la llave de bloque de datos es generada exclusivamente con la ayuda de las dichas informaciones de base de llaves, preferentemente utilizando una parte predeterminada suficientemente larga de un valor hash del bloque de datos no 55 cifrado y las informaciones de base de llaves que son preferentemente inscritas en la lista de bloques de datos / llaves en lugar de la llave de bloque de datos.
4. Procedimiento según la reivindicación 1 ó 3, caracterizado por que la llave de bloque de datos es generada con la ayuda de las informaciones de llave de datos en un número predeterminado de ciclos de generación de valores hash que proceden del valor hash de las informaciones de llave de datos, el valor hash que resulta del ciclo hash precedente siendo utilizado como nuevo valor hash de salida.
5. Procedimiento según una de las reivindicaciones precedentes, caracterizado por que el bloque de datos no 5 cifrado primero es comprimido y luego cifrado utilizando la llave de bloque de datos.
6. Procedimiento según la reivindicación 5, caracterizado por que la llave de bloque de datos es un valor hash del bloque de datos comprimido.
7. Procedimiento según la reivindicación 5, caracterizado por que las informaciones de base de llave son una parte definida suficientemente larga de un valor hash del bloque de datos comprimido y por que la verdadera llave de 10 bloque de datos es calculada teniendo como base este valor hash.
8. Procedimiento según una de las reivindicaciones precedentes, caracterizado por que el valor de identificación de bloque de datos corresponde a un valor hash del valor hash del bloque de datos no cifrado.
9. Procedimiento según una de las reivindicaciones 1 a 7, caracterizado por que el valor de identificación de bloque de datos corresponde al valor hash del bloque de datos cifrado. 15
10. Procedimiento según una de las reivindicaciones precedentes, caracterizado por que el valor de identificación de bloque de datos es enviado al servidor y el servidor anuncia si el bloque de datos correspondiente está ya presente sobre el servidor o debe ser transferido allí y por que el servidor le envía un número único para cada valor de identificación de bloque de datos, atribuido a dicho valor de identificación de bloque de datos por el servidor, al cliente, donde dicho número es inscrito sobre la lista de datos / bloques de datos y la lista de bloques de datos / 20 llaves como nuevo valor de identificación de bloque de datos y utilizado para la etapa de recuperación de datos.
11. Procedimiento según una de las reivindicaciones precedentes, caracterizado por que todo valor de identificación de bloque de datos, con el que el servidor determina si los bloques correspondientes de datos están ya presentes sobre el servidor, son generados primero sobre el cliente y luego enviados al servidor en una orden aleatoria para la petición. 25
12. Procedimiento según una de las reivindicaciones 1 a 11, caracterizado por que un número variable de bytes de cada bloque de datos no cifrado es quitado de una posición variable y añadido como información suplementaria para cada bloque de datos a la lista de datos / bloques de datos con las informaciones que conciernen al número de bytes quitados y su posición.
13. Procedimiento según una de las reivindicaciones precedentes, caracterizado por que un valor que no puede 30 ser modificado para la lista de datos / bloques de datos y es conocido públicamente es utilizado como una base para calcular el vector de inicialización de un procedimiento de encadenamiento para cifrar dicha lista de datos / bloques de datos.
14. Procedimiento según una de las reivindicaciones precedentes, caracterizado por que datos aleatorios, específicamente marcados, pero de otro modo insignificantes, de una longitud variable son añadidos a la lista de 35 datos / bloques de datos.
15. Procedimiento según una de las reivindicaciones precedentes, caracterizado por que un valor aleatorio de manipulación de llave para modificar la llave de bloque de datos es determinado para cada bloque de datos no cifrado antes de cada encriptación y por que dicho valor aleatorio de manipulación de llave es registrado en la lista de datos / bloques de datos. 40
Patentes similares o relacionadas:
Procedimiento y dispositivo para el procesamiento de una solicitud de servicio, del 29 de Julio de 2020, de Advanced New Technologies Co., Ltd: Un procedimiento para el procesamiento de una solicitud de servicio, comprendiendo el procedimiento: recibir (S201), mediante un nodo de consenso, una solicitud […]
Procedimiento y dispositivo para su uso en la gestión de riesgos de información de aplicación, del 22 de Julio de 2020, de Advanced New Technologies Co., Ltd: Un procedimiento para la gestión de riesgos de información de aplicación en un dispositivo de red, comprendiendo el procedimiento: recibir información […]
Gestión de memoria intermedia recomendada de red de una aplicación de servicio en un dispositivo de radio, del 22 de Julio de 2020, de TELEFONAKTIEBOLAGET LM ERICSSON (PUBL): Un método llevado a cabo por un nodo de red en una red de comunicación por radio , comprendiendo el método: obtener (S1) una predicción del ancho […]
Método, servidor y sistema de inicio de sesión de confianza, del 22 de Julio de 2020, de Advanced New Technologies Co., Ltd: Un método de inicio de sesión de confianza implementado por computadora aplicado a un sistema de inicio de sesión de confianza que comprende un primer sistema de aplicación […]
Método y aparato para configurar un identificador de dispositivo móvil, del 22 de Julio de 2020, de Advanced New Technologies Co., Ltd: Un método implementado por servidor para configurar un identificador de dispositivo móvil, que comprende: obtener una lista de aplicaciones, APP, […]
Método para un nivel mejorado de autenticación relacionado con una aplicación de cliente de software en un dispositivo informático de cliente que comprende una entidad de módulo de identidad de abonado con un kit de herramientas de módulo de identidad de abonado así como una miniaplicación de módulo de identidad de abonado, sistema, dispositivo informático de cliente y entidad de módulo de identidad de abonado para un nivel mejorado de autenticación relacionado con una aplicación de cliente de software en el dispositivo informático de cliente, programa que comprende un código de programa legible por ordenador y producto de programa informático, del 22 de Julio de 2020, de DEUTSCHE TELEKOM AG: Un método para un nivel mejorado de autenticación relacionado con una aplicación de cliente de software en un dispositivo informático […]
Método para atender solicitudes de acceso a información de ubicación, del 22 de Julio de 2020, de Nokia Technologies OY: Un aparato que comprende: al menos un procesador; y al menos una memoria que incluye un código de programa informático para uno o más programas, […]
Sincronización de una aplicación en un dispositivo auxiliar, del 22 de Julio de 2020, de OPENTV, INC.: Un método que comprende, mediante un dispositivo de medios: acceder, utilizando un módulo de recepción, un flujo de datos que incluye contenido […]