Brevet FR2924837A1 — publié le 20090612

SUPPORT DE PARTAGE SECURISE DE DONNEES La présente invention concerne un support de partage sécurisé de données. Elle s'applique notamment lors d'échanges sécurisés de données entre plusieurs postes, en particulier des postes informatiques. Actuellement, les échanges de données entre plusieurs postes sont réalisés à travers une multitude de moyens parmi lesquels des transferts par médias amovibles et des mises en réseau d'équipements. Un premier type de solutions d'échanges regroupe les médias amovibles, tels que, par exemple, les clés USB (� Universal Serial Bus �), les disques durs externes ou les disques optiques. Ceux-ci sont souvent employés pour effectuer des échanges de données entre un petit nombre de postes. Cependant, ce mode d'échange ne permet pas de partager simultanément des données entre plusieurs postes. De plus, il présente des risques de sécurité, le contrôle d'accès aux données n'étant généralement pas géré. Un deuxième type de solutions est employé lorsque les échanges concernent un nombre de postes plus important. Dans ce cas, une mise en réseau des postes est généralement choisie. Il est alors nécessaire de disposer d'équipements spécifiques pour établir les liaisons entre les postes, par exemple des câbles, des concentrateurs ou des antennes. De plus, il faut paramétrer le contrôle d'accès aux données présentes sur les postes, notamment en fonction des utilisateurs, pour éviter toute compromission de données sensibles. Ainsi, en raison du manque de souplesse lié au besoin en équipements et en paramétrage, la mise en réseau est peu utilisée lors d'évènements ponctuels, tels que, par exemple, une réunion au cours de laquelle chaque intervenant souhaite transférer des données à partir de son ordinateur portable. Un but de l'invention est de proposer un moyen pour échanger des données de manière sécurisée entre plusieurs postes simultanément, sans devoir effectuer de paramétrage complexe. A cet effet, l'invention a pour objet un support de partage de données comportant au moins un espace de stockage des données et des moyens de connexion à un poste comprenant des données à charger ou à décharger, ledit support étant caractérisé en ce qu'il comporte également des moyens de communications avec d'autres supports de partage de données localisés à proximité dudit support, au moins une partie des données enregistrées sur l'espace mémoire de stockage étant placée sur une zone mémoire de partage accessible en lecture et/ou en écriture aux autres supports de partage via les moyens de communications. Avantageusement, le support comporte un module de sécurité, ledit module comprenant un calculateur cryptographique chiffrant et/ou déchiffrant les données stockées sur la zone mémoire de partage. Selon un mode de réalisation, le support comporte un module d'identification accessible à un utilisateur du support, le module d'identification comprenant une interface de saisie d'un identifiant, l'identifiant étant un élément secret utilisé par le calculateur cryptographique pour chiffrer les données. Selon un mode de réalisation, l'espace de stockage des données est scindé en au moins une mémoire de masse et une mémoire d'échanges, la ou les mémoires d'échanges formant la zone mémoire de partage, la ou les mémoires d'échanges étant les seules mémoires accessibles en lecture et/ou en écriture aux autres supports de partage. Selon un mode de réalisation, la zone mémoire de partage est partitionnée en plusieurs sous-zones mémoire, chacune desdites sous-zones mémoire étant associée à un identifiant, les données présentes sur chacune desdites sous-zones mémoire étant chiffrées et/ou déchiffrées avec leur identifiant respectif. Selon un mode de réalisation, dans lequel le support est alimenté électriquement par le poste auquel il est connecté, la ou les mémoires d'échanges sont volatiles afin d'entraîner un effacement automatique des données au moment de la déconnexion du support du poste. Selon un mode de réalisation, le support comporte un module de synchronisation maintenant le contenu des zones de mémoire de partage de chacun des supports interconnectés à l'identique. Selon un mode de réalisation, les moyens de communications comportent une antenne pilotée par un module de gestion s'appuyant sur un protocole de transfert adapté aux communications sans fil, afin d'émettre et/ou de recevoir des données par ondes électromagnétiques. D'autres caractéristiques apparaîtront à la lecture de la description 5 détaillée donnée à titre d'exemple et non limitative qui suit faite en regard de dessins annexés qui représentent : la figure 1, l'architecture d'un premier mode de réalisation d'un support de partage de données selon l'invention, la figure 2, l'architecture d'un deuxième mode de réalisation du 10 support selon l'invention, la figure 3, l'architecture d'un troisième mode de réalisation du support selon l'invention, - la figure 4, un synoptique illustrant la gestion de la sécurité des informations sur le support selon l'invention, 15 la figure 5, un premier exemple d'utilisation du support selon l'invention, - la figure 6, un deuxième exemple d'utilisation du support selon l'invention. 20 Par souci de clarté, des références identiques dans des figures différentes désigneront le même élément. La figure 1 présente l'architecture d'un premier mode de réalisation d'un support de partage de données selon l'invention. Le support 100 comporte une interface de connexion 102 avec un poste 121, un module 25 de gestion 104 de la connexion avec le poste 121, une mémoire de masse 106, un module de gestion de la synchronisation 108, une interface communications 110 avec d'autres supports selon l'invention 100', et un module de gestion 112 des communications avec les autres supports 100'. L'interface de connexion 102 est, dans l'exemple, un connecteur 30 USB classique. Plus généralement, tous les moyens de connexions à un équipement informatique ou à un autre équipement sont envisageables, y compris pour les connexions sans fil de courte distance. Le poste 121 est, par exemple, un ordinateur personnel pourvu d'au moins un port de connexion compatible avec l'interface de connexion 102 du support 100. Le module de gestion 104 de la connexion avec le poste 121 permet de gérer la couche basse du protocole choisi pour effectuer les échanges de données entre le support 100 et le poste 121. Dans l'exemple, ce module pilote le connecteur USB 102 et met en oeuvre un protocole de transfert pour transmettre des données entre le poste 121 et la mémoire de masse 106. Lorsque le connecteur et le protocole choisis sont standardisés, comme c'est le cas pour USB, ce module de gestion 104 permet notamment au support 100 d'être identifié comme un périphérique de stockage de masse au même titre, par exemple, qu'une clé USB ou un disque dur externe. Le support 100 comporte, de préférence, une interface de connexion 102 supportée par un standard, afin de permettre audit support 100 d'être connecté à tous les postes 121 pourvus d'un port de connexion compatible sans nécessiter de configuration ou d'installation d'un pilote logiciel spécifique sur lesdits postes 121. Avantageusement, le standard utilisé pour la connexion prend en charge l'alimentation électrique du support. Aussi, dans l'exemple, pour lequel la connexion est de type USB, l'ensemble 111 formé par l'interface de connexion 102, le module de gestion 104 de la connexion, et la mémoire de masse 106 peut s'apparenter à une clé USB. Dès que le support est déconnecté du poste 121, il n'est plus alimenté électriquement. La mémoire de masse 106 est un moyen de stockage des données que l'utilisateur du support 100 souhaite partager avec d'autres utilisateurs ; elle peut être alimentée par des données issues de l'interface de connexion 102 précitée. La mémoire de masse 106 peut être rémanente ou bien volatile, une mémoire volatile permettant de garantir un effacement automatique des données, dès que le support 100 est déconnecté du poste 121, autrement dit, dès qu'il est placé hors tension électrique. Aussi, cette mémoire de masse 106 peut, par exemple, être un disque dur, une mémoire flash dans le cas où l'on souhaite conserver une rémanence des données, ou bien une mémoire de type RAM (� Random Access Memory �) dans le cas où l'on préfère enregistrer les données une mémoire volatile. Afin de partager les données enregistrées sur la mémoire de masse 106 avec d'autres supports 100' de même type, le support 100 et les autres supports 100' sont aptes à communiquer grâce à l'interface de communications 110 et au module de gestion 112 de ces communications. Dans l'exemple, l'interface de communication 110 est une antenne pilotée par le module de gestion 112, lequel s'appuie sur un protocole de communications sans fil standardisé, dans l'exemple de type Bluetooth. Ainsi, le support 100 est apte à transférer des données, d'une part, via sa connexion ù dans l'exemple, de type USB ù avec le poste 121, et d'autre part, via ses connexions ù dans l'exemple, sans fil de type Bluetooth ù avec les autres supports 100'. Selon un autre mode de réalisation, l'interface de communications 110 est formée d'un connecteur réseau, le module de gestion 112 étant une interface de communication filaire, telle qu'Ethernet par exemple. Selon un autre mode de réalisation, un protocole de communications spécifique (non standard) est utilisé, sans que cela restreigne l'interopérabilité du support 100 puisque, contrairement à l'interface de connexion 102 qui permet d'échanger des données avec des postes 121 de natures différentes, les communications sont ici effectuées entre supports 100, 100' de même type. Le module de gestion de la synchronisation 108 est un microcontrôleur programmable maintenant une cohérence de contenu entre les mémoires de masse 106 de chacun des supports 100, 100' interconnectés. En effet, les contenus de chaque mémoire de masse 106 sont mis à jour pour être maintenus identiques les uns par rapport aux autres. Ces mises à jour sont effectuées, par exemple via une scrutation répétée dans le temps du contenu de la mémoire de masse 106 comprise dans chacun des supports 100' auxquels le support 100 selon l'invention est connecté. Les mises à jours peuvent également être déclenchées par des signaux de notification émis par l'interface de communications 110 dès que l'état de la mémoire de masse 106 est modifié. A titre d'exemple, si un utilisateur du support 100 souhaite partager un nouveau fichier présent sur le poste 121, il lui suffit de copier ce fichier sur la mémoire de masse 106 dudit support 100. Le fichier est alors émis vers les autres supports 100', puis écrit dans les mémoires de masse 106 respectives de ces autres supports 100'. Selon un mode de réalisation, le support 100 n'autorise pas de transfert de données du poste 121 vers la mémoire de masse 106 du support 101. Seules les écritures de données issues d'autres supports 100' sont autorisées sur la mémoire de masse 106. Le support 100 est alors utilisé en tant que borne réceptrice de données, ces données pouvant ensuite être transmises au poste 121 auquel le support 100 est connecté. Un tel support peut notamment être employé par un utilisateur souhaitant s'assurer qu'aucune donnée du poste 121 ne sera diffusée. Naturellement, ce mode de réalisation n'est utile que dans le cadre d'un partage de données avec au moins un autre support 100' autorisant l'écriture de données à partir du poste auquel il est connecté. Selon un autre mode de réalisation du support 100, la mémoire de masse 106 est partitionnée en plusieurs sous-zones de mémoire, par exemple en sous-dossiers, chacune de ces sous-zones de mémoire étant placée dans l'un des deux modes suivants : o la sous-zone de mémoire est en lecture seule vis à vis des autres supports 100' connectés, autrement dit, aucun des autres supports 100' ne peut modifier l'état de cette sous-zone de mémoire ; o la sous-zone de mémoire est accessible en lecture et en écriture par les autres supports 100'. Selon un mode de réalisation, un fichier de configuration, par exemple sous forme de texte, est enregistré sur la mémoire de masse 106 pour choisir les paramètres de fonctionnement du support 100, notamment l'organisation en sous-zones de la mémoire de masse 106, les droits d'accès en écriture et lecture de ces sous-zones par les autres supports 100', les paramètres de synchronisation comme la période temporelle de scrutation des mémoires de masse des autres supports 100'. Selon un mode de réalisation, le fichier de configuration est produit par un logiciel à exécuter via le poste 121. La figure 2 présente l'architecture d'un deuxième mode de réalisation d'un support de partage de données selon l'invention. Le support 200 comporte une interface de connexion 102 avec un poste 121, un module de gestion 104 de cette connexion avec le poste 121, une mémoire de masse 206a, une mémoire d'échanges 206b, un module de gestion de la synchronisation 208, une interface de communications 110 avec d'autres supports selon l'invention 200', et un module de gestion 112 de ces communications. Parmi les données placées sur la mémoire de masse 206a, seules 35 les données que l'utilisateur du support 200 souhaite partager avec un ou plusieurs autres utilisateurs sont copiées sur la mémoire d'échanges 206b. Ces données que l'utilisateur souhaite partager sont placées dans des sous-zones de la mémoire de masse 206a, par exemple des sous-dossiers comme pour le premier mode de réalisation. Ensuite, les données présentes dans ces sous-zones de mémoire sont copiées vers une sous-zone de la mémoire d'échanges 206b, par exemple lors de la connexion du support 200 au poste 121. Les données présentes sur la mémoire de masse 206a sont inaccessibles aux autres supports 200' connectés au support 200. Au contraire, la mémoire d'échanges 206b permet des transferts de données avec les autres supports 200'. Par ailleurs, lorsqu'une donnée issue d'un autre support 200' est reçue par le support 200, cette donnée est copiée sur la mémoire d'échanges 206b puis également sur la mémoire de masse 206a. Ainsi, l'ensemble 211 formé par l'interface de connexion 102, le module de gestion 104 de la connexion, et la mémoire de masse 206a constitue un dispositif de stockage, tandis que l'ensemble 212 formé par l'interface de communications 110, le module de gestion 112 de ces communications et la mémoire d'échanges 206b constitue un dispositif d'échanges de données. En outre, dans l'exemple, la mémoire de masse 206a est rémanente, tandis que la mémoire d'échanges 206b est volatile, ce qui est un premier moyen de protection contre la diffusion non souhaitée de données. En effet, une déconnexion puis une reconnexion du support 200 conduit à rendre la mémoire d'échanges 206b vierge de données (par la mise hors tension du support 200), et donc à éviter, lors d'une deuxième session d'utilisation du support 200, les risques de compromission de données issues d'une première session d'utilisation. Le module de synchronisation 208 remplit plusieurs fonctions. D'une part, il maintient une cohérence entre les mémoires d'échanges 206b de chacun des supports 200, 200' interconnectés par des mises à jour de leurs contenus. D'autre part, il pilote les transferts de données entre la mémoire de masse 206a et la mémoire d'échanges 206b, c'est à dire entre les sous-zones de la mémoire de masse 206a et les sous-zones de la mémoire d'échanges 206b, notamment lors de la réception d'une nouvelle donnée par l'une ou l'autre de ces mémoires 206a, 206b.35 La figure 3 présente l'architecture d'un troisième mode de réalisation d'un support de partage de données selon l'invention. Le support 300 selon ce troisième mode de réalisation comporte, en plus du deuxième mode de réalisation de la figure 2, un module de gestion de la sécurité 301. Ce module de gestion de la sécurité 301, détaillé plus loin en figure 4, est relié à une mémoire de masse 306a, à une mémoire d'échanges 306b et à un module de gestion de la synchronisation 308. Le module de gestion de la sécurité 301 met en oeuvre un chiffrement des données présentes sur la mémoire d'échanges 306b de manière à protéger les échanges de données entre le support 300 et d'autres supports 300'. Dans l'exemple de la figure 3, le module de sécurité 301 est relié à un module d'identification 303. Ce module d'identification 303 est physiquement accessible à l'utilisateur du support 300 afin que l'utilisateur fournisse des informations d'identification nécessaires à l'authentification du support 300 auprès d'autres supports 300' et/ou au chiffrement/déchiffrement des données. Ce module est, par exemple, une interface de saisie pour entrer un code ou encore une interface biométrique. Les informations entrées par l'utilisateur sont utilisées, par exemple, comme une clé cryptographique permettant d'opérer le chiffrement/déchiffrement des données. Ainsi, à titre d'illustration, si plusieurs utilisateurs souhaitent partager des données lors d'une réunion de travail, il leur suffit de partager un code commun, de manière à ce que le chiffrement opéré par le support d'un premier utilisateur soit cohérent avec le déchiffrement opéré par le support d'un deuxième utilisateur. Selon un autre mode de réalisation, les clés cryptographiques sont paramétrées par l'utilisateur du support 300, par exemple, via un fichier de configuration tel que celui mentionné pour le deuxième mode de réalisation. Dans ce cas, le module d'identification 303 n'est pas nécessaire. Lorsqu'un utilisateur d'un support 300 souhaite, d'une part, partager un premier lot de données présent sur une première sous-zone de la mémoire d'échanges 306b avec un premier groupe d'utilisateurs disposant d'autres supports 300', et d'autre part, partager un deuxième lot de données présent sur une deuxième sous-zone de la mémoire d'échanges 306b avec un deuxième groupe d'utilisateurs, cet utilisateur du support 300 définit deux clés, la première clé étant utilisée pour chiffrer le premier lot de données, la deuxième clé étant utilisée pour chiffrer le deuxième lot de données. La figure 4 illustre, par un synoptique, un exemple d'architecture du module de gestion de la sécurité 301. Ce module comporte un microcontrôleur 402, un calculateur cryptographique 404, une mémoire d'enregistrement 406 de clés cryptographiques, et un module de gestion 408 du module d'identification 303. Le calculateur cryptographique 404 exécute les opérations 10 cryptographiques de gestion de la sécurité, ces opérations étant, dans l'exemple, le chiffrement et le déchiffrement des données. Le microcontrôleur 402 est piloté par un module de gestion de la synchronisation 308 afin de transférer des données entre la mémoire de masse 306a et la mémoire d'échanges 306b. II commande au calculateur 15 cryptographique 404 de chiffrer les données issues de la mémoire de masse 306a pour les transférer vers la mémoire d'échanges 306b, ou de déchiffrer les données issues de la mémoire d'échanges 306b pour les transférer vers la mémoire de masse 306a. Les clés cryptographiques sont stockées dans la mémoire 20 d'enregistrement 406, laquelle est, dans l'exemple, une mémoire volatile. Ainsi, une identification de l'utilisateur est nécessaire à chaque reconnexion du support sur un poste. Les clés cryptographiques sont lues par le calculateur cryptographique 404 en vue d'effectuer les opérations de chiffrement/déchiffrement. 25 Le module de gestion 408 du module d'identification 303 transmet un identifiant saisi par l'utilisateur vers la mémoire d'enregistrement 406. Selon un mode de réalisation, la clé cryptographique utilisée pour le chiffrement/déchiffrement des données est générée par le module de gestion 408 du module d'identification 303, ledit module 408 combinant l'identifiant 30 saisi par l'utilisateur avec des données internes audit module 408. Autrement dit, dans ce mode de réalisation, l'identifiant est considéré par le module de gestion 408 comme un aléa à combiner avec d'autres nombres pour générer la clé cryptographique. Selon une variante de réalisation, le module d'identification 303 utilisé nécessite une alimentation électrique spécifique, cette alimentation étant prise en charge par le module de gestion 408 du module d'identification 303. Un exemple d'utilisation du support selon l'invention est donné en figure 5. Un premier support 501, connecté à un premier poste 511, est configuré pour n'autoriser que la lecture sur sa mémoire d'échange. Un second support 502, connecté à un second poste 512, est configuré pour n'autoriser que l'écriture sur sa mémoire d'échange. Le réseau formé par les deux supports 501, 502 permet ainsi de transmettre des données du premier support 501 vers le second support 502, de manière sécurisée, autrement dit, en s'assurant qu'aucune donnée ne pourra être lue sur le second support 502 et qu'aucune donnée ne sera écrite sur le premier 501. Plus généralement, le support selon l'invention est adapté aux échanges de données sécurisés entre plusieurs utilisateurs co-localisés sur un même site. Un exemple d'utilisation impliquant trois supports selon l'invention est présenté en figure 6. Un premier support 601, connecté à un premier poste 611, comporte une première donnée 631 dans sa mémoire de masse 621a. Un deuxième support 602, connecté à un deuxième poste 612, comporte une deuxième donnée 632 dans sa mémoire de masse 622a. Un troisième support 603, connecté à un troisième poste 613, comporte une troisième donnée 633 dans sa mémoire de masse 623a. Chaque support 601, 602, 603 comporte une zone de mémoire de partage accessible aux autres supports 601, 602, 603 connectés. Dans l'exemple, cette zone de partage est une mémoire d'échanges 621b, 622b, 623b, tel que présentée dans le deuxième mode de réalisation. Chaque donnée 631, 632, 633, respectivement du premier 601, deuxième 602 et troisième 603 support, est copiée respectivement, de la première mémoire de masse 621a vers la mémoire d'échanges 621 b du premier support 601, de la deuxième mémoire de masse 622a vers la mémoire d'échanges 622b du deuxième support 602, de la troisième mémoire de masse 623a vers la mémoire d'échanges 623b du troisième support 603. Ces trois données deviennent alors accessibles à tous les supports 601, 602, 603 interconnectés, et peuvent être copiées sur les postes 611, 612, 613 auxquels sont connectés les supports 601, 602, 603. Un avantage du support selon l'invention est sa simplicité d'utilisation, un espace de partage de données commun à tous les supports interconnectés et sécurisé étant créé dès définition d'un code d'authentification et la connexion respective desdits supports à un poste compatible. REVENDICATIONS 1. Support de partage (100, 200, 300) de données comportant au moins un espace de stockage des données (106, 206a, 206b, 306a, 306b) et des moyens de connexion (102, 104) à un poste (121) comprenant des données à charger ou à décharger, ledit support étant caractérisé en ce qu'il comporte également des moyens de communications (110, 112) avec d'autres supports de partage de données (100', 200', 300') localisés à proximité dudit support, au moins une partie des données enregistrées sur l'espace mémoire de stockage étant placée sur une zone mémoire de partage (106, 206b, 306b) accessible en lecture et/ou en écriture aux autres supports de partage (100', 200', 300') via les moyens de communications (110, 112). 2. Support de partage de données selon la revendication 1, caractérisé en ce qu'il comporte un module de sécurité (301), ledit module comprenant un calculateur cryptographique (404) chiffrant et/ou déchiffrant les données stockées sur la zone mémoire de partage (106, 206b, 306b). 3. Support de partage de données selon la revendication 2, caractérisé en ce qu'il comporte un module d'identification (303) accessible à un utilisateur du support, le module d'identification (303) comprenant une interface de saisie d'un identifiant, l'identifiant étant un élément secret utilisé par le calculateur cryptographique (404) pour chiffrer les données. 4. Support de partage de données selon l'une des revendications 2 et 3, caractérisé en ce que l'espace de stockage des données est scindé en au moins une mémoire de masse (206a, 306a) et une mémoire d'échanges (206b, 306b), la ou les mémoires d'échanges formant la zone mémoire de partage, la ou les mémoires d'échanges étant les seules mémoires accessibles en lecture et/ou en écriture aux autres supports de partage (100', 200', 300'). 5. Support de partage de données selon l'une des revendications 2 à 4, caractérisé en ce que la zone mémoire de partage (106, 206b, 306b) est partitionnée en plusieurs sous-zones de mémoire, chacune desdites sous-zones de mémoire étant associée à un identifiant, les données présentes sur chacune desdites sous-zones de mémoire étant chiffrées et/ou déchiffrées avec leur identifiant respectif. 6. Support de partage de données selon la revendication 4, le support étant alimenté électriquement par le poste (121) auquel il est connecté, 1 o caractérisé en ce que la ou les mémoires d'échanges (206b, 306b) sont volatiles afin d'entraîner un effacement automatique des données au moment de la déconnexion du support du poste (121). 7. Support de partage de données selon l'une des revendications 15 précédentes, caractérisé en ce que le support comporte un module de synchronisation (108, 208, 308) maintenant le contenu des zones de mémoire de partage (106, 206b, 306b) de chacun des supports interconnectés (100, 100', 200, 200', 300, 300') à l'identique. 20 8. Support de partage de données selon l'une des revendications précédentes, caractérisé en ce que les moyens de communications (110, 112) comportent une antenne (110) pilotée par un module de gestion (112) s'appuyant sur un protocole de transfert adapté aux communications sans fil, afin d'émettre et/ou de recevoir des données 25 par ondes électromagnétiques.