WO2020044216A1 - 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 - Google Patents

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 Download PDF

Info

Publication number
WO2020044216A1
WO2020044216A1 PCT/IB2019/057187 IB2019057187W WO2020044216A1 WO 2020044216 A1 WO2020044216 A1 WO 2020044216A1 IB 2019057187 W IB2019057187 W IB 2019057187W WO 2020044216 A1 WO2020044216 A1 WO 2020044216A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
user
data
writing
archiving
Prior art date
Application number
PCT/IB2019/057187
Other languages
French (fr)
Inventor
Jonathan Attia
Fabrice LHOMME
Raphael LOUISET
Original Assignee
Lapsechain Sa
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 Lapsechain Sa filed Critical Lapsechain Sa
Publication of WO2020044216A1 publication Critical patent/WO2020044216A1/en

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

Definitions

  • 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.
  • 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.
  • LAN local computer network
  • MAN metropolitan
  • WAN typically the Internet
  • 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.
  • 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.
  • 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.
  • routing takes a few seconds.
  • the recipient can then open and read the message from the sender whenever they want.
  • electronic messaging is limited as to the size of the messages transmitted, most often around ten megabytes (MB).
  • 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.
  • At least one file server At least one file server
  • 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,
  • This process comprising, at the system level, three successive phases:
  • a writing phase which includes the operations of:
  • An archiving phase which includes the operations of:
  • 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.
  • the profiles associated in the profile database with the sending user and the receiving user are separate.
  • the write time can be set by the sending user, or automatically.
  • the archiving period can be defined by the sending user, or automatically. Provision may be made for the reception, by the communication server, of a notification of decryption of the container by the 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.
  • At least one file server At least one file server
  • 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,
  • This system comprising a control unit comprising a writable memory containing instructions for operating:
  • a writing phase which includes the operations of:
  • An archiving phase which includes the operations of:
  • 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.
  • FIG.1 is a synthetic diagram of a computer system illustrating the writing phase of a method according to the invention
  • FIG.2 is a diagram similar to FIG.1, illustrating the archiving phase
  • FIG.3 is a diagram similar to FIG.1, illustrating the sharing phase
  • FIG.4 is a diagram illustrating different stages of the process of the invention.
  • FIG.5 is a diagram illustrating the extraction of a timestamp data from a blockchain.
  • 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) real (s) (eg a natural or legal person) associated with this device.
  • LAN local
  • MAN metropolitan
  • WIDE wide area network
  • the computer system 1 comprises, first of all, a communication server 4, programmed to be able to establish communication sessions (preferably secure) with users (in particular with users A and B).
  • 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.
  • 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.
  • the computer system 1 comprises, thirdly, a profile database 7 which contains profiles PA, PB of users in memory.
  • the database contains at least one PA profile associated with the sending user A, and a PB profile associated with the receiving user B.
  • Each profile PA, PB user includes at least one identifier IDA, IDB linked to the respective user A, B (eg a name, an email address, a telephone number) and at least one key ZA, ZB respective public cryptographic .
  • ZB corresponds a respective private cryptographic key AZ, BZ.
  • the private cryptographic key AZ, BZ associated with each user A or B is stored locally in a memory space thereof.
  • the sending user A is distinct from the receiving user B.
  • 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 AZ, BZ keys - respectively).
  • 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. Unit 8 of control is programmed to control the communication server 4, the file server 5 and to administer the database 7.
  • the control unit 8 (and more precisely its memory) includes instructions for carrying out operations grouped in several successive phases.
  • a first phase, called writing, includes the operations of:
  • the sending user A sends to the computer system 1, via the network 3, the request to create the container 6.
  • This request passes through the communication server 4, which performs the identity checks of the sending user A , typically by comparing information communicated by the latter (for example a password) with information associated with its IDA profile as stored in the database 7.
  • information communicated by the latter for example a password
  • information associated with its IDA profile as stored in the database 7.
  • access is given to him (possibly by another communication channel, as illustrated in FIG. 1) to the file server 5.
  • 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.
  • the writing delay T1 (shown diagrammatically in the drawings by a first countdown) can be defined by the sending user A, or automatically by the control unit 8.
  • the writing delay T1 is advantageously implemented within the computer system 1, and more precisely in the control unit 8.
  • a second phase, called archiving, includes the operations of:
  • the archiving time T2 (shown schematically in the drawings by a second countdown) can be defined by the sending user A, or automatically.
  • the T2 archiving period is advantageously implemented within the IT system 1, e.g. by means of an internal clock controlled by (or integrated into) the control unit 8.
  • 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.
  • 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).
  • blockchain 9 is a computer register containing data subdivided into blocks 10 (or blocks) linked together, each containing:
  • a body 11 comprising digital signatures of transactions (that is to say of data exchanges) passed between users,
  • a header 12 containing metadata including:
  • 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 carrying the number zero or the number one (as in the example illustrated in FIG. 5) and called block of genesis (Genesis Block in English); o A digital fingerprint of the data in block 10;
  • Timestamp or timestamp data which can be in the form of a date (including year, month and day, e.g. 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).
  • 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).
  • 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.
  • 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.
  • the fingerprint is designated by the term "Hash”.
  • 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 of a mismatch between this (modified) fingerprint of block 10 of rank N-1 and the pointer stored among the metadata for block 10 of rank N.
  • 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 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 break of the link with the next block 10 of rank N - and therefore the break of the blockchain 9.
  • the 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.
  • the blockchain 9 is stored on this distributed database by being replicated on each node 14.
  • a computer protocol eg Bitcoin or Ethereum, registered trademarks
  • 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.
  • This process implements a block validation mechanism 10 by consensus between all or part of the nodes 14.
  • PoW proof of work
  • 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.
  • a particularity of hash functions 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).
  • the first node 14 overcoming the difficulty that is to say producing a digest or hash less than the difficulty
  • a bonus or incentive
  • 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.
  • 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.
  • blocks 10 of lower rank are secure against malicious alterations, especially since their rank number is low in front of N + 1.
  • 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.
  • the blockchain 9 query includes the periodic repetition of the following verification sequence:
  • system 1 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.
  • a reference date eg Epoch
  • this verification sequence is repeated while the storage of the encrypted container (6Bk) is maintained.
  • 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.
  • 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.
  • a time server or NTP server, this acronym being from the 'English Network Time Protocol
  • 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.
  • the T2 archiving period is declared expired when it has been exceeded by the current date resulting from the interrogation of blockchain 9.
  • a third phase 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.
  • 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 sending user A.
  • the download is then preferably controlled by the recipient user B, rather than carried out automatically on command of 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 index of confidence in the origin and / or the harmlessness of the data shared by the sending user A.
  • 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.
  • the data files 2 can be stored locally by the recipient user B.
  • 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.
  • the method offers a certain advantage in terms of safety compared to the known methods (respectively the systems). Indeed, during the archiving phase, the data in the files 2 cannot be read - nor a fortiori modified - by the sending user A or by the receiving user B. Any identity theft of any of them is ineffective since it is necessary to have the private key of the recipient user B to decrypt the container 6B. It can even be seen that the control exercised by the sending user A over the container 6 (that is to say over the data files 2 to be shared) ceases at the end of the writing delay T1, even when its content is not yet accessible to 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 any dialogue between them impossible in real time, to the benefit of the parsimony with which the users exchange data with one another. This in particular results in an optimization of the bandwidth necessary, in networks, for exchanges between users.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Disclosed is a method for sharing files (2) between a sender user (A) and a recipient user (B), said method comprising three phases: Writing: creating, in a file server (5), and on the initiative of the sender user (A), a file container (6) associated with the recipient user (B), and allowing the sender user (A) write access to the container (6) over a writing period (T1); Archiving: blocking access to the container (6) for the sender user (A) at the end of the writing period (T1), encrypting the data in the container (6) using the public key (ZB) of the recipient user (B), and storing the encrypted container (6B) in a file server (5) over an archiving period (T2) controlled by interrogation of a blockchain; Sharing: allowing the recipient user (B) to download the encrypted container (6B) for decryption thereof using their private key (BZ).

Description

Système et procédé sécurisés de partage retardé de données entre un utilisateur émetteur et un utilisateur destinataire, avec création distante d’un conteneur et horodatage sur blockchain  Secure system and method for delayed data sharing between a sending user and a receiving user, with remote 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. 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). Quite often, routing takes a few seconds. The recipient can then open and read the message from the sender whenever they want. At the time of writing, electronic messaging is limited as to the size of the messages transmitted, most often 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 un utilisateur destinataire, 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 a receiving user, via a computer system equipped:
D’un serveur de communication,  From a communication server,
D’au moins un serveur de fichiers, et  At least one file server, and
D’une base de données de profils contenant en mémoire des profils associés aux utilisateurs, chaque profil comprenant au moins un identifiant et au moins une clé cryptographique publique à laquelle correspond une clé privée,  A profile database containing profiles associated with users in memory, each profile comprising at least one identifier and at least one public cryptographic key to which a private key corresponds,
Ce procédé comprenant, au niveau du système, trois phases successives :  This process comprising, at the system level, three successive phases:
Une phase d’écriture, qui inclut les opérations consistant à :  A writing phase, which includes the operations of:
o Recevoir de l’utilisateur émetteur une requête contenant une instruction de création d’un conteneur de données à partager et un identifiant de l’utilisateur destinataire ;  o Receive from the sending user a request containing an instruction to create a data container to share and an identifier of the recipient user;
o Créer le conteneur dans un serveur de fichiers ; o Associer le conteneur au profil associé à l’utilisateur destinataire dans la base de données ; o Create the container in a file server; o Associate the container with the profile associated with the recipient user in the database;
o Associer au conteneur un délai prédéterminé d’écriture ;  o Associate the container with a predetermined writing period;
o Tant que le délai d’écriture n’a pas expiré, permettre à l’utilisateur émetteur l’accès en écriture au conteneur ; o As long as the writing period has not expired, allow the sending user write access to the container;
Une phase d’archivage, qui inclut les opérations consistant à : An archiving phase, which includes the operations of:
o A l’expiration du délai d’écriture, interdire à l’utilisateur émetteur l’accès, au moins en écriture, au conteneur ; o Crypter les données du conteneur à l’aide de la clé publique de l’utilisateur destinataire pour former un conteneur crypté ; o Associer au fichier crypté un délai prédéterminé d’archivage ; o Stocker le conteneur crypté dans un serveur de fichiers en en interdisant l’accès au moins à l’utilisateur destinataire ;  o At the end of the writing period, prohibit the sending user from accessing, at least in writing, the container; o Encrypt container data using the public key of the recipient user to form an encrypted container; o Associate the encrypted file with a predetermined archiving period; 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 : a) Sélectionner un bloc dans un registre informatique constitué en chaîne de blocs ayant chacun une donnée d’horodatage ;  o Periodically repeat the following verification sequence: a) Select a block in a computer register made up of a chain of blocks each having time stamp data;
b) Extraire la donnée d’horodatage du bloc sélectionné ; c) Déterminer, à partir de cette donnée d’horodatage, une date courante ;  b) Extract the timestamp data from the selected block; 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 peut être défini par l’utilisateur émetteur, ou automatiquement.  The write time can be set by the sending user, or automatically.
Le délai d’archivage peut être défini par l’utilisateur émetteur, ou automatiquement. Il peut être prévu la réception, par le serveur de communication, d’une notification de décryptage du conteneur par l’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. The archiving period can be defined by the sending user, or automatically. Provision may be made for the reception, by the communication server, of a notification of decryption of the container by the 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, et  At least one file server, and
Une base de données de profils contenant en mémoire des profils associés aux utilisateurs, chaque profil comprenant au moins un identifiant et au moins une clé cryptographique publique à laquelle correspond une clé privée,  A profile database containing profiles associated with users in memory, each profile comprising at least one identifier and at least one public cryptographic key to which a private key corresponds,
Ce système comprenant une unité de contrôle comprenant une mémoire inscriptible contenant des instructions pour opérer :  This system comprising a control unit comprising a writable memory containing instructions for operating:
Une phase d’écriture, qui inclut les opérations consistant à :  A writing phase, which includes the operations of:
o Recevoir de l’utilisateur émetteur une requête contenant une instruction de création d’un conteneur de données à partager et un identifiant de l’utilisateur destinataire ;  o Receive from the sending user a request containing an instruction to create a data container to share and an identifier of the recipient user;
o Créer le conteneur dans un serveur de fichiers ;  o Create the container in a file server;
o Associer le conteneur au profil associé à l’utilisateur destinataire dans la base de données ;  o Associate the container with the profile associated with the recipient user in the database;
o Associer au conteneur un délai prédéterminé d’ouverture ; o Tant que le délai d’écriture n’a pas expiré, permettre à chaque utilisateur émetteur l’accès en écriture au conteneur ; Une phase d’archivage, qui inclut les opérations consistant à :  o Associate the container with a predetermined opening time; o As long as the writing time has not expired, allow each sending user write access to the container; An archiving phase, which includes the operations of:
o A l’expiration du délai d’écriture, interdire à chaque utilisateur émetteur l’accès, au moins en écriture, au conteneur ; o Crypter les données du conteneur à l’aide de la clé publique de l’utilisateur destinataire pour former un conteneur crypté ; o Associer au conteneur crypté un délai prédéterminé d’archivage ;  o At the end of the writing period, prohibit each sending user access, at least in writing, to the container; o Encrypt container data using the public key of the recipient user to form an encrypted container; o Associate the 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 : a) Sélectionner un bloc dans un registre informatique constitué en chaîne de blocs ayant chacun une donnée d’horodatage ; o Periodically repeat the following verification sequence: a) Select a block in a computer register consisting of a chain of blocks, each having time stamp data;
b) Extraire la donnée d’horodatage du bloc sélectionné ; c) Déterminer, à partir de cette donnée d’horodatage, une date courante ;  b) Extract the timestamp data from the selected block; 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;
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) réel(s) (par ex. une personne physique ou morale) associé(s) à cet appareil. 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) 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 avec 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 with users A and B).
Le système 1 informatique comprend, en deuxième lieu, un serveur 5 de fichiers, sur lequel peuvent être créés des répertoires ou « conteneurs » 6 de fichiers de données à partager. Dans ces conteneurs peuvent être créés, déposés, copiés, collés, supprimés, modifiés, des fichiers 2 de données de tout type, par ex. des fichiers issus d’applications de bureautique (par ex. traitement de texte, tableur), des fichiers de son, d’image, ou encore de vidéo.  The computer system 1 comprises, secondly, a file server 5, on which directories or “containers” 6 of data files to be shared can be created. In these containers can be created, deposited, copied, pasted, deleted, modified, 2 data files of any type, eg. files from office applications (eg word processing, spreadsheet), sound, image, or video files.
Le système 1 informatique comprend, en troisième lieu, une base 7 de données de profils qui contient en mémoire des profils PA, 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 A, B respectif (par ex. un nom, une adresse électronique, un numéro de téléphone) et au moins une clé ZA, ZB cryptographique publique respective.  Each profile PA, PB user includes at least one identifier IDA, IDB linked to the respective user A, B (eg a name, an email address, a telephone number) and at least one key ZA, ZB respective public cryptographic .
A cette clé ZA, ZB cryptographique publique correspond une clé cryptographique AZ, BZ respective privée.  To this public cryptographic key ZA, ZB corresponds a respective 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 AZ, BZ keys - respectively).
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. Unit 8 of control is programmed to control the communication server 4, the file server 5 and to administer the database 7.
L’unité 8 de contrôle (et plus précisément sa mémoire) comprend des instructions pour effectuer des opérations regroupées en plusieurs phases successives.  The control unit 8 (and more precisely its memory) includes instructions for carrying out operations grouped in several successive phases.
Une première phase, dite d’écriture, inclut les opérations consistant à :  A first phase, called writing, includes the operations of:
o Recevoir de l’utilisateur A émetteur une requête contenant une instruction de création d’un conteneur 6 et un identifiant IDB de l’utilisateur B destinataire ;  o Receive from user A sending a request containing an instruction to create a container 6 and an IDB identifier of the recipient user B;
o Créer le conteneur 6 dans un serveur 5 de fichiers ;  o Create container 6 in a file server 5;
o Associer le conteneur 6 au profil associé à l’utilisateur B dans la base 7 de données ;  o Associate the container 6 with the profile associated with user B in the database 7;
o Associer au conteneur 6 un délai T1 prédéterminé d’écriture ; 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 Associate with container 6 a predetermined writing delay T1; o As long as the T1 writing delay has not expired, allow the sending user A write access to container 6.
En pratique, l’utilisateur A émetteur adresse au système 1 informatique, via le réseau 3, la requête de création du conteneur 6. Cette requête transite par le serveur 4 de communication, qui effectue les vérifications d’identité de l’utilisateur A émetteur, typiquement par comparaison d’une information communiquée par celui-ci (par ex. un mot de passe) avec une information associée à son profil IDA tel que mémorisé dans la base 7 de données. Dès lors que l’utilisateur A émetteur est identifié, accès lui est donné (éventuellement par un autre canal de communication, comme illustré sur la FIG.1) au serveur 5 de fichiers. In practice, the sending user A sends to the computer system 1, via the network 3, the request to create the container 6. This request passes through the communication server 4, which performs the identity checks of the sending user A , typically by comparing information communicated by the latter (for example a password) with information associated with its IDA profile as stored in the database 7. As soon as the sending user A is identified, access is given to him (possibly by another communication channel, as illustrated in FIG. 1) to the file server 5.
Pendant la phase d’écriture, l’utilisateur A émetteur est autorisé à modifier le conteneur 6 en lui ajoutant ou en lui soustrayant des fichiers 2 de données. Ces fichiers 2 de données peuvent être issus de l’utilisateur A émetteur lui-même, ou être téléchargés depuis des serveurs distants via le réseau 3.  During the writing phase, the sending user A is authorized to modify the container 6 by adding or subtracting data files 2 therefrom. These data files 2 can come from the sending user A himself, or can be downloaded from remote servers via the network 3.
Le délai T1 d’écriture (schématisé sur les dessins par un premier compte à rebours) peut être défini par l’utilisateur A émetteur, ou automatiquement par l’unité 8 de contrôle. Le délai T1 d’écriture est avantageusement implémenté au sein du système 1 informatique, et plus précisément dans l’unité 8 de contrôle. Une deuxième phase, dite d’archivage, inclut les opérations consistant à : The writing delay T1 (shown diagrammatically in the drawings by a first countdown) can be defined by the sending user A, or automatically by the control unit 8. The writing delay T1 is advantageously implemented within the computer system 1, and more precisely in the control unit 8. A second phase, called archiving, includes the operations of:
o A l’expiration du délai T1 d’écriture, interdire à l’utilisateur A émetteur l’accès, au moins en écriture, au conteneur 6 ;  o At the end of the T1 writing period, prohibit the sending user A from access, at least in writing, to container 6;
o 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 un 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 a file server 5 by prohibiting access to it at least to the recipient 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, par ex. au moyen d’une horloge interne pilotée par (ou intégrée à) 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 T2 archiving period is advantageously implemented within the IT system 1, e.g. by means of an internal clock controlled by (or integrated into) 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,
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 Une empreinte numérique des données du bloc 10 ; 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 carrying the number zero or the number one (as in the example illustrated in FIG. 5) and called block of genesis (Genesis Block in English); 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, e.g. 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 result in the modification of its fingerprint, and therefore of a mismatch between this (modified) fingerprint of block 10 of rank N-1 and the pointer stored among the metadata for block 10 of rank N.
La succession des blocs 10 reliés entre eux deux à deux par correspondance du pointeur d’un bloc 10 donné de rang N avec l’empreinte numérique du bloc 10 précédent de rang N-1 constitue par conséquent une chaîne de blocs corrélés, dans laquelle la moindre modification des données d’un bloc 10 de rang N-1 se traduit par une rupture du lien avec le bloc 10 suivant de rang N - et donc la rupture de la blockchain 9. The succession of blocks 10 linked together in pairs by correspondence of the pointer of a given block 10 of rank N with the digital imprint of the 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 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.  The 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é). 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). 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). 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) ; 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). b) Extract the timestamp from the selected block 10 (here block 10 of rank N); 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.
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. 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. 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. 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 sending user A. The download is then preferably controlled by the recipient user B, rather than carried out automatically on command of 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 index of confidence in the origin and / or the harmlessness 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, provision is advantageously made 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é (comme 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’utilisateur A émetteur ou par l’utilisateur B destinataire. 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 B destinataire pour décrypter le conteneur 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 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 é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. The method (like 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 the files 2 cannot be read - nor a fortiori modified - by the sending user A or by the receiving user B. Any identity theft of any of them is ineffective since it is necessary to have the private key of the recipient user B to decrypt the container 6B. It can even be seen that the control exercised by the sending user A over the container 6 (that is to say over the data files 2 to be shared) ceases at the end of the writing delay T1, even when its content is not yet accessible to 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 any dialogue between them impossible in real time, to the benefit of the parsimony with which the users exchange data with one another. This in particular results in an optimization of the bandwidth necessary, in networks, for exchanges between users.

Claims

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 recipient 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, et  At 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 respectivement 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 ;  From a database (7) of profiles containing in memory profiles (PA, PB) associated respectively with the 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, au niveau du système (1), trois phases successives :  This process being characterized in that it comprises, at the level of the system (1), three successive phases:
Une phase d’écriture, qui inclut les opérations consistant à :  A writing phase, which includes the operations of:
o Recevoir de l’utilisateur (A) émetteur une requête contenant une instruction de création d’un conteneur (6) de données à partager et un identifiant (IDB) de l’utilisateur (B) destinataire ;  o Receive from the sending user (A) a request containing an instruction to create a container (6) of data to be shared and an identifier (IDB) of the recipient user (B);
o Créer le conteneur (6) dans un serveur (5) de fichiers ;  o Create the container (6) in a file server (5);
o Associer le conteneur (6) au profil (IDB) correspondant, dans la base (7) de données, à l’utilisateur (B) destinataire ;  o Associate the container (6) with the corresponding profile (IDB), in the database (7), with 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) ; Une phase d’archivage, qui inclut les opérations consistant à :  o As long as the writing delay (T1) has not expired, allow the sending user (A) write access to the container (6); An archiving phase, which includes the operations of:
o A l’expiration du délai (T1) d’écriture, interdire à l’utilisateur (A) émetteur l’accès, au moins en écriture, au conteneur (6) ; o Crypter le conteneur (6) à l’aide de la clé (ZB) publique de l’utilisateur (B) destinataire pour former un conteneur (6B) crypté ; o Associer au conteneur (6B) crypté un délai (T2) prédéterminé d’archivage ; o At the end of the writing period (T1), prohibit the sending user (A) access, at least in writing, to the container (6); o Encrypt the container (6) using the public key (ZB) of the recipient user (B) to form an encrypted container (6B); o Associate with the encrypted container (6B) a predetermined archiving time (T2);
o Stocker le conteneur (6B) crypté dans un serveur (5) de fichiers en en interdisant l’accès au moins à l’utilisateur (B) destinataire ;  o Store the encrypted container (6B) in a file server (5) by preventing access to at least the recipient user (B);
o Répéter périodiquement la séquence de vérification suivante : a) Sélectionner un bloc (10) dans un registre informatique constitué en chaîne (9) de blocs (10) ayant chacun une donnée d’horodatage ;  o Periodically repeat the following verification sequence: a) Select a block (10) in a computer register consisting of a chain (9) of blocks (10) 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, to allow 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 la revendication 1 ou la revendication 2, dans lequel le délai (T1) d’écriture est défini automatiquement.  4. Method according to claim 1 or claim 2, wherein the writing delay (T1) is defined automatically.
5. Procédé selon l’une des revendications 1 à 4, dans lequel le délai (T2) d’archivage est défini par l’utilisateur (A) émetteur.  5. Method according to one of claims 1 to 4, wherein the archiving time (T2) is defined by the user (A) transmitter.
6. Procédé selon l’une des revendications 1 à 4, dans lequel le délai (T2) d’archivage est défini automatiquement.  6. Method according to one of claims 1 to 4, wherein the archiving time (T2) is automatically defined.
7. Procédé selon l’une des revendications précédentes, qui comprend la réception, par le serveur (4) de communication, d’une notification de décryptage du conteneur (6) par l’utilisateur (B) destinataire. 7. Method according to one of the preceding claims, which comprises the reception, by the communication server (4), of a decryption notification of the container (6) by the recipient user (B).
8. Procédé selon la revendication 7, qui comprend la destruction du conteneur (6B) crypté sur le serveur (5) de fichiers après réception de la notification de décryptage par l’utilisateur (B) destinataire. 8. The method of claim 7, which comprises destroying the container (6B) encrypted on the file server (5) after receipt of the decryption notification by the user (B) recipient.
9. Système (1) informatique qui, pour la mise en oeuvre du procédé selon l’une des revendications précédentes, comprend :  9. Computer system (1) which, for implementing the method according to one of the preceding claims, comprises:
Un serveur (4) de communication,  A communication server (4),
Au moins un serveur (5) de fichiers, et  At least one file server (5), and
Une base (7) de données de profils contenant en mémoire des profils (PA, PB) associés respectivement 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 profiles (PA, PB) associated respectively with the users (A, B, each profile (PA, PB) comprising at least one identifier (IDA, IDB) and at least one key (ZA, ZB) public cryptography to which a private key (AZ, BZ) corresponds,
Ce système (1) comprenant en outre une unité (8) de contrôle comprenant une mémoire programmable contenant des instructions pour opérer :  This system (1) further comprising a control unit (8) comprising a programmable memory containing instructions for operating:
Une phase d’écriture, qui inclut les opérations consistant à :  A writing phase, which includes the operations of:
o Recevoir de l’utilisateur (A) émetteur une requête contenant une instruction de création d’un conteneur (6) de données à partager et un identifiant (IDB) de l’utilisateur (B) destinataire ;  o Receive from the sending user (A) a request containing an instruction to create a container (6) of data to be shared and an identifier (IDB) of the recipient user (B);
o Créer le conteneur (6) dans un serveur (5) de fichiers ;  o Create the container (6) in a file server (5);
o Associer le conteneur (6) au profil (IDB) correspondant, dans la base (7) de données, à l’utilisateur (B) destinataire ;  o Associate the container (6) with the corresponding profile (IDB), in the database (7), with 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) ; Une phase d’archivage, qui inclut les opérations consistant à :  o As long as the writing delay (T1) has not expired, allow the sending user (A) write access to the container (6); An archiving phase, which includes the operations of:
o A l’expiration du délai (T1) d’écriture, interdire à l’utilisateur (A) émetteur l’accès, au moins en écriture, au conteneur (6) ; o Crypter les données du conteneur (6) à l’aide de la clé (ZB) publique de l’utilisateur (B) destinataire pour former un conteneur (6B) crypté ;  o At the end of the writing period (T1), prohibit the sending user (A) access, at least in writing, to the container (6); o Encrypt the data of the container (6) using the public key (ZB) of the recipient user (B) to form an encrypted container (6B);
o Associer au fichier conteneur (6B) crypté un délai (T2) prédéterminé d’archivage ; o Stocker le conteneur (6B) crypté dans un serveur (5) de fichiers en en interdisant l’accès au moins à l’utilisateur (B) destinataire ; o Associate with the encrypted container file (6B) a predetermined archiving delay (T2); o Store the encrypted container (6B) in a file server (5) by preventing access to at least the recipient user (B);
o Répéter périodiquement la séquence de vérification suivante : a) Sélectionner un bloc (10) dans un registre informatique constitué en chaîne (9) de blocs (10) ayant chacun une donnée d’horodatage ; o Periodically repeat the following verification sequence: a) Select a block (10) in a computer register consisting of a chain (9) of blocks (10) each having time stamp data;
b) Extraire la donnée d’horodatage du bloc (10) sélectionné ; c) Déterminer, à partir de cette donnée d’horodatage, une date courante ;  b) Extract the timestamp data from the selected block (10); 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, to allow the recipient user (B) to download the encrypted container (6B) in order to decrypt it using its private key (BZ).
PCT/IB2019/057187 2018-08-30 2019-08-27 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 WO2020044216A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1857785A FR3085509A1 (en) 2018-08-30 2018-08-30 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.
FR18/57785 2018-08-30

Publications (1)

Publication Number Publication Date
WO2020044216A1 true WO2020044216A1 (en) 2020-03-05

Family

ID=63722653

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2019/057187 WO2020044216A1 (en) 2018-08-30 2019-08-27 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

Country Status (2)

Country Link
FR (1) FR3085509A1 (en)
WO (1) WO2020044216A1 (en)

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
FR3085509A1 (en) 2020-03-06

Similar Documents

Publication Publication Date Title
US20170228371A1 (en) Blockchain-enhanced database
FR3079322A1 (en) METHOD AND SYSTEM FOR MANAGING ACCESS TO PERSONAL DATA BY 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
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
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
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
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
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
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
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
FR3107416A1 (en) EFFECTIVE RANDOM TOKENIZATION IN A DEMATERIALIZED ENVIRONMENT
Vatsaraj et al. Decentralized Document Holder Using Blockchain
Monti et al. An alternative information plan
CN109753813A (en) A kind of secure file processing method
WO2019215492A1 (en) Secure method for the delayed sharing of data between a sender user and a recipient user, with local creation of a container
WO2019215491A1 (en) Secure system and method for the delayed sharing of data between a sender user and a recipient user, with remote creation of a container
FR3081061A1 (en) SECURE METHOD FOR DELAYED DATA SHARING BETWEEN A TRANSMITTER USER AND SEVERAL USERS, WITH LOCAL CREATION OF A CONTAINER.
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
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.
FR3081067A1 (en) SECURE METHOD AND SYSTEM FOR DELAYED DATA SHARING BETWEEN AT LEAST ONE TRANSMITTER USER AND AT LEAST ONE RECIPIENT USER.
Chadalawada et al. Proving Ownership of Privacy-Protected Cloud Storage Devices
FR3134908A1 (en) Method and system for managing access rights in a fair transaction of digital data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19779166

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19779166

Country of ref document: EP

Kind code of ref document: A1