FR 3022716 A1 20151225 FR 1455854 A 20140624 1 PROCÉDÉ DE PARTAGE DE FICHIERS NUMÉRIQUES ENTRE PLUSIEURS ORDINATEURS, ET ORDINATEUR, ENSEMBLE DE STOCKAGE DE DONNÉES ET SYSTEME DE PARTAGE DE FICHIERS NUMÉRIQUES ASSOCIÉS Domaine technique de l'invention [1] La présente invention concerne les procédés et systèmes de partage de fichiers numériques entre plusieurs ordinateurs reliés via un réseau de communication. La présente invention trouve une application particulière dans les procédés et systèmes de partage de données confidentielles, telles que par exemple des données médicales de patients ou encore des données juridiques confidentielles. Etat de la technique antérieure [2] II est connu des procédés de partage de fichiers numériques entre plusieurs ordinateurs reliés via un réseau de communication, typiquement via un réseau de communication offrant un accès internet. Chaque ordinateur est associé à un utilisateur, et au moins un fichier numérique destiné à être partagé est stocké sur l'ordinateur d'un premier utilisateur. [3] Un procédé de ce type connu est par exemple le procédé fourni par la société Dropbox Inc. permettant de synchroniser des données informatiques et de les partager entre utilisateurs. Les données présentes sur l'ordinateur d'un premier utilisateur sont copiées puis envoyées avec l'assistance d'un logiciel dans un service de stockage permettant ensuite de les synchroniser et de les partager avec d'autres utilisateurs, autorisés par le premier utilisateur. Toutefois, les données synchronisées et partagées via un tel procédé sont potentiellement accessibles par un tiers dans les cas suivants: - en cas de défaillance de sécurité du fournisseur du service de stockage, ou 3022 716 2 - en cas de défaillance des méthodes de sécurisation du transport de la donnée entre l'utilisateur et le service de stockage, ou - dans le cas où une autorité du pays où est stockée la donnée a le droit d'accéder à la donnée. 5 [04] Ceci introduit un risque quant à la sécurité du partage des données, en particulier un risque d'accès, par un utilisateur non autorisé, aux données partagées. [5] Un autre procédé connu est le procédé proposé par le service internet MEGA permettant de partager un fichier via une application web 10 dans le navigateur internet d'un premier utilisateur. Un lien de téléchargement vers ce fichier est alors mis à disposition de plusieurs autres utilisateurs. Dans le cadre de ce service, la donnée envoyée est chiffrée par l'application web coté client et empêche le fournisseur de service de stockage ou tout autre intermédiaire d'avoir accès aux données 15 envoyées par l'utilisateur. En revanche, ce type de service ne permet pas la synchronisation des données entre utilisateurs. [6] II existe donc un réel besoin d'un procédé de partage de fichiers numériques palliant ces défauts, inconvénients et obstacles de l'art antérieur, en particulier d'un procédé permettant d'assurer de manière 20 simple et fiable le partage et la synchronisation de données numériques, tout en améliorant le niveau de confidentialité des données partagées. Exposé de l'invention [7] Pour pallier à au moins un des inconvénients cités précédemment, 25 l'invention a pour objet un procédé de partage de fichiers numériques entre plusieurs ordinateurs reliés via un réseau de communication, chaque ordinateur étant associé à un utilisateur et étant relié, via le réseau de communication, à un dispositif de stockage de clefs cryptographiques et à un ensemble de stockage de données, au moins un fichier numérique 30 destiné à être partagé étant stocké sur un premier ordinateur d'un premier utilisateur, le procédé comprenant : 3022716 3 - une étape de génération, par le premier ordinateur et par au moins un ordinateur de chaque utilisateur distinct du premier utilisateur, d'une première clef cryptographique publique et d'une deuxième clef cryptographique privée associée à la clef cryptographique 5 publique dans un algorithme de chiffrement asymétrique, la clef cryptographique publique étant associée à l'utilisateur dudit ordinateur, - une étape de transmission au dispositif de stockage de clefs cryptographiques, par chaque ordinateur ayant généré une clef 10 cryptographique publique, de ladite clef cryptographique publique, - une étape de stockage, par chaque ordinateur ayant généré une clef cryptographique privée, de ladite clef cryptographique privée, - une étape de génération, par le premier ordinateur, d'une troisième clef cryptographique unique et aléatoire, 15 - une étape d'application, par le premier ordinateur, sur au moins une donnée du fichier numérique destiné à être partagé, d'un algorithme de chiffrement symétrique ayant pour paramètre la troisième clef cryptographique, un fichier numérique chiffré comprenant ladite au moins une donnée étant obtenu à l'issue de cette étape 20 d'application, - une étape de téléchargement, depuis le dispositif de stockage, par le premier ordinateur, d'au moins une clef cryptographique publique associée à un deuxième utilisateur distinct du premier utilisateur, - une étape d'application, par le premier ordinateur, sur la troisième 25 clef cryptographique, d'un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique associée au premier utilisateur et d'un algorithme de chiffrement asymétrique ayant pour paramètre ladite au moins une clef cryptographique publique associée à un deuxième utilisateur, un ensemble 30 comprenant au moins deux données chiffrées étant obtenu à l'issue de cette étape d'application, 3022716 4 - une étape de transmission à l'ensemble de stockage de données, par le premier ordinateur, du fichier numérique chiffré et de l'ensemble de données chiffrées. [08] Grâce au fait que chaque clef cryptographique privée, permettant le 5 déchiffrement des données, est une clef gardée secrète par l'ordinateur l'ayant générée, combiné à l'application, sur la troisième clef cryptographique ayant servi au chiffrement symétrique du fichier à partager, d'un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique associée au premier utilisateur et d'un 10 algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique associée à un deuxième utilisateur, l'accès aux données du fichier par un intermédiaire ou tiers non autorisé par l'utilisateur est empêché. En particulier, même le fournisseur du service de stockage de données ne peut avoir accès aux données du fichier partagé. 15 [09] Selon une caractéristique technique particulière de l'invention, l'étape de génération d'une troisième clef cryptographique unique et aléatoire, l'étape d'application d'un algorithme de chiffrement symétrique, l'étape d'application d'un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique associée au premier utilisateur 2 0 et d'un algorithme de chiffrement asymétrique ayant pour paramètre ladite au moins une clef cryptographique publique associée à un deuxième utilisateur et l'étape de transmission du fichier numérique chiffré et de l'ensemble de données chiffrées sont ré-effectuées par le premier ordinateur après chaque nouvelle modification du fichier destiné à être 25 partagé ou d'une partie de ce fichier. [10] Une telle caractéristique permet d'augmenter le niveau de confidentialité des données partagées, en cas de modifications ultérieures de ces données. [11] Dans une réalisation particulière de l'invention, le fichier destiné à 30 être partagé comprend au moins une métadonnée, et l'algorithme de chiffrement symétrique est en outre appliqué sur ladite métadonnée lors de 3022716 5 l'étape d'application, par le premier ordinateur, d'un algorithme de chiffrement symétrique sur au moins une donnée du fichier numérique destiné à être partagé. [12] Cette caractéristique permet de réduire le risque lié à un 5 déchiffrement, par un tiers non autorisé, des données partagées, par exemple par une attaque de type attaque par similitude. Ceci permet ainsi d'augmenter le niveau de confidentialité des données partagées. [13] Selon une caractéristique technique particulière de l'invention, la clef cryptographique privée est stockée dans un support d'enregistrement 10 amovible connecté à une unité centrale de l'ordinateur, et l'accès au support d'enregistrement amovible est protégé par un mot de passe. [14] Une telle caractéristique permet de réduire le risque de piratage d'une mémoire interne de l'ordinateur afin d'accéder à la clef cryptographique privée, et permet ainsi d'augmenter le niveau de 15 confidentialité des données partagées. [15] Avantageusement, le support d'enregistrement amovible comprend un composant de chiffrement cryptographique de données, et la clef cryptographique privée est chiffrée par le composant de chiffrement lors de l'étape de stockage au sein du support d'enregistrement. 2 0 [16] Cette caractéristique permet d'augmenter le niveau de confidentialité des données partagées. [17] Selon une caractéristique technique particulière de l'invention, l'étape d'application d'un algorithme de chiffrement symétrique comprend en outre l'adjonction d'une signature numérique à la ou chaque donnée chiffrée du 25 fichier numérique chiffré, la signature numérique étant associée à ladite donnée. [18] L'adjonction d'une telle signature permet à un utilisateur déchiffrant le fichier chiffré de vérifier, lors du déchiffrement, l'identité de l'utilisateur associé au fichier chiffré, et/ou de vérifier l'intégrité des données chiffrées. 3 0 L'utilisateur peut ainsi s'assurer que les données chiffrées n'ont pas été 3022716 6 altérées pendant leur transport ou pendant leur stockage au sein de l'ensemble de stockage de données. [19] Selon un autre aspect, l'invention a aussi pour objet un ordinateur muni de moyens de génération de clefs cryptographiques, de moyens 5 d'application d'un algorithme de chiffrement symétrique et d'un algorithme de chiffrement asymétrique sur des données informatiques, d'au moins une mémoire adaptée pour stocker au moins un fichier numérique destiné à être partagé et d'au moins une mémoire adaptée pour stocker au moins une clef cryptographique, l'ordinateur étant propre à mettre en oeuvre le 10 procédé de partage de fichiers numériques tel que défini ci-dessus, l'ordinateur étant le premier ordinateur du procédé. [20] Dans une réalisation particulière de l'invention, l'ordinateur comprend en outre au moins un processeur, et la mémoire comprend une application, l'application étant propre, lorsqu'elle est exécutée par ledit au moins un 15 processeur, à mettre en oeuvre le procédé de partage de fichiers numériques tel que défini ci-dessus, l'application comprenant les moyens de génération de clefs cryptographiques et les moyens d'application d'un algorithme de chiffrement symétrique et d'un algorithme de chiffrement asymétrique sur des données informatiques. 20 [21] Selon un autre aspect, l'invention a aussi pour objet un ensemble de stockage de données propre à être relié à plusieurs ordinateurs via un réseau de communication, pour le partage de fichiers numériques entre les ordinateurs, chaque ordinateur étant associé à un utilisateur, au moins un des ordinateurs étant tel que défini ci-dessus, l'ensemble de stockage 25 étant propre à stocker des données chiffrées et des fichiers numériques chiffrés destinés à être partagés entre les ordinateurs. [22] Selon un autre aspect, l'invention a aussi pour objet un système de partage de fichiers numériques, comprenant : - une pluralité d'ordinateurs reliés via un réseau de communication, 30 chaque ordinateur étant associé à un utilisateur, au moins un des ordinateurs étant tel que défini ci-dessus, 3022716 7 - un dispositif de stockage de clefs cryptographiques, relié à chaque ordinateur via le réseau de communication, - un ensemble de stockage de données, relié à chaque ordinateur via le réseau de communication, l'ensemble de stockage étant tel que 5 défini ci-dessus. [23] Selon un autre aspect, l'invention a également pour objet un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des instructions de programme 10 adaptées pour mettre en oeuvre le procédé tel que défini ci-dessus lorsque le produit programme est exécuté sur un ordinateur. Brève description des figures [24] L'invention sera mieux comprise à la lecture de la description qui suit, 15 faite uniquement à titre d'exemple, et en référence aux figures en annexe dans lesquelles : - la figure 1 est une représentation schématique d'un réseau de communication destiné à transporter des fichiers numériques entre plusieurs ordinateurs, auquel est connecté un système de partage des 20 fichiers numériques selon un mode de réalisation de l'invention, le système comprenant deux ordinateurs ; - la figure 2 est un organigramme représentant le fonctionnement du système de partage de fichiers numériques de la figure 1, et comprenant un procédé de partage de fichiers numériques selon un mode de 25 réalisation de l'invention, mis en oeuvre par les ordinateurs de la figure 1 ; - la figure 3 représente schématiquement et fonctionnellement un des ordinateurs de la figure 1, mettant en oeuvre, via une application dédiée, le procédé de partage de fichiers numériques selon un mode de réalisation de l'invention ; 30 - la figure 4 représente schématiquement et fonctionnellement l'autre ordinateur de la figure 1, mettant en oeuvre, via une application 3022716 8 dédiée, un procédé de récupération de fichiers numériques selon un mode de réalisation de l'invention, ledit procédé correspondant à certaines étapes de l'organigramme de la figure 2. 5 Description détaillée d'un mode de réalisation [25] Dans la suite, il est divulgué en particulier un procédé de partage de fichiers numériques 2 entre plusieurs ordinateurs. [26] Dans la suite de la description, on entend par « clef cryptographique » une clef de chiffrement cryptographique, c'est-à-dire un 10 paramètre utilisé en entrée d'une opération cryptographique. [27] On entend en outre par « modification d'un fichier numérique » toute altération partielle ou totale de celui-ci. Par exemple, dans le cas d'une suppression d'un fichier numérique, la modification considérée est une altération totale du fichier. 15 [28] On entend également par « ordinateur » tout dispositif électronique muni de moyens de calcul de données et de moyens de stockage de données, tel que par exemple un ordinateur de bureau, un ordinateur portable, un appareil de communication sans fil tel qu'un smartphone, ou encore une tablette numérique, sans que cette liste ne soit exhaustive. 20 [29] Un réseau de communication 4 destiné à transporter les fichiers numériques 2 est représenté schématiquement sur la figure 1. Un système 6 de partage des fichiers numériques 2 est connecté au réseau de communication 4. [30] Le réseau de communication 4 est muni d'une infrastructure de 25 communication privée ou étendue permettant la connexion, ou l'accès, à des équipements de communication de type serveurs et/ou bases de données. De manière classique, l'infrastructure de communication forme un réseau sans fil, ou un réseau filaire, ou encore un réseau comprenant une portion sans fil et une portion filaire. Dans un mode de réalisation 30 particulier, le réseau de communication 4 est conçu comme un réseau de type internet. 3022716 9 [31] Le système de partage 6 comprend plusieurs ordinateurs 8A, 8B, un dispositif 10 de stockage de clefs cryptographiques et un ensemble 12 de stockage de données, tous reliés au réseau de communication 4. Dans l'exemple de réalisation de la figure 1, le système de partage 6 comprend 5 un premier ordinateur 8A et un second ordinateur 8B. [32] Chaque ordinateur 8A, 8B est associé à un utilisateur. Dans l'exemple de réalisation de la figure 1, le premier ordinateur 8A est associé à un premier utilisateur et le second ordinateur 8B est associé à un second utilisateur, distinct du premier utilisateur. En variante non représentée, 10 plusieurs ordinateurs peuvent être associés à un même utilisateur. En d'autres termes, chaque utilisateur peut être associé à un ou plusieurs des ordinateurs du système de partage 6. [33] Au moins un ordinateur de chaque utilisateur comprend des moyens 16 de génération de clefs cryptographiques et des moyens 21 d'application 15 d'un algorithme de chiffrement symétrique et d'un algorithme de chiffrement asymétrique sur des données informatiques, comme représenté sur la figure 3. Dans l'exemple de réalisation de la figure 1, le premier ordinateur 8A et le second ordinateur 8B comprennent chacun des moyens 16 de génération de clefs cryptographiques et des moyens 21 20 d'application d'un algorithme de chiffrement symétrique et d'un algorithme de chiffrement asymétrique sur des données informatiques. Chaque ordinateur 8A, 8B est muni également d'une unité centrale 18 comprenant au moins un processeur 19, et d'au moins une mémoire 20 adaptée pour stocker au moins une clef cryptographique. Dans l'exemple de réalisation 25 de la figure 1, chaque ordinateur 8A, 8B est muni d'un processeur 19 et d'une mémoire 20. Chaque ordinateur 8A, 8B comporte en outre un périphérique d'entrée utilisateur et des moyens d'émission et de réception de données connectés au réseau de communication 4, ces éléments n'étant pas représentés sur la figure 1 pour des raisons de clarté. 30 [34] Le premier ordinateur 8A comprend en outre au moins une mémoire 22 adaptée pour stocker au moins un fichier numérique 2 destiné à être 3022716 10 partagé. Dans l'exemple de réalisation de la figure 1, le premier ordinateur 8A comprend une mémoire 22 agencée dans l'unité centrale 18. [35] Comme illustré sur la figure 3, les moyens de génération 16 sont propres à générer, par mise en oeuvre d'un algorithme de chiffrement 5 asymétrique, un jeu de clefs asymétriques comprenant une première clef cryptographique publique 25 et une deuxième clef cryptographique privée 26. En particulier, les moyens de génération 16 du premier ordinateur 8A sont propres à générer un jeu de clefs asymétriques comprenant une première clef cryptographique publique 25A et une deuxième clef 10 cryptographique privée 26A, et les moyens de génération 16 du second ordinateur 8B sont propres à générer un jeu de clefs asymétriques comprenant une première clef cryptographique publique 25B et une deuxième clef cryptographique privée 26B. [36] Ainsi, la clef cryptographique publique 25A, 25B est associée à 15 l'utilisateur de l'ordinateur 8A, 8B l'ayant générée respectivement. La clef cryptographique privée 26A, respectivement 26B est associée à la clef cryptographique publique 25A, respectivement 25B dans l'algorithme de chiffrement asymétrique. L'algorithme de chiffrement asymétrique est par exemple un algorithme de type RSA (Rivest Shamir Adleman), connu en 20 soi, et les clefs publique et privée 25A, 25B, 26A, 26B sont, par exemple, des clefs asymétriques RSA 4096 bits. [37] En outre, comme représenté sur la figure 3, les moyens de génération 16 du premier ordinateur 8A sont propres également à générer une troisième clef cryptographique 27 unique et aléatoire. 25 [38] La troisième clef cryptographique 27 est une chaine de caractères aléatoire de longueur donnée. Dans un exemple de réalisation particulier, la troisième clef cryptographique 27 est une clef symétrique, par exemple une clef symétrique AES (de l'anglais Advanced Encryption Standard) 256 bits. 30 [39] Comme représenté sur les figures 3 et 4, les moyens d'application 21 comportent un composant 28A d'application d'un algorithme de chiffrement 3022716 11 symétrique, et un composant 28B d'application d'un algorithme de chiffrement asymétrique. Les moyens d'application 21 du premier ordinateur 8A sont adaptés pour appliquer, sur au moins une donnée du fichier numérique 2 destiné à être partagé, un algorithme de chiffrement 5 symétrique ayant pour paramètre la troisième clef cryptographique 27. Les moyens d'application 21 du premier ordinateur 8A sont propres en outre à appliquer, sur la troisième clef cryptographique 27, un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique 25A associée au premier utilisateur. Ils sont propres également à 10 appliquer, sur la troisième clef cryptographique 27, un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique 25B associée au deuxième utilisateur. [40] L'algorithme de chiffrement symétrique est par exemple un algorithme de type AES, ou encore un algorithme de type Blowfish, connu 15 en soi. [41] Le ou chaque algorithme de chiffrement asymétrique est par exemple un algorithme de type RSA. [42] De manière préférentielle, les moyens d'application 21 du premier ordinateur 8A sont propres en outre à adjoindre une signature numérique à 20 la ou chaque donnée informatique chiffrée du fichier numérique chiffré. La signature numérique est par exemple une signature numérique de type SHA (Secure Hash Algorithm). Dans un mode de réalisation particulier, les moyens d'application 21 du premier ordinateur 8A sont en outre adaptés pour appliquer, sur la signature numérique, l'algorithme de chiffrement 25 symétrique ayant pour paramètre la troisième clef cryptographique 27. [43] Dans le mode de réalisation préférentiel illustré sur la figure 1, la mémoire 20 est un support d'enregistrement amovible connecté à l'unité centrale 18 de l'ordinateur 8A, 8B. En variante non représentée, la mémoire 20 est une mémoire interne de l'ordinateur 8A, 8B, par exemple 30 une mémoire non-éphémère. En variante encore, la mémoire 20 est un support de stockage apte à être généré par l'ordinateur, à destination de 3022716 12 l'utilisateur de l'ordinateur. Selon cette variante, la mémoire 20 est par exemple un support papier apte à être imprimé, tel qu'un code QR ou encore un support contenant des données imprimées sous une représentation texte de type base64 par exemple. L'accès à la mémoire 20 5 est par exemple protégé par un mot de passe, par exemple un mot de passe de type phrase secrète. [44] De manière préférentielle, le support d'enregistrement amovible 20 connecté à l'unité centrale 18 comporte un composant 29 apte à chiffrer cryptographiquement des données stockées sur le support 10 d'enregistrement 20. Le support d'enregistrement amovible 20 est par exemple le dispositif TrustWay® RCI développé par la société BULL. [45] Dans le mode de réalisation particulier illustré sur la figure 1, la mémoire 22 comprend une application 30. La mémoire 22 est par exemple une mémoire non-éphémère. 15 [46] L'application 30 est par exemple une application téléchargeable depuis le réseau de communication 4, via une plateforme de téléchargement non représentée sur les figures. L'application 30 comporte des instructions de programme adaptées pour mettre en oeuvre le procédé de partage de fichiers numériques 2 selon l'invention, comme décrit par la 20 suite. [47] Comme représenté sur le mode de réalisation de la figure 3, l'application 30 comprend les moyens 16 de génération de clefs cryptographiques et les moyens 21 d'application d'un algorithme de chiffrement symétrique et d'un algorithme de chiffrement asymétrique sur 25 des données informatiques. [48] Selon ce mode de réalisation, les moyens de génération 16 sont formés d'un module logiciel de génération de clefs cryptographiques, et les moyens d'application 21 sont formés d'un module logiciel d'application d'un algorithme de chiffrement symétrique et d'un algorithme de chiffrement 3 0 asymétrique sur des données informatiques. 3022716 13 [49] En variante non représentée, l'application 30 ne comporte pas les moyens 16 de génération de clefs cryptographiques et les moyens 21 d'application d'un algorithme de chiffrement symétrique et d'un algorithme de chiffrement asymétrique sur des données informatiques, et ceux-ci sont 5 réalisés sous forme de composants matériels. En variante encore, la mémoire 22 ne comprend pas d'application 30. [50] Dans un mode de réalisation particulier, l'application 30 est propre, lorsqu'exécutée par le processeur 19, à déterminer si le fichier numérique 2 ou une partie du fichier numérique 2 a, ou non, été modifié(e) dans la 10 mémoire 22 de l'ordinateur. [51] Dans un autre mode de réalisation particulier, l'application 30 est propre, lorsqu'exécutée par le processeur 19, à détecter si des différences existent entre les données ou métadonnées d'un fichier numérique 2 stocké dans la mémoire 22 et les données ou métadonnées d'un fichier 15 numérique chiffré stocké dans l'ensemble de stockage 12. Selon ce mode de réalisation particulier, l'application 30 est propre en outre, lorsqu'exécutée par le processeur 19, à déterminer une date de modification d'un fichier numérique 2 stocké dans la mémoire 22 et/ou d'un fichier numérique chiffré stocké dans l'ensemble de stockage 12. 20 [52] Le dispositif 10 de stockage de clefs cryptographiques est relié à chaque ordinateur 8A, 8B via le réseau de communication 4. Dans l'exemple de réalisation de la figure 1, le dispositif de stockage 10 comprend un serveur 32 relié à une base de données 34. Dans cet exemple de réalisation, le dispositif de stockage 10 est propre, par 25 exemple, à mettre en oeuvre un service de stockage en ligne de type Google Drive® (service développé par la société Google Inc.). En variante de réalisation non représentée, le dispositif de stockage 10 comprend un service web permettant l'authentification des utilisateurs, connecté à la base de données 34. 30 [53] La base de données 34 est propre à stocker les clefs cryptographiques publiques 25A, 25B associées aux différents utilisateurs. 3022716 14 Dans l'exemple de réalisation de la figure 1, la base de données 34 est propre à stocker la clef cryptographique publique 25A associée au premier utilisateur et la clef cryptographique publique 25B associée au second utilisateur. 5 [54] L'ensemble 12 de stockage de données est relié à chaque ordinateur 8A, 8B via le réseau de communication 4. L'ensemble de stockage 12 est propre à stocker les fichiers numériques chiffrés destinés à être partagés entre les ordinateurs 8A, 8B. L'ensemble de stockage 12 est propre en outre à stocker des données chiffrées, comme décrit plus en détail par la 10 suite. Dans l'exemple de réalisation de la figure 1, l'ensemble de stockage 12 comprend un serveur de stockage 36. [55] Le serveur 36 est par exemple un serveur fournissant des services de type FTP (de l'anglais File Transfer Protocol), ou encore des services de type Amazon® S3 (Amazon est une marque de la société Amazon Web 15 Services). [56] En variante de réalisation, l'ensemble 12 de stockage de données comprend au moins un serveur relié à au moins une base de données. [57] Le fonctionnement du système 6 de partage de fichiers numériques 2 va maintenant être décrit en détail, en référence aux figures 2, 3 et 4. En 20 particulier, le procédé de partage de fichiers numériques 2 selon l'invention, mis en oeuvre par les ordinateurs 8A, 8B du système de partage 6, va être décrit en référence aux figures 2 et 3. [58] On suppose qu'initialement, au moins un fichier numérique 2 destiné à être partagé est stocké dans la mémoire 22 du premier ordinateur 8A. 25 [59] Dans le mode de réalisation particulier des figures 1 et 3, l'application 30 est alors exécutée par le processeur 19 du premier ordinateur 8A, et les instructions de programme de l'application 30 mettent en oeuvre le procédé de partage du fichier numérique 2. [60] Au cours d'une première étape 50, le premier ordinateur 8A et au 30 moins un ordinateur de chaque utilisateur distinct du premier utilisateur génèrent un jeu de clefs asymétriques comprenant une première clef 3022716 15 cryptographique publique 25 et une deuxième clef cryptographique privée 26. La clef cryptographique privée 26 est associée à la clef cryptographique publique 25. Dans l'exemple de réalisation des figures 1 et 3, les moyens de génération 16 du premier et du second ordinateurs 8A, 5 8B génèrent chacun une clef cryptographique publique 25A, 25B respective, ainsi qu'une clef cryptographique privée 26A, 26B respective. [61] Au cours d'une étape suivante 52, chaque ordinateur 8A, 8B ayant généré une clef cryptographique publique 25A, 25B transmet cette clef cryptographique publique 25A, 25B au dispositif de stockage 10. La base 10 de données 34 du dispositif de stockage 10 stocke alors l'ensemble des clef cryptographiques publiques 25A, 25B transmises. Dans la variante de réalisation selon laquelle le dispositif de stockage 10 comprend un service web, l'étape de transmission 52 comprend en outre l'authentification, auprès du service web, de chaque utilisateur associé à un des ordinateurs 15 8A, 8B ayant généré une clef cryptographique publique 25A, 25B. [62] Au cours d'une étape suivante 54, chaque ordinateur 8A, 8B ayant généré une clef cryptographique privée 26A, 26B stocke cette clef. Dans le mode de réalisation préférentiel illustré sur la figure 1, chaque clef cryptographique privée 26A, 26B générée est stockée, au cours de l'étape 20 54, dans un des supports d'enregistrement amovibles 20. De préférence, chaque clef cryptographique privée 26A, 26B est chiffrée, au cours de l'étape 54, par le composant de chiffrement 29 d'un des supports d'enregistrement amovibles 20. [63] En variante, l'étape de stockage 54 est effectuée en parallèle de 25 l'étape de transmission 52. [64] Au cours d'une étape suivante 56, le premier ordinateur 8A génère une troisième clef cryptographique 27 unique et aléatoire. Plus précisément, au cours de l'étape 56, les moyens de génération 16 du premier ordinateur 8A génèrent la troisième clef cryptographique 27, 30 comme représenté sur la figure 3. 3022716 16 [65] En variante, l'étape de génération 56 est effectuée en parallèle de l'étape de stockage 54 et/ou de l'étape de transmission 52 et/ou de l'étape de génération 50. [66] Au cours d'une étape suivante 58, le premier ordinateur 8A applique, 5 sur au moins une donnée du fichier numérique 2, un algorithme de chiffrement symétrique ayant pour paramètre la troisième clef cryptographique 27. En particulier, dans l'exemple de réalisation des figures 1 et 3, le composant 28A applique, sur au moins une donnée du fichier numérique 2, l'algorithme de chiffrement symétrique ayant pour 10 paramètre la troisième clef cryptographique 27. [67] De préférence, l'étape d'application 58 comprend en outre l'adjonction d'une signature numérique à la ou chaque donnée chiffrée du fichier numérique chiffré. Les moyens d'application 51 associent la signature numérique à la ou chaque donnée chiffrée. Dans un mode de 15 réalisation particulier, les moyens d'application 51 appliquent également l'algorithme de chiffrement symétrique sur la signature numérique. [68] Selon un mode de réalisation particulier, le fichier numérique 2 destiné à être partagé comprend au moins une métadonnée, telle que par exemple le nom du fichier 2, la taille du fichier 2 et/ou la date de 20 modification du fichier 2. Selon ce mode de réalisation, l'algorithme de chiffrement symétrique est en outre appliqué, par le premier ordinateur 8A, au cours de l'étape 58, sur la ou chaque métadonnée du fichier numérique 2 [69] Un fichier numérique chiffré 60 comprenant la ou chaque donnée 25 et/ou métadonnée chiffrée est obtenu à l'issue de l'étape d'application 58. [70] Au cours d'une étape suivante 62, le premier ordinateur 8A télécharge, depuis le dispositif de stockage 10, au moins une clef cryptographique publique 25 associée à un utilisateur distinct du premier utilisateur. Dans l'exemple de réalisation des figures 1 et 3, le premier 30 ordinateur 8A télécharge, depuis le dispositif de stockage 10, la clef cryptographique publique 25B associée au deuxième utilisateur. 3022716 17 [71] En variante, l'étape de téléchargement 62 est effectuée en parallèle de l'étape d'application 58 et/ou de l'étape de génération 56 et/ou de l'étape de stockage 54. [72] Au cours d'une étape suivante 64, le premier ordinateur 8A applique, 5 sur la troisième clef cryptographique 27, un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique 25A associée au premier utilisateur. Le premier ordinateur 8A applique en outre, sur la troisième clef cryptographique 27, au moins un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique 25 10 publique associée à un utilisateur distinct du premier utilisateur, autorisé par le premier utilisateur à accéder au fichier 2. Dans l'exemple de réalisation des figures 1 et 3, le composant 28B applique, sur la troisième clef cryptographique 27, un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique 25A associée au premier 15 utilisateur et un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique 25B associée au deuxième utilisateur. L'application, sur la troisième clef cryptographique 27, d'un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique 25A associée au premier utilisateur permet 2 0 d'effectuer la synchronisation des données du fichier 2 entre le premier ordinateur 8A et l'ensemble de stockage 12, comme détaillé par la suite. [73] Un ensemble 65 comprenant au moins deux données chiffrées est obtenu à l'issue de l'étape d'application 64. Dans l'exemple de réalisation des figures 1 et 3, l'ensemble 65 comprend deux données chiffrées 66A, 25 66B : la première donnée 66A étant la troisième clef cryptographique 27 chiffrée par l'algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique 25A associée au premier utilisateur, et la seconde donnée 66B étant la troisième clef cryptographique 27 chiffrée par l'algorithme de chiffrement asymétrique ayant pour paramètre la clef 3 0 cryptographique publique 25B associée au deuxième utilisateur. 3022716 18 [74] Au cours d'une étape suivante 67, le premier ordinateur 8A transmet le fichier numérique chiffré 60 et l'ensemble 65 de données chiffrées à l'ensemble de stockage 12. Le serveur 36 de l'ensemble de stockage 12 stocke alors le fichier numérique chiffré 60 et l'ensemble 65 de données 5 chiffrées. La troisième clef cryptographique 27 n'étant pas stockée dans l'ensemble de stockage 12, il est ainsi impossible pour le fournisseur du service de stockage de déchiffrer le fichier numérique chiffré 60 à l'aide de l'ensemble 65 de données chiffrées. [75] De préférence, au cours d'une étape suivante 68, l'application 30 du 10 premier ordinateur 8A détermine si le fichier numérique 2 ou une partie du fichier numérique 2 a, ou non, été modifié(e) dans la mémoire 22 de l'ordinateur. [76] Si le fichier numérique 2 n'a pas été modifié, l'étape suivante 70 est effectuée. 15 [77] Si le fichier numérique 2 ou une partie du fichier numérique 2 a été modifié(e), les étapes 56, 58, 64 et 67 sont ré-effectuées par le premier ordinateur 8A. L'étape de téléchargement 62 n'est pas ré-effectuée, la ou chaque clef cryptographique publique 25 associée à un utilisateur distinct du premier utilisateur étant déjà à disposition du premier ordinateur 8A, du 20 fait du premier téléchargement 62 effectué. [78] On conçoit ainsi que le procédé de partage de fichiers numériques selon l'invention permet d'assurer de manière simple et fiable le partage et la synchronisation de données numériques, tout en améliorant le niveau de confidentialité des données partagées. 25 [79] Selon un aspect complémentaire de l'invention, un procédé de récupération de fichiers numériques 2, associé au procédé de partage de fichiers numériques 2 selon l'invention et mis en oeuvre par les ordinateurs 8A, 8B du système de partage 6, va être décrit en référence aux figures 2 et 4. 30 [80] Au cours de l'étape 70, le ou un des ordinateur(s) de chaque utilisateur autorisé par le premier utilisateur à accéder au fichier 2 3022716 19 télécharge, depuis l'ensemble de stockage 12, la donnée chiffrée obtenue par application d'un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique 25 associée audit utilisateur. Dans l'exemple de réalisation particulier des figures 1 et 4, une application 5 du second ordinateur 8B est exécutée par le processeur 19 du second ordinateur 8B, et les instructions de programme de l'application mettent en oeuvre le procédé de récupération du fichier numérique 2. [81] Au cours de l'étape 70, le second ordinateur 8B télécharge, depuis l'ensemble de stockage 12, la seconde donnée chiffrée 66B. 10 [82] Au cours d'une étape suivante 72, chaque ordinateur ayant téléchargé une donnée chiffrée applique, sur ladite donnée chiffrée, un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique privée 26 stockée au sein dudit ordinateur. Dans l'exemple de réalisation des figures 1 et 4, le composant 28B du second 15 ordinateur 8B applique, sur la donnée chiffrée 66B téléchargée par le second ordinateur 8B, un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique privée 26B stockée au sein du second ordinateur 8B. La troisième clef cryptographique 27 unique et aléatoire est ainsi récupérée à l'issue de l'étape d'application 72. 20 [83] Au cours d'une étape suivante 74, chaque ordinateur ayant téléchargé une donnée chiffrée télécharge, depuis l'ensemble de stockage 12, le fichier numérique chiffré 60. Dans l'exemple de réalisation des figures 1 et 4, le second ordinateur 8B télécharge, depuis l'ensemble de stockage 12, le fichier numérique chiffré 60. 25 [84] Au cours d'une étape finale 76, chaque ordinateur ayant téléchargé une donnée chiffrée applique, sur au moins une donnée et/ou métadonnée chiffrée du fichier numérique chiffré 60, un algorithme de chiffrement symétrique ayant pour paramètre la troisième clef cryptographique 27. Dans l'exemple de réalisation des figures 1 et 4, le composant 28A du 30 second ordinateur 8B applique, sur au moins une donnée et/ou métadonnée chiffrée du fichier numérique chiffré 60, un algorithme de 3022716 20 chiffrement symétrique ayant pour paramètre la troisième clef cryptographique 27. Dans le mode de réalisation préférentiel selon lequel l'étape d'application 58 comprend en outre l'adjonction d'une signature numérique à la ou chaque donnée chiffrée du fichier numérique chiffré 60, 5 la signature numérique est vérifiée par le second ordinateur 8B au cours de l'étape 76. [85] Le fichier numérique initial 2 est ainsi déchiffré par le second ordinateur 8B à l'issue de l'étape d'application finale 76. [86] En variante ou en complément des étapes 70 à 76 telles que décrites 10 ci-dessus, l'application 30 du premier ordinateur 8A est exécutée par le processeur 19 afin de procéder à une synchronisation des données du fichier 2 entre le premier ordinateur 8A et l'ensemble de stockage 12. Au cours de l'étape 70, le premier ordinateur 8A télécharge alors, depuis l'ensemble de stockage 12, la première donnée chiffrée 66A. 15 [87] Au cours d'une étape suivante, non représentée sur les figures, l'application 30 du premier ordinateur 8A détecte si des différences existent entre les données ou métadonnées du fichier numérique 2 stocké dans la mémoire 22 et les données ou métadonnées du fichier numérique chiffré 60 stocké dans l'ensemble de stockage 12. Au cours de cette même étape, 20 l'application 30 du premier ordinateur 8A détermine les dates de modification respectives de ces deux fichiers 2, 60. [88] Dans le cas où aucune différence n'est détectée par l'application 30, aucune action n'est réalisée et le fichier 2 est statué comme étant à jour. [89] Dans le cas où des différences sont détectées par l'application 30 et 25 que le fichier numérique 2 stocké dans la mémoire 22 comporte des modifications plus récentes que les dernières modifications du fichier numérique chiffré 60, les étapes 56 à 67 sont ré-effectuées par le premier ordinateur 8A sur le fichier numérique 2 ou une partie du fichier numérique 2 correspondant aux différences détectées. 30 [90] Dans le cas où des différences sont détectées par l'application 30 et que le fichier numérique chiffré 60 comporte des modifications plus 3022716 21 récentes que les dernières modifications du fichier numérique 2, les étapes 72 à 76 sont effectuées par le premier ordinateur 8A sur le fichier numérique chiffré 60 ou une partie du fichier numérique chiffré 60 correspondant aux différences détectées, et sur la première donnée 5 chiffrée 66A. [91] L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de réalisation de l'invention sans pour autant sortir du cadre de l'invention. En particulier, bien que l'invention soit décrite en référence à 10 deux ordinateurs 8A, 8B chacun associé à un utilisateur distinct, elle s'applique plus généralement à plusieurs ordinateurs associés à plusieurs utilisateurs. Ainsi les moyens d'application 21 sont plus généralement propres à appliquer, sur la troisième clef cryptographique 27, un algorithme de chiffrement asymétrique ayant pour paramètre chaque clef 15 cryptographique publique 25 associée à un utilisateur distinct du premier utilisateur, mais autorisé par le premier utilisateur à accéder au fichier 2 destiné à être partagé. Ainsi, la présente invention repose sur l'utilisation des clefs cryptographiques publiques 25 des utilisateurs ayant le droit d'accès aux données du fichier destiné à être partagé. Le déchiffrement de 20 ces données est ensuite uniquement possible via l'utilisation d'une des clefs privées 26 des utilisateurs ayant eu le droit d'accès. REVENDICATIONS1. Procédé de partage de fichiers numériques (2) entre plusieurs ordinateurs (8A, 8B) reliés via un réseau de communication (4), chaque ordinateur (8A, 8B) étant associé à un utilisateur et étant relié, via le réseau de communication (4), à un dispositif (10) de stockage de clefs cryptographiques et à un ensemble (12) de stockage de données, au moins un fichier numérique (2) destiné à être partagé étant stocké sur un premier ordinateur (8A) d'un premier utilisateur, le procédé comprenant : - une étape (50) de génération, par le premier ordinateur (8A) et par au moins un ordinateur (8B) de chaque utilisateur distinct du premier utilisateur, d'une première clef cryptographique publique (25A, 25B) et d'une deuxième clef cryptographique privée (26A, 26B) associée à la clef cryptographique publique (25A, 25B) dans un algorithme de chiffrement asymétrique, la clef cryptographique publique (25A, 25B) étant associée à l'utilisateur dudit ordinateur, - une étape (52) de transmission au dispositif (10) de stockage de clefs cryptographiques, par chaque ordinateur (8A, 8B) ayant généré une clef cryptographique publique, de ladite clef cryptographique publique, - une étape (54) de stockage, par chaque ordinateur (8A, 8B) ayant généré une clef cryptographique privée, de ladite clef cryptographique privée, - une étape (56) de génération, par le premier ordinateur (8A), d'une troisième clef cryptographique (27) unique et aléatoire, - une étape (58) d'application, par le premier ordinateur (8A), sur au moins une donnée du fichier numérique (2) destiné à être partagé, d'un algorithme de chiffrement symétrique ayant pour paramètre la troisième clef cryptographique (27), un fichier numérique chiffré (60) comprenant ladite au moins une donnée étant obtenu à l'issue de cette étape d'application (58), 3022716 23 - une étape (62) de téléchargement, depuis le dispositif de stockage (10), par le premier ordinateur (8A), d'au moins une clef cryptographique publique (25B) associée à un deuxième utilisateur distinct du premier utilisateur, 5 - une étape (64) d'application, par le premier ordinateur (8A), sur la troisième clef cryptographique (27), d'un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique (25A) associée au premier utilisateur et d'un algorithme de chiffrement asymétrique ayant pour paramètre ladite au moins une 10 clef cryptographique publique (25B) associée à un deuxième utilisateur, un ensemble (65) comprenant au moins deux données chiffrées (66A, 66B) étant obtenu à l'issue de cette étape d'application (64), - une étape (67) de transmission à l'ensemble (12) de stockage de 15 données, par le premier ordinateur (8A), du fichier numérique chiffré (60) et de l'ensemble (65) de données chiffrées (66A, 66B). 2. Procédé selon la revendication 1, caractérisé en ce que l'étape (56) de génération d'une troisième clef cryptographique (27) unique et 20 aléatoire, l'étape (58) d'application d'un algorithme de chiffrement symétrique, l'étape (64) d'application d'un algorithme de chiffrement asymétrique ayant pour paramètre la clef cryptographique publique (25A) associée au premier utilisateur et d'un algorithme de chiffrement asymétrique ayant pour paramètre ladite au moins une clef 25 cryptographique publique (25B) associée à un deuxième utilisateur et l'étape (67) de transmission du fichier numérique chiffré (60) et de l'ensemble (65) de données chiffrées (66A, 66B) sont ré-effectuées par le premier ordinateur (8A) après chaque nouvelle modification du fichier (2) destiné à être partagé ou d'une partie de ce fichier (2). 30 3022716 24 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le fichier (2) destiné à être partagé comprend au moins une métadonnée, et en ce que l'algorithme de chiffrement symétrique est en outre appliqué sur ladite métadonnée lors de l'étape (58) d'application, par le premier 5 ordinateur (8A), d'un algorithme de chiffrement symétrique sur au moins une donnée du fichier numérique (2) destiné à être partagé. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la clef cryptographique privée (26A, 26B) est 10 stockée dans un support d'enregistrement amovible (20) connecté à une unité centrale (18) de l'ordinateur (8A, 8B), et en ce que l'accès au support d'enregistrement amovible (20) est protégé par un mot de passe. 15 5. Procédé selon la revendication 4, caractérisé en ce que le support d'enregistrement amovible (20) comprend un composant (29) de chiffrement cryptographique de données, et en ce que la clef cryptographique privée (26A, 26B) est chiffrée par le composant de chiffrement (29) lors de l'étape (54) de stockage au sein du support 20 d'enregistrement (20). 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape (58) d'application d'un algorithme de chiffrement symétrique comprend en outre l'adjonction d'une signature 25 numérique à la ou chaque donnée chiffrée du fichier numérique chiffré (60), la signature numérique étant associée à ladite donnée. 7. Ordinateur (8A) muni de moyens (16) de génération de clefs cryptographiques, de moyens (21) d'application d'un algorithme de 3 0 chiffrement symétrique et d'un algorithme de chiffrement asymétrique sur des données informatiques, d'au moins une mémoire (22) adaptée 3022716 25 pour stocker au moins un fichier numérique (2) destiné à être partagé et d'au moins une mémoire (20) adaptée pour stocker au moins une clef cryptographique (26A), caractérisé en ce que l'ordinateur (8A) est propre à mettre en oeuvre le procédé de partage de fichiers numériques 5 (2) selon l'une quelconque des revendications précédentes, l'ordinateur (8A) étant le premier ordinateur du procédé. 8. Ordinateur (8A) selon la revendication 7, caractérisé en ce qu'il comprend en outre au moins un processeur (19), et en ce que la 10 mémoire (22) comprend une application (30), l'application (30) étant propre, lorsqu'elle est exécutée par ledit au moins un processeur (19), à mettre en oeuvre le procédé de partage de fichiers numériques (2) selon l'une quelconque des revendications 1 à 6, l'application (30) comprenant les moyens (16) de génération de clefs cryptographiques 15 et les moyens (21) d'application d'un algorithme de chiffrement symétrique et d'un algorithme de chiffrement asymétrique sur des données informatiques. 9. Ensemble (12) de stockage de données propre à être relié à plusieurs 20 ordinateurs (8A, 8B) via un réseau de communication (4), pour le partage de fichiers numériques (2) entre les ordinateurs (8A, 8B), chaque ordinateur (8A, 8B) étant associé à un utilisateur, au moins un des ordinateurs étant conforme à la revendication 7 ou 8, l'ensemble de stockage (12) étant propre à stocker des données chiffrées et des 25 fichiers numériques chiffrés (60) destinés à être partagés entre les ordinateurs (8A, 8B). 10.Système (6) de partage de fichiers numériques (2), comprenant : - une pluralité d'ordinateurs (8A, 8B) reliés via un réseau de 30 communication (4), chaque ordinateur (8A, 8B) étant associé à un 3022716 26 utilisateur, au moins un des ordinateurs (8A, 8B) étant conforme à la revendication 7 ou 8, - un dispositif (10) de stockage de clefs cryptographiques, relié à chaque ordinateur (8A, 8B) via le réseau de communication (4), 5 - un ensemble (12) de stockage de données, relié à chaque ordinateur (8A, 8B) via le réseau de communication (4), l'ensemble de stockage (12) étant conforme à la revendication 9. 11. Produit programme d'ordinateur (30) téléchargeable depuis un réseau 10 de communication et/ou enregistré sur un support (22) lisible par ordinateur et/ou exécutable par un processeur (19), caractérisé en ce qu'il comprend des instructions de programme adaptées pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 6 lorsque le produit programme (30) est exécuté sur un ordinateur. 15