ES2837541T3 - Almacenamiento seguro basado en servidor y desbloqueo de datos - Google Patents

Almacenamiento seguro basado en servidor y desbloqueo de datos Download PDF

Info

Publication number
ES2837541T3
ES2837541T3 ES09005545T ES09005545T ES2837541T3 ES 2837541 T3 ES2837541 T3 ES 2837541T3 ES 09005545 T ES09005545 T ES 09005545T ES 09005545 T ES09005545 T ES 09005545T ES 2837541 T3 ES2837541 T3 ES 2837541T3
Authority
ES
Spain
Prior art keywords
data
server
client
key
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES09005545T
Other languages
English (en)
Inventor
Katrin Keller
Alexander Alscher
Levin Alexander
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAMEDI GmbH
Original Assignee
SAMEDI GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=39720003&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2837541(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by SAMEDI GmbH filed Critical SAMEDI GmbH
Application granted granted Critical
Publication of ES2837541T3 publication Critical patent/ES2837541T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Epidemiology (AREA)
  • Public Health (AREA)
  • Primary Health Care (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Sistema para el almacenamiento seguro basado en servidor y desbloqueo de datos, comprendiendo un servidor (1); y un primer cliente (2) y un segundo cliente (3), los cuales están conectados con el servidor; estando configurado el primer cliente (2) para, - obtener una primera clave simétrica (ksym) usando datos introducidos por un primer usuario; - para obtener para el registro del primer usuario en el servidor (1) una primera pareja de claves asimétrica consistente en una primera clave privada y en una primera clave pública (pub(DL)), cifrar la primera clave privada con la primera clave simétrica (ksym), transmitir la primera clave privada cifrada al servidor (1) y publicar de tal modo la primera clave pública (pub(DL)) que el segundo cliente pueda recibirla; - para obtener datos, los cuales fueron desbloqueados por un segundo usuario para el primer usuario, recibir la primera clave privada cifrada del servidor (1) y descifrarla con la primera clave simétrica, y recibir los datos como datos de puesta a disposición en forma cifrada del servidor (1) y mediante la ayuda de la primera clave privada no cifrada, descifrarlos; estando configurado el segundo cliente (3) para, - obtener una segunda clave simétrica (ksym) usando datos introducidos por el segundo usuario; - para cifrar para el almacenamiento de datos en el servidor (1) los datos con la segunda clave simétrica (ksym) y transmitir los datos cifrados al servidor (1); - para recibir para el desbloqueo de los datos cifrados almacenados en el servidor (1) para el primer usuario los datos del servidor (1), recibir la primera clave pública (pub(DL)), descifrar los datos cifrados con la segunda clave simétrica (ksym), cifrar los datos no cifrados con la ayuda de la primera clave pública (pub(DL)), para obtener datos de puesta a disposición, y transmitir los datos de puesta a disposición al servidor (1); y estando configurado el servidor además de ello para, - almacenar los datos cifrados y - la primera clave privada cifrada.

Description

DESCRIPCIÓN
Almacenamiento seguro basado en servidor y desbloqueo de datos
Campo de la invención
La presente invención se refiere a un sistema y a un procedimiento para el almacenamiento seguro basado en servidor y desbloqueo de datos. A este respecto un participante puede cargar datos en un servidor y en caso de necesidad desbloquear los datos para otro participante.
En el caso del almacenamiento de datos sensibles, por ejemplo datos de pacientes o de citas, es importante que terceros no puedan obtener acceso a estos datos. A menudo los datos han de almacenarse no obstante en un servidor de un proveedor de servicios externo, para aprovechar de este modo ventajas de escalamiento en el almacenamiento, reducir el esfuerzo de administración o poder acceder a los datos desde cualesquiera lugares.
Para tener acceso globalmente a los datos, es necesario a menudo además de ello, trabajar con diferentes sistemas de ordenador. A este respecto no puede partirse de que un sistema pueda ser asistido por determinados componentes de hardware o pueda ser instalado software. El denominador común más pequeño para un intercambio de datos entre un ordenador de cliente y un servidor es a menudo un navegador de Internet.
Estado de la técnica
El almacenamiento cifrado de datos es habitual y está muy extendido. A este respecto se usan normalmente algoritmos de cifrado simétricos como por ejemplo AES. Para almacenamiento de datos integrado en el sistema operativo se requieren no obstante software especial o controladores especiales, cuya presencia no puede asegurarse en todos los lugares.
El intercambio seguro de datos está igualmente muy extendido y se usa por ejemplo en el procedimiento S/MIME para enviar correos electrónicos cifrados. En este sentido se usan algoritmos de cifrado asimétricos como por ejemplo RSA. Los datos pueden de este modo intercambiarse entre partes de tal modo que terceros no pueden acceder a estos datos.
El procedimiento SSL es el procedimiento más extendido para cifrar datos, los cuales se transmiten a través de Internet. En este se autentifican el servidor y a veces también el cliente a través de una infraestructura de clave pública, y los datos se cifran durante la transmisión con algoritmos estandarizados. De este modo no pueden ser modificados ni escuchados por terceros. En este sentido se asegura no obstante solo el recorrido de transmisión hacia el servidor; En el servidor mismo los datos se presentan en texto sin cifrar. Esto no es suficiente para muchos requerimientos de seguridad.
Cuando los datos han de almacenarse de forma segura en un servidor e intercambiarse de forma segura a través del servidor, ha de estar garantizado que los datos se transmiten al servidor solo transmitidos de forma cifrada, se depositan allí de forma cifrada y se descifran únicamente en los clientes conectados con el servidor. De este modo, terceros, los cuales tienen acceso a los recorridos de transmisión o al servidor, no pueden ver los datos. En el caso de los procedimientos y sistemas conocidos del estado de la técnica, las claves, con las cuales están cifrados los datos a intercambiar, están almacenadas en los clientes en memorias locales persistentes. Esto es desventajoso, dado que por ejemplo navegadores de Internet a menudo no disponen de una memoria local para claves, a la cual pueda accederse desde aplicaciones de navegador.
Un objetivo de la presente invención es por lo tanto, permitir un almacenamiento seguro basado en servidor y un intercambio seguro basado en servidor de datos, sin que tengan que memorizarse claves para el cifrado y descifrado de los datos en memorias persistentes localmente en un cliente.
El documento US 7010 689 A1 divulga un procedimiento para controlar un acceso a datos digitales en un archivo mediante obtención de una contraseña de un usuario y generación de una clave personal basada en la contraseña. Se genera una clave de archivo y los datos digitales se cifran en el archivo con la clave de archivo, para poner a disposición un archivo cifrado. La clave de archivo se cifra con la clave personal, para poner a disposición una clave de archivo cifrada. Un archivo de encabezado, que está asociado con el archivo y comprende la clave de archivo cifrada, puede memorizarse con el archivo cifrado en un servidor.
El documento US 2002076042 divulga un sistema, el cual se refiere a la generación de claves criptográficas y su uso en sistemas criptográficos.
El documento US 6 694 025 B1 divulga un sistema de distribución para claves criptográficas, en cuyo caso el almacenamiento central de claves privadas cifradas en un servidor permite acceder a las mismas por parte de un cliente Z, que es adecuado tanto para el administrador, como también para un nuevo usuario.
Resumen de la invención
Este objetivo se soluciona mediante los objetos de las reivindicaciones independientes. Las reivindicaciones dependientes describen formas de realización ventajosas.
Un sistema de acuerdo con la invención para el almacenamiento seguro basado en servidor y desbloqueo de datos, comprende un servidor y un primer cliente y un segundo cliente, los cuales están conectados con el servidor. El primer cliente está configurado para obtener una clave simétrica del primer cliente usando datos introducidos por un usuario. El primer cliente está además de ello configurado para registrar en el servidor una pareja de claves asimétrica consistente en una clave privada y en una clave pública, para cifrar la clave privada con la clave simétrica del primer cliente, para transmitir la clave privada cifrada al servidor y para publicar de tal modo la clave pública que el segundo cliente pueda recibirla. El primer cliente está configurado finalmente también para la obtención de datos, los cuales fueron desbloqueados por el segundo cliente para el primer cliente, para recibir la clave privada cifrada del servidor y para descifrarla con la clave simétrica del primer cliente, y recibir los datos como datos de puesta a disposición en forma cifrada del servidor y mediante la ayuda de la clave privada descifrada descifrarlos. El segundo cliente está configurado para obtener una clave simétrica del segundo cliente mediante el uso de datos introducidos por un usuario. El segundo cliente está además de ello configurado para el almacenamiento de datos en el servidor, para el cifrado de los datos con la clave simétrica del segundo cliente y para transmitir los datos cifrados al servidor. El segundo cliente está configurado finalmente también para desbloquear los datos cifrados almacenados en el servidor, para recibir para el primer cliente los datos cifrados del servidor y para descifrarlos con la clave simétrica del segundo cliente, para recibir la clave pública del primer cliente y para cifrar los datos no cifrados, para obtener datos de puesta a disposición, y transmitir los datos de puesta a disposición al servidor. El servidor está configurado para almacenar los datos cifrados y la clave privada cifradas del primer cliente.
El sistema de acuerdo con la invención tiene la ventaja de que los datos y la clave privada no se depositan en ningún momento de modo descifrado en el servidor. Los datos pueden memorizarse de tal modo de forma segura contra la lectura en el servidor, que ni siquiera pueden leer los datos los administradores del servidor.
Aunque los datos se depositen de modo cifrado en el servidor, en el caso de los clientes no han de memorizarse datos sensibles persistentes como por ejemplo claves simétricas o privadas. Se garantiza que la clave privada y las claves simétricas no se pierden tras finalización de la correspondiente sesión de navegador en los ordenadores de cliente. Dado que no se requiere ninguna memoria persistente, pueden implementarse las aplicaciones de cliente necesarias por ejemplo como aplicaciones Javascript, las cuales tienen capacidad de funcionamiento en un navegador de Internet.
Las claves simétricas de los clientes pueden ser obtenidas en cualquier momento mediante el uso de datos introducidos por un usuario. En el caso de estos datos puede tratarse por ejemplo de una frase (contraseña), la cual puede recordar fácilmente el usuario. Puede requerirse al usuario la introducción de la frase en el ordenador de cliente. Los datos podrían no obstante también almacenarse por ejemplo, en una tarjeta de chip y ser introducidos por el usuario a través de un lector de tarjetas de chip. Los datos podrían finalmente también por ejemplo generarse de modo reproducible a partir de la huella digital (u otra característica biométrica) de un usuario e introducirse a través de un escáner de huella digital.
El servidor y los clientes son típicamente ordenadores, en los cuales se encuentra en ejecución un correspondiente programa de ordenador. Los clientes pueden estar conectados con el servidor por ejemplo a través de Internet. Un ordenador de cliente puede recibir indicaciones del servidor, las cuales llevan al ordenador del cliente a la situación de trabajar de acuerdo con la invención. El programa de cliente se ejecuta por ejemplo en el navegador de Internet, el cual funciona en el ordenador de cliente. El servidor pone a disposición para ello indicaciones, por ejemplo en JavaScript, en su página web.
La pareja de claves asimétrica puede determinarse en base al algoritmo RSA. Para cada aplicación puede generarse una pareja de claves asimétrica específica. El segundo cliente recoge la clave pública adecuada, es decir, asignada a su aplicación deseada, del primer cliente, a disposición del cual quiere poner sus datos.
Una posibilidad, de publicar de tal modo la clave pública que pueda ser recibida por el segundo cliente, ha de ponerse a disposición en el servidor. Dado que la clave pública no es secreta, puede depositarse sin cifrar en el servidor o publicarse de otro modo.
El segundo cliente puede ser por ejemplo un ordenador de cliente, mientras que el primer cliente es un ordenador del proveedor de servicios. El cliente puede de este modo desbloquear datos para el proveedor de servicios. El cliente podría ser por ejemplo un paciente y el proveedor de servicios un médico. Los datos podrían ser datos del historial médico del paciente.
Una identificación de cliente puede transmitirse al servidor para la asignación de los datos de cliente, o el procedimiento puede desarrollarse en una sesión puesta a disposición por el servidor, la cual está en conexión con una identificación de cliente, para poner a disposición de este modo una asignación de los datos de cliente para la identificación de cliente.
En una forma de realización de la invención un cliente (2, 3) está configurado para, obtener la clave simétrica del cliente (2, 3) debido a que se genera en base a los datos introducidos por el usuario.
A este respecto la clave simétrica del cliente puede ser generada a partir de los datos introducidos por el usuario (por ejemplo a partir de una frase) directamente y de forma reproducible (de forma determinística). La clave puede ser por ejemplo una SHA1-Hash de una frase introducida por un usuario.
En una forma de realización preferente alternativa de la invención, un cliente está configurado para, generar la clave simétrica del cliente y cifrarla usando los datos introducidos por el usuario y transmitir la clave simétrica cifrada del cliente al servidor. El cliente está configurado además de ello para recibir la clave simétrica cifrada del cliente del servidor y descifrarla usando los datos introducidos por el usuario, para obtener la clave simétrica del cliente. El servidor está configurado para memorizar la clave simétrica de un cliente.
En esta forma de realización se obtiene la clave simétrica de un cliente por lo tanto debido a que se descarga del servidor, donde anteriormente se depositó cifrada. La clave para descifrar la clave simétrica cifrada del cliente la puede generar directamente el cliente de forma reproducible a partir de los datos introducidos por el cliente (por ejemplo a partir de una frase).
En otra forma de realización de la invención la clave simétrica del segundo cliente está asignada a una aplicación.
Ha de generarse por ejemplo para una petición de cita una pareja de claves y ha de generarse para un directorio una pareja de claves diferente de ella.
En otra forma de realización de la invención el cliente está configurado para, acceder a través de un navegador al servidor y evitar en caso de una operación de cifrado y/o descifrado previsiblemente de duración larga, un tratamiento de espera por inactividad a través del navegador.
Dado que los procedimientos criptográficos requieren en determinadas condiciones periodos de ejecución largos, está previsto un mecanismo de este tipo. Para ello se inicia por ejemplo a través del código JavaScript un applet Java, que ejecuta el procedimiento criptográfico propiamente dicho.
En una forma de realización de la invención el segundo cliente está configurado para cifrar, para obtener los datos de puesta a disposición, los datos no cifrados con las claves públicas del primer cliente. El primer cliente está configurado para descifrar los datos de puesta a disposición recibidos del servidor, con la clave privada no cifrada del primer cliente.
En una forma de realización preferente alternativa de la invención, el segundo cliente está configurado para cifrar, para obtener los datos de puesta a disposición, los datos no cifrados con una clave de sesión simétrica generada temporalmente, para cifrar la clave de sesión simétrica con la clave pública del primer cliente y para transmitir la clave de sesión simétrica cifrada junto con los datos de puesta a disposición, al servidor. El primer cliente está configurado para, recibir la clave de sesión simétrica cifrada junto con los datos de puesta a disposición del servidor, para descifrar la clave de sesión simétrica cifrada con la clave privada no cifrada del primer cliente y para descifrar los datos de puesta a disposición recibidos del servidor con la clave de sesión simétrica no cifrada.
Esta forma de realización facilita una velocidad aceptable del acceso a los datos. Para ello es práctico, cuando los datos están almacenados cifrados de forma simétrica y pueden descifrarse con la clave simétrica, dado que las operaciones de cifrado simétricas por regla general son más rápidas que operaciones de cifrado asimétricas. Esto es importante en particular, cuando los sistemas de cliente disponen únicamente de reducida capacidad de ordenador.
En una forma de realización de la invención el primer cliente presenta también la funcionalidad del segundo cliente, y el segundo cliente presenta también la funcionalidad del primer cliente.
De este modo ambos clientes pueden basarse en el mismo código de programa. Ambos clientes pueden cargar datos en el servidor y desbloquearlos para el otro cliente. A este respecto un cliente puede usar para el cifrado de datos a almacenar en el servidor, una clave simétrica, y usar en el caso del cifrado de su clave privada otra clave simétrica.
En un procedimiento de acuerdo con la invención para el almacenamiento seguro basado en servidor y desbloqueo de datos un primer cliente obtiene una clave simétrica del primer cliente usando datos introducidos por un usuario. El primer cliente obtiene una pareja de claves consistente en una clave privada y en una clave pública. El primer cliente cifra la clave privada con la clave simétrica del primer cliente. La clave privada cifrada es transmitida por el primer cliente a un servidor. El servidor almacena la clave privada cifrada. La clave pública se publica de tal modo que puede ser recibida por un segundo cliente. El segundo cliente obtiene una clave simétrica del segundo cliente usando datos introducidos por un usuario. Cifra datos con la clave simétrica del segundo cliente. Los datos cifrados son transmitidos por el segundo cliente al servidor y memorizados en el servidor. Para la liberación de los datos se transmiten los datos cifrados desde el servidor de nuevo al segundo cliente. Este descifra los datos cifrados con la clave simétrica del segundo cliente. Recibe la clave pública del primer cliente. Cifra los datos no cifrados, para obtener datos de puesta a disposición. Los datos de puesta a disposición son transmitidos por el segundo cliente al servidor. La clave privada cifrada es transmitida por el servidor al primer cliente. El primer cliente descifra la clave privada cifrada con la clave simétrica del primer cliente. Los datos de puesta a disposición son transmitidos de forma cifrada del servidor al primer cliente. El primer cliente descifra los datos de puesta a disposición mediante la ayuda de la clave privada sin cifrar del primer cliente.
Los pasos del procedimiento no han de llevarse a cabo en el orden, en el cual se han indicado arriba.
Breve descripción de los dibujos
En los dibujos muestra:
La Fig. 1 una disposición asistida por Internet de acuerdo con la invención para la petición de citas en línea en un proveedor de servicios por parte de clientes;
La Fig. 2 una modificación de la disposición de acuerdo con la Fig. 1;
La Fig. 3 un procedimiento asistido por Internet para el almacenamiento seguro basado en servidor y desbloqueo de datos de cliente;
La Fig. 4 una modificación del procedimiento de acuerdo con la Fig. 3;
La Fig. 5 un ejemplo detallado de una generación de clave en un ordenador de cliente;
La Fig. 6 un ejemplo de un cifrado referido a la aplicación;
La Fig. 7 un ejemplo de un uso común de datos;
Descripción detallada de formas de realización preferentes
En lo sucesivo se describen formas de realización preferentes de la invención a modo de ejemplo.
La Fig. 1 muestra una disposición asistida por Internet preferente de acuerdo con la invención para la petición de cita en línea de citas en un proveedor de servicios por parte de clientes. Un servidor 1 puede conectarse a través de conexión 4 bidireccional con Internet I, un ordenador de proveedor de servicios 2 puede conectarse a través de una conexión 5 y un ordenador de cliente 3 a través de una conexión 6 con Internet I. El proveedor de servicios no necesita por lo tanto atender presencia en Internet propia.
La Fig. 2 muestra una modificación de la disposición de acuerdo con la Fig. 1, en cuyo caso pueden conectarse una pluralidad de ordenadores de proveedor de servicios 2', 2'', 2''' y 2” ” y una pluralidad de ordenadores de cliente 3', 3'', 3''' y 3'''' con Internet I. Por lo demás, las mismas referencias significan los mismos componentes. Una pluralidad de proveedores de servicios comparte por lo tanto el un servidor 1', de modo que se encuentra a disposición de una pluralidad de clientes una oferta de rendimiento correspondientemente grande.
La Fig. 3 muestra un procedimiento asistido por Internet para el almacenamiento seguro basado en servidor y desbloqueo de datos de clientes. Los datos de clientes están almacenados de forma segura en un servidor cuando están almacenados de forma cifrada. El autorizado ha generado antes del cifrado un almacenamiento basado en servidor de los datos, basándose en una frase solo conocida por él, una clave simétrica Ksym de modo en sí conocido. Con la clave Ksym cifra sus datos y los transmite para el almacenamiento al servidor. El autorizado genera además de ello en su ordenador de cliente una pareja de claves asimétrica, por ejemplo con el algoritmo RSA. Para poner a disposición un intercambio de datos seguro, el autorizado transmite su clave pública de forma no cifrada al servidor para el almacenamiento. Cifra además de ello la clave privada con la clave simétrica y deposita la clave privada cifrada de este modo en el servidor. El autorizado puede finalizar entonces sin problemas el navegador, dado que todas las claves están almacenadas de forma segura en el servidor.
En una forma de realización preferente de acuerdo con la invención, tal como se muestra en la Fig. 3, el autorizado envía desde el ordenador autorizado en primer lugar una solicitud 101 al servidor, de recoger los (datos) Ksym, datos cifrados con la clave Ksym simétrica. El servidor transmite al autorizado los datos (datos) Ksym. En un paso 105 el ordenador autorizado descifra basándose en el software puesto a disposición por el servidor en un navegador los datos cifrados (datos) Ksym con la clave Ksym simétrica. En un paso 107 el autorizado solicita una clave pública pub(DL) de la otra parte, a disposición de la cual quiere poner los datos de cliente. En un paso 111 el autorizado cifra los datos de cliente con la clave pública pub(DL) de la otra parte y obtiene de este modo los datos cifrados (datos) pub(DL), que sirven como datos de puesta a disposición. El autorizado transmite entonces los datos de puesta a disposición en un paso 113 al servidor. La otra parte recoge finalmente los datos en un paso 115 en su ordenador de otra parte y descifra los datos (datos) pub(DL) con la clave privada correspondiente de modo en sí conocido.
La Fig. 4 muestra otra forma de realización preferente del procedimiento asistido por Internet para el almacenamiento seguro basado en servidor y desbloqueo de datos de clientes de acuerdo con la Fig. 3. Referencias parecidas significan a este respecto pasos parecidos.
La diferencia con el procedimiento anterior es que en el paso 211 se genera una clave simétrica temporal tmpkey. No se requiere obligatoriamente una frase para la generación de la clave simétrica temporal. Los datos de cliente se cifran entonces mediante la clave simétrica temporal tmpkey. La clave simétrica temporal tmpkey se cifra con la clave pública de la otra parte pub(DL). De este modo se acorta un cifrado intensivo en tiempo en caso de cantidades de datos grandes con una clave pública, en cuanto que solo se cifra la clave simétrica temporal tmpkey, que abarca únicamente un alcance de datos reducido. Tras ello se transmiten los datos cifrados con las claves simétricas temporales tmpkey como datos de puesta a disposición (datos) tmpkey junto con la clave simétrica temporal pub(DL)(tmpkey) cifrada. La otra parte recoge entonces los datos de puesta a disposición (datos) tmpkey y la clave simétrica temporal pub(DL)(tmpkey) cifrada del servidor, descifra la clave cifrada con su clave privada y descifra finalmente con la clave simétrica temporal recuperada de este modo, de forma conocida en sí los datos de cliente.
La Fig. 5 muestra un ejemplo detallado de una generación de clave en un ordenador de cliente. Un usuario (User), el cual quiere registrarse en el servidor instalado de acuerdo con la invención, solicita a través de su cliente, el cual puede ser un navegador de Internet, una apertura de cuenta, 220. El cliente envía una solicitud para almacenar los datos de usuario al servidor, 221, el cual en un paso 219 dispone a continuación una sesión (Create (Session)) y comunica al cliente un mensaje de estado sobre éxito o fracaso, así como una identificación de usuario UserID, 223. Tras ello el cliente solicita al usuario la indicación de una frase, 224. Tan pronto como el usuario ha indicado una frase, 225, el cliente genera localmente una clave simétrica usando la frase, 226, y una pareja de claves consistente en una clave privada y en una clave pública, 227. El cliente transmite para el almacenamiento la clave pública y la clave privada cifrada con la clave simétrica al servidor, 228, dado que tras la finalización del cliente, es decir, del navegador, se pierden todos los datos. El usuario puede ahora cerrar sesión en el servidor, 229. El cliente comunica el cierre de sesión al servidor, 230, el cual a continuación finaliza la sesión y desbloquea la memoria de sesión temporal, 231, mientras las claves se almacenan de forma persistente el servidor.
La Fig. 6 muestra un ejemplo de un cifrado referido a una aplicación. Una aplicación es por ejemplo un directorio, el cual ha de funcionar con claves propias asignadas. En 240 el usuario A genera en el cliente A una clave de aplicación simétrica. La clave de aplicación se cifra en 241 con la clave de usuario. Acto seguido se reserva la aplicación "directorio" indicándose la clave de aplicación cifrada en el servidor, 242. El servidor responde con un mensaje de estado y una identificación de aplicación, 243, tras lo cual es posible para el cliente A, almacenar en la identificación de aplicación comunicada con la clave de aplicación, datos de directorio cifrados en el servidor, 244. En caso de solicitar ahora un cliente B una clave para la aplicación asignada a la identificación de aplicación, 245, entonces el servidor traslada esta solicitud al cliente A, 246, el cual a continuación para comenzar con un intercambio con el cliente B solicita al cliente B la clave pública, 247. Con la clave pública obtenida del cliente B el cliente A cifra a continuación su clave de aplicación simétrica. En 249 el cliente A permite al cliente B el acceso a sus datos de aplicación, es decir, del cliente A. El cliente B se descarga del servidor la clave de aplicación cifrada, 250, y descifra la clave de aplicación con su clave privada, 251. En 252 el cliente B cifra con su clave simétrica la clave de aplicación obtenida y la almacena en el servidor, 253, para actualizar la autorización de acceso.
La Fig. 7 un ejemplo de un uso común de datos. En los pasos no ilustrados se genera en este ejemplo de realización en los clientes al registrarse respectivamente la clave simétrica del cliente. Ésta se cifra entonces con otra clave simétrica y se deposita de este modo en el servidor. La otra clave simétrica abordada se genera de forma reproducible a partir de datos, como una frase, introducidos por el usuario. En los pasos 260 y 261 un cliente A y un cliente B recogen sus correspondientes claves simétricas cifradas del servidor. En pasos no representados los respectivos usuarios introducen datos (por ejemplo una frase), a partir de los cuales se generan de nuevo las claves simétricas adicionales para el descifrado de las claves simétricas recogidas por el servidor. El cliente A almacena tras ello datos de cliente cifrados con la clave simétrica descifrada en el servidor, 262. En un posterior paso 263 el cliente A recoge sus datos de cliente cifrados con una clave simétrica y los descifra en un paso 264. Para poder iniciar un intercambio de datos con el cliente B, el cliente A solicita la clave pública del cliente B al servidor, 265, con la cual cifra sus datos de cliente, 266. Acto seguido el cliente A transmite los datos cifrados con la clave pública por el cliente B al servidor. El cliente B inicia en 268 una solicitud de nuevos datos de cliente al servidor, los cuales éste envía al cliente B en 269. En el paso 270 el cliente B descifra los datos de cliente obtenidos con su clave privada y lleva a cabo en 271 una actualización de los datos de cliente. Acto seguido el cliente B cifra los datos de cliente con su clave simétrica en 272 y almacena los datos de cliente cifrados en el servidor.
La invención puede usarse para una conexión entre el historial médico de un paciente y una gestión de consulta en línea.
Una ventaja particular de una forma de realización de la invención se encuentra en que el cifrado se desarrolla en una aplicación web (en JavaScript) y comprende un mecanismo de desbloqueo, el cual permite al usuario poner a disposición de terceros (en el caso que nos ocupa médicos) los datos almacenados de forma cifrada por completo o también solo por partes, mientras los datos útiles se presentan durante la transmisión a través de Internet, como también en el servidor mismo, en forma cifrada.
Esto complementa procedimientos como cifrado de la comunicación mediante SSL o cifrado de soportes de datos en el servidor. SSL asegura la comunicación de pacientes a través de una red segura, en cuanto que los datos transmitidos se cifran de forma asimétrica y firmada. En el servidor se descifran no obstante de nuevo y pueden ser leídos allí potencialmente por administradores de servidor. Los soportes de datos cifrados aseguran que los datos en el servidor en caso de pérdida o robo del soporte de datos no puedan descifrarse (dado que la clave necesaria para el descifrado está almacenada en memorias volátiles en el servidor), no están sin embargo en este caso tampoco protegidos frente a administradores de servidor mientras el servidor está activo.
Los datos son cifrados directamente en el navegador, es decir, los usuarios pueden de este modo no requerir dispositivos de lectura de tarjetas de chip.
Los pasos criptográficos representados arriba en detalle se resumen a grandes rasgos del siguiente modo: usuario (todos los procedimientos se desarrollan en el cliente)
- generación de clave JS RSA (da como resultado una clave pública pub y una clave privada priv)
- contraseña 2Key JS (da como resultado una clave simétrica ksym)
- cifrado JS AES (de la clave privada con la clave simétrica, da como resultado ksym(priv))
- almacenamiento de priv cifrada en el servidor
- con el usuario se genera en el cliente una clave se usuario U aleatoria, se cifra con una contraseña (una frase) y se almacena en el servidor.
- para cada cifrado/descifrado ha de descargarse en primer lugar la clave de usuario y descifrarse
Cambio de contraseña:
- descargar clave de usuario, descifrar, cifrar de nuevo, almacenar de nuevo en servidor
Clave de datos (clave de caso) en dependencia de caso/fecha:
- para cada conjunto de datos se genera una clave de caso F aleatoria, con lo cual se cifran los campos. Ésta se cifra con U (que para ello se descarga y se abre con P).
Disposición y solicitud de conjuntos de datos:
- cifrado en un cliente con clave de datos aleatoria
- cifrado de la clave de datos con contraseña 2key
- almacenamiento de clave cifrada y datos de usuario en servidor
Desbloqueo:
- solicitud de los datos como en "disposición y solicitud de conjuntos de datos"
- cifrado con clave key simétrica aleatoria
- descarga de la clave pública pubkey del médico
- cifrado de la clave aleatoria con pubkey del médico
- carga de los datos útiles y de la clave cifrada para el médico
Suposición de desbloqueo de lado del médico ("UpdateQueue")
- descarga de nuevos datos útiles, clave para ello y clave privada propia cifrada por parte del médico
- descifrado de la clave privada propia con contraseña 2key
- descifrado de la clave de datos útiles
- descifrado de los datos útiles
- continuar como en disposición y solicitud de conjuntos de datos
La presente invención se ha descrito a modo de ejemplo en el marco de una relación paciente-médico, puede usarse básicamente no obstante para todas las relaciones cliente-proveedor de servicios.
La presente invención crea en particular un sistema para el almacenamiento seguro basado en servidor y desbloqueo de datos, así como un procedimiento de funcionamiento de este sistema.

Claims (10)

REIVINDICACIONES
1. Sistema para el almacenamiento seguro basado en servidor y desbloqueo de datos, comprendiendo un servidor (1); y
un primer cliente (2) y un segundo cliente (3), los cuales están conectados con el servidor;
estando configurado el primer cliente (2) para,
- obtener una primera clave simétrica (ksym) usando datos introducidos por un primer usuario;
- para obtener para el registro del primer usuario en el servidor (1) una primera pareja de claves asimétrica consistente en una primera clave privada y en una primera clave pública (pub(DL)), cifrar la primera clave privada con la primera clave simétrica (ksym), transmitir la primera clave privada cifrada al servidor (1) y publicar de tal modo la primera clave pública (pub(DL)) que el segundo cliente pueda recibirla;
- para obtener datos, los cuales fueron desbloqueados por un segundo usuario para el primer usuario, recibir la primera clave privada cifrada del servidor (1) y descifrarla con la primera clave simétrica, y recibir los datos como datos de puesta a disposición en forma cifrada del servidor (1) y mediante la ayuda de la primera clave privada no cifrada, descifrarlos;
estando configurado el segundo cliente (3) para,
- obtener una segunda clave simétrica (ksym) usando datos introducidos por el segundo usuario;
- para cifrar para el almacenamiento de datos en el servidor (1) los datos con la segunda clave simétrica (ksym) y transmitir los datos cifrados al servidor (1);
- para recibir para el desbloqueo de los datos cifrados almacenados en el servidor (1) para el primer usuario los datos del servidor (1), recibir la primera clave pública (pub(DL)), descifrar los datos cifrados con la segunda clave simétrica (ksym), cifrar los datos no cifrados con la ayuda de la primera clave pública (pub(DL)), para obtener datos de puesta a disposición, y transmitir los datos de puesta a disposición al servidor (1); y
estando configurado el servidor además de ello para,
- almacenar los datos cifrados y
- la primera clave privada cifrada.
2. Sistema según la reivindicación 1, estando configurado un cliente (2, 3) para, obtener la clave simétrica (ksym) debido a que se genera en base a los datos introducidos por el usuario.
3. Sistema según la reivindicación 1,
estando configurado un cliente (2, 3) para,
- generar la clave simétrica (ksym) y cifrarla usando los datos introducidos por el usuario y transmitir la clave simétrica (ksym) cifrada al servidor (1);
- recibir la clave simétrica (ksym) cifrada del servidor (1) y descifrarla usando los datos introducidos por el usuario, para obtener la clave simétrica (ksym); y
estando configurado el servidor (1) para, almacenar la clave simétrica (ksym) cifrada.
4. Sistema según una de las reivindicaciones anteriores, estando configurado un cliente (2, 3) para, acceder a través de un navegador al servidor y evitar en caso de una operación de cifrado y/o descifrado previsiblemente de duración larga, un tratamiento de espera por inactividad a través del navegador.
5. Sistema según una de las reivindicaciones anteriores,
estando configurado el segundo cliente (3) para, cifrar, para obtener los datos de puesta a disposición, los datos no cifrados con las primeras claves públicas (pub(DL)); y
estando configurado el primer cliente (2) para, descifrar los datos de puesta a disposición recibidos del servidor (1) con la primera clave privada no cifrada.
6. Sistema según una de las reivindicaciones 1 a 4, estando configurado el segundo cliente (3) para,
- cifrar, para obtener los datos de puesta a disposición, los datos no cifrados con una clave de sesión simétrica generada temporalmente (tmpkey);
- cifrar la clave de sesión simétrica (tmpkey) con la primera clave pública (pub(DL)); y
- transmitir la clave de sesión simétrica cifrada (pub(DL)tmpkey)) junto con los datos de puesta a disposición (datos(tmpkey)) al servidor (1); y
estando configurado el primer cliente (2) para,
- recibir la clave de sesión simétrica (pub(DL)(tmpkey)) cifrada junto con los datos de puesta a disposición (datos(tmpkey)) del servidor (1);
- descifrar la clave de sesión simétrica cifrada (pub(DL)tmpkey)) con la primera clave privada no cifrada; y - descifrar los datos de puesta a disposición (datos(tmpkey)) recibidos del servidor (1) con la clave de sesión simétrica (tmpkey) no cifrada.
7. Sistema según una de las reivindicaciones anteriores, presentando el primer cliente también la funcionalidad del segundo cliente, y presentando el segundo cliente también la funcionalidad del primer cliente.
8. Cliente, el cual está configurado para ser usado como primer cliente en un sistema según una de las reivindicaciones 1 a 7.
9. Procedimiento para el almacenamiento seguro basado en servidor y desbloqueo de datos, comprendiendo los pasos:
- obtener una primera clave simétrica (ksym) a través del primer cliente (2) usando datos introducidos por un primer usuario;
- obtener a través del primer cliente (2) una primera pareja de claves asimétrica consistente en una primera clave privada y en una primera clave pública (pub(DL));
- cifrar la primera clave privada con la primera clave simétrica (ksym) a través del primer cliente (2);
- transmitir la primera clave privada cifrada del primer cliente (2) a un servidor (1);
- almacenar la primera clave privada cifrada en el servidor (1);
- publicar la primera clave pública (pub(DL)) de tal modo que pueda recibirla un segundo cliente;
- obtener una segunda clave simétrica (ksym) a través del segundo cliente (3) usando datos introducidos por un segundo usuario;
- cifrar datos con la segunda clave simétrica (ksym) a través del segundo cliente (3);
- transmitir los datos cifrados del segundo cliente al servidor (1);
- almacenar los datos cifrados en el servidor (1);
- transmitir los datos cifrados del servidor (1) al segundo cliente (3);
- descifrar los datos cifrados con la segunda clave simétrica (ksym) a través del segundo cliente (3);
- recibir la primera clave pública (pub(DL)) a través del segundo cliente (3);
- cifrar los datos no cifrados a través del segundo cliente (3), mediante la ayuda de la primera clave pública (pub(DL)) para obtener datos de puesta a disposición;
- transmitir los datos de puesta a disposición del segundo cliente (3) al servidor (1);
- transmitir la primera clave privada cifrada del servidor (1) al primer cliente (2);
- descifrar la primera clave privada cifrada con la primera clave simétrica a través del primer cliente (2);
- transmitir los datos de puesta a disposición de forma cifrada del servidor (1) al primer cliente (2);
- descifrar los datos de puesta a disposición a través del primer cliente (2) mediante la ayuda de la primera clave privada no cifrada.
10. Programa de ordenador, el cual, cuando se ejecuta en uno o en varios ordenadores, da lugar a que se realice el procedimiento según la reivindicación 9.
ES09005545T 2008-04-18 2009-04-20 Almacenamiento seguro basado en servidor y desbloqueo de datos Active ES2837541T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008019627.4A DE102008019627B4 (de) 2008-04-18 2008-04-18 System und Verfahren zur sicheren Speicherung und Freigabe von Applikationsdaten

Publications (1)

Publication Number Publication Date
ES2837541T3 true ES2837541T3 (es) 2021-06-30

Family

ID=39720003

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09005545T Active ES2837541T3 (es) 2008-04-18 2009-04-20 Almacenamiento seguro basado en servidor y desbloqueo de datos

Country Status (3)

Country Link
EP (2) EP2110980B1 (es)
DE (2) DE102008019627B4 (es)
ES (1) ES2837541T3 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008019627B4 (de) * 2008-04-18 2022-03-17 Samedi Gmbh System und Verfahren zur sicheren Speicherung und Freigabe von Applikationsdaten
DE102015103251B4 (de) * 2015-03-05 2017-03-09 Aly Sabri Verfahren und System zum Verwalten von Nutzerdaten eines Nutzerendgeräts

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1010689A (en) * 1908-05-06 1911-12-05 American Safety Door Company Emergency safety-door latch.
US6925182B1 (en) 1997-12-19 2005-08-02 Koninklijke Philips Electronics N.V. Administration and utilization of private keys in a networked environment
WO1999060749A1 (fr) 1998-05-18 1999-11-25 Mitsubishi Materials Corporation Systeme de partage d'informations
US6154543A (en) 1998-11-25 2000-11-28 Hush Communications Anguilla, Inc. Public key cryptosystem with roaming user capability
CA2267395C (en) 1999-03-30 2002-07-09 Ibm Canada Limited-Ibm Canada Limitee Method and system for managing keys for encrypted data
US6694025B1 (en) * 1999-06-02 2004-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for secure distribution of public/private key pairs
US6834112B1 (en) * 2000-04-21 2004-12-21 Intel Corporation Secure distribution of private keys to multiple clients
US7010689B1 (en) * 2000-08-21 2006-03-07 International Business Machines Corporation Secure data storage and retrieval in a client-server environment
US6970562B2 (en) * 2000-12-19 2005-11-29 Tricipher, Inc. System and method for crypto-key generation and use in cryptosystem
US6898288B2 (en) 2001-10-22 2005-05-24 Telesecura Corporation Method and system for secure key exchange
AU2002328597A1 (en) * 2002-08-08 2004-02-25 Hiroshi Egawa Method for setting reservation for examination of patient in medical organization, reservation setting system, computer program, and recording medium
US6931133B2 (en) 2002-09-03 2005-08-16 Verisign, Inc. Method and system of securely escrowing private keys in a public key infrastructure
CN1826611A (zh) * 2003-07-01 2006-08-30 夸德拉特公司 电子预约安排
US20050154889A1 (en) 2004-01-08 2005-07-14 International Business Machines Corporation Method and system for a flexible lightweight public-key-based mechanism for the GSS protocol
KR20040097016A (ko) 2004-10-15 2004-11-17 곽현정 암호화를 활용한 웹저장공간 제공 서비스 시스템 및 방법
US20060143060A1 (en) * 2004-12-28 2006-06-29 General Electric Company Integrated scheduling system for health care providers
US20090313038A1 (en) * 2005-03-04 2009-12-17 Quadrat Method for Processing a Link of Time Segments
CN101061662B (zh) 2005-10-14 2011-08-17 捷讯研究有限公司 用于保护主加密密钥的系统和方法
DE102008019627B4 (de) * 2008-04-18 2022-03-17 Samedi Gmbh System und Verfahren zur sicheren Speicherung und Freigabe von Applikationsdaten

Also Published As

Publication number Publication date
EP2110980A3 (de) 2017-03-29
DE102008019627B4 (de) 2022-03-17
EP2110980A2 (de) 2009-10-21
EP2110980B1 (de) 2020-10-14
DE102008019627A1 (de) 2009-10-29
DE202008007826U1 (de) 2008-08-28
EP2110765A1 (de) 2009-10-21

Similar Documents

Publication Publication Date Title
Yang et al. Lightweight break-glass access control system for healthcare Internet-of-Things
JP4866863B2 (ja) セキュリティコード生成方法及びユーザ装置
US6834112B1 (en) Secure distribution of private keys to multiple clients
RU2538283C2 (ru) Аутентификация устройства и пользователя
US8605899B2 (en) Method for providing cryptographical key pairs
JP4902207B2 (ja) ファイルの暗号化と復号化のための複数のキーを管理するシステムと方法
EP1997270B1 (en) Method and system for authenticating a user
US20200259637A1 (en) Management and distribution of keys in distributed environments
US20070240226A1 (en) Method and apparatus for user centric private data management
BRPI0617970A2 (pt) método e disposição para autenticação segura
US20040250082A1 (en) Digital signature generation method, digital signature authentication method, digital signature generation request program and digital signature authentication request program
US20080028214A1 (en) Secure flash media for medical records
EP1501238B1 (en) Method and system for key distribution comprising a step of authentication and a step of key distribution using a KEK (key encryption key)
Olakanmi et al. FEACS: A fog enhanced expressible access control scheme with secure services delegation among carers in E-health systems
US20090154710A1 (en) Method for the Secure Deposition of Digital Data, Associated Method for Recovering Digital Data, Associated Devices for Implementing Methods, and System Comprising Said Devices
ES2837541T3 (es) Almacenamiento seguro basado en servidor y desbloqueo de datos
Ramesh et al. Implementing One Time Password based security mechanism for securing personal health records in cloud
Omotosho et al. Securing private keys in electronic health records using session-based hierarchical key encryption
JP2005209118A (ja) 情報分散ストレージシステムとこのシステムに用いられる全体認証サーバ装置、認証サーバ装置及び分散ストレージサーバ装置及び情報分散ストレージ方法
JP2001034584A (ja) コンピュータ用の安全なバックドアアクセス方法及び装置
JP2000293603A (ja) 地域医療情報システム及び電子患者カード
CN112966302A (zh) 一种支持患者隐私保护的安全远程医疗数据共享方法
Jakubeit et al. SSI-AWARE: Self-sovereign identity authenticated backup with auditing by remote entities
Yu et al. No security by obscurity-why two factor authentication should be based on an open design
Vivekrabinson et al. Medical data sharing using blockchain with secure patient/doctor interaction