Brevet FR2952778A1 — publié le 20110520

PROCEDE DE TRANSMISSION DE DONNEES SECURISE ET SYSTEME DE CHIFFREMENT ET DE DECHIFFREMENT PERMETTANT UNE TELLE TRANSMISSION La présente invention concerne un procédé de transmission de données sécurisé et un système de chiffrement et de déchiffrement permettant une telle transmission. Elle s'applique notamment pour la transmission de données sécurisées en milieu non protégé tel que le réseau internet notamment. Les transmissions de données sécurisées se font généralement en cryptant ces données. Un document chiffré envoyé à un destinataire donné doit pouvoir être décrypté par celui-ci. A cette fin, ce destinataire doit posséder la ~o bonne clé de déchiffrement. Lorsqu'il y a plusieurs destinataires autorisés, le mode de transmission dit asymétrique impose à l'émetteur d'utiliser la clé publique de chaque destinataire pour chiffrer. L'émetteur doit donc être en mesure d'accéder à ces clés publiques et faire confiance au système responsable de leur 15 délivrance. L'autre mode de transmission, dit symétrique, évite l'utilisation d'une clé publique. Une même clé est utilisée pour le chiffrement et le déchiffrement d'un document. Ce mode symétrique impose la transmission aux destinataires du document chiffré et de la clé utilisée. Si un attaquant 20 parvient à s'approprier simultanément le document chiffré et la clé utilisée, il est alors en mesure de lire le contenu du document. La gestion de la clé est donc souvent problématique dans la mesure où la clé est susceptible d'être interceptée. Elle oblige généralement à un échange de main-à-main et à la mise au secret de la clé par les différents participants, d'où une multiplication 25 des possibilités de vol, de copie ou de compromission. Des solutions sont connues pour tenter de surmonter ces problèmes de sécurité de transmission. Ainsi, la cryptographie quantique peut permettre de garantir l'intégrité d'une clé échangée par les participants, mais elle est couteuse à mettre en oeuvre. En cas de modification ou d'interception 30 détectée, la clé est rejetée et un nouvel échange est initialisé. La gestion des clés pose cependant plusieurs inconvénients, notamment en ce qui concerne la génération, le stockage et l'échange des clés. En particulier : les destinataires de messages doivent être connus et identifiés à chaque envoi ; les méthodes et techniques utilisées sont généralement lourdes à mettre en oeuvre et coûteuses ; le stockage d'une clé partagée est problématique et nécessite des moyens spécifiques ; la multiplication des participants augmente les risques de compromission ; une attaque de type « Man-in-the-middle » permet à un intrus de se substituer à un destinataire souhaité, dans ce cas si un émetteur de donnée se laisse abuser il communique l'ensemble des éléments constituant le secret, la clé et le document chiffré. Un but de l'invention est notamment de pallier les inconvénients précités. A 15 cet effet, l'invention a pour objet un procédé de transmission sécurisée de données entre au moins un émetteur et un destinataire, le procédé comportant au moins : une étape d'authentification de l'émetteur à un réseau de confiance pour requérir le chiffrement desdites données ; 20 une étape de chiffrement desdites données par le réseau de confiance à l'aide d'une clé de chiffrement ; une étape de découpage de la clé de chiffrement en blocs quelconques ; une étape de stockage des blocs dans un espace mémoire ; 25 une étape d'une génération d'un index comportant la séquence d'adresses desdits blocs dans l'espace mémoire ; une étape de délivrance, par le réseau de confiance, des données chiffrées et de l'index à l'émetteur ; les données chiffrées et ledit index étant transmis au destinataire via un 30 réseau, le destinataire étant apte à s'authentifier auprès du réseau de confiance pour lui fournir les données chiffrées et ledit index, le réseau de confiance reconstituant la clé de chiffrement à partir de l'index pour déchiffrer les données chiffrées et restituant les données déchiffrées au destinataire. La clé de chiffrement est par exemple une clé de chiffrement jetable à usage 35 unique. Avantageusement, les blocs de la clé de chiffrement sont par exemple stockés selon un mécanisme de déduplication. L'invention a également pour objet un système de chiffrement et de déchiffrement de données, ledit système permettant une transmission sécurisée de données chiffrées entre un utilisateur émetteur et un utilisateur récepteur, le système comportant au moins un réseau de confiance et une infrastructure d'authentification des utilisateurs sur ledit réseau de confiance, ce dernier comportant au moins : ~o - des moyens de chiffrement et de déchiffrement de données au moyen d'une clé de chiffrement ; - des moyens de stockage de la clé de chiffrement et de génération d'un index lors de chaque requête de chiffrement de données, ladite requête étant émise par un utilisateur, l'index étant créé selon les étapes suivantes : 15 découpage de la clé de chiffrement en blocs quelconques ; stockage des blocs dans un espace mémoire ; génération de index comportant la séquence d'adresses desdits blocs dans l'espace mémoire, les données chiffrées étant délivrées à l'utilisateur émetteur avec l'index ; 20 une étape de délivrance, par le réseau de confiance, des données chiffrées et de l'index à l'émetteur ; - des moyens pour reconstituer la clé de chiffrement à partir d'un index lors d'une requête de déchiffrement émise par un utilisateur, ladite requête étant accompagnée dudit index et des données chiffrées, les moyens de 25 chiffrement et de déchiffrement effectuant le déchiffrement des données au moyen de la clé de chiffrement reconstituée. Les moyens de chiffrement et de déchiffrement génèrent par exemple avant chaque chiffrement une clé de chiffrement jetable, à usage unique, cette clé étant utilisée pour le chiffrement. 30 Les moyens de stockage et de génération de l'index mémorisent par exemple les blocs de la clé de chiffrement selon un mécanisme de déduplication. Les moyens de stockage, de génération de l'index et de reconstitution de la clé de chiffrement peuvent être intégrés dans un même serveur. Les moyens de chiffrement et de déchiffrement de données sont par exemple un serveur de chiffrement : - recevant les requêtes de chiffrement avec les données à chiffrer ; - fournissant les clés de chiffrement aux moyens de stockage et de 5 génération d'index ; - recevant les données chiffrées et la clé de chiffrement reconstituée émises par les moyens de reconstitution de la clé de chiffrement ; - restituant les données déchiffrées ; Le réseau de confiance comporte par exemple un serveur d'échanges : 10 - recevant les requêtes de déchiffrement avec les données chiffrées et l'index ; - transmettant les données chiffrées et leur index aux moyens de reconstitution de la clé de chiffrement ; - recevant les données chiffrées et leur index émis par les moyens de 15 stockage et de génération d'index ; - délivrant les données chiffrées et leur index. Un serveur de déduplication comporte par exemple les moyens de stockage, de génération de l'index et de reconstitution de la clé de chiffrement. 20 D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard de dessins annexés qui représentent : la figure 1, une illustration du principe de l'invention ; la figure 2, un exemple de réalisation d'un index utilisé par le procédé selon l'invention ; 25 la figure 3, une illustration d'un mode de réalisation possible d'un système selon l'invention avec un exemple d'utilisation. La figure 1 illustre le principe de mise en oeuvre du procédé selon l'invention. Selon l'invention on stocke puis on distribue un index, issu du découpage en 30 tronçons d'une clé de chiffrement 1, en même temps que le document chiffré. Cette clé 1 correspond à un mot codé sur un nombre de bits donné. Dans l'exemple de la figure 1 la clé est découpée en cinq blocs, ou tronçons, 11, 12, 13, 14, 15 correspond à cinq mots K1, K2, K3, K4, K5. Plus généralement, la clé peut être découpée en une multitude de blocs Ki, de taille variable, dont la juxtaposition permet par la suite de reconstituer la clé elle-même. Les tronçons KI, K2, K3, K4, K5 sont ensuite stockés dans un espace mémoire indexé 2. Le bloc KI est stocké à une adresse @1, le bloc K2 est stocké à une adresse @2, le bloc K3 est stocké à une adresse @3, le bloc K4 est stocké à une adresse @4 et le bloc K5 est stocké à une adresse @5. Plus généralement, un bloc Ki est stocké à une adresse @ L L'index 3, formé de la séquence d'adresses @1, @2, @3, @4, @5, plus généralement @1, @2, ...@ i, ... @N, permet de reconstituer la clé de chiffrement initiale en pointant les adresses successives de l'espace mémoire Avantageusement, la clé de chiffrement est stockée par morceau et doit être reconstruite pour être utilisée. Cette reconstruction n'est possible qu'en possession de l'index 3. Selon l'invention l'index 3, formé de la séquence d'adresses @1, @2, @3, @4, @5, plus généralement @1, @2, ...@ i, ... @N, est transmis avec les données cryptées. Le destinataire des données reçoit donc ces données cryptées accompagnées de cet index. A partir de cet index il reconstitue au travers d'un réseau de confiance la clé de chiffrement 1 afin de décrypter les données transmises. Avantageusement, l'index 3 n'apporte aucune information sur la clé de chiffrement, secrète, en dehors du réseau de confiance, mais il permet de reconstruire à la demande la clé de chiffrement qu'il décrit si on y est autorisé. Avantageusement, l'index 3 peut être un mot plus court que le mot 1 constituant la clé de chiffrement d'origine. La figure 2 présente un autre mode de création de l'index, utilisant un processus de déduplication 20 de la clé de chiffrement 21. Dans ce cas le stockage des blocs Ki de la clé de chiffrement sont stockés selon le procédé connu de déduplication, destiné notamment à optimiser l'espace mémoire occupé par les blocs Ki. La déduplication, également appelée factorisation ou stockage d'instance unique, est une technique connue de sauvegarde de données, consistant à factoriser des séquences de données identiques afin d'économiser l'espace mémoire utilisé. Comme dans le cas de la figure 1 le mot 1, constituant la clé de chiffrement, est découpée en une multitude de tronçons ou blocs 11, 12, 13, 14, 15. A titre d'exemple on considère toujours les mêmes cinq blocs que précédemment. Cette première étape de découpage 201 est suivie d'une deuxième étape 202 de signature des blocs utilisant une fonction classique de hachage. A chacun des blocs Ki est associé un condensé unique Sk, ces condensés servent par la suite à stocker les blocs Ki correspondant, dans l'espace mémoire 2. Un test 23 des signatures Sk est effectué. Une nouvelle occurrence d'un bloc déjà identifié n'est pas à nouveau sauvegardée mais est associé à une adresse pointant le même bloc déjà identifié. L'index 3 est créé par la récupération 24 des adresses des condensés. Cette opération de récupération d'adresses 24 utilise le résultat du test 23 et les adresses pointant les blocs en mémoire de stockage 2 pour former la séquence d'adresses qui permettra de reconstituer la clé de chiffrement d'origine 1. Dans l'exemple de la figure 2, le premier bloc 11 et le quatrième bloc 14 sont identiques. Ils possèdent alors le même condensé, ou même signature, SI. Les cinq blocs KI, K2, K3, K4, K5 sont stockés à l'aide des condensés SI, S2, S3, S4. L'index 3, formant une clé dédupliquée 22, est alors constitué des adresses à chacun des blocs Ki, ces adresses pointant les identifiants. Si on appelle @(S1), @(S2), @(S3), @(S4) les adresses respectives des identifiants SI, S2, S3, S4, il s'ensuit que : le bloc KI est associé à l'adresse @(S1) ; le bloc K2 est associé à l'adresse @(S2) ; le bloc K3 est associé à l'adresse @(S3) ; le bloc K4 est associé à l'adresse @(S1) ; le bloc K5 est associé à l'adresse @(S4) ; La clé dédupliquée 22 est alors l'index 3 constitué de la séquence 25 d'adresses : @(S1), @(S2), @(S3), @(S1), @(S4). Dans la suite de la description, on utilisera à titre d'exemple la clé dédupliquée 22, formée par le processus de déduplication. La figure 3 présente un exemple de mise en oeuvre du procédé selon 30 l'invention et plus particulièrement un mode de réalisation possible d'un système selon l'invention. Pour illustrer le fonctionnement d'un système selon l'invention on considère à titre d'exemple un premier acteur Alice 31 qui souhaite envoyer un document chiffré à un deuxième acteur Bob 32. Le document à chiffrer peut être tout 35 type de fichier selon tout type de format. L'invention utilise un réseau de confiance 30. La génération et le stockage de la clé de chiffrement 21, 1 sont effectués dans ce réseau de confiance, ainsi que la création et la gestion de la clé dédupliquée 22. Ce réseau comporte au moins ; - un serveur de déduplication 301 ; un serveur de chiffrement 302, ou tout autre outil de chiffrement et de déchiffrement ; - et un serveur d'échange 303. Ce réseau de confiance 30 est accessible uniquement aux acteurs autorisés, émetteurs et destinataires de documents chiffrés. L'accès au réseau de confiance 30 se fait au moyen d'une infrastructure d'authentification forte 33 accessibles uniquement aux acteurs autorisés, par exemple par l'intermédiaire d'un portail 34. Ces utilisateurs 31, 32 sont en mesure de s'authentifier sur ce réseau de confiance et disposent d'un compte applicatif dans le serveur d'échange 303 pour utiliser les services qu'il offre, c'est-à-dire notamment chiffrement et déchiffrement des documents ainsi que gestion de la clé de chiffrement et de sa clé dédupliquée. Le serveur de déduplication répond notamment aux critères suivant : la taille des blocs qu'il génère est inférieure à la taille d'une clé, pour éviter d'obtenir un seul bloc Ki ; il utilise une fonction de hachage pour signer l'intégralité des blocs de la clé. L'infrastructure d'authentification 33 utilise par exemple des moyens d'authentification biométrique ou des cartes à puces. Dans l'exemple de la 25 figure 3, des cartes à puce d'authentification sont utilisées. Dans une étape préalable 101 d'authentification pour chiffrement Alice envoie sur le portail 34 un document en clair 40 à chiffrer. Alice s'authentifie auprès du portail par exemple au moyen d'une carte à puce 35. A partir du portail une requête d'obtention du document chiffré et de sa clé dédupliquée 30 est lancée auprès du réseau de confiance 30. Dans une première étape 41, le document en clair 40 est présenté au serveur de chiffrement 302 qui effectue le chiffrement du document 40. Le serveur de chiffrement créée une clé de chiffrement par exemple jetable 21, à usage unique. Le document 40 est chiffré à l'aide d'un algorithme à clé privée en utilisant la clé 21 précédemment créée. Le serveur de chiffrement fournit donc le document chiffré 40' et la clé de chiffrement 21. La clé de chiffrement 21 est envoyée ensuite 42 au serveur de déduplication 301. Cette clé 21 est stockée sur un référentiel utilisant un mécanisme de déduplication tel que précédemment décrit. Le serveur de déduplication créée par exemple la clé dédupliquée 22 conformément à la description de la figure 2. Lors de chaque requête de chiffrement émise par un utilisateur émetteur 31, la clé de chiffrement est découpée en blocs quelconques Ki, les blocs étant différents d'une requête à l'autre. Plus précisément le serveur de déduplication comporte un serveur de sauvegarde 61, un serveur de déduplication 62 et une mémoire de stockage 63. Le serveur de sauvegarde 61 envoie la clé de chiffrement 21, c'est-à-dire en fait le mot 1 qui la constitue, au serveur de déduplication 62. Ce dernier délivre les tronçons Ki de la clé de chiffrement 21, 1 et les adresses @ i, les tronçons ou blocs Ki étant stockés dans la mémoire de stockage 63 aux adresses @ L Le serveur de déduplication délivre par ailleurs dans une étape suivante 43 la clé dédupliquée, formée de la séquence d'adresses @ i, et le document chiffré 40' au serveur d'échange 303. Dans une étape suivante 44, ce serveur 303 délivre alors au portail 34 le document chiffré 40' et la clé dédupliquée 22 via l'infrastructure sécurisée 33. L'étape 102 d'obtention du document chiffré et de la clé dédupliquée à partir du portail 34 peut alors être engagée par Alice 31. Celle-ci est alors en possession de ce document chiffré 40' et de la clé dédupliquée 22. Plus précisément, Alice est en possession du document chiffré 40' et d'une clé privée sans secret 22. Avantageusement, Alice peut envoyer à Bob ce document chiffré et sa clé dédupliquée par le réseau public 10, internet par exemple. Un espion 36 posté sur ce réseau ne peut pas décrypter le document 40' puisque la clé dédupliquée 22 ne comporte aucune information permettant de reconstituer le document en clair 40. En particulier, en cas de perte ou de vol de la clé dédupliquée 22 et du document chiffré, même en connaissant l'algorithme de chiffrement l'attaquant 36 ne dispose pas d'information suffisante pour décrypter le message. Une fois qu'il a reçu le document chiffré et sa clé de déduplication Bob 35 engage une étape 103 d'authentification pour déchiffrement auprès du portail 34. Il s'authentifie par exemple au moyen d'une carte à puce 37. Une requête de récupération du document en clair est alors lancée via ce portail 34 et l'infrastructure sécurisée 33 vers le réseau de confiance 30. Dans une première étape 51 une demande de déchiffrement du document chiffré 40' est envoyée au serveur d'échange 303. Le serveur d'échange fournit alors 52 la clé dédupliquée au serveur de déduplication 301 qui reconstitue la clé de chiffrement d'origine 21, 1 à partir des adresses @ i qu'elle contient et des blocs Ki mémorisés dans la mémoire de stockage 63. Dans une étape suivante 53 le serveur de déduplication 301 envoie le document chiffré 40' et la clé de chiffrement 21 au serveur de chiffrement 302 qui déchiffre le document 40' à l'aide de la clé 21. Puis dans une étape suivante 54, le serveur de chiffrement fournit au portail 34 le document déchiffré 40. Dans une dernière étape 104, Bob peut alors récupérer sur portail 34 le document en clair 40. Ainsi Bob, le destinataire de confiance, peut se connecter au système 34, 33, 30 de façon sure et utiliser la clé dédupliquée, sans secret, pour déchiffrer le document 40' sans avoir jamais connaissance de la clé de chiffrement 21 qui peut avantageusement être une clé jetable à usage unique.20 REVENDICATIONS1. Procédé de transmission sécurisée de données entre au moins un émetteur (31) et un destinataire (32), caractérisé en ce que ledit procédé comporte au moins : une étape d'authentification de l'émetteur (21) à un réseau de confiance pour requérir le chiffrement desdites données (40) ; une étape de chiffrement desdites données (40) par le réseau de confiance à l'aide d'une clé de chiffrement (21, 1) ; une étape de découpage de la clé de chiffrement en blocs quelconques (K1, K2, K3, K4, K5) ; une étape de stockage des blocs dans un espace mémoire (2, 63) ; une étape d'une génération d'un index (22) comportant la séquence d'adresses (@(S1), @(S2), @(S3), @(S4), @(S5)) desdits blocs dans l'espace mémoire ; une étape de délivrance (44), par le réseau de confiance, des données chiffrées (40') et de l'index (22) à l'émetteur (31) ; les données chiffrées (40') et ledit index (22) étant transmis au destinataire (32) via un réseau (10), le destinataire étant apte à s'authentifier auprès du réseau de confiance pour lui fournir les données chiffrées (40') et ledit index (22), le réseau de confiance reconstituant la clé de chiffrement (21, 1) à partir de l'index (22) pour déchiffrer les données chiffrées (40') et restituant les données déchiffrées (40) au destinataire. 2. Procédé selon la revendication 1, caractérisé en ce que la clé de chiffrement (21) est une clé de chiffrement jetable à usage unique. 3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les blocs (Ki) de la clé de chiffrement sont stocké selon un mécanisme de déduplication. 30 4. Système de chiffrement et de déchiffrement de données (40), ledit système permettant une transmission sécurisée de données chiffrées (40') entre un utilisateur émetteur (31) et un utilisateur récepteur (32), caractérisé en ce qu'il comporte au moins un réseau de confiance (30) et une25infrastructure d'authentification (33, 34) des utilisateurs (31, 32) sur ledit réseau de confiance, ce dernier comportant au moins : - des moyens (302) de chiffrement et de déchiffrement de données au moyen d'une clé de chiffrement (21) ; - des moyens (301) de stockage (63) de la clé de chiffrement et de génération d'un index (61, 62) lors de chaque requête (41) de chiffrement de données, ladite requête étant émise par un utilisateur (31), l'index étant créé selon les étapes suivantes : découpage de la clé de chiffrement (21) en blocs quelconques (K1, 10 K2, K3, K4, K5) ; stockage des blocs dans un espace mémoire (2, 63) ; génération de index (2) comportant la séquence d'adresses (@(S1), @(S2), @(S3), @(S4), @(S5)) desdits blocs dans l'espace mémoire, les données chiffrées (40') étant délivrées à l'utilisateur émetteur avec 15 l'index (22) ; une étape de délivrance, par le réseau de confiance, des données chiffrées (40') et de l'index (22) à l'émetteur (31) ; - des moyens (103) pour reconstituer la clé de chiffrement à partir d'un index (22) lors d'une requête de déchiffrement émise par un utilisateur (32), ladite 20 requête étant accompagnée dudit index (22) et des données chiffrées (40'), les moyens de chiffrement et de déchiffrement (302) effectuant le déchiffrement des données au moyen de la clé de chiffrement reconstituée. 5. Système selon la revendication 4, caractérisé en ce que les moyens de 25 chiffrement et de déchiffrement (302) génèrent avant chaque chiffrement une clé de chiffrement (21) jetable, à usage unique, cette clé étant utilisée pour le chiffrement. 6. Système selon l'une quelconque des revendications 4 ou 5, caractérisé en 30 ce que les moyens (301) de stockage et de génération de l'index mémorisent les blocs (Ki) de la clé de chiffrement selon un mécanisme de déduplication. 7. Système selon l'une quelconque des revendications 4 à 6, caractérisé en ce que les moyens de stockage, de génération de l'index et de reconstitution 35 de la clé de chiffrement sont intégrés dans un même serveur (301). 8. Système selon l'une quelconque des revendications 4 à 7, caractérisé en ce que les moyens (302) de chiffrement et de déchiffrement de données sont un serveur de chiffrement : - recevant (41) les requêtes de chiffrement avec les données (40) à chiffrer ; - fournissant (42) les clés de chiffrement (21) aux moyens (301) de stockage et de génération d'index ; - recevant (53) les données chiffrées et la clé de chiffrement reconstituée émises par les moyens (301) de reconstitution de la clé de chiffrement ; 10 - restituant (54) les données déchiffrées ; 9. Système selon l'une quelconque des revendications 4 à 8, caractérisé en ce que le réseau de confiance (30) comporte un serveur d'échanges (303) : - recevant (51) les requêtes de déchiffrement avec les données chiffrées 15 (40') et l'index (22) ; - transmettant (52) les données chiffrées et leur index aux moyens (103) de reconstitution de la clé de chiffrement ; - recevant (43) les données chiffrées et leur index (22) émis par les moyens (301) de stockage et de génération d'index ; 20 - délivrant (44) les données chiffrées et leur index. 10. Système selon l'une quelconque des revendications 4 à 9, caractérisé en ce qu'un serveur de déduplication (301) comporte les moyens de stockage, de génération de l'index et de reconstitution de la clé de chiffrement. 25 30