FR3085506A1 - SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN MULTIPLE TRANSMITTING USERS AND MULTIPLE RECIPIENT USERS, WITH BLOCKCHAIN TIMING. - Google Patents
SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN MULTIPLE TRANSMITTING USERS AND MULTIPLE RECIPIENT USERS, WITH BLOCKCHAIN TIMING. Download PDFInfo
- Publication number
- FR3085506A1 FR3085506A1 FR1857797A FR1857797A FR3085506A1 FR 3085506 A1 FR3085506 A1 FR 3085506A1 FR 1857797 A FR1857797 A FR 1857797A FR 1857797 A FR1857797 A FR 1857797A FR 3085506 A1 FR3085506 A1 FR 3085506A1
- Authority
- FR
- France
- Prior art keywords
- container
- user
- recipient user
- users
- 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)
- 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)
- Storage Device Security (AREA)
Abstract
Procédé de partage de fichiers (2) entre plusieurs utilisateurs (Ai) émetteurs et plusieurs utilisateurs (Bk) destinataire, qui comprend : - Ecriture : ○ Créer, à l'initiative d'un l'utilisateur (A1) émetteur maître, un conteneur (6) de données, associé aux utilisateurs (Bk) destinataires ; ○ Pendant un délai (T1) d'écriture, permettre à chaque utilisateur (Ai) émetteur l'accès en écriture au conteneur (6) ; Archivage : ○ A l'expiration du délai (T1) d'écriture, interdire à chaque utilisateur (Ai) é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 ; o 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 several sending users (Ai) and several receiving users (Bk), which comprises: - Writing: ○ Create, on the initiative of a user (A1) master sending, a container (6) data, associated with the intended users (Bk); ○ During a writing delay (T1), allow each sending user (Ai) write access to the container (6); Archiving: ○ At the end of the writing period (T1), prohibit each user (Ai) 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); o During an archiving delay (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 plusieurs utilisateurs émetteurs et plusieurs utilisateurs destinataires, avec horodatage sur blockchainSecure method and system for delayed data sharing between several sending users and several receiving users, with 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 plusieurs utilisateurs émetteurs et plusieurs utilisateurs destinataires.The invention relates to the field of computing, and more specifically to the sharing of computer data files between several sending users 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 B013 FRLAP B013 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 (P un entier, P > 2) utilisateurs destinataires, 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 (P an integer, P> 2) recipient users, 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 d’un utilisateur émetteur maître une requête contenant une instruction de création d’un conteneur deo Receive from a master sending user a request containing an instruction to create a
LAP B013 FR données à partager, un identifiant de chaque autre utilisateur émetteur et un identifiant de chaque utilisateur destinataire ;LAP B013 FR data to be shared, an identifier of each other sending user and an identifier of each receiving 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 à chaque utilisateur émetteur l’accès en écriture au conteneur ;o As long as the writing time has not expired, allow each 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 aux utilisateurs émetteurs l’accès, au moins en écriture, au conteneur ;o At the end of the writing period, prohibit sending users 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;
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 maître, ou automatiquement.The write time can be set by the master sending user, or automatically.
Le délai d’archivage peut être défini par l’utilisateur émetteur maître, ou automatiquement.The archiving period can be defined by the master sending user, or automatically.
LAP B013 FRLAP B013 FR
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.
Le conteneur est avantageusement subdivisé en plusieurs espaces mémoires propres, chacun alloué à un utilisateur émetteur respectif. Dans ce cas, l’accès par un utilisateur émetteur à un espace mémoire d’un autre utilisateur émetteur est de préférence interdit.The container is advantageously subdivided into several own memory spaces, each allocated to a respective sending user. In this case, access by a sending user to the memory space of another sending user is preferably prohibited.
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 d’un utilisateur émetteur maître une requête contenant une instruction de création d’un conteneur de données à partager, un identifiant de chaque autre utilisateur émetteur et un identifiant de chaque utilisateur destinataire ;o Receive a request from a master sending user containing an instruction to create a data container to share, an identifier for each other sending user and an identifier for each receiving 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 à chaque utilisateur émetteur l’accès en écriture au conteneur ;o As long as the writing time has not expired, allow each 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 aux utilisateurs émetteurs l’accès, au moins en écriture, au conteneur ;o At the end of the writing period, prohibit sending users from accessing, at least in writing, the container;
LAP B013 FR 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 ;LAP B013 FR o Make a copy of the container for each recipient user, 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.
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;
LAP B013 FRLAP B013 FR
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 N utilisateurs Ai émetteurs (N un entier tel que N > 2 ; i un entier tel que 1 < i < N) et P utilisateurs Bk destinataires (P un 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) utilisateur(s) réel(s) (par ex. une personne physique ou morale) associé(s) à cet appareil.In FIG. 1 to FIG. 3 is shown a computer system 1, intended to allow the sharing of files 2 of computer data between N sending users Ai (N an integer such as N> 2; i an integer such as 1 <i <N) and P recipients Bk recipients (P an integer such as P> 2; k an integer such as 1 <k <P). The term "user" here designates, specifically, 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 of connecting 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 Ai 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 Ai 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 PAi, PBk d’utilisateurs. En l’espèce, la base de données contient au moins un profil PAi associé à chaque utilisateur Ai émetteur, et un profil PBk associé à chaque utilisateur Bk destinataire.The computer system 1 comprises, thirdly, a profile database 7 which contains profiles PAi, PBk of users in memory. In this case, the database contains at least one PAi profile associated with each sending Ai user, and a PBk profile associated with each receiving Bk user.
Chaque profil PAi, PBk utilisateur comprend au moins un identifiant IDAi, IDBk lié à l’utilisateur Ai, Bk respectif (par ex. un nom, une adresse électronique, un numéro de téléphone) et au moins une clé ZAi, ZBk cryptographique publique respective.Each PAi, PBk user profile includes at least one IDAi, IDBk identifier linked to the respective user Ai, Bk (e.g. a name, an email address, a telephone number) and at least one respective public cryptographic key ZAi, ZBk .
LAP B013 FRLAP B013 FR
A cette clé ZAi, ZBk cryptographique publique correspond une clé cryptographique AiZ, BkZ respective privée.To this public cryptographic key ZAi, ZBk corresponds a respective private cryptographic key AiZ, BkZ.
La clé AiZ, BkZ cryptographique privée associée à chaque utilisateur Ai ou Bk est stockée localement dans un espace mémoire de celui-ci.The private cryptographic AiZ, BkZ key associated with each user Ai 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 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’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 d’un l’utilisateur A1 émetteur maître une requête contenant une instruction de création d’un conteneur 6, un identifiant IDAi (i > 2) de chaque autre utilisateur Ai (i > 2) émetteur, et un identifiant IDBk de chaque utilisateur Bk destinataire ;o Receive from a master sending user A1 a request containing an instruction to create a container 6, an identifier IDAi (i> 2) from each other sending user Ai (i> 2), and an identifier IDBk from each user Bk recipient;
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 à chaque utilisateur Ai émetteur l’accès en écriture au conteneur 6.o As long as the T1 writing delay has not expired, allow each sending user Ai write access to container 6.
En pratique, l’utilisateur A1 émetteur maître 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 A1 émetteur maître, typiquement par comparaison d’une information communiquée par celuici (par ex. un mot de passe) avec une information associée à son profil IDA1 tel que mémorisé dans la base 7 de données. Dès lors que l’utilisateur A1 émetteur maître 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 user A1 master transmitter 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 user A1 master transmitter, typically by comparing information communicated by the latter (for example a password) with information associated with its profile IDA1 as stored in the database 7. As soon as the user A1 master transmitter is identified, access is given to him (possibly by another communication channel, as illustrated in FIG. 1) to the file server 5.
LAP B013 FRLAP B013 FR
Le système 1 vérifie que les identifiants IDAi (i > 2) communiqués par l’utilisateur A1 émetteur maître correspondent effectivement à des profils utilisateurs PAi mémorisés.The system 1 verifies that the IDAi identifiers (i> 2) communicated by the user A1 master transmitter effectively correspond to stored user profiles PAi.
Dès lors, pendant la phase d’écriture, chaque utilisateur Ai é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 chaque terminal Ai lui-même, ou être téléchargés depuis des serveurs distants via le réseau 3.Therefore, during the writing phase, each sending user Ai is authorized to modify the container 6 by adding or subtracting from it data files 2. These data files 2 can come from each terminal Ai itself, or 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 A1 émetteur maître, 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 user A1 master transmitter, 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.
Selon un mode avantageux illustré sur la FIG.4, le conteneur 6 est subdivisé en plusieurs espaces 6.i mémoires propres, chacun alloué à un utilisateur Ai émetteur respectif - c'est-à-dire que les fichiers 2 de données déposés par chaque utilisateur Ai émetteur dans son espace 6.i mémoire propre n’affectent pas les fichiers 2 de données déposés par un autre utilisateur Aj émetteur (j un entier tel que j ψ i) dans son espace 6.j mémoire propre.According to an advantageous mode illustrated in FIG.4, the container 6 is subdivided into several spaces 6.i own memories, each allocated to a respective user Ai transmitter - that is to say that the data files 2 deposited by each Sender user Ai in its own memory space 6.i do not affect the data files 2 deposited by another sending user Aj (j an integer such as j ψ i) in its own memory space 6.j
Il est même préférable que soit interdit l’accès (en lecture et/ou en écriture) par un utilisateur Ai émetteur à un espace 6.j mémoire propre alloué à un autre utilisateur Aj émetteur.It is even preferable for access (read and / or write) by a sending Ai user to a space 6.j own memory allocated to another sending Aj user to be prohibited.
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 à chaque utilisateur Ai émetteur l’accès, au moins en écriture, au conteneur 6 ;o At the end of the T1 writing period, prohibit each sending user Ai 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;
LAP B013 FR o Associer à chaque conteneur 6Bk crypté un délai T2 prédéterminé d’archivage ;LAP B013 FR o Associate with each encrypted 6Bk container a predetermined T2 archiving delay;
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 A1 émetteur maître, 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 T2 archiving period (shown schematically in the drawings by a second countdown) can be defined by the user A1 master transmitter, 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:
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;
LAP B013 FR o L’empreinte numérique (appelée pointeur) du bloc 10 précédent ;LAP B013 FR 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 rang N-1 et le pointeur mémorisé parmi les métadonnées du bloc 10 de rang N.For 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 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 uneThe 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 previous block 10 of rank N-1 therefore constitutes a chain of correlated blocks, in which the less modification of the data of a block 10 of rank N-1 results in a
LAP B013 FR rupture du lien avec le bloc 10 suivant de rang N - et donc la rupture de la blockchain 9.LAP B013 FR break of 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.
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).
LAP B013 FRLAP B013 FR
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.
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);
LAP B013 FRLAP B013 FR
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 que les utilisateurs réels associés aux utilisateurs Bk destinataires sont tenus dans l’ignorance de cette existence.According 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 its attention, so that 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.
LAP B013 FRLAP B013 FR
Concrètement, 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 IDA1 associé à l’utilisateur A1 émetteur maître, ou un identifiant IDAi associé à chaque utilisateur Ai é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 au moins du profil IDA1 de l’utilisateur A1 émetteur maître (et de préférence des profils IDAi de tous les utilisateurs émetteurs) 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 les utilisateurs Ai émetteurs.Concretely, 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 IDA1 identifier associated with the user A1 master transmitter, or an IDAi identifier associated with each user Ai transmitter. The download is then preferably ordered by the recipient user Bk, rather than carried out automatically on command from the control unit 8. At least the knowledge of the IDA1 profile of the user A1 master sender (and preferably of the IDAi profiles of all the sender users) by the recipient user Bk can constitute for the latter an index of confidence of the origin and / or of the safety of the data shared by the sending Ai users.
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.
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.
LAP B013 FRLAP B013 FR
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ées - par l’un quelconque des utilisateurs Ai émetteurs 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). Indeed, during the archiving phase, the data in files 2 cannot be read - nor a fortiori modified - by any of the sending Ai users or by any of the receiving Bk users. 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 les utilisateurs Ai émetteurs 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 partagées par les utilisateurs Ai émetteurs 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.We can even see that the control exercised by the sending Ai users over the container 6 (that is to say over the data files 2 to be shared) ceases at the expiration of the writing delay T1, even though its content is not yet accessible for any recipient Bk user. The delay (predetermined) with which the recipient users Bk accesses the files 2 of data shared by the sending users Ai makes any dialogue between them in real time impossible, 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 (10)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1857797A FR3085506A1 (en) | 2018-08-30 | 2018-08-30 | SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN MULTIPLE TRANSMITTING USERS AND MULTIPLE RECIPIENT USERS, WITH BLOCKCHAIN TIMING. |
PCT/IB2019/057192 WO2020044221A1 (en) | 2018-08-30 | 2019-08-27 | 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 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1857797A FR3085506A1 (en) | 2018-08-30 | 2018-08-30 | SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN MULTIPLE TRANSMITTING USERS AND MULTIPLE RECIPIENT USERS, WITH BLOCKCHAIN TIMING. |
FR1857797 | 2018-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3085506A1 true FR3085506A1 (en) | 2020-03-06 |
Family
ID=63722654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1857797A Pending FR3085506A1 (en) | 2018-08-30 | 2018-08-30 | SECURE METHOD AND SYSTEM FOR DELAYED SHARING OF DATA BETWEEN MULTIPLE TRANSMITTING USERS AND MULTIPLE RECIPIENT USERS, WITH BLOCKCHAIN TIMING. |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3085506A1 (en) |
WO (1) | WO2020044221A1 (en) |
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 FR1857797A patent/FR3085506A1/en active Pending
-
2019
- 2019-08-27 WO PCT/IB2019/057192 patent/WO2020044221A1/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 |
---|---|
WO2020044221A1 (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 | |
JP2023517049A (en) | cipher data input 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 | |
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 | |
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 | |
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. | |
Thakur et al. | Data integrity techniques in cloud computing: an analysis | |
FR3085509A1 (en) | SECURE SYSTEM AND METHOD FOR DELAYED SHARING OF DATA BETWEEN A TRANSMITTING USER AND A RECIPIENT USER, WITH REMOTE CREATION OF A CONTAINER AND TIMING ON BLOCKCHAIN. | |
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 | |
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 | |
Hua et al. | Secure data deletion in cloud storage: a survey | |
Monti et al. | An alternative information plan | |
CN109753813A (en) | A kind of secure file processing method | |
WO2020136126A1 (en) | Secure, tracked communication network | |
FR3081065A1 (en) | SECURE METHOD AND SYSTEM FOR DELAYED DATA SHARING BETWEEN SEVERAL USERS AND SEVERAL USERS. | |
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 | |
WO2019215492A1 (en) | Secure method for the delayed sharing of data between a sender user and a recipient user, with local creation of a container | |
FR3081067A1 (en) | SECURE METHOD AND SYSTEM FOR DELAYED DATA SHARING BETWEEN AT LEAST ONE TRANSMITTER USER AND AT LEAST ONE RECIPIENT USER. | |
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 | |
US20240232434A1 (en) | Improvements in or relating to data transmission | |
FR3109234A1 (en) | Process for processing a transaction carried out by a debtor entity with a target creditor entity |
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 |