Brevet FR3081062A1 — publié le 20191115

Procédé et système sécurisés de partage retardé de données entre un utilisateur émetteur et plusieurs utilisateurs destinataires, avec création distante d'un conteneur 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 plusieurs utilisateurs destinataires. 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. 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é, en premier lieu, un procédé de partage de fichiers de données informatiques entre un utilisateur émetteur et P utilisateurs destinataires (P un entier, P 2), 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 aux utilisateurs, chaque profil comprenant au moins un identifiant et au moins une clé cryptographique publique à laquelle correspond une clé privée, Ce procédé comprenant, au niveau du système, trois phases successives : Une phase d'écriture, qui inclut les opérations consistant à : 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 chaque utilisateur destinataire ; 3 o Créer le conteneur dans un serveur de fichiers ; 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 ; 5 Une phase d'archivage, qui inclut les opérations consistant à : o A l'expiration du délai d'écriture, interdire à l'utilisateur émetteur l'accès, au moins en écriture, au conteneur ; o Effectuer une copie du conteneur pour chaque utilisateur destinataire, en associant chaque copie au profil 10 correspondant, dans la base de données, à l'utilisateur destinataire ; o Crypter chaque copie du conteneur à l'aide de la clé publique de l'utilisateur destinataire pour former un conteneur crypté ; o Associer à chaque conteneur crypté un délai prédéterminé 15 d'archivage ; o Tant que le délai d'archivage n'a pas expiré, stocker le conteneur crypté dans un serveur de fichiers en en interdisant l'accès au moins à l'utilisateur destinataire ; Une phase de partage, qui inclut l'opération consistant, à 20 l'expiration du délai, à 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 : 25 - 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 30 utilisateur destinataire. Il peut être prévu la réception, par le serveur de communication, d'une notification de décryptage du conteneur par chaque utilisateur récepteur. Dans ce cas, il est avantageusement prévu la destruction du conteneur sur le serveur de fichiers après réception 35 de la notification de décryptage par l'utilisateur destinataire. 4 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 : Un serveur de communication, 5 Au moins un serveur de fichiers, et 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, 10 Ce système comprenant une unité de contrôle comprenant une mémoire inscriptible contenant des instructions pour opérer : Une phase d'écriture, qui inclut les opérations consistant à : o Recevoir de l'utilisateur émetteur une requête contenant une instruction de création d'un conteneur de données à partager 15 et un identifiant de chaque utilisateur destinataire ; o Créer le conteneur dans un serveur de fichiers ; 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 ; 20 - Une phase d'archivage, qui inclut les opérations consistant à : o A l'expiration du délai d'écriture, interdire à l'utilisateur émetteur l'accès, au moins en écriture, au conteneur ; o Effectuer une copie du conteneur pour chaque utilisateur destinataire, en associant chaque copie au profil 25 correspondant, dans la base de données, à l'utilisateur destinataire ; o Crypter chaque copie du conteneur à l'aide de la clé publique de l'utilisateur destinataire pour former un conteneur crypté ; o Associer à chaque conteneur crypté un délai prédéterminé 30 d'archivage ; o Tant que le délai d'archivage n'a pas expiré, stocker le conteneur crypté dans un serveur de fichiers en en interdisant l'accès au moins à l'utilisateur destinataire ; Une phase de partage, qui inclut l'opération consistant, à 35 l'expiration du délai, à permettre à l'utilisateur destinataire de 5 télécharger le conteneur crypté en vue de le décrypter à l'aide de sa clé privée. 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 5 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 ; 10 - 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. Sur les FIG.1 à FIG.3 est représenté un système 1 informatique, 15 destiné à permettre le partage de fichiers 2 de données informatiques entre un utilisateur A émetteur et P utilisateurs Bk destinataires (P un entier tel que 2 ; k un entier tel que 1 k 1='). Le terme « utilisateur » désigne ici, concrètement, un appareil électronique, tel qu'un smartphone, un ordinateur, une tablette, et pourvu d'une interface 20 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) 25 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 communication (de préférence sécurisées) avec des utilisateurs 30 (notamment avec les utilisateurs A et Bk). Le système 1 informatique comprend, en deuxième lieu, un serveur 5 de fichiers, sur lequel peuvent être créés des répertoires ou « conteneurs » 6 de fichiers de données à partager. Dans ces conteneurs peuvent être créés, déposés, copiés, collés, supprimés, 35 modifiés, des fichiers 2 de données de tout type, par ex. des fichiers 6 issus d'applications de bureautique (par ex. traitement de texte, 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 PA, PBk 5 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 PBk associé à chaque utilisateur B destinataire. Chaque profil PA, PBk utilisateur comprend au moins un identifiant IDA, IDBk lié à l'utilisateur A, B respectif (par ex. un nom, une adresse 10 électronique, un numéro de téléphone) et au moins une clé ZA, ZBk cryptographique publique respective. A cette clé ZA, ZBk cryptographique publique correspond une clé cryptographique AZ, BkZ respective privée. La clé AZ, BkZ cryptographique privée associée à chaque 15 utilisateur A ou Bk est stockée localement dans un espace mémoire de celui-ci. 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 20 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'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 25 phases successives. Une première phase, dite d'écriture, inclut les opérations consistant à : o Recevoir de l'utilisateur A émetteur une requête contenant une instruction de création d'un conteneur 6 et un identifiant 30 IDBk de chaque utilisateur Bk destinataire ; o Créer le conteneur 6 dans un serveur 5 de fichiers ; 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. 35 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 7 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 5 é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. Pendant la phase d'écriture, l'utilisateur A émetteur est autorisé à modifier le conteneur 6 en lui ajoutant ou en lui soustrayant des fichiers 10 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. 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 15 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. Une deuxième phase, dite d'archivage, inclut les opérations 20 consistant à : 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 Effectuer une copie du conteneur 6 pour chaque utilisateur Bk destinataire, en associant chaque copie au profil IDBk 25 correspondant, dans la base 7 de données, à l'utilisateur Bk destinataire ; o Crypter chaque copie du conteneur 6 à l'aide de la clé ZBk publique de l'utilisateur Bk destinataire pour former un conteneur 6Bk crypté ; 30 o Associer à 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é dans un serveur 5 de fichiers en en interdisant l'accès au moins à l'utilisateur Bk destinataire. 35 On a illustré sur la FIG.4 l'obtention de deux conteneurs 6Bk, 6BI un entier tel que I k) cryptés à l'aide, respectivement, des clés 8 publiques ZBk, ZBI de deux utilisateurs Bk, BI destinataires distincts ayant chacun leur clé BkZ, BIZ privée respective. 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 5 é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. Le délai T2 d'archivage est avantageusement supérieur à une 10 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 15 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. 20 Une troisième phase, dite de partage, inclut l'opération consistant, à l'expiration du délai T2 d'archivage, à permettre à chaque utilisateur Bk destinataire de télécharger le conteneur 6Bk crypté en vue de le décrypter à l'aide de sa clé BkZ privée. En pratique, l'unité 8 de contrôle est par ex. programmée pour 25 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 IDA associé à l'utilisateur A émetteur. Le téléchargement est alors de préférence commandé par l'utilisateur Bk destinataire, plutôt 30 qu'effectué automatiquement sur commande de l'unité 8 de contrôle. La connaissance du profil IDA de l'utilisateur A 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 l'utilisateur A émetteur. 35 Concrètement, chaque conteneur 6Bk crypté est adressé, sur commande de l'unité 8 de contrôle, à l'utilisateur Bk destinataire correspondant via le réseau 3. Le décryptage est réalisé localement par 9 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 5 l'utilisateur A émetteur. On a illustré sur la FIG.4 l'envoi des deux conteneurs 6Bk, 6BI cryptés aux deux utilisateurs Bk, BI destinataires respectifs : on voit que chaque utilisateur Bk, BI destinataire effectue le décryptage à l'aide de sa clé BkZ, BIZ privée respective pour accéder aux fichiers 2. 10 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 système 1 une notification de décryptage. Cette notification est reçue 15 par le serveur 4 de communication. Dans ce cas, il est avantageusement prévu la destruction du conteneur 6Bk crypté correspondant sur le serveur 5 de fichiers après réception, par le système 1, de la notification de décryptage. De la sorte, de l'espace mémoire est libéré au sein du serveur 5 de 20 fichiers, ce qui facilite la création ultérieure de nouveaux conteneurs 6. Le procédé (et le système) qui vient d'être présenté offre un avantage certain en termes de sécurité par comparaison avec les procédés (respectivement les systèmes) connus. En effet, pendant la phase d'archivage, les données des fichiers 2 ne peuvent pas être lues 25 - ni a fortiori modifiés - par l'utilisateur A émetteur ou par l'un quelconque des utilisateurs Bk destinataires. Toute usurpation d'identité de l'un quelconque d'entre eux est inopérante puisqu'il est nécessaire de disposer de la clé privée de l'utilisateur Bk destinataire pour décrypter le conteneur 6Bk. 30 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 encore accessible pour aucun utilisateur Bk destinataire. Le retard (prédéterminé) avec lequel les utilisateurs Bk 35 destinataires accède aux fichiers 2 de donné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 10 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 un utilisateur (A) émetteur et P utilisateurs (Bk) destinataires (P un entier tel que P 2 ; k un entier tel que 1 2. Procédé selon la revendication 1, dans lequel le délai (T1) d'écriture est défini par l'utilisateur (A) émetteur. 15 3. Procédé selon la revendication 1, dans lequel le délai (T1) d'écriture est défini automatiquement. 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. 5. Procédé selon l'une des revendications 1 à 3, dans lequel le 20 délai (T2) d'archivage est défini automatiquement. 6. Procédé selon l'une des revendications précédentes, dans lequel le délai (T2) d'archivage est défini séparément pour chaque utilisateur (Bk) destinataire. 7. Procédé selon l'une des revendications précédentes, qui 25 comprend la réception, par le serveur (4) de communication, d'une notification de décryptage du conteneur (6) par chaque utilisateur (Bk) destinataire. 8. Procédé selon la revendication 7, qui comprend la destruction du conteneur (6Bk) crypté sur le serveur (5) de fichiers après réception 30 de la notification de décryptage par l'utilisateur (Bk) destinataire. 9. Système (1) informatique qui, pour la mise en oeuvre du procédé selon l'une des revendications précédentes, comprend : Un serveur (4) de communication, Au moins un serveur (5) de fichiers, et 35 - Une base (7) de données de profils contenant en mémoire des profils (PA, PBk) associés respectivement aux utilisateurs (A, Bk), 13 chaque profil (PA, PBk) comprenant au moins un identifiant (IDA, IDBk) et au moins une clé (ZA, ZBk) cryptographique publique à laquelle correspond une clé (AZ, BkZ) privée, Ce système (1) comprenant en outre une unité (8) de contrôle 5 comprenant une mémoire programmable contenant des instructions pour opérer : Une phase d'écriture, qui inclut les opérations consistant à : o Recevoir de l'utilisateur (A) émetteur une requête contenant une instruction de création d'un conteneur (6) de données à 10 partager et un identifiant (IDBk) de chaque utilisateur (Bk) destinataire ; o Créer le conteneur (6) dans un serveur (5) de fichiers ; o Associer au conteneur (6) un délai (Ti) prédéterminé d'écriture ; 15 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, interdire à l'utilisateur (A) émetteur l'accès, au moins en écriture, au conteneur (6) ; 20 o Effectuer une copie du conteneur (6) pour chaque utilisateur (Bk) destinataire, en associant chaque copie au profil (IDBk) correspondant, dans la base (7) de données, à l'utilisateur (Bk) destinataire ; o Crypter chaque copie du conteneur (6) à l'aide de la clé (ZBk) 25 publique de l'utilisateur (Bk) destinataire pour former un conteneur (6Bk) crypté ; o Associer à 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 30 conteneur (6Bk) crypté dans un serveur (5) de fichiers 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, à permettre à l'utilisateur (Bk) destinataire de télécharger le conteneur (6Bk) crypté en vue 35 de le décrypter à l'aide de sa clé (BkZ) privée.