Brevet FR3081067A1 — publié le 20191115

Procédé et système sécurisés de partage retardé de données entre au moins un utilisateur émetteur et au moins un utilisateur destinataire L'invention a trait au domaine de l'informatique, et plus précisément du partage de fichiers de données informatiques entre au moins un utilisateur émetteur et au moins 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 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 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 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. Bien souvent, l'acheminement prend quelques secondes. Le destinataire peut alors ouvrir et lire le message provenant de l'émetteur quand bon lui semble. 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 20 sécurité, tout en préservant une certaine simplicité d'utilisation. A cet effet, il est proposé, en premier lieu, un procédé de partage de fichiers de données informatiques entre au moins un utilisateur émetteur et au moins un utilisateur destinataire, ce procédé comprenant trois phases successives : 25 - Une phase d'écriture, qui inclut les opérations consistant à : o Créer, sur requête d'au moins un utilisateur émetteur, au moins un conteneur de données à partager, associé à l'utilisateur (ou à chaque utilisateur) destinataire ; o Tant qu'aucune instruction de fin d'écriture n'a été prise en 30 compte, permettre à chaque utilisateur émetteur l'accès en écriture au conteneur ; Une phase d'archivage, qui inclut les opérations consistant à : o A la prise en compte de l'instruction de fin d'écriture, crypter le ou chaque conteneur pour former un conteneur crypté 35 associé à chaque destinataire ; o Associer au (ou à chaque) conteneur crypté un délai prédéterminé d'archivage ; 3 o Tant que le délai d'archivage n'a pas expiré, stocker le conteneur crypté en en interdisant l'accès au moins à l'utilisateur destinataire (ou à chaque utilisateur destinataire) ; 5 Une phase de partage, qui inclut l'opération consistant, à l'expiration du délai d'archivage, à décrypter le conteneur pour permettre à l'utilisateur (ou à chaque utilisateur) destinataire d'y accéder. Diverses caractéristiques supplémentaires peuvent être prévues, 10 seules ou en combinaison. Ainsi, par exemple : Il est avantageusement prévu, pendant la phase d'écriture, une opération consistant à associer au conteneur un délai prédéterminé d'écriture à l'expiration duquel une instruction de fin d'écriture est émise. 15 - Le délai d'écriture peut être défini par l'utilisateur émetteur, ou automatiquement. Le délai d'archivage peut être défini par l'utilisateur émetteur, ou automatiquement. Le délai d'archivage peut être défini séparément pour chaque 20 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 référence aux dessins annexés dans lesquels : La FIG.1 est un schéma synthétique d'un système informatique 25 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 ; La FIG.3 est un schéma similaire à la FIG.1, illustrant la phase de partage ; 30 - La FIG.4 est un schéma illustrant différentes étapes du procédé de l'invention. 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 au moins un utilisateur Ai émetteur (i un entier tel que 1 i N ; 35 N un entier tel que N 1) et au moins un utilisateur Bk destinataire (k un entier tel que 1 k ; P un entier tel que P 1). 4 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 à 5 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. 10 Le système 1 informatique comprend, en premier lieu, un serveur 4 de communication, programmé pour pouvoir établir des sessions de communication (de préférence sécurisées) avec des utilisateurs (notamment avec les utilisateurs Ai et Bk). Le système 1 informatique comprend, en deuxième lieu, un serveur 15 5 de fichiers, sur lequel peuvent être créés ou déposé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, 20 tableur), des fichiers de son, d'image, ou encore de vidéo. Le système 1 informatique comprend, en troisième lieu, une base 7 de données de profils qui contient en mémoire des profils PAi, PBk d'utilisateurs. En l'espèce, la base de données contient au moins un profil PAi associé à chaque utilisateur Ai émetteur, et un profil PBk 25 associé à chaque utilisateur Bk destinataire. Chaque profil PAi, PBk utilisateur comprend au moins un identifiant IDAi, IDBk lié à l'utilisateur Ai, Bk respectif (par ex. un nom, une adresse électronique, un numéro de téléphone) et au moins une clé ZAi, ZBk cryptographique publique respective. 30 A cette clé ZAi, ZBk cryptographique publique correspond une clé cryptographique AiZ, BkZ respective privée. La clé AiZ, BkZ cryptographique privée associée à chaque utilisateur Ai ou Bk est stockée localement dans un espace mémoire de celui-ci. 35 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 5 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. Le partage de données entre au moins un utilisateur Ai émetteur et 5 au moins un utilisateur Bk destinataire comprend trois phases. Une première phase, dite d'écriture, inclut les opérations consistant à : o Créer, sur requête d'au moins un utilisateur Ai émetteur, au moins un conteneur 6 de données à partager ; 10 o Tant qu'aucune instruction de fin d'écriture n'a été prise en compte, permettre à chaque utilisateur Ai émetteur l'accès en écriture au conteneur 6. Le conteneur 6 peut être créé localement par un utilisateur Ai émetteur, par exemple lorsque cet utilisateur Ai émetteur est unique 15 (N=1 ; i=1), ou, comme dans l'exemple illustré, sur le serveur 5 de fichiers, notamment lorsque plusieurs utilisateurs Ai émetteurs partagent ce conteneur 6. Pendant la phase d'écriture, chaque utilisateur Ai émetteur est autorisé à modifier le conteneur 6 en lui ajoutant ou en lui soustrayant 20 des fichiers 2 de données. Ces fichiers 2 de données peuvent être issus du (ou de chaque) terminal Ai lui-même, ou être téléchargés depuis des serveurs distants via le réseau 3. Selon un mode préféré de réalisation, un délai T1 d'écriture (schématisé sur les dessins par un premier compte à rebours) est 25 avantageusement défini par un utilisateur Al émetteur maître, ou automatiquement par l'unité 8 de contrôle. Le délai T1 d'écriture est avantageusement implémenté au sein du système 1 informatique, par ex. au moyen d'une horloge interne pilotée par (ou intégrée à) l'unité 8 de contrôle. 30 C'est à l'expiration de ce délai T1 d'écriture qu'est émise l'instruction de fin d'écriture. Une deuxième phase, dite d'archivage, inclut les opérations consistant à : o A la prise en compte de l'instruction de fin d'écriture (c'est-à- 35 dire, dans l'exemple présenté ci-dessus, à la fin du délai T1 d'écriture), crypter le ou chaque conteneur (6) pour former un conteneur (6Bk) crypté associé à chaque destinataire (Bk) ; 6 o Associer au (ou à chaque) conteneur (6Bk) crypté un délai (T2) prédéterminé d'archivage ; o Tant que le délai (T2) d'archivage n'a pas expiré, stocker le conteneur (6Bk) crypté en en interdisant l'accès au moins à 5 l'utilisateur (Bk) destinataire. Selon un mode préféré de réalisation, le cryptage est réalisé au moyen de la clé ZBk publique du (ou de chaque) utilisateur Bk destinataire. Lorsque plusieurs utilisateurs Bk sont désignés à l'occasion de la création du conteneur 6, le conteneur 6 est 10 avantageusement copié en autant d'exemplaires que de destinataires, chaque copie étant dans ce cas de préférence cryptée au moyen de la clé ZBk publique de l'utilisateur Bk correspondant. Le délai T2 d'archivage (schématisé sur les dessins par un deuxième compte à rebours) peut être défini par l'utilisateur Al 15 émetteur maître, 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. Le délai T2 d'archivage est avantageusement supérieur à une 20 heure. Il est de préférence supérieur à un jour. Il peut atteindre un mois, voire une ou plusieurs années. Le délai T2 d'archivage peut être défini séparément pour chaque utilisateur Bk destinataire. Selon un mode préféré de réalisation, l'unité 8 de contrôle est 25 dépourvue d'instructions pour communiquer à chaque l'utilisateur Bk destinataire, pendant la phase d'archivage, l'existence même d'un conteneur 6 ou d'un conteneur 6Bk crypté à son attention, de sorte que les utilisateurs réels associés aux utilisateurs Bk destinataires sont tenus dans l'ignorance de cette existence. 30 Une troisième phase, dite de partage, inclut l'opération consistant, à l'expiration du délai T2 d'archivage, à décrypter le conteneur 6 (ou chaque copie de celui-ci) pour en permettre l'accès à l'utilisateur (ou à chaque utilisateur) (Bk) destinataire. En pratique, la phase de partage consiste à permettre à chaque 35 utilisateur Bk destinataire de télécharger le conteneur 6Bk crypté en vue de le décrypter à l'aide de sa clé BkZ privée. 7 Concrètement, l'unité 8 de contrôle est par ex. programmée pour adresser à l'utilisateur Bk destinataire (notamment via le serveur 4 de communication) une notification de mise à disposition du conteneur 6Bk crypté. Cette notification contient avantageusement un identifiant IDAi 5 associé à au moins un utilisateur Ai émetteur, ou un identifiant IDAi associé à chaque utilisateur Ai émetteur. Le téléchargement est alors de préférence commandé par l'utilisateur Bk destinataire, plutôt qu'effectué automatiquement sur commande de l'unité 8 de contrôle. La connaissance au moins du profil IDAi de l'utilisateur (ou de chaque 10 utilisateur) Ai émetteur par l'utilisateur Bk destinataire peut constituer pour celui-ci un indice de confiance de la provenance et/ou de l'innocuité des données partagées par les utilisateurs Ai émetteurs. Concrètement, chaque conteneur 6Bk crypté est adressé, sur commande de l'unité 8 de contrôle, à l'utilisateur Bk destinataire 15 correspondant via le réseau 3. Le décryptage est réalisé localement par l'utilisateur Bk destinataire, par l'intermédiaire de sa clé BkZ privée stockée localement. L'utilisateur Bk destinataire peut alors accéder en lecture (et le cas échéant en écriture) au conteneur 6, c'est-à-dire aux fichiers 2 de données qu'il contient, tels que déposés à l'initiative de 20 l'utilisateur A émetteur. A l'issue du décryptage, les fichiers 2 de données peuvent être stockés localement par chaque utilisateur Bk destinataire. A l'issue du décryptage, chaque utilisateur Bk destinataire peut adresser (de manière automatique ou sur commande externe) au 25 système 1 une notification de décryptage. Cette notification est reçue par le serveur 4 de communication. Dans ce cas, il est avantageusement prévu la destruction du (ou de chaque) conteneur 6Bk crypté correspondant sur le serveur 5 de fichiers après réception, par le système 1, de la notification de 30 décryptage. 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. Le procédé qui vient d'être présenté offre un avantage certain en termes de sécurité par comparaison avec les procédés (respectivement 35 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 (ou chaque utilisateur) Ai émetteur ou par l'un 8 quelconque des utilisateurs Bk destinataires. Toute usurpation d'identité de l'un quelconque d'entre eux est inopérante puisqu'il est nécessaire de disposer de la clé privée de l'utilisateur Bk destinataire pour décrypter le conteneur 6Bk. 5 On voit même que le contrôle exercé par l'utilisateur (ou par chaque utilisateur) Ai sur le conteneur 6 (c'est-à-dire sur les fichiers 2 de données à partager) cesse à l'expiration du délai T1 d'écriture, alors même que son contenu n'est encore accessible pour aucun utilisateur Bk destinataire. Le retard (prédéterminé) avec lequel les utilisateurs Bk 10 destinataires accède aux fichiers 2 de données partagées par les utilisateurs Ai émetteurs rend impossible tout dialogue entre eux en temps réel, au bénéfice de la parcimonie avec laquelle les utilisateurs échangent des données entre eux. Il en résulte notamment une optimisation de la bande passante nécessaire, dans les réseaux, REVENDICATIONS1. Procédé de partage de fichiers (2) de données informatiques entre au moins un utilisateur (Ai) émetteur (i un entier tel que 1 N ; N un entier tel que N 1) et au moins un utilisateur (Bk) destinataire (k un entier tel que 1 k P ; P un entier tel que P 1 ;), 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, sur requête d'au moins un utilisateur (Ai) émetteur, au moins un conteneur (6) de données à partager, associé à l'utilisateur (ou à chaque utilisateur) (Bk) destinataire ; o Tant qu'aucune instruction de fin d'écriture n'a été prise en compte, permettre à chaque utilisateur (Ai) émetteur l'accès en écriture au conteneur (6) ; Une phase d'archivage, qui inclut les opérations consistant à : o A la prise en compte de l'instruction de fin d'écriture, crypter le ou chaque conteneur (6) pour former un conteneur (6Bk) crypté associé à chaque destinataire (Bk) ; o Associer au (ou à chaque) conteneur (6Bk) crypté un délai (T2) prédéterminé d'archivage ; o Tant que le délai (T2) d'archivage n'a pas expiré, stocker le conteneur (6Bk) crypté en en interdisant l'accès au moins à l'utilisateur (Bk) destinataire ; - Une phase de partage, qui inclut l'opération consistant, à l'expiration du délai (T2) d'archivage, à décrypter le conteneur (6) pour en permettre l'accès à l'utilisateur (ou à chaque utilisateur) (Bk) destinataire. 2. Procédé selon la revendication 1, qui comprend, pendant la phase d'écriture, une opération consistant à associer au conteneur (6) un délai (T1) prédéterminé d'écriture à l'expiration duquel une instruction de fin d'écriture est émise. 3. Procédé selon la revendication 2, dans lequel le délai (T1) d'écriture est défini par un utilisateur (Ai) émetteur. 4. Procédé selon la revendication 2, dans lequel le délai (T1) d'écriture est défini automatiquement. 10 5. Procédé selon l'une des revendications 1 à 4, dans lequel le délai (T2) d'archivage est défini par un utilisateur (Ai) émetteur. 6. Procédé selon l'une des revendications 1 à 4, dans lequel le délai (T2) d'archivage est défini automatiquement. 5