FR3085507A1 - SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND MULTIPLE RECIPIENT USERS, WITH REMOTE CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. - Google Patents
SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND MULTIPLE RECIPIENT USERS, WITH REMOTE CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. Download PDFInfo
- Publication number
- FR3085507A1 FR3085507A1 FR1857793A FR1857793A FR3085507A1 FR 3085507 A1 FR3085507 A1 FR 3085507A1 FR 1857793 A FR1857793 A FR 1857793A FR 1857793 A FR1857793 A FR 1857793A FR 3085507 A1 FR3085507 A1 FR 3085507A1
- Authority
- FR
- France
- Prior art keywords
- container
- user
- recipient user
- writing
- archiving
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2115—Third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
Procédé de partage de fichiers (2) entre un utilisateur (A) émetteur et plusieurs utilisateurs (Bk) destinataire, qui comprend trois phases : - Ecriture : ○ Créer, dans un serveur (5) de fichiers, un conteneur (6) de données, associé aux utilisateurs (Bk) destinataires ; ○ Pendant un délai (T1) d'écriture, permettre à l'utilisateur (A) émetteur l'accès en écriture au conteneur (6) ; - Archivage : ○ A l'expiration du délai (T1) d'écriture, interdire à l'utilisateur (A) émetteur l'accès au conteneur (6) ; ○ Copier le conteneur pour chaque utilisateur (Bk) destinataire et crypter chaque copie à l'aide de la clé (ZBk) publique de chaque utilisateur (Bk) destinataire ; ○ Pendant un délai (T2) d'archivage contrôlé par interrogation d'une blockchain, stocker chaque conteneur (6Bk) crypté ; - Partage : permettre à chaque utilisateur (Bk) destinataire de télécharger le conteneur (6Bk) crypté en vue de le décrypter à l'aide de sa clé (BkZ) privée.Process for sharing files (2) between a sending user (A) and several recipient users (Bk), which comprises three phases: - Writing: ○ Create, in a file server (5), a data container (6) , associated with the intended users (Bk); ○ During a writing delay (T1), allow the sending user (A) write access to the container (6); - Archiving: ○ At the end of the writing period (T1), prohibit the user (A) sending access to the container (6); ○ Copy the container for each recipient user (Bk) and encrypt each copy using the public key (ZBk) of each recipient user (Bk); ○ During an archiving period (T2) controlled by interrogating a blockchain, store each container (6Bk) encrypted; - Sharing: allow each recipient user (Bk) to download the encrypted container (6Bk) in order to decrypt it using their private key (BkZ).
Description
Procédé et système sécurisés de partage retardé de données entre un utilisateur émetteur et plusieurs utilisateurs destinataires, avec création distante d’un conteneur et horodatage sur blockchainSecure method and system for delayed data sharing between a sending user and several recipient users, with remote creation of a container and time stamp on blockchain
L’invention a trait au domaine de l’informatique, et plus précisément du partage de fichiers de données informatiques entre un utilisateur émetteur et plusieurs utilisateurs destinataires.The invention relates to the field of computing, and more specifically to the sharing of computer data files between a sending user and several receiving users.
Le terme « utilisateur >> est ici employé pour désigner un appareil communiquant (en anglais « user device »), typiquement un smartphone, une tablette, ou plus généralement un ordinateur, par ex. un ordinateur portable ou fixe ou encore une station de travail, capable de se connecter, via un réseau informatique local (LAN), métropolitain (MAN) ou étendu (WAN, typiquement l’Internet), à un serveur distant, le terme « serveur >> désignant ici une unité physique ou, dans un cadre de virtualisation, un espace de calcul et/ou de mémoire alloué au sein d’une unité physique et sur lequel tourne un système d’exploitation ou une émulation de système d’exploitation.The term “user” is used here to designate a communicating device (in English “user device”), typically a smartphone, a tablet, or more generally a computer, for example. a portable or fixed computer or a workstation capable of connecting, via a local computer network (LAN), metropolitan (MAN) or extended (WAN, typically the Internet), to a remote server, the term "server >> designating here a physical unit or, in a virtualization framework, a computing and / or memory space allocated within a physical unit and on which an operating system or an operating system emulation is running.
Néanmoins on comprend qu’est associé à un tel dispositif électronique client un utilisateur réel (c'est-à-dire une personne physique ou morale) qui effectue des opérations à partir de ce dispositif.However, it is understood that an actual user (that is to say a natural or legal person) who carries out operations using this device is associated with such an electronic client device.
L’utilisation des réseaux informatiques est aujourd’hui assez répandue, notamment pour le partage de données.The use of computer networks is quite widespread today, especially for data sharing.
Il existe divers types de systèmes permettant de partager des données.There are various types of systems for sharing data.
Les messageries électroniques de type boîte aux lettres, qui fonctionnent de manière asynchrone, permettent à un utilisateur A (émetteur) d’adresser à un utilisateur B (destinataire) un message contenant des informations qui peuvent être incluses dans le corps du message lui-même, ou sous forme de fichiers joints.Mailbox-type e-mails, which work asynchronously, allow user A (sender) to address user B (recipient) a message containing information that can be included in the body of the message itself , or as attached files.
Dans une messagerie électronique, le délai d’acheminement du message dépend, pour l’essentiel, de la bande passante (disponibilité) du réseau reliant l’utilisateur émetteur et l’utilisateur destinataire, et de la taille mémoire du message, y compris ses éventuelles pièces jointes.In an electronic messaging system, the message delivery time depends essentially on the bandwidth (availability) of the network connecting the sending and receiving users, and on the memory size of the message, including its any attachments.
Bien souvent, l’acheminement prend quelques secondes. Le destinataire peut alors ouvrir et lire le message provenant de l’émetteur quand bon lui semble.Quite often, routing takes a few seconds. The recipient can then open and read the message from the sender whenever they want.
LAP B011 FRLAP B011 FR
A l’heure où sont écrites ces lignes, les messageries électroniques sont limitées quant à la taille des messages transmis, le plus souvent à une dizaine de Mégaoctets (Mo).At the time of writing, e-mail is limited in size to the messages sent, usually around ten megabytes (MB).
Pour échanger des données de gros volume (c'est-à-dire de taille supérieure à 10 Mo) environ, il est devenu usuel de recourir à des plateformes spécialisées, par ex. DropBox (marque déposée).To exchange data of large volume (that is to say of size greater than 10 MB), it has become customary to use specialized platforms, e.g. DropBox (registered trademark).
Dans leur principe, ces plateformes visent à permettre un accès permanent à un espace mémoire privé sur lequel sont mémorisés des fichiers, pour tout utilisateur identifié comme y ayant droit.In principle, these platforms aim to allow permanent access to a private memory space on which files are stored, for any user identified as having the right to it.
Le piratage des fichiers implique soit un accès non autorisé à cet espace mémoire, soit l’usurpation de l’identité d’un utilisateur ayant droit d’accès.Hacking files involves either unauthorized access to this memory space, or the theft of the identity of a user with access rights.
Ces plateformes sont simples d’utilisation mais rencontrent cependant des limites quant à la sécurisation des données. En particulier, l’usurpation d’identité est très efficace pour accéder aux données, et ce de manière immédiate, et - en général - tant en lecture qu’en écriture.These platforms are easy to use but nevertheless meet limits with regard to data security. In particular, identity theft is very effective in accessing data immediately, and - in general - both read and write.
Il persiste par conséquent un besoin de partager des fichiers de données informatiques entre utilisateurs, avec un degré supérieur de sécurité, tout en préservant une certaine simplicité d’utilisation.There therefore remains a need to share computer data files between users, with a higher degree of security, while preserving a certain simplicity of use.
A cet effet, il est proposé, en premier lieu, un procédé de partage de fichiers de données informatiques entre un utilisateur émetteur et P utilisateurs destinataires (P un entier, P > 2), via un système informatique équipé :To this end, it is proposed, firstly, a method of sharing computer data files between a sending user and P recipient users (P an integer, P> 2), via a computer system equipped:
D’un serveur de communication,From a communication server,
D’au moins un serveur de fichiers, etAt least one file server, and
D’une base de données de profils contenant en mémoire des profils associés aux utilisateurs, chaque profil comprenant au moins un identifiant et au moins une clé cryptographique publique à laquelle correspond une clé privée,A profile database containing profiles associated with users in memory, each profile comprising at least one identifier and at least one public cryptographic key to which a private key corresponds,
Ce procédé comprenant, au niveau du système, trois phases successives :This process comprising, at the system level, three successive phases:
Une phase d’écriture, qui inclut les opérations consistant à :A writing phase, which includes the operations of:
o Recevoir de l’utilisateur émetteur une requête contenant une instruction de création d’un conteneur de données à partager et un identifiant de chaque utilisateur destinataire ;o Receive from the sending user a request containing an instruction to create a data container to share and an identifier for each recipient user;
LAP B011 FR o Créer le conteneur dans un serveur de fichiers ;LAP B011 EN o Create the container in a file server;
o Associer au conteneur un délai prédéterminé d’écriture ;o Associate the container with a predetermined writing period;
o Tant que le délai d’écriture n’a pas expiré, permettre à l’utilisateur émetteur l’accès en écriture au conteneur ;o As long as the writing period has not expired, allow the sending user write access to the container;
Une phase d’archivage, qui inclut les opérations consistant à :An archiving phase, which includes the operations of:
o A l’expiration du délai d’écriture, interdire à l’utilisateur émetteur l’accès, au moins en écriture, au conteneur ;o At the end of the writing period, prohibit the sending user from accessing, at least in writing, the container;
o Effectuer une copie du conteneur pour chaque utilisateur destinataire, en associant chaque copie au profil correspondant, dans la base de données, à l’utilisateur destinataire ;o Make a copy of the container for each recipient user, by associating each copy with the corresponding profile, in the database, with the recipient user;
o Crypter chaque copie du conteneur à l’aide de la clé publique de l’utilisateur destinataire pour former un conteneur crypté ;o Encrypt each copy of the container using the public key of the recipient user to form an encrypted container;
o Associer à chaque conteneur crypté un délai prédéterminé d’archivage ;o Associate each encrypted container with a predetermined archiving period;
o Stocker le conteneur crypté dans un serveur de fichiers en en interdisant l’accès au moins à l’utilisateur destinataire ;o Store the encrypted container in a file server by prohibiting access to at least the recipient user;
o Répéter périodiquement la séquence de vérification suivante :o Periodically repeat the following verification sequence:
a) Sélectionner un bloc dans un registre informatique constitué en chaîne de blocs ayant chacun une donnée d’horodatage ;a) Select a block in a computer register made up of a block chain, each having time stamp data;
b) Extraire la donnée d’horodatage du bloc sélectionné ;b) Extract the timestamp data from the selected block;
c) Déterminer, à partir de cette donnée d’horodatage, une date courante ;c) Determine, from this timestamp data, a current date;
o Tant que le délai d’archivage est antérieur à la date courante, répéter la séquence de vérification en maintenant le stockage du conteneur crypté ;o As long as the archiving period is before the current date, repeat the verification sequence while maintaining the storage of the encrypted container;
Une phase de partage, qui inclut l’opération consistant, dès lors que le délai d’archivage est égal ou postérieur à la date courante, à permettre à l’utilisateur destinataire de télécharger le conteneur crypté en vue de le décrypter à l’aide de sa clé privée.A sharing phase, which includes the operation consisting, as soon as the archiving period is equal to or later than the current date, to allow the recipient user to download the encrypted container in order to decrypt it using of his private key.
Diverses caractéristiques supplémentaires peuvent être prévues, seules ou en combinaison. Ainsi, par exemple :Various additional characteristics can be provided, alone or in combination. So, for example:
Le délai d’écriture peut être défini par l’utilisateur émetteur, ou automatiquement.The write time can be set by the sending user, or automatically.
LAP B011 FRLAP B011 FR
Le délai d’archivage peut être défini par l’utilisateur émetteur, ou automatiquement.The archiving period can be defined by the sending user, or automatically.
Le délai d’archivage peut être défini séparément pour chaque utilisateur destinataire.The archiving period can be defined separately for each recipient user.
Il peut être prévu la réception, par le serveur de communication, d’une notification de décryptage du conteneur par chaque utilisateur récepteur. Dans ce cas, il est avantageusement prévu la destruction du conteneur sur le serveur de fichiers après réception de la notification de décryptage par l’utilisateur destinataire.Provision may be made for the reception, by the communication server, of a decryption notification of the container by each receiving user. In this case, it is advantageously provided for the destruction of the container on the file server after receipt of the decryption notification by the recipient user.
Il est proposé, en deuxième lieu, un système informatique qui, pour la mise en oeuvre du procédé tel que présenté ci-dessus, comprend :Secondly, a computer system is proposed which, for implementing the method as presented above, comprises:
Un serveur de communication,A communication server,
Au moins un serveur de fichiers, etAt least one file server, and
Une base de données de profils contenant en mémoire des profils associés aux utilisateurs, chaque profil comprenant au moins un identifiant et au moins une clé cryptographique publique à laquelle correspond une clé privée,A profile database containing profiles associated with users in memory, each profile comprising at least one identifier and at least one public cryptographic key to which a private key corresponds,
Ce système comprenant une unité de contrôle comprenant une mémoire inscriptible contenant des instructions pour opérer :This system comprising a control unit comprising a writable memory containing instructions for operating:
Une phase d’écriture, qui inclut les opérations consistant à :A writing phase, which includes the operations of:
o Recevoir de l’utilisateur émetteur une requête contenant une instruction de création d’un conteneur de données à partager et un identifiant de chaque utilisateur destinataire ;o Receive from the sending user a request containing an instruction to create a data container to share and an identifier for each recipient user;
o Créer le conteneur dans un serveur de fichiers ;o Create the container in a file server;
o Associer au conteneur un délai prédéterminé d’écriture ;o Associate the container with a predetermined writing period;
o Tant que le délai d’écriture n’a pas expiré, permettre à l’utilisateur émetteur l’accès en écriture au conteneur ;o As long as the writing period has not expired, allow the sending user write access to the container;
Une phase d’archivage, qui inclut les opérations consistant à :An archiving phase, which includes the operations of:
o A l’expiration du délai d’écriture, interdire à l’utilisateur émetteur l’accès, au moins en écriture, au conteneur ;o At the end of the writing period, prohibit the sending user from accessing, at least in writing, the container;
o Effectuer une copie du conteneur pour chaque utilisateur destinataire, en associant chaque copie au profil correspondant, dans la base de données, à l’utilisateur destinataire ;o Make a copy of the container for each recipient user, by associating each copy with the corresponding profile, in the database, with the recipient user;
LAP B011 FR o Crypter chaque copie du conteneur à l’aide de la clé publique de l’utilisateur destinataire pour former un conteneur crypté ;LAP B011 FR o Encrypt each copy of the container using the public key of the recipient user to form an encrypted container;
o Associer à chaque conteneur crypté un délai prédéterminé d’archivage ;o Associate each encrypted container with a predetermined archiving period;
o Stocker le conteneur crypté dans un serveur de fichiers en en interdisant l’accès au moins à l’utilisateur destinataire ;o Store the encrypted container in a file server by prohibiting access to at least the recipient user;
o Répéter périodiquement la séquence de vérification suivante :o Periodically repeat the following verification sequence:
a) Sélectionner un bloc dans un registre informatique constitué en chaîne de blocs ayant chacun une donnée d’horodatage ;a) Select a block in a computer register made up of a block chain, each having time stamp data;
b) Extraire la donnée d’horodatage du bloc sélectionné ;b) Extract the timestamp data from the selected block;
c) Déterminer, à partir de cette donnée d’horodatage, une date courante ;c) Determine, from this timestamp data, a current date;
o Tant que le délai d’archivage est antérieur à la date courante, répéter la séquence de vérification en maintenant le stockage du conteneur crypté ;o As long as the archiving period is before the current date, repeat the verification sequence while maintaining the storage of the encrypted container;
Une phase de partage, qui inclut l’opération consistant, à l’expiration du délai, à permettre à l’utilisateur destinataire de télécharger le conteneur crypté en vue de le décrypter à l’aide de sa clé privée.A sharing phase, which includes the operation, at the end of the period, of allowing the recipient user to download the encrypted container in order to decrypt it using his private key.
D’autres objets et avantages de l’invention apparaîtront à la lumière de la description d’un mode de réalisation, faite ci-après en référence aux dessins annexés dans lesquels :Other objects and advantages of the invention will emerge in the light of the description of an embodiment, given below with reference to the appended drawings in which:
La FIG.1 est un schéma synthétique d’un système informatique illustrant la phase d’écriture d’un procédé selon l’invention ;FIG.1 is a synthetic diagram of a computer system illustrating the writing phase of a method according to the invention;
La FIG.2 est schéma similaire à la FIG.1, illustrant la phase d’archivage ;FIG.2 is a diagram similar to FIG.1, illustrating the archiving phase;
La FIG.3 est un schéma similaire à la FIG.1, illustrant la phase de partage ;FIG.3 is a diagram similar to FIG.1, illustrating the sharing phase;
La FIG.4 est un schéma illustrant différentes étapes du procédé de l’invention ;FIG.4 is a diagram illustrating different stages of the process of the invention;
La FIG.5 est un schéma illustrant l’extraction d’une donnée d’horodatage d’une chaîne de blocs.FIG.5 is a diagram illustrating the extraction of a timestamp data from a blockchain.
Sur les FIG.1 à FIG.3 est représenté un système 1 informatique, destiné à permettre le partage de fichiers 2 de données informatiques entre un utilisateur A émetteur et P utilisateurs Bk destinataires (P unIn FIG. 1 to FIG. 3 is shown a computer system 1, intended to allow the sharing of files 2 of computer data between a user A sender and P users Bk recipients (P a
LAP B011 FR entier tel que P > 2 ; k un entier tel que 1 < k <P). Le terme « utilisateur » désigne ici, concrètement, un appareil électronique, tel qu’un smartphone, un ordinateur, une tablette, et pourvu d’une interface de communication (filaire ou sans fil) par l’intermédiaire de laquelle cet appareil est capable de se connecter à un serveur distant, via un réseau 3 local (LAN), métropolitain (MAN) ou étendu (WIDE, tel que l’Internet). On comprend cependant que, par extension, le terme « utilisateur » désigne indirectement un (ou plusieurs) utiIisateur(s) réel(s) (par ex. une personne physique ou morale) associé(s) à cet appareil.LAP B011 FR integer such as P> 2; k an integer such that 1 <k <P). The term “user” here designates, in concrete terms, an electronic device, such as a smartphone, a computer, a tablet, and provided with a communication interface (wired or wireless) through which this device is capable to connect to a remote server, via a local (LAN), metropolitan (MAN) or wide area network (WIDE, such as the Internet). It is understood, however, that by extension, the term "user" indirectly designates one (or more) real user (s) (for example a natural or legal person) associated with this device.
Le système 1 informatique comprend, en premier lieu, un serveur 4 de communication, programmé pour pouvoir établir des sessions de communication (de préférence sécurisées) avec des utilisateurs (notamment avec les utilisateurs A et Bk).The computer system 1 comprises, first of all, a communication server 4, programmed to be able to establish communication sessions (preferably secure) with users (in particular with users A and Bk).
Le système 1 informatique comprend, en deuxième lieu, un serveur 5 de fichiers, sur lequel peuvent être créés des répertoires ou « conteneurs » 6 de fichiers de données à partager. Dans ces conteneurs peuvent être créés, déposés, copiés, collés, supprimés, modifiés, des fichiers 2 de données de tout type, par ex. des fichiers issus d’applications de bureautique (par ex. traitement de texte, tableur), des fichiers de son, d’image, ou encore de vidéo.The computer system 1 comprises, secondly, a file server 5, on which directories or “containers” 6 of data files to be shared can be created. In these containers can be created, deposited, copied, pasted, deleted, modified, 2 data files of any type, eg. files from office applications (eg word processing, spreadsheet), sound, image, or video files.
Le système 1 informatique comprend, en troisième lieu, une base 7 de données de profils qui contient en mémoire des profils PA, PBk d’utilisateurs. En l’espèce, la base de données contient au moins un profil PA associé à l’utilisateur A émetteur, et un profil PBk associé à chaque utilisateur B destinataire.The computer system 1 comprises, thirdly, a profile database 7 which contains profiles PA, PBk of users in memory. In this case, the database contains at least one profile PA associated with the sending user A, and a profile PBk associated with each recipient user B.
Chaque profil PA, PBk utilisateur comprend au moins un identifiant IDA, IDBk lié à l’utilisateur A, B respectif (par ex. un nom, une adresse électronique, un numéro de téléphone) et au moins une clé ZA, ZBk cryptographique publique respective.Each profile PA, PBk user includes at least one identifier IDA, IDBk linked to the respective user A, B (eg a name, an email address, a telephone number) and at least one key ZA, ZBk respective public cryptographic .
A cette clé ZA, ZBk cryptographique publique correspond une clé cryptographique AZ, BkZ respective privée.This public cryptographic key ZA, ZBk corresponds to a respective private cryptographic key AZ, BkZ.
La clé AZ, BkZ cryptographique privée associée à chaque utilisateur A ou Bk est stockée localement dans un espace mémoire de celui-ci.The private cryptographic key AZ, BkZ associated with each user A or Bk is stored locally in a memory space thereof.
Le système 1 informatique comprend, en quatrième lieu, une unité 8 de contrôle, reliée au serveur 4 de communication, au serveur 5 deThe computer system 1 comprises, fourthly, a control unit 8, connected to the communication server 4, to the server 5 of
LAP B011 FR fichiers et à la base 7 de données. L’unité 8 de contrôle comprend au moins un processeur et une mémoire programmable. L’unité 8 de contrôle est programmée pour contrôler le serveur 4 de communication, le serveur 5 de fichiers et pour administrer la base 7 de données.LAP B011 FR files and database 7. The control unit 8 comprises at least one processor and a programmable memory. The control unit 8 is programmed to control the communication server 4, the file server 5 and to administer the database 7.
L’unité 8 de contrôle (et plus précisément sa mémoire) comprend des instructions pour effectuer des opérations regroupées en plusieurs phases successives.The control unit 8 (and more precisely its memory) includes instructions for carrying out operations grouped in several successive phases.
Une première phase, dite d’écriture, inclut les opérations consistant à :A first phase, called writing, includes the operations of:
o Recevoir de l’utilisateur A émetteur une requête contenant une instruction de création d’un conteneur 6 et un identifiant IDBk de chaque utilisateur Bk destinataire ;o Receive from user A sender a request containing an instruction to create a container 6 and an identifier IDBk of each recipient user Bk;
o Créer le conteneur 6 dans un serveur 5 de fichiers ;o Create container 6 in a file server 5;
o Associer au conteneur 6 un délai T1 prédéterminé d’écriture ;o Associate with container 6 a predetermined writing delay T1;
o Tant que le délai T1 d’écriture n’a pas expiré, permettre à l’utilisateur A émetteur l’accès en écriture au conteneur 6.o As long as the T1 writing delay has not expired, allow the sending user A write access to container 6.
En pratique, l’utilisateur A émetteur adresse au système 1 informatique, via le réseau 3, la requête de création du conteneur 6. Cette requête transite par le serveur 4 de communication, qui effectue les vérifications d’identité de l’utilisateur A émetteur, typiquement par comparaison d’une information communiquée par celui-ci (par ex. un mot de passe) avec une information associée à son profil IDA tel que mémorisé dans la base 7 de données. Dès lors que l’utilisateur A émetteur est identifié, accès lui est donné (éventuellement par un autre canal de communication, comme illustré sur la FIG.1) au serveur 5 de fichiers.In practice, the sending user A sends to the computer system 1, via the network 3, the request to create the container 6. This request passes through the communication server 4, which performs the identity checks of the sending user A , typically by comparing information communicated by the latter (for example a password) with information associated with its IDA profile as stored in the database 7. As soon as the sending user A is identified, access is given to him (possibly by another communication channel, as illustrated in FIG. 1) to the file server 5.
Pendant la phase d’écriture, l’utilisateur A émetteur est autorisé à modifier le conteneur 6 en lui ajoutant ou en lui soustrayant des fichiers 2 de données. Ces fichiers 2 de données peuvent être issus de l’utilisateur A émetteur lui-même, ou être téléchargés depuis des serveurs distants via le réseau 3.During the writing phase, the sending user A is authorized to modify the container 6 by adding or subtracting data files 2 therefrom. These data files 2 can come from the sending user A himself, or can be downloaded from remote servers via the network 3.
Le délai T1 d’écriture (schématisé sur les dessins par un premier compte à rebours) peut être défini par l’utilisateur A émetteur, ou automatiquement par l’unité 8 de contrôle. Le délai T1 d’écriture est avantageusement implémenté au sein du système 1 informatique, par ex. au moyen d’une horloge interne pilotée par (ou intégrée à) l’unité 8 de contrôle.The writing delay T1 (shown diagrammatically in the drawings by a first countdown) can be defined by the sending user A, or automatically by the control unit 8. The T1 writing delay is advantageously implemented within the computer system 1, e.g. by means of an internal clock controlled by (or integrated into) the control unit 8.
LAP B011 FRLAP B011 FR
Une deuxième phase, dite d’archivage, inclut les opérations consistant à :A second phase, called archiving, includes the operations of:
o A l’expiration du délai T1 d’écriture, interdire à l’utilisateur A émetteur l’accès, au moins en écriture, au conteneur 6 ;o At the end of the T1 writing period, prohibit the sending user A from access, at least in writing, to container 6;
o Effectuer une copie du conteneur 6 pour chaque utilisateur Bk destinataire, en associant chaque copie au profil IDBk correspondant, dans la base 7 de données, à l’utilisateur Bk destinataire ;o Make a copy of container 6 for each recipient Bk user, associating each copy with the corresponding IDBk profile, in the database 7, of the recipient Bk user;
o Crypter chaque copie du conteneur 6 à l’aide de la clé ZBk publique de l’utilisateur Bk destinataire pour former un conteneur 6Bk crypté ;o Encrypt each copy of container 6 using the public ZBk key of the recipient user Bk to form an encrypted container 6Bk;
o Associer à chaque conteneur 6Bk crypté un délai T2 prédéterminé d’archivage ;o Associate with each encrypted 6Bk container a predetermined T2 archiving period;
o Tant que le délai T2 d’archivage n’a pas expiré, stocker le conteneur 6Bk crypté dans un serveur 5 de fichiers en en interdisant l’accès au moins à l’utilisateur Bk destinataire.o As long as the T2 archiving period has not expired, store the encrypted container 6Bk in a file server 5 by prohibiting access to it at least to the recipient user Bk.
On a illustré sur la FIG.4 l’obtention de deux conteneurs 6Bk, 6BI (I un entier tel que I ψ k) cryptés à l’aide, respectivement, des clés publiques ZBk, ZBI de deux utilisateurs Bk, Bl destinataires distincts ayant chacun leur clé BkZ, BIZ privée respective.FIG. 4 illustrates the obtaining of two containers 6Bk, 6BI (I an integer such as I ψ k) encrypted using, respectively, the public keys ZBk, ZBI of two users Bk, Bl separate recipients having each their respective BkZ, private BIZ key.
Le délai T2 d’archivage (schématisé sur les dessins par un deuxième compte à rebours) peut être défini par l’utilisateur A émetteur, ou automatiquement. Le délai T2 d’archivage est avantageusement implémenté au sein du système 1 informatique, et plus précisément dans l’unité 8 de contrôle.The archiving time T2 (shown schematically in the drawings by a second countdown) can be defined by the sending user A, or automatically. The archiving delay T2 is advantageously implemented within the computer system 1, and more precisely in the control unit 8.
Le délai T2 d’archivage est avantageusement supérieur à une heure. Il est de préférence supérieur à un jour. Il peut atteindre un mois, voire une ou plusieurs années.The T2 archiving period is advantageously greater than one hour. It is preferably greater than one day. It can reach a month or even one or more years.
Le délai T2 d’archivage peut être défini séparément pour chaque utilisateur Bk destinataire.The T2 archiving period can be defined separately for each recipient Bk user.
Le contrôle de l’expiration du délai T2 d’archivage est réalisé par interrogation d’un registre informatique constitué en chaîne de blocs ou blockchain 9 (selon la terminologie anglo-saxonne).The control of the expiration of the T2 archiving period is carried out by interrogation of a computer register made up of a block chain or blockchain 9 (according to English terminology).
Pour les besoins de la présente demande, la blockchain 9 est un registre informatique contenant des données subdivisées en blocs 10 (ou blocks) reliés entre eux, contenant chacun :For the purposes of this application, blockchain 9 is a computer register containing data subdivided into blocks 10 (or blocks) linked together, each containing:
LAP B011 FRLAP B011 FR
Un corps 11 comprenant des signatures numériques de transactions (c'est-à-dire d’échanges de données) passées entre des utilisateurs,A body 11 comprising digital signatures of transactions (that is to say of data exchanges) passed between users,
Un en-tête 12 contenant des métadonnées parmi lesquelles :A header 12 containing metadata including:
o Un numéro d’ordre, ou rang, ou encore hauteur (height en anglais), qui se présente sous forme d’un entier qui désigne la position du bloc 10 au sein de la blockchain 9 dans l’ordre croissant à partir d’un bloc 10 initial portant le numéro zéro ou le numéro un (comme dans l’exemple illustré sur la FIG.5) et appelé bloc de genèse (Genesis Block en anglais) ;o A serial number, or rank, or height, which is in the form of an integer which designates the position of block 10 within blockchain 9 in ascending order from an initial block 10 bearing the number zero or the number one (as in the example illustrated in FIG. 5) and called the genesis block (Genesis Block in English);
o Une empreinte numérique des données du bloc 10 ;o A digital fingerprint of the data in block 10;
o L’empreinte numérique (appelée pointeur) du bloc 10 précédent ;o The digital fingerprint (called pointer) of the previous block 10;
o Une donnée d’horodatage ou timestamp, qui peut se présenter sous forme d’une date (incluant l’année, le mois et le jour, par ex. au format AAA-MM-JJ) ou d’un nombre correspondant au nombre de secondes écoulées depuis une date de référence ou « Epoch » - par ex. le 1er janvier 1970 pour les systèmes fonctionnant sous le système d’exploitation UNIX (marque déposée).o Timestamp or timestamp data, which can be in the form of a date (including year, month and day, for example in YYYY-MM-DD format) or a number corresponding to the number seconds since a reference date or "Epoch" - eg. January 1, 1970 the operating systems under the UNIX operating system (trademark).
L’empreinte numérique de chaque bloc 10 se présente sous forme d’une chaîne de caractères, typiquement de 64 caractères codés en base hexadécimale (pouvant chacun prendre une valeur quelconque de 0 à f), ce qui en binaire correspond à une chaîne de 256 bits (ayant chacun la valeur 0 ou la valeur 1).The digital fingerprint of each block 10 is in the form of a character string, typically 64 characters coded in hexadecimal base (each of which can take any value from 0 to f), which in binary corresponds to a string of 256 bits (each having the value 0 or the value 1).
La valeur de l’empreinte numérique dépend des données du bloc 10 : la moindre modification des données du bloc 10 entraîne la modification de l’empreinte numérique.The value of the digital fingerprint depends on the data in block 10: the slightest modification of the data in block 10 results in the modification of the digital fingerprint.
Selon un mode particulier de réalisation, l’empreinte numérique de chaque bloc est un condensé (ou condensât, ou hash) des données du bloc 10, c'est-à-dire le résultat d’une fonction de hachage appliquée aux données du bloc (y compris le corps 11 et l’en-tête 12 à l’exception de l’empreinte numérique elle-même). La fonction de hachage est typiquement SHA-256. Sur la FIG.5, l’empreinte numérique est désignée par le terme « Hash ».According to a particular embodiment, the digital fingerprint of each block is a digest (or condensate, or hash) of the data of block 10, that is to say the result of a hash function applied to the data of the block (including body 11 and header 12 with the exception of the digital fingerprint itself). The hash function is typically SHA-256. In FIG.5, the fingerprint is designated by the term "Hash".
Pour un bloc 10 donné de rang N (N un entier), le pointeur assure avec le bloc 10 précédent de rang N-1 (cf. FIG.5) une liaisonFor a given block 10 of rank N (N an integer), the pointer ensures with the previous block 10 of rank N-1 (cf. FIG. 5) a connection
LAP B011 FR inaltérable. En effet, toute modification des données du bloc 10 de rang N-1 aboutirait à la modification de son empreinte, et donc à un défaut de correspondance entre cette empreinte (modifiée) du bloc 10 de rang N-1 et le pointeur mémorisé parmi les métadonnées du bloc 10 de rang N.LAP B011 FR unalterable. Indeed, any modification of the data of block 10 of rank N-1 would lead to the modification of its fingerprint, and therefore to a lack of correspondence between this (modified) fingerprint of block 10 of rank N-1 and the pointer stored among the metadata for block 10 of rank N.
La succession des blocs 10 reliés entre eux deux à deux par correspondance du pointeur d’un bloc 10 donné de rang N avec l’empreinte numérique du bloc 10 précédent de rang N-1 constitue par conséquent une chaîne de blocs corrélés, dans laquelle la moindre modification des données d’un bloc 10 de rang N-1 se traduit par une rupture du lien avec le bloc 10 suivant de rang N - et donc la rupture de la blockchain 9.The succession of blocks 10 linked together in pairs by correspondence of the pointer of a given block 10 of rank N with the digital imprint of the preceding block 10 of rank N-1 therefore constitutes a chain of correlated blocks, in which the lesser modification of the data of a block 10 of rank N-1 results in a break in the link with the next block 10 of rank N - and therefore the break of the blockchain 9.
C’est cette structure particulière qui procure aux données contenues dans la blockchain 9 - en particulier aux données d’horodatage - la réputation d’immuabilité.It is this particular structure that gives the data contained in blockchain 9 - in particular time stamp data - the reputation of immutability.
La blockchain 9 est mémorisée sur un réseau 13 pair à pair composé d’une pluralité de noeuds 14 (chacun formé par un ou plusieurs ordinateurs, ou un ou plusieurs serveurs) qui, ensemble, forment une base de données distribuée.Blockchain 9 is stored on a peer-to-peer network 13 composed of a plurality of nodes 14 (each formed by one or more computers, or one or more servers) which, together, form a distributed database.
Plus précisément, la blockchain 9 est mémorisée sur cette base de données distribuée en étant répliquée sur chaque nœud 14. Sur chaque nœud 14 est implémenté un protocole informatique (par ex. Bitcoin ou Ethereum, marques déposées) de participation à l’élaboration de la blockchain 9.More specifically, the blockchain 9 is stored on this distributed database by being replicated on each node 14. On each node 14 is implemented a computer protocol (eg Bitcoin or Ethereum, registered trademarks) for participation in the development of the blockchain 9.
Ce protocole, dit « protocole blockchain », comprend un processus calculatoire d’ajout périodique d’un nouveau bloc 10 de rang N + 1 à la blockchain 9 contenant déjà un nombre N de blocs 10.This protocol, called "blockchain protocol", includes a calculative process of periodically adding a new block 10 of rank N + 1 to blockchain 9 already containing a number N of blocks 10.
Ce processus met en œuvre un mécanisme de validation des blocs 10 par consensus entre tout ou partie des nœuds 14.This process implements a block validation mechanism 10 by consensus between all or part of the nodes 14.
Un mécanisme possible, dit de preuve de travail (proof of work ou PoW), consiste à mettre en concurrence les nœuds 14 quant à leur puissance de calcul, en leur imposant une contrainte calculatoire, appelée difficulté, qui se présente typiquement sous forme d’une valeur numérique maximale à ne pas dépasser.One possible mechanism, known as proof of work (PoW), consists in putting nodes 14 into competition with regard to their computing power, by imposing on them a computational constraint, called difficulty, which typically occurs in the form of a maximum numerical value not to be exceeded.
Pour surmonter la difficulté, chaque nœud 14 effectue de manière répétée un calcul de condensé (ou hash) des données du bloc 10 en ajoutant au préalable à ces données une variable (appelée nonce) quiTo overcome the difficulty, each node 14 repeatedly performs a computation of digest (or hash) of the data of block 10 by adding beforehand to this data a variable (called nonce) which
LAP B011 FR est modifiée à chaque itération tant que le résultat du calcul n’est pas inférieur à la difficulté imposée.LAP B011 FR is modified at each iteration as long as the result of the calculation is not less than the difficulty imposed.
Une particularité des fonctions de hachage, notamment SHA-256, est leur non-récursivité, c'est-à-dire le fait que deux itérations successives du calcul à partir de données initiales proches (ici différentiées par le seul incrément du nonce) produit des résultats décorrélés, ce qui rend impossible la convergence des itérations successives du calcul vers l’objectif (une valeur du condensé ou hash inférieure à la difficulté).A particularity of hash functions, notably SHA-256, is their non-recursion, that is to say the fact that two successive iterations of the calculation from close initial data (here differentiated by the only increment of the nonce) produces decorrelated results, which makes it impossible to converge successive iterations of the calculation towards the objective (a value of digest or hash less than the difficulty).
Le premier nœud 14 surmontant la difficulté (c'est-à-dire produisant un condensé ou hash inférieur à la difficulté) est déclaré vainqueur et emporte une prime (ou incentive), généralement sous forme d’un versement prédéterminé en monnaie cryptographique ou cryptomonnaie (actuellement 12,5 bitcoins dans la blockchain Bitcoin).The first node 14 overcoming the difficulty (that is to say producing a digest or hash less than the difficulty) is declared the winner and takes away a bonus (or incentive), generally in the form of a predetermined payment in cryptographic currency or cryptocurrency (currently 12.5 bitcoins in the Bitcoin blockchain).
Le nœud 14 vainqueur communique alors aux autres nœuds 14 le nonce ayant permis de surmonter la difficulté. Les autres nœuds 14 vérifient eux-mêmes la justesse du calcul effectué par le nœud 14 vainqueur et, constatant que la difficulté est effectivement surmontée, valident le nouveau bloc 10 de rang N + 1 en l’ajoutant, chacun, à la blockchain 9 existante qui se trouve ainsi incrémentée d’une unité.The victorious node 14 then communicates to the other nodes 14 the nonce which has made it possible to overcome the difficulty. The other nodes 14 verify themselves the correctness of the calculation carried out by the winner node 14 and, noting that the difficulty is effectively overcome, validate the new block 10 of rank N + 1 by adding it, each, to the existing blockchain 9 which is thus incremented by one.
Le timestamp de ce bloc 10 de rang N + 1 correspond, à quelques secondes ou à quelques minutes près, à la date et à l’heure courante à laquelle est fait l’ajout, typiquement sur la base de l’horloge locale du nœud 14 vainqueur (laquelle peut être synchronisée avec les horloges locales des autres nœuds 14), ou encore, lorsque par exemple les nœuds 14 ne sont pas synchronisés, sur la base d’une donnée d’horloge corrigée par l’ajout, à l’heure fournie par l’horloge locale du nœud 14 vainqueur, du décalage temporel moyen (qui peut être négatif) de cette horloge avec celles des autres nœuds 14.The timestamp of this block 10 of rank N + 1 corresponds, to a few seconds or a few minutes, to the date and the current time at which the addition is made, typically based on the local clock of the node 14 winner (which can be synchronized with the local clocks of the other nodes 14), or, when for example the nodes 14 are not synchronized, on the basis of a clock datum corrected by adding, to the time provided by the local clock of the winning node 14, the mean time difference (which may be negative) of this clock with those of the other nodes 14.
Une fois le bloc 10 de rang N + 1 inséré dans la blockchain 9, les blocs 10 de rang inférieur se trouvent sécurisés contre les altérations malveillantes, et ce d’autant plus que leur numéro de rang est faible devant N + 1.Once block 10 of rank N + 1 inserted in blockchain 9, blocks 10 of lower rank are secure against malicious alterations, especially since their rank number is low in front of N + 1.
En particulier, l’insertion du bloc 10 de rang N + 1 sécurise le bloc 10 de rang N, et notamment son timestamp, qui peut dès lors servir de référence temporelle.In particular, the insertion of block 10 of rank N + 1 secures block 10 of rank N, and in particular its timestamp, which can therefore serve as a time reference.
LAP B011 FRLAP B011 FR
Ainsi, il est possible d’interroger la blockchain 9 pour en extraire une donnée temporelle fiable dont on peut déduire au moins la date courante.Thus, it is possible to query blockchain 9 to extract reliable time data from which we can at least deduce the current date.
Plus précisément, l’interrogation de la blockchain 9 comprend la répétition périodique de la séquence de vérification suivante :More specifically, the blockchain 9 query includes the periodic repetition of the following verification sequence:
a) Sélectionner un bloc (par ex. le bloc 10 de rang N dans la blockchain 9 comprenant au moins N + 1 blocs 10) ;a) Select a block (eg block 10 of rank N in blockchain 9 comprising at least N + 1 blocks 10);
b) Extraire le timestamp du bloc 10 sélectionné (ici le bloc 10 de rang N) ;b) Extract the timestamp from the selected block 10 (here block 10 of rank N);
c) Déterminer, à partir de ce timestamp, une date courante (laquelle comprend au moins le jour courant, mais aussi, le cas échéant, également l’heure courante).c) Determine, from this timestamp, a current date (which includes at least the current day, but also, if applicable, also the current time).
Lorsque le timestamp comprend en lui-même la date courante, au format AAAA-MM-JJ (éventuellement complétée de l’heure courante au format HH:MM:SS), c’est cette date qui est retenue par le système 1.When the timestamp includes in itself the current date, in YYYY-MM-DD format (possibly supplemented by the current time in HH: MM: SS format), this date is retained by system 1.
Lorsque le timestamp se présente sous forme du nombre de secondes écoulées depuis une date de référence (par ex. Epoch), le système 1 est programmé pour calculer la date courante à partir de ce nombre.When the timestamp is in the form of the number of seconds elapsed since a reference date (eg Epoch), system 1 is programmed to calculate the current date from this number.
Tant que le délai T2 d’archivage est antérieur à la date courante ainsi déterminée, cette séquence de vérification est répétée tandis qu’est maintenu le stockage du conteneur (6Bk) crypté.As long as the T2 archiving period is earlier than the current date thus determined, this verification sequence is repeated while the storage of the encrypted container (6Bk) is maintained.
En d’autres termes, le délai T2 d’archivage est décrété non expiré tant qu’il n’a pas été atteint ou dépassé par la date courante issue de l’interrogation de la blockchain 9.In other words, the T2 archiving period is decreed not expired until it has been reached or exceeded by the current date from the interrogation of the blockchain 9.
L’avantage du recours à la blockchain 9 est que les timestamps des blocs 10 sont très difficilement altérables - et donc très fiables. Il en résulte que la donnée temporelle déterminée à partir de la blockchain 9 est également très fiable, encore plus qu’une donnée temporelle issue d’un serveur, typiquement d’un serveur de temps (ou serveur NTP, cet acronyme étant issu de l’anglais Network Time Protocol), qui bien que réputé fiable demeure sensible aux attaques, notamment de déni de service.The advantage of using blockchain 9 is that the timestamps in blocks 10 are very difficult to alter - and therefore very reliable. It follows that the time data determined from blockchain 9 is also very reliable, even more than a time data from a server, typically from a time server (or NTP server, this acronym being from the 'English Network Time Protocol), which although reputed to be reliable, remains susceptible to attacks, including denial of service.
Selon un mode préféré de réalisation, l’unité 8 de contrôle est dépourvue d’instructions pour communiquer à chaque l’utilisateur Bk destinataire, pendant la phase d’archivage, l’existence même d’un conteneur 6 ou d’un conteneur 6Bk crypté à son attention, de sorte queAccording to a preferred embodiment, the control unit 8 is devoid of instructions for communicating to each recipient user Bk, during the archiving phase, the very existence of a container 6 or a container 6Bk encrypted to his attention, so that
LAP B011 FR les utilisateurs réels associés aux utilisateurs Bk destinataires sont tenus dans l’ignorance de cette existence.LAP B011 FR the actual users associated with the recipient Bk users are kept in the dark about this existence.
Le délai T2 d’archivage est décrété expiré lorsqu’il a été dépassé par la date courante issue de l’interrogation de la blockchain 9.The T2 archiving period is declared expired when it has been exceeded by the current date resulting from the interrogation of blockchain 9.
Dès lors, une troisième phase, dite de partage, inclut l’opération consistant, à l’expiration du délai T2 d’archivage, à permettre à chaque utilisateur Bk destinataire de télécharger le conteneur 6Bk crypté en vue de le décrypter à l’aide de sa clé BkZ privée.Consequently, a third phase, called sharing, includes the operation consisting, at the end of the T2 archiving period, in allowing each recipient user Bk to download the encrypted container 6Bk in order to decrypt it using his private BkZ key.
En pratique, l’unité 8 de contrôle est par ex. programmée pour adresser à l’utilisateur Bk destinataire (notamment via le serveur 4 de communication) une notification de mise à disposition du conteneur 6Bk crypté. Cette notification contient avantageusement un identifiant IDA associé à l’utilisateur A émetteur. Le téléchargement est alors de préférence commandé par l’utilisateur Bk destinataire, plutôt qu’effectué automatiquement sur commande de l’unité 8 de contrôle. La connaissance du profil IDA de l’utilisateur A par l’utilisateur Bk destinataire peut constituer pour celui-ci un indice de confiance de la provenance et/ou de l’innocuité des données partagées par l’utilisateur A émetteur.In practice, the control unit 8 is, for example. programmed to send to the recipient user Bk (in particular via the communication server 4) a notification of availability of the encrypted container 6Bk. This notification advantageously contains an IDA identifier associated with the originating user A. The download is then preferably ordered by the recipient user Bk, rather than carried out automatically on command from the control unit 8. Knowledge of the IDA profile of user A by the recipient user Bk may constitute for the latter an index of confidence in the source and / or the safety of the data shared by the sending user A.
Concrètement, chaque conteneur 6Bk crypté est adressé, sur commande de l’unité 8 de contrôle, à l’utilisateur Bk destinataire correspondant via le réseau 3. Le décryptage est réalisé localement par l’utilisateur Bk destinataire, par l’intermédiaire de sa clé BkZ privée stockée localement. L’utilisateur Bk destinataire peut alors accéder en lecture (et le cas échéant en écriture) au conteneur 6, c'est-à-dire aux fichiers 2 de données qu’il contient, tels que déposés à l’initiative de l’utilisateur A émetteur.Concretely, each encrypted container 6Bk is sent, on command from the control unit 8, to the corresponding recipient user Bk via the network 3. The decryption is carried out locally by the recipient user Bk, using his key Private BkZ stored locally. The recipient user Bk can then read (and if necessary write) the container 6, that is to say the data files 2 which it contains, as deposited at the initiative of the user Has transmitter.
On a illustré sur la FIG.4 l’envoi des deux conteneurs 6Bk, 6BI cryptés aux deux utilisateurs Bk, Bl destinataires respectifs : on voit que chaque utilisateur Bk, Bl destinataire effectue le décryptage à l’aide de sa clé BkZ, BIZ privée respective pour accéder aux fichiers 2.We illustrated in FIG. 4 the sending of the two encrypted containers 6Bk, 6BI to the two respective recipients Bk, Bl: we see that each recipient user Bk, Bl performs the decryption using his private key BkZ, BIZ respective to access the files 2.
A l’issue du décryptage, les fichiers 2 de données peuvent être stockés localement par chaque utilisateur Bk destinataire.After decryption, the data files 2 can be stored locally by each recipient Bk user.
A l’issue du décryptage, chaque utilisateur Bk destinataire peut adresser (de manière automatique ou sur commande externe) au système 1 une notification de décryptage. Cette notification est reçue par le serveur 4 de communication.At the end of the decryption, each recipient Bk user can send (automatically or on external command) to system 1 a decryption notification. This notification is received by the communication server 4.
LAP B011 FRLAP B011 FR
Dans ce cas, il est avantageusement prévu la destruction du conteneur 6Bk crypté correspondant sur le serveur 5 de fichiers après réception, par le système 1, de la notification de décryptage.In this case, provision is advantageously made for the destruction of the corresponding encrypted container 6Bk on the file server 5 after reception, by the system 1, of the decryption notification.
De la sorte, de l’espace mémoire est libéré au sein du serveur 5 de fichiers, ce qui facilite la création ultérieure de nouveaux conteneurs 6.In this way, memory space is freed up within the file server 5, which facilitates the subsequent creation of new containers 6.
Le procédé (et le système) qui vient d’être présenté offre un avantage certain en termes de sécurité par comparaison avec les procédés (respectivement les systèmes) connus. En effet, pendant la phase d’archivage, les données des fichiers 2 ne peuvent pas être lues - ni a fortiori modifiés - par l’utilisateur A émetteur ou par l’un quelconque des utilisateurs Bk destinataires. Toute usurpation d’identité de l’un quelconque d’entre eux est inopérante puisqu’il est nécessaire de disposer de la clé privée de l’utilisateur Bk destinataire pour décrypter le conteneur 6Bk.The method (and the system) which has just been presented offers a certain advantage in terms of safety compared to the known methods (respectively the systems). In fact, during the archiving phase, the data in files 2 cannot be read - nor a fortiori modified - by the sending user A or by any of the recipient users Bk. Any impersonation of any of them is ineffective since it is necessary to have the private key of the recipient user Bk to decrypt the container 6Bk.
On voit même que le contrôle exercé par l’utilisateur A émetteur sur le conteneur 6 (c'est-à-dire sur les fichiers 2 de données à partager) cesse à l’expiration du délai T1 d’écriture, alors même que son contenu n’est encore accessible pour aucun utilisateur Bk destinataire. Le retard (prédéterminé) avec lequel les utilisateurs Bk destinataires accède aux fichiers 2 de données par l’utilisateur A émetteur rend impossible tout dialogue entre eux en temps réel, au bénéfice de la parcimonie avec laquelle les utilisateurs échangent des données entre eux. Il en résulte notamment une optimisation de la bande passante nécessaire, dans les réseaux, aux échanges entre utilisateurs.It can even be seen that the control exercised by the sending user A over the container 6 (that is to say over the data files 2 to be shared) ceases at the end of the writing delay T1, even when its content is not yet accessible to any recipient Bk user. The delay (predetermined) with which the recipient Bk users accesses the data files 2 by the sending user A makes it impossible for any dialogue between them in real time, to the benefit of the parsimony with which the users exchange data with each other. This in particular results in an optimization of the bandwidth necessary, in networks, for exchanges between users.
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1857793A FR3085507A1 (en) | 2018-08-30 | 2018-08-30 | SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND MULTIPLE RECIPIENT USERS, WITH REMOTE CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. |
PCT/IB2019/057190 WO2020044219A1 (en) | 2018-08-30 | 2019-08-27 | Secure method and system for the delayed sharing of data between a sender user and a plurality of recipient users, with remote creation of a container and blockchain timestamping |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1857793 | 2018-08-30 | ||
FR1857793A FR3085507A1 (en) | 2018-08-30 | 2018-08-30 | SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND MULTIPLE RECIPIENT USERS, WITH REMOTE CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3085507A1 true FR3085507A1 (en) | 2020-03-06 |
Family
ID=63684174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1857793A Pending FR3085507A1 (en) | 2018-08-30 | 2018-08-30 | SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND MULTIPLE RECIPIENT USERS, WITH REMOTE CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3085507A1 (en) |
WO (1) | WO2020044219A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360456B (en) * | 2021-08-11 | 2021-10-29 | 腾讯科技(深圳)有限公司 | Data archiving method, device, equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6604197B1 (en) * | 1998-05-14 | 2003-08-05 | International Business Machines Corporation | Secure flexible electronic submission acceptance system |
WO2007003783A2 (en) * | 2005-07-01 | 2007-01-11 | France Telecom | Digital data distributing server, digital data decrypting server, digital data transmitting system and method |
US20150339497A1 (en) * | 2014-05-23 | 2015-11-26 | Bank Of America Corporation | Secure media container |
-
2018
- 2018-08-30 FR FR1857793A patent/FR3085507A1/en active Pending
-
2019
- 2019-08-27 WO PCT/IB2019/057190 patent/WO2020044219A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6604197B1 (en) * | 1998-05-14 | 2003-08-05 | International Business Machines Corporation | Secure flexible electronic submission acceptance system |
WO2007003783A2 (en) * | 2005-07-01 | 2007-01-11 | France Telecom | Digital data distributing server, digital data decrypting server, digital data transmitting system and method |
US20150339497A1 (en) * | 2014-05-23 | 2015-11-26 | Bank Of America Corporation | Secure media container |
Non-Patent Citations (1)
Title |
---|
ZANTHRA: "A NTP like system in blockchain form, has this been thought of before?", BITCOIN FORUM, 21 January 2018 (2018-01-21), XP055575731, Retrieved from the Internet <URL:https://bitcointalk.org/index.php?topic=2796566.0> [retrieved on 20190329] * |
Also Published As
Publication number | Publication date |
---|---|
WO2020044219A1 (en) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110289951A (en) | A kind of shared content monitoring method based on Threshold key sharing and block chain | |
CN115769206A (en) | Cryptographic data entry blockchain data structure | |
WO2020044217A1 (en) | Secure method for the delayed sharing of data between a sender user and a recipient user, with local creation of a container and blockchain timestamping | |
WO2020044219A1 (en) | Secure method and system for the delayed sharing of data between a sender user and a plurality of recipient users, with remote creation of a container and blockchain timestamping | |
WO2020044221A1 (en) | Secure system and method for the delayed sharing of data between a plurality of sender users and a plurality of recipient users, with blockchain timestamping | |
FR3085500A1 (en) | SECURE SYSTEM AND METHOD FOR DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND MULTIPLE RECIPIENT USERS, WITH LOCAL CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. | |
WO2020044222A1 (en) | Secure method and system for the delayed sharing of data between at least one sender user and at least one recipient user with blockchain timestamping | |
WO2020044218A1 (en) | Secure method and system for the delayed sharing of data between a plurality of sender users and a recipient user, with blockchain timestamping | |
WO2020044216A1 (en) | Secure method and system for the delayed sharing of data between a sender user and a recipient user, with remote creation of a container and blockchain timestamping | |
WO2020044225A1 (en) | Secure method and system for the delayed sharing of data between at least one sender user and at least one recipient user, with timestamping by multiple interrogation of a blockchain | |
Thakur et al. | Data integrity techniques in cloud computing: an analysis | |
WO2019215498A1 (en) | Secure method and system for the delayed sharing of data between a sender user and a plurality of recipient users, with remote creation of a container | |
Vatsaraj et al. | Decentralized Document Holder Using Blockchain | |
Monti et al. | An alternative information plan | |
CN109753813A (en) | A kind of secure file processing method | |
WO2020136126A1 (en) | Secure, tracked communication network | |
WO2020044226A1 (en) | Secure system and method for the delayed sharing of data between at least one sender user and at least one recipient user, under the control of a trusted third party | |
FR3081061A1 (en) | SECURE METHOD FOR DELAYED DATA SHARING BETWEEN A TRANSMITTER USER AND SEVERAL USERS, WITH LOCAL CREATION OF A CONTAINER. | |
FR3081065A1 (en) | SECURE METHOD AND SYSTEM FOR DELAYED DATA SHARING BETWEEN SEVERAL USERS AND SEVERAL USERS. | |
WO2019215492A1 (en) | Secure method for the delayed sharing of data between a sender user and a recipient user, with local creation of a container | |
WO2019215491A1 (en) | Secure system and method for the delayed sharing of data between a sender user and a recipient user, with remote creation of a container | |
WO2019215493A1 (en) | Secure method and system for the delayed sharing of data between a plurality of sender users and a recipient user | |
FR3081067A1 (en) | SECURE METHOD AND SYSTEM FOR DELAYED DATA SHARING BETWEEN AT LEAST ONE TRANSMITTER USER AND AT LEAST ONE RECIPIENT USER. | |
US20240232434A1 (en) | Improvements in or relating to data transmission | |
Chadalawada et al. | Proving Ownership of Privacy-Protected Cloud Storage Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20200306 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
RX | Complete rejection |
Effective date: 20210805 |