Brevet FR3085504A1 — publié le 20200306

Procédé sécurisé de partage retardé de données entre un utilisateur émetteur et un utilisateur destinataire, avec création locale d'un conteneur et horodataoe sur 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. 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. Néanmoins on comprend qu'est associé à un tel dispositif électronique client un utilisateur réel (c'est-à-dire une personne 20 physique ou morale) qui effectue des opérations à partir de ce dispositif. L'utilisation des réseaux informatiques est aujourd'hui assez répandue, notamment pour le partage de données. Il existe divers types de systèmes permettant de partager des 25 données. 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 30 message lui-même, ou sous forme de fichiers joints. 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. 35 Bien souvent, l'acheminement prend quelques secondes. Le destinataire peut alors ouvrir et lire le message provenant de l'émetteur quand bon lui semble. LAP B009 FR 2 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). Pour échanger des données de gros volume (c'est-à-dire de taille 5 supérieure à 10 Mo) environ, il est devenu usuel de recourir à des plateformes spécialisées, par ex. DropBox (marque déposée). 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. 10 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. Ces plateformes sont simples d'utilisation mais rencontrent cependant des limites quant à la sécurisation des données. En 15 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. 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. A cet effet, il est proposé un procédé de partage de fichiers de données informatiques entre un utilisateur émetteur et un utilisateur destinataire via un système informatique équipé : D'un serveur de communication, D'au moins un serveur de fichiers, et D'une base de données de profils contenant en mémoire des profils associés respectivement aux utilisateurs, chaque profil comprenant au moins un identifiant et au moins une clé cryptographique publique à laquelle correspond une clé privée ; - D'une unité de contrôle, reliée au serveur de communication, au serveur de fichier et à la base de données ; Ce procédé comprenant trois phases successives : Une phase d'écriture, qui inclut les opérations consistant à : o Créer localement au niveau de l'utilisateur émetteur un conteneur de données à partager, associé à un identifiant de l'utilisateur destinataire ; LAP B009 FR 3 o Associer au conteneur un délai prédéterminé d'écriture ; o Tant que le délai d'écriture n'a pas expiré, permettre à l'utilisateur émetteur l'accès en écriture au conteneur ; Une phase d'archivage, qui inclut les opérations consistant à : 5 o A l'expiration du délai d'écriture, transmettre le conteneur au système informatique ; o Crypter le 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é 10 d'archivage ; o Stocker le conteneur crypté dans le serveur de fichiers en en interdisant l'accès au moins à l'utilisateur destinataire ; o Répéter périodiquement la séquence de vérification suivante : a) Sélectionner un bloc dans un registre informatique 15 constitué en chaîne de blocs ayant chacun une donnée d'horodatage ; b) Extraire la donnée d'horodatage du bloc sélectionné ; c) Déterminer, à partir de cette donnée d'horodatage, une date courante ; 20 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é ; 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, 25 à permettre à l'utilisateur destinataire de télécharger le conteneur crypté en vue de le décrypter à l'aide de sa clé privée. Diverses caractéristiques supplémentaires peuvent être prévues, seules ou en combinaison. Ainsi, par exemple : - L'utilisateur émetteur étant distinct de l'utilisateur destinataire, les 30 profils associés, dans la base de données de profils, à l'utilisateur émetteur et à l'utilisateur destinataire sont distincts. Le délai d'écriture est avantageusement défini par l'utilisateur émetteur. - Le délai d'archivage peut être défini par l'utilisateur destinataire, 35 ou automatiquement. LAP B009 FR 4 Avant sa transmission au système informatique, le conteneur est avantageusement crypté, au niveau de l'utilisateur émetteur, à l'aide de sa clé privée. Dans ce cas, au niveau du système informatique, le conteneur chiffré à l'aide de la clé privé de 5 l'utilisateur émetteur est d'abord décrypté à l'aide de la clé publique de celui-ci avant d'être recrypté à l'aide de la clé publique de l'utilisateur destinataire. Il peut être prévu la réception, par le serveur de communication, d'une notification de décryptage du conteneur par l'utilisateur 10 destinataire. Dans ce cas, il est avantageusement prévu la destruction du conteneur sur le serveur de fichiers après réception de la notification de décryptage par l'utilisateur destinataire. 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 15 référence aux dessins annexés dans lesquels : 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 ; La FIG.2 est schéma similaire à la FIG.1, illustrant la phase d'archivage ; 20 - La FIG.3 est un schéma similaire à la FIG.1, illustrant la phase de partage ; La FIG.4 est un schéma illustrant différentes étapes du procédé de l'invention ; La FIG.5 est un schéma illustrant l'extraction d'une donnée 25 d'horodatage d'une chaîne de blocs. 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 30 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 35 « utilisateur » désigne indirectement un (ou plusieurs) utilisateur(s) LAP B009 FR 5 réel(s) (par ex. une personne physique ou morale) associé(s) à cet appareil. Le système 1 informatique comprend, en premier lieu, un serveur 4 de communication, programmé pour pouvoir établir des sessions de 5 communication (de préférence sécurisées) avec des utilisateurs (notamment les utilisateurs A et B). Le système 1 informatique comprend, en deuxième lieu, un serveur 5 de fichiers. Le système 1 informatique comprend, en troisième lieu, une base 7 10 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. Chaque profil PA, PB utilisateur comprend au moins un identifiant 15 IDA, IDB lié à l'utilisateur (par ex. un nom, une adresse électronique, un numéro de téléphone) et au moins une clé ZA, ZB cryptographique publique. A cette clé ZA, ZB cryptographique publique correspond une clé cryptographique AZ, BZ privée. 20 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. 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 25 é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. 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 30 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. L'utilisateur A émetteur inclut un espace mémoire dans lequel 35 peuvent être créés des répertoires ou « conteneurs » 6 de fichiers de données à partager. Dans ces conteneurs 6 peuvent être créés, déposés, copiés, collés, supprimés, modifiés, des fichiers 2 de données LAP B009 FR 6 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. Les opérations destinées à permettre le partage des fichiers 2 5 entre l'utilisateur A émetteur et l'utilisateur B destinataire sont regroupées en trois phases. Une première phase, dite d'écriture, inclut les opérations consistant à : o Créer localement au niveau de l'utilisateur A émetteur un 10 conteneur 6 de fichiers 2 de données à partager, associé à un identifiant IDB de l'utilisateur B destinataire ; 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. 15 Ces opérations sont avantageusement pilotées au moyen d'une application locale implémentée dans l'utilisateur A émetteur. 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 20 l'utilisateur A émetteur lui-même, ou être téléchargés depuis des serveurs distants via le réseau 3. Le délai T1 d'écriture (schématisé sur les dessins par un premier compte à rebours) est avantageusement défini par l'utilisateur A émetteur. le délai T1 d'écriture peut également être défini 25 automatiquement par l'application locale. Une deuxième phase, dite d'archivage, inclut les opérations consistant à : o A l'expiration du délai T1 d'écriture, transmettre le conteneur 6 au système 1 informatique ; 30 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 ; 35 o Tant que le délai T2 d'archivage n'a pas expiré, stocker le conteneur 6B crypté dans le serveur 5 de fichiers en en interdisant l'accès au moins à l'utilisateur B destinataire. LAP B009 FR 7 En pratique, à l'expiration du délai Ti d'écriture, l'utilisateur A émetteur adresse au système 1 informatique, via le réseau 3, la requête de transmission du conteneur 6. Cette requête transite par le serveur 4 de communication, qui effectue les vérifications d'identité de 5 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, 10 comme illustré sur la FIG.1) au serveur 5 de fichiers. Selon un mode préféré de réalisation, avant sa transmission au système 1 informatique, le conteneur 6 est crypté par l'utilisateur A émetteur au moyen de sa clé AZ privée, de sorte qu'il est impossible, pour toute entité ne disposant pas de la clé ZA publique de l'utilisateur 15 A émetteur, de décrypter le conteneur 6. Cette opération sécurise (certes temporairement et insuffisamment) le conteneur 6. Une fois reçu le conteneur 6, le système le décrypte (de préférence immédiatement) à l'aide de la clé publique de l'utilisateur A émetteur (stockée dans son profil PA), pour le recrypter à l'aide de la clé ZB publique de 20 l'utilisateur B destinataire. Le délai T2 d'archivage (schématisé sur les dessins par un deuxième compte à rebours) peut être défini par l'utilisateur A émetteur, ou automatiquement. Le délai T2 d'archivage est avantageusement implémenté au sein du système 1 informatique, et 25 plus précisément dans l'unité 8 de contrôle. 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. Le contrôle de l'expiration du délai T2 d'archivage est réalisé par 30 interrogation d'un registre informatique constitué en chaîne de blocs ou blockchain 9 (selon la terminologie anglo-saxonne). 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 : 35 Un corps 11 comprenant des signatures numériques de transactions (c'est-à-dire d'échanges de données) passées entre des utilisateurs, LAP B009 FR 8 Un en-tête 12 contenant des métadonnées parmi lesquelles : - 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 5 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 ; - L'empreinte numérique (appelée pointeur) du bloc 10 10 précédent ; 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 15 ou REVENDICATIONS1. 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é : D'un serveur (4) de communication, - D'au moins un serveur (5) de fichiers, et D'une base (7) de données de profils contenant en mémoire des profils (PA, PB) associés destinataire aux utilisateurs (A, B), chaque profil (PA, PB) comprenant au moins un identifiant (IDA, IDB) et au moins une clé (ZA, ZB) cryptographique publique à laquelle correspond une clé (AZ, BZ) privée ; 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 ; Ce procédé étant caractérisé en ce qu'il comprend trois phases successives : Une phase d'écriture, qui inclut les opérations consistant à : o Créer localement au niveau de l'utilisateur (A) émetteur un conteneur (6) de données à partager, associé à un identifiant (IDB) de l'utilisateur (B) destinataire ; o Associer au conteneur (6) un délai (Ti) prédéterminé d'écriture ; o Tant que le délai (Ti) 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 A l'expiration du délai (Ti) d'écriture, transmettre le conteneur (6) au système (1) informatique ; 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 Stocker le conteneur (6B) crypté dans le serveur (5) de fichiers en en interdisant l'accès au moins à l'utilisateur (B) destinataire ; LAP B009 FR 15 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 ayant chacun une donnée d'horodatage ; 5 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 ; Tant que le délai (T2) d'archivage est antérieur à la date 10 courante, répéter la séquence de vérification en maintenant le stockage du conteneur (6Bk) crypté ; 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 15 le conteneur (6B) crypté en vue de le décrypter à l'aide de sa clé (BZ) privée. 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) 20 émetteur et à l'utilisateur (B) destinataire sont distincts. 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. 4. Procédé selon l'une des revendications 1 à 3, dans lequel le délai (T2) d'archivage est défini par l'utilisateur (A) émetteur. 25 5. Procédé selon l'une des revendications 1 à 3, dans lequel le délai (T2) d'archivage est défini automatiquement. 6. Procédé selon l'une des revendications 1 à 5, dans lequel, avant sa transmission au système (1) informatique, le conteneur (6) est crypté, au niveau de l'utilisateur (A) émetteur, à l'aide de sa clé (AZ) 30 privée. 7. Procédé selon la revendication 6, dans lequel, au niveau du système (1) informatique, le conteneur (6) chiffré à l'aide de la clé privé (AZ) de l'utilisateur (A) émetteur est d'abord décrypté à l'aide de la clé publique (ZA) de l'utilisateur (A) émetteur avant d'être recrypté à l'aide 35 de la clé publique de l'utilisateur (B) destinataire. 8. Procédé selon l'une des revendications précédentes, qui comprend la réception, par le serveur (4) de communication, d'une LAP B009 FR 16 notification de décryptage du conteneur (6) par l'utilisateur (B) destinataire. 9. Procédé selon la revendication 8, qui comprend la destruction du conteneur (6B) crypté sur le serveur (5) de fichiers après réception 5 de la notification de décryptage par l'utilisateur (B) destinataire. LAP B009 FR