FR3085504A1 - SECURE METHOD OF DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND A RECIPIENT USER, WITH LOCAL CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. - Google Patents

SECURE METHOD OF DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND A RECIPIENT USER, WITH LOCAL CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. Download PDF

Info

Publication number
FR3085504A1
FR3085504A1 FR1857788A FR1857788A FR3085504A1 FR 3085504 A1 FR3085504 A1 FR 3085504A1 FR 1857788 A FR1857788 A FR 1857788A FR 1857788 A FR1857788 A FR 1857788A FR 3085504 A1 FR3085504 A1 FR 3085504A1
Authority
FR
France
Prior art keywords
container
user
encrypted
data
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
Application number
FR1857788A
Other languages
French (fr)
Inventor
Raphael Louiset
Jonathan Attia
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.)
Individual
Original Assignee
Individual
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
Application filed by Individual filed Critical Individual
Priority to FR1857788A priority Critical patent/FR3085504A1/en
Priority to PCT/IB2019/057188 priority patent/WO2020044217A1/en
Publication of FR3085504A1 publication Critical patent/FR3085504A1/en
Pending legal-status Critical Current

Links

Classifications

    • 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/606Protecting data by securing the transmission between two devices or processes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0442Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2151Time stamp
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Procédé de partage de fichiers (2) entre un utilisateur (A) émetteur et un utilisateur (B) destinataire, qui comprend trois phases : - Ecriture : ○ Créer, localement, au niveau de l'utilisateur (A) émetteur, un conteneur (6) de fichiers, associé à l'utilisateur (B) destinataire ; ○ Pendant un délai (T1) d'écriture, permettre à l'utilisateur (A) émetteur l'écriture dans le conteneur (6) ; - Archivage : ○ Transmettre le conteneur (6) à un système (1) informatique distant ; ○ Crypter les données du conteneur (6) à l'aide de la clé (ZB) publique de l'utilisateur (B) destinataire ; ○ Pendant un délai (T2) d'archivage contrôlé par interrogation d'une blockchain, stocker le conteneur (6B) crypté ; - Partage : permettre à l'utilisateur (B) destinataire de télécharger le conteneur (6B) crypté en vue de le décrypter à l'aide de sa clé (BZ) privée.Method for sharing files (2) between a sending user (A) and a receiving user (B), which comprises three phases: - Writing: ○ Create, locally, at the level of the sending user (A), a container ( 6) of files, associated with the recipient user (B); ○ During a writing delay (T1), allow the user (A) sending the writing in the container (6); - Archiving: ○ Transmit the container (6) to a remote computer system (1); ○ Encrypt the data of the container (6) using the public key (ZB) of the recipient user (B); ○ During an archiving period (T2) controlled by interrogating a blockchain, store the encrypted container (6B); - Sharing: allow the recipient user (B) to download the encrypted container (6B) in order to decrypt it using his private key (BZ).

Description

Procédé sécurisé de partage retardé de données entre un utilisateur émetteur et un utilisateur destinataire, avec création locale d’un conteneur et horodatage sur blockchainSecure method of delayed data sharing between a sending user and a receiving user, with local creation of a container and timestamp 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 un utilisateur destinataire.The invention relates to the field of computing, and more specifically to the sharing of computer data files between a sending user and a receiving user.

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 B009 FRLAP B009 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é un procédé de partage de fichiers de données informatiques entre un utilisateur émetteur et un utilisateur destinataire via un système informatique équipé :To this end, a method of sharing computer data files is proposed between a sending user and a receiving user 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 respectivement 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 respectively, each profile comprising at least one identifier and at least one public cryptographic key to which a private key corresponds;

D’une unité de contrôle, reliée au serveur de communication, au serveur de fichier et à la base de données ;A control unit, connected to the communication server, the file server and the database;

Ce procédé comprenant trois phases successives :This process comprising three successive phases:

Une phase d’écriture, qui inclut les opérations consistant à :A writing phase, which includes the operations of:

o Créer localement au niveau de l’utilisateur émetteur un conteneur de données à partager, associé à un identifiant de l’utilisateur destinataire ;o Create locally at the sending user a data container to share, associated with an identifier of the recipient user;

LAP B009 FR o Associer au conteneur un délai prédéterminé d’écriture ;LAP B009 FR o Associate the container with a predetermined writing time;

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 à : o A l’expiration du délai d’écriture, transmettre le conteneur au système informatique ;An archiving phase, which includes the operations consisting in: o At the end of the writing period, transmit the container to the computer system;

o Crypter le conteneur à l’aide de la clé publique de l’utilisateur destinataire pour former un conteneur crypté ;o Encrypt the container using the public key of the recipient user to form an encrypted container;

o Associer au conteneur crypté un délai prédéterminé d’archivage ;o Associate the encrypted container with a predetermined archiving period;

o Stocker le conteneur crypté dans le serveur de fichiers en en interdisant l’accès au moins à l’utilisateur destinataire ;o Store the encrypted container in the 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:

L’utilisateur émetteur étant distinct de l’utilisateur destinataire, les profils associés, dans la base de données de profils, à l’utilisateur émetteur et à l’utilisateur destinataire sont distincts.Since the sending user is distinct from the receiving user, the profiles associated in the profile database with the sending user and the receiving user are separate.

Le délai d’écriture est avantageusement défini par l’utilisateur émetteur.The writing time is advantageously defined by the sending user.

Le délai d’archivage peut être défini par l’utilisateur destinataire, ou automatiquement.The archiving period can be defined by the recipient user, or automatically.

LAP B009 FRLAP B009 FR

Avant sa transmission au système informatique, le conteneur est avantageusement crypté, au niveau de l’utilisateur émetteur, à l’aide de sa clé privée. Dans ce cas, au niveau du système informatique, le conteneur chiffré à l’aide de la clé privéde l’utilisateur émetteur est d’abord décrypté à l’aide de laclé publique de celui-ci avant d’être recrypté à l’aide de laclé publique de l’utilisateur destinataire.Before being transmitted to the computer system, the container is advantageously encrypted, at the level of the sending user, using his private key. In this case, at the computer system level, the container encrypted using the private key of the sending user is first decrypted using the public key of the latter before being re-encrypted using the public key of the recipient user.

Il peut être prévu la réception, par le serveur de communication, d’une notification de décryptage du conteneur par l’utilisateur destinataire. 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 communication server to receive a decryption notification of the container by the recipient 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.

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 un utilisateur B destinataire. 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) utilisateur(s)FIG. 1 to FIG. 3 shows a computer system 1, intended to allow the sharing of files 2 of computer data between a sending user A and a receiving user B. 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) user (s)

LAP B009 FR réel(s) (par ex. une personne physique ou morale) associé(s) à cet appareil.LAP B009 FR real (s) (eg 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 les utilisateurs A et B).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 users A and B).

Le système 1 informatique comprend, en deuxième lieu, un serveur 5 de fichiers.The computer system 1 comprises, secondly, a file server 5.

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, PB 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 PB associé à l’utilisateur B destinataire.The computer system 1 comprises, thirdly, a profile database 7 which contains profiles PA, PB of users in memory. In this case, the database contains at least one PA profile associated with the sending user A, and a PB profile associated with the receiving user B.

Chaque profil PA, PB utilisateur comprend au moins un identifiant IDA, IDB lié à l’utilisateur (par ex. un nom, une adresse électronique, un numéro de téléphone) et au moins une clé ZA, ZB cryptographique publique.Each PA, PB user profile includes at least one IDA, IDB identifier linked to the user (eg a name, an email address, a telephone number) and at least one public cryptographic ZA, ZB key.

A cette clé ZA, ZB cryptographique publique correspond une clé cryptographique AZ, BZ privée.To this public cryptographic key ZA, ZB corresponds a private cryptographic key AZ, BZ.

La clé AZ, BZ cryptographique privée associée à chaque utilisateur A ou B est stockée localement dans un espace mémoire de celui-ci.The private cryptographic key AZ, BZ associated with each user A or B is stored locally in a memory space thereof.

Selon un mode particulier de réalisation, l’utilisateur A émetteur est distinct de l’utilisateur B destinataire. Dans ce cas, les profils PA, PB associés, dans la base 7 de données de profils, à l’utilisateur A émetteur et à l’utilisateur B destinataire, sont distincts (il en va de même de leurs clés ZA, ZB publiques - et de leurs clés AZ, BZ privées - respectives.According to a particular embodiment, the sending user A is distinct from the receiving user B. In this case, the profiles PA, PB associated, in the profile database 7, with the sending user A and the receiving user B, are distinct (the same applies to their public keys ZA, ZB - and their private, respective AZ, BZ keys.

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 de 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.The computer system 1 comprises, fourthly, a control unit 8, connected to the communication server 4, to the file server 5 and to the 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’utilisateur A émetteur inclut un espace mémoire dans lequel peuvent être créés des répertoires ou « conteneurs » 6 de fichiers de données à partager. Dans ces conteneurs 6 peuvent être créés, déposés, copiés, collés, supprimés, modifiés, des fichiers 2 de donnéesThe sending user A includes a memory space in which directories or “containers” 6 of data files to be shared can be created. In these containers 6 can be created, deposited, copied, pasted, deleted, modified, 2 data files

LAP B009 FR 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.LAP B009 FR of all types, e.g. files from office applications (eg word processing, spreadsheet), sound, image, or video files.

Les opérations destinées à permettre le partage des fichiers 2 entre l’utilisateur A émetteur et l’utilisateur B destinataire sont regroupées en trois phases.The operations intended to allow the sharing of files 2 between the sending user A and the receiving user B are grouped into three phases.

Une première phase, dite d’écriture, inclut les opérations consistant à :A first phase, called writing, includes the operations of:

o Créer localement au niveau de l’utilisateur A émetteur un conteneur 6 de fichiers 2 de données à partager, associé à un identifiant IDB de l’utilisateur B destinataire ;o Create locally at the user A sender a container 6 of files 2 of data to be shared, associated with an IDB identifier of the recipient user B;

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.

Ces opérations sont avantageusement pilotées au moyen d’une application locale implémentée dans l’utilisateur A émetteur.These operations are advantageously controlled by means of a local application implemented in the sending user A.

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) est avantageusement défini par l’utilisateur A émetteur, le délai T1 d’écriture peut également être défini automatiquement par l’application locale.The T1 writing delay (shown diagrammatically in the drawings by a first countdown) is advantageously defined by the sending user. The T1 writing delay can also be defined automatically by the local application.

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, transmettre le conteneur 6 au système 1 informatique ;o At the end of the T1 writing period, transmit the container 6 to the computer system 1;

o Crypter le conteneur 6 à l’aide de la clé ZB publique de l’utilisateur B destinataire pour former un conteneur 6B crypté ;o Encrypt container 6 using the public ZB key of recipient user B to form an encrypted container 6B;

o Associer au conteneur 6B crypté un délai T2 prédéterminé d’archivage ;o Associate with the encrypted container 6B a predetermined T2 archiving period;

o Tant que le délai T2 d’archivage n’a pas expiré, stocker le conteneur 6B crypté dans le serveur 5 de fichiers en en interdisant l’accès au moins à l’utilisateur B destinataire.o As long as the T2 archiving period has not expired, store the encrypted container 6B in the file server 5 by prohibiting access to it at least to the recipient user B.

LAP B009 FRLAP B009 FR

En pratique, à l’expiration du délai T1 d’écriture, l’utilisateur A émetteur adresse au système 1 informatique, via le réseau 3, la requête de transmission 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, at the end of the writing period T1, the sending user A sends to the computer system 1, via the network 3, the transmission request from the container 6. This request passes through the communication server 4, which performs identity checks of the sending user A, typically by comparison of information communicated by the latter (eg a password) with information associated with his 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.

Selon un mode préféré de réalisation, avant sa transmission au système 1 informatique, le conteneur 6 est crypté par l’utilisateur A émetteur au moyen de sa clé AZ privée, de sorte qu’il est impossible, pour toute entité ne disposant pas de la clé ZA publique de l’utilisateur A émetteur, de décrypter le conteneur 6. Cette opération sécurise (certes temporairement et insuffisamment) le conteneur 6. Une fois reçu le conteneur 6, le système le décrypte (de préférence immédiatement) à l’aide de la clé publique de l’utilisateur A émetteur (stockée dans son profil PA), pour le recrypter à l’aide de la clé ZB publique de l’utilisateur B destinataire.According to a preferred embodiment, before its transmission to the computer system 1, the container 6 is encrypted by the sending user A by means of its private AZ key, so that it is impossible for any entity not having the public key ZA of user A transmitter, to decrypt container 6. This operation secures (admittedly temporarily and insufficiently) container 6. Once received container 6, the system decrypts it (preferably immediately) using the public key of the sending user A (stored in their PA profile), to re-encrypt it using the public key ZB of the receiving user B.

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 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:

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,

LAP B009 FRLAP B009 FR

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 liaison 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 rangFor a given block 10 of rank N (N an integer), the pointer ensures an unalterable link with the previous block 10 of rank N-1 (cf. FIG. 5). Indeed, any modification of the data of block 10 of rank N-1 would result in the modification of its fingerprint, and therefore in a mismatch between this (modified) fingerprint of block 10 of rank

LAP B009 FRLAP B009 FR

N-1 et le pointeur mémorisé parmi les métadonnées du bloc 10 de rang N.N-1 and the pointer stored among the metadata of 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) qui est modifiée à chaque itération tant que le résultat du calcul n’est pas inférieur à la difficulté imposée.To 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 is modified at each iteration as long as the result of the calculation is not less than the difficulty imposed.

LAP B009 FRLAP B009 FR

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.

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.

LAP B009 FRLAP B009 FR

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 à l’utilisateur B destinataire, pendant la phase d’archivage, l’existence même d’un conteneur 6 ou d’un conteneur 6B crypté à son attention, de sorte que l’utilisateur réel (ou les utilisateurs réels) associé(s) à l’utilisateur B destinataire est (sont) tenu(s) dans l’ignorance de cette existence.According to a preferred embodiment, the control unit 8 is devoid of instructions for communicating to the recipient user B, during the archiving phase, the very existence of a container 6 or of an encrypted container 6B to its attention, so that the real user (or real users) associated with user B recipient is (are) kept (s) in ignorance of this existence.

LAP B009 FRLAP B009 FR

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 à l’utilisateur B destinataire de télécharger le conteneur 6B crypté en vue de le décrypter à l’aide de sa clé BZ privée.Therefore, a third phase, called sharing, includes the operation consisting, at the end of the T2 archiving period, in allowing the recipient user B to download the encrypted container 6B with a view to decrypting it on using his private BZ key.

En pratique, l’unité 8 de contrôle est par ex. programmée pour adresser à l’utilisateur B destinataire (notamment via le serveur 4 de communication) une notification de mise à disposition du conteneur 6B 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 B destinataire, plutôt qu’effectué automatiquement sur commande de l’unité 8 de contrôle. La connaissance du profil IDA de l’utilisateur A émetteur par l’utilisateur B 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 the recipient user B (in particular via the communication server 4) a notification of availability of the encrypted container 6B. This notification advantageously contains an IDA identifier associated with the originating user A. The download is then preferably ordered by the recipient user B, rather than carried out automatically on command from the control unit 8. Knowledge of the IDA profile of the sending user A by the receiving user B may constitute for the latter an indication of confidence in the origin and / or the safety of the data shared by the sending user A.

Concrètement, le conteneur 6B crypté est adressé, sur commande de l’unité 8 de contrôle, à l’utilisateur B destinataire via le réseau 3. Le décryptage est réalisé localement par l’utilisateur B destinataire, par l’intermédiaire de sa clé BZ privée stockée localement. L’utilisateur B 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, the encrypted container 6B is sent, on command of the control unit 8, to the recipient user B via the network 3. The decryption is carried out locally by the recipient user B, by means of his key BZ private locally stored. The recipient user B 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.

A l’issue du décryptage, les fichiers 2 de données peuvent être stockés localement par l’utilisateur B destinataire.After decryption, the data files 2 can be stored locally by the recipient user B.

A l’issue du décryptage, l’utilisateur B 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, the recipient user B can send (automatically or on external command) to system 1 a decryption notification. This notification is received by the communication server 4.

Dans ce cas, il est avantageusement prévu la destruction du conteneur 6 sur le serveur 5 de fichiers après réception, par le système 1, de la notification de décryptage.In this case, it is advantageously provided for the destruction of the container 6 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é qui vient d’être présenté offre un avantage certain en termes de sécurité par comparaison avec les procédés (respectivementThe process which has just been presented offers a certain advantage in terms of safety compared to the processes (respectively

LAP B009 FR les systèmes) connus. En effet, pendant la phase d’archivage, les fichiers 2 de données ne peuvent pas être lues - ni a fortiori modifiées - par l’utilisateur A émetteur ou par l’utilisateur B destinataire. Toute usurpation d’identité de l’un quelconque d’entre eux est inopérante 5 puisqu’il est nécessaire de disposer de la clé privée de l’utilisateur B destinataire pour décrypter le conteneur 6B.LAP B009 FR known systems). Indeed, during the archiving phase, the data files 2 cannot be read - nor a fortiori modified - by the sending user A or by the receiving user B. Any impersonation of any of them is ineffective 5 since it is necessary to have the private key of the recipient user B to decrypt the container 6B.

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 10 son contenu n’est pas encore accessible pour l’utilisateur B destinataire. Le retard (prédéterminé) avec lequel l’utilisateur B destinataire accède aux fichiers 2 de données partagé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 15 é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 though 10 its content is not yet accessible to the recipient user B. The delay (predetermined) with which the recipient user B accesses the files 2 of data shared 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)

REVENDICATIONS 1. Procédé de partage de fichiers (2) de données informatiques entre un utilisateur (A) émetteur et un utilisateur (B) destinataire via un système (1) informatique équipé :1. Method for sharing files (2) of computer data between a sending user (A) and a receiving user (B) via a computer system (1) equipped: D’un serveur (4) de communication,A communication server (4), D’au moins un serveur (5) de fichiers, etAt least one file server (5), and D’une base (7) de données de profils contenant en mémoire des profils (PA, PB) associés destinataire aux utilisateurs (A, B), chaque profil (PA, PB) comprenant au moins un identifiant (IDA, IDB) et au moins une clé (ZA, ZB) cryptographique publique à laquelle correspond une clé (AZ, BZ) privée ;A database (7) of profiles containing in memory associated profiles (PA, PB) intended for users (A, B), each profile (PA, PB) comprising at least one identifier (IDA, IDB) and at minus a public cryptographic key (ZA, ZB) to which a private key (AZ, BZ) corresponds; D’une unité (8) de contrôle, reliée au serveur (4) de communication, au serveur (5) de fichier et à la base (7) de données ;A control unit (8), connected to the communication server (4), to the file server (5) and to the database (7); Ce procédé étant caractérisé en ce qu’il comprend trois phases successives :This process being characterized in that it comprises three successive phases: Une phase d’écriture, qui inclut les opérations consistant à :A writing phase, which includes the operations of: o Créer localement au niveau de l’utilisateur (A) émetteur un conteneur (6) de données à partager, associé à un identifiant (IDB) de l’utilisateur (B) destinataire ;o Create locally at the level of the sending user (A) a container (6) of data to be shared, associated with an identifier (IDB) of the recipient user (B); o Associer au conteneur (6) un délai (T1) prédéterminé d’écriture ;o Associate with the 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 writing delay (T1) has not expired, allow the sending user (A) write access to the container (6); 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 (T1) d’écriture, transmettre le conteneur (6) au système (1) informatique ;o At the end of the writing period (T1), transmit the container (6) to the computer system (1); o Crypter le conteneur (6) à l’aide de la clé (ZB) publique de l’utilisateur (B) destinataire pour former un conteneur (6B) crypté ;o Encrypt the container (6) using the public key (ZB) of the recipient user (B) to form an encrypted container (6B); o Associer au conteneur (6B) crypté un délai (T2) prédéterminé d’archivage ;o Associate with the encrypted container (6B) a predetermined archiving time (T2); o Stocker le conteneur (6B) crypté dans le serveur (5) de fichiers en en interdisant l’accès au moins à l’utilisateur (B) destinataire ;o Store the encrypted container (6B) in the file server (5) by preventing access to at least the recipient user (B); LAP B009 FR o Répéter périodiquement la séquence de vérification suivante :LAP B009 EN o Periodically repeat the following verification sequence: a) Sélectionner un bloc (10) dans un registre informatique constitué en chaîne (9) de blocs ayant chacun une donnée d’horodatage ;a) Select a block (10) in a computer register made up of a chain (9) of blocks each having time stamp data; b) Extraire la donnée d’horodatage du bloc (10) sélectionné ;b) Extract the timestamp data from the selected block (10); 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 (T2) d’archivage est antérieur à la date courante, répéter la séquence de vérification en maintenant le stockage du conteneur (6Bk) crypté ;o As long as the archiving period (T2) is earlier than the current date, repeat the verification sequence while keeping the storage of the container (6Bk) encrypted; Une phase de partage, qui inclut l’opération consistant, dès lors que le délai (T2) d’archivage est égal ou postérieur à la date courante, à permettre à l’utilisateur (B) destinataire de télécharger le conteneur (6B) crypté en vue de le décrypter à l’aide de sa clé (BZ) privée.A sharing phase, which includes the operation consisting, as soon as the archiving period (T2) is equal to or later than the current date, allowing the recipient user (B) to download the encrypted container (6B) in order to decrypt it using its private key (BZ). 2. Procédé selon la revendication 1, dans lequel, l’utilisateur (A) émetteur étant distinct de l’utilisateur (B) destinataire, les profils (PA, PB) associés, dans la base (7) de données de profils, à l’utilisateur (A) émetteur et à l’utilisateur (B) destinataire sont distincts.2. Method according to claim 1, in which, the sending user (A) being distinct from the receiving user (B), the profiles (PA, PB) associated, in the database (7) of profiles, with the sending user (A) and the receiving user (B) are separate. 3. Procédé selon la revendication 1 ou la revendication 2, dans lequel le délai (T1) d’écriture est défini par l’utilisateur (A) émetteur.3. Method according to claim 1 or claim 2, wherein the writing delay (T1) is defined by the sending user (A). 4. Procédé selon l’une des revendications 1 à 3, dans lequel le délai (T2) d’archivage est défini par l’utilisateur (A) émetteur.4. Method according to one of claims 1 to 3, wherein the archiving time (T2) is defined by the user (A) transmitter. 5. Procédé selon l’une des revendications 1 à 3, dans lequel le délai (T2) d’archivage est défini automatiquement.5. Method according to one of claims 1 to 3, wherein the archiving time (T2) is automatically defined. 6. Procédé selon l’une des revendications 1 à 5, dans lequel, avant sa transmission au système (1) informatique, le conteneur (6) est crypté, au niveau de l’utilisateur (A) émetteur, à l’aide de sa clé (AZ) privée.6. Method according to one of claims 1 to 5, wherein, before its transmission to the computer system (1), the container (6) is encrypted, at the level of the sending user (A), using his private key (AZ). 7. Procédé selon la revendication 6, dans lequel, au niveau du système (1) informatique, le conteneur (6) chiffré à l’aide de la clé privé (AZ) de l’utilisateur (A) émetteur est d’abord décrypté à l’aide de la clé publique (ZA) de l’utilisateur (A) émetteur avant d’être recrypté à l’aide de la clé publique de l’utilisateur (B) destinataire.7. The method of claim 6, wherein, at the computer system (1), the container (6) encrypted using the private key (AZ) of the sending user (A) is first decrypted using the public key (ZA) of the sending user (A) before being re-encrypted using the public key of the receiving user (B). 8. Procédé selon l’une des revendications précédentes, qui comprend la réception, par le serveur (4) de communication, d’une 8. Method according to one of the preceding claims, which comprises receiving, by the communication server (4), a LAP B009 FR notification de décryptage du conteneur (6) par l’utilisateur (B) destinataire.LAP B009 FR notification of decryption of the container (6) by the recipient user (B). 9. Procédé selon la revendication 8, qui comprend la destruction du conteneur (6B) crypté sur le serveur (5) de fichiers après réception 5 de la notification de décryptage par l’utilisateur (B) destinataire.9. The method of claim 8, which comprises destroying the container (6B) encrypted on the file server (5) after receipt 5 of the decryption notification by the recipient user (B).
FR1857788A 2018-08-30 2018-08-30 SECURE METHOD OF DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND A RECIPIENT USER, WITH LOCAL CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. Pending FR3085504A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1857788A FR3085504A1 (en) 2018-08-30 2018-08-30 SECURE METHOD OF DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND A RECIPIENT USER, WITH LOCAL CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN.
PCT/IB2019/057188 WO2020044217A1 (en) 2018-08-30 2019-08-27 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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1857788 2018-08-30
FR1857788A FR3085504A1 (en) 2018-08-30 2018-08-30 SECURE METHOD OF DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND A RECIPIENT USER, WITH LOCAL CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN.

Publications (1)

Publication Number Publication Date
FR3085504A1 true FR3085504A1 (en) 2020-03-06

Family

ID=63684172

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1857788A Pending FR3085504A1 (en) 2018-08-30 2018-08-30 SECURE METHOD OF DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND A RECIPIENT USER, WITH LOCAL CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN.

Country Status (2)

Country Link
FR (1) FR3085504A1 (en)
WO (1) WO2020044217A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523895A (en) * 2020-05-06 2020-08-11 杭州复杂美科技有限公司 Data delay publishing method, device and storage medium
CN113268758B (en) * 2021-06-17 2022-11-04 上海万向区块链股份公司 Data sharing system, method, medium and device based on federal learning

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
WO2020044217A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
US20170228371A1 (en) Blockchain-enhanced database
EP3547203A1 (en) Method and system for managing access to personal data by means of an intelligent contract
CN110289951A (en) A kind of shared content monitoring method based on Threshold key sharing and block chain
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
Fu et al. Searchable encryption scheme for multiple cloud storage using double‐layer blockchain
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
AU2013205125B1 (en) Method and system for the secure transfer and verification of ownership of digital sequences
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
WO2020044220A1 (en) Secure system and method for the delayed sharing of data between a sender user and a plurality of recipient users, with local creation of a container and blockchain timestamping
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
Thakur et al. Data integrity techniques in cloud computing: an analysis
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
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
Hua et al. Secure data deletion in cloud storage: a survey
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
FR3107416A1 (en) EFFECTIVE RANDOM TOKENIZATION IN A DEMATERIALIZED ENVIRONMENT
Monti et al. An alternative information plan
WO2019215492A1 (en) Secure method for the delayed sharing of data between a sender user and a recipient user, with local creation of a container
CN109753813A (en) A kind of secure file processing method
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.
WO2019215493A1 (en) Secure method and system for the delayed sharing of data between a plurality of sender users and a recipient user
FR3081065A1 (en) SECURE METHOD AND SYSTEM FOR DELAYED DATA SHARING BETWEEN SEVERAL USERS AND SEVERAL USERS.
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

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