Brevet FR2821220A1 — publié le 20020823

PROCEDE DE MESSAGERIE SECURISEE La présente invention concerne un procédé de messagerie sécurisée. Les solutions de messagerie sécurisée permettent de garantir la confidentialité et optionnellement l'intégrité et l'identité de l'émetteur du message. De façon générale, de tels procédés permettent de réduire les risques en terme de sécurité, notamment l'interception par un attaquant d'un message électronique pour en lire le contenu, l'usurpation d'identité d'un correspondant ou encore l'altération du contenu par un attaquant pendant la phase de transport du message. Il est connu dans l'art antérieur de procéder à la sécurisation de l'envoi de message par le recours à des solutions basées sur la cryptographie, notamment par le recours à des solutions à clé publique et clé privée. L'état de la technique le plus proche est décrit par le brevet américain US6154543. Ce brevet concerne un cryptosystème à clé publique permettant à un utilisateur itinérant l'accès à un réseau pour établir des communications sûres entre les utilisateurs du système, les machines clientes, et les serveurs de chiffrement. Selon cette solution de l'art antérieur, la machine cliente génère et mémorise une clé privée chiffrée dans un serveur de chiffrement. Un utilisateur peut alors accéder à cette clé privée chiffrée depuis n'importe quelle machine cliente située dans le réseau et la déchiffrer en utilisant une phrase passe, jouissant ainsi de l'accès intersystème. La clé privée peut être utilisée pour déchiffrer et chiffrer les messages reçus. Un utilisateur peut générer un message numérique, le chiffrer avec la clé publique du destinataire d'un client, et le transmettre au serveur de chiffrement depuis n'importe quelle machine cliente du serveur. Cette solution de l'état de la technique est certes acceptable pour des messages électroniques de quelques kilo-octets. Par contre, pour l'utilisation pour des envois plus importants, notamment de fichiers correspondant à des données multimédias, une telle solution nécessite des ressources informatiques très importantes, notamment en terme de mémoire vive. Le but de la présente invention est de remédier à cet inconvénient en proposant un procédé permettant de sécuriser l'envoi de messages quel que soit leur volume, avec des postes clients ne nécessitant pas de ressources informatiques importantes. A cet effet, l'invention concerne selon son acception la plus générale un procédé de messagerie sécurisée, comportant une première étape d'inscription d'un utilisateur, consistant à générer une bi-clé sur le poste client dudit utilisateur, à l'aide d'un algorithme de génération de clés [RSA par exemple], à chiffrer la clé privée par un algorithme symétrique exécuté sur le poste client, la clé de cet algorithme symétrique étant dérivée par une fonction de hachage fonction SHA1] d'une chaîne de caractères secrète [pass phrase] saisie au moyen d'un périphérique clavier par exemple], à transmettre au serveur un fichier comprenant ladite valeur cryptée ["hash"] de la clé privée cryptée avec la clé symétrique, la clé publique à un serveur comportant une base de données pour l'enregistrement desdites informations et d'un identifiant unique dudit utilisateur [par exemple son adresse de courrier électronique], et la valeur de hachage de la clé symétrique [dérivée de la pass phrase], l'étape d'inscription comportant en outre une opération de signature de ladite bi-clé de l'utilisateur par la clé privée du serveur [clé de certification ou de signature des clés], le procédé comportant une étape d'exploitation comportant une opération d'authentification de l'utilisateur par la transmission au serveur depuis un poste client quelconque de son identifiant et de ladite chaîne de caractères secrète [sa pass phrase ], et de validation de l'authenticité de l'utilisateur par comparaison entre la valeur dérivée de la dite chaîne de caractère secrète transmise par l'utilisateur, et la valeur dérivée stockée dans ladite base de données, en relation avec l'identifiant de l'utilisateur considéré, et une opération de transmission par le serveur vers le poste utilisateur de ladite bi-clé, puis à chiffrer et/ou signer le message préparé sur le poste client avec respectivement les clés privées des destinataires du message, et/ou la clé privée dudit utilisateur, et une opération de transmission dudit message entre le poste de l'utilisateur et le serveur, caractérisé en ce que ladite opération de transmission du message est réalisée par l'établissement de canaux virtuels [VPN] pour le chiffrement et/ou la signature, la compression et la transmission du message"en flux continu" [streaming] sans stockage temporaire en mémoire sur le poste client, ni sur le serveur, ni sur un poste périphérique. De préférence, l'opération de transmission du message consiste à ouvrir une pluralité de canaux virtuels emboîtés, le premier canal étant un canal de communication, englobé un canal de chiffrement et/ou de signature, englobé lui-même un canal de compression, permettant la transmission de messages sans limitation de taille. Selon un mode de réalisation particulier, lesdits canaux virtuels comprennent un canal de chiffrement et un canal de signature en série. Avantageusement, la pluralité de canaux virtuels comporte en outre un canal d'entrée-sortie (I/0) sur les périphériques du poste client. Selon un mode de mise en oeuvre particulier, l'étape de transmission de message consiste à préparer un bloc comprenant un message en clair, composé de textes et de références à des fichiers du poste utilisateur fichiers attachés], à ouvrir lesdits canaux virtuels, à pointer chaque canal sur lesdits fichiers de façon séquentielle, et lire et traiter le flux pour réaliser les opérations de chiffrement et/ou de signature, de compression et de transmission. Selon une variante, le procédé selon l'invention comporte une opération de chiffrement distincte de chacun des composants du message dudit flux avec la clé privée dudit utilisateur, afin de créer une signature numérique, pour permettre une vérification ultérieure de la signature de chacun desdits composants séparément. L'invention concerne également une architecture pour le traitement de messages sécurisés, comprenant un serveur comportant une mémoire pour l'enregistrement chiffré et signé des informations relatives aux utilisateurs inscrits, des moyens d'envoi et de réception de messages et des moyens de connexion à un réseau public, et des postes clients comportant une application de navigation et des moyens de connexion audit réseau, caractérisé en ce que le serveur comporte des moyens de liaison sécurisée avec le réseau et des moyens de vérification de fichiers transmis par un utilisateur et signés avec une clé publique du serveur, et pour l'enregistrement, après vérification positive, dans une mémoire pour l'enregistrement d'une table comprenant, pour chaque utilisateur : la valeur cryptée ["hash"] de la clé privée cryptée avec la clé symétrique, la clé publique à un serveur comportant une base de données pour l'enregistrement desdites informations et d'un identifiant unique dudit utilisateur [par exemple son adresse de courrier électronique], et la valeur de hachage de la clé symétrique [dérivée de la pass phrase], l'architecture comprenant en outre des moyens pour l'établissement de canaux virtuels [VPN] pour le chiffrement et/ou la signature, la compression et la transmission du message"en flux continu" [streaming] sans stockage temporaire en mémoire sur le poste client, ni sur le serveur, ni sur un poste périphérique. La présente invention sera mieux comprise à la lecture de la description d'un exemple non limitatif de réalisation qui suit, ce référant aux dessins annexés où : la figure 1 représente le schéma d'une architecture de messagerie sécurisée selon l'invention ; - la figure 2 représente le schéma fonctionnel du procédé de messagerie. Le système de messagerie sécurisée selon l'invention met en oeuvre un serveur (1) relié à un réseau de télécommunication, notamment le réseau Internet. L'utilisateur du service de messagerie conforme à l'invention dispose d'un poste de travail (2) également relié au même réseau de télécommunication. Le serveur (1) comporte un espace de mémoire pour l'enregistrement d'une base de données (3) destinée au stockage de façon sécurisée des clés des utilisateurs, ainsi que les références des messages, et de leurs pièces jointes cryptées sur le disque dur du serveur. Le serveur comporte en outre un applicatif (4) réalisant l'interface entre les requêtes des utilisateurs, adressées sous forme de formulaires HTML, et l'accès aux données enregistrées dans la base de données (3). Lors de l'utilisation, le poste client (2) établit un lien HTTP avec le serveur (1). Il établit ensuite une requête, par exemple une requête de récupération de sa clé privée cryptée en mémoire du poste client. Lors de la consultation d'un message, la requête de consultation ouvre un lien TCP/IP (HTTP) qui va ouvrir un premier canal technique (5) encapsulé par deux canaux techniques en série respectivement de déchiffrement (6) et de vérification de la signature (7), ces deux canaux (6,7) étant eux-mêmes encapsulés par un canal technique de décompression (8), par exemple au format ZIP. Ces canaux permettent d'établir un lien persistant et synchrone entre le pointeur de lecture sur la base de données (3) et un fichier ouvert en mode écriture qui enregistre progressivement, et sans stockage intermédiaire dans une mémoire tampon, le flux déchiffré, vérifier et décompressé. De la même façon, pour transmettre un message, le poste client (2) procède à l'ouverture d'une série de canaux (5 à 8) pour la transmission en continu d'un flux chiffré, signé et compressé à partir du fichier du poste client vers la base de données (3) du serveur (1). REVENDICATIONS 1-Procédé de messagerie sécurisée, comportant une première étape d'inscription d'un utilisateur, consistant à générer une bi-clé sur le poste client dudit utilisateur, à l'aide d'un algorithme de génération de clés [RSA par exemple], à chiffrer la clé privée par un algorithme symétrique exécuté sur le poste client, la clé de cet algorithme symétrique étant dérivée par une fonction de hachage fonction SHA1] d'une chaîne de caractères secrète [pass phrase] saisie au moyen d'un périphérique clavier par exemple], à transmettre au serveur un fichier comprenant ladite valeur cryptée ["hash"] de la clé privée cryptée avec la clé symétrique, la clé publique à un serveur comportant une base de données pour l'enregistrement desdites informations et d'un identifiant unique dudit utilisateur [par exemple son adresse de courrier électronique], et la valeur de hachage de la clé symétrique [dérivée de la pass phrase], l'étape d'inscription comportant en outre une opération de signature de ladite bi-clé de l'utilisateur par la clé privée du serveur [clé de certification ou de signature des clés], le procédé comportant une étape d'exploitation comportant une opération d'authentification de l'utilisateur par la transmission au serveur depuis un poste client quelconque de son identifiant et de ladite chaîne de caractères secrète [sa pass phrase dz et de validation de l'authenticité de l'utilisateur par comparaison entre la valeur dérivée de la dite chaîne de caractère secrète transmise par l'utilisateur, et la valeur dérivée stockée dans ladite base de données, en relation avec l'identifiant de l'utilisateur considéré, et une opération de transmission par le serveur vers le poste utilisateur de ladite bi-clé, puis à chiffrer et/ou signer le message préparé sur le poste client avec respectivement les clés privées des destinataires du message, et/ou la clé privée dudit utilisateur, et une opération de transmission dudit message entre le poste de l'utilisateur et le serveur caractérisé en ce que ladite opération de transmission du message est réalisée par l'établissement de canaux virtuels [VPN] pour le chiffrement et/ou la signature, la compression et la transmission du message"en flux continu" [streaming] sans stockage temporaire en mémoire sur le poste client, ni sur le serveur, ni sur un poste périphérique. 2-Procédé de messagerie selon la revendication 1 caractérisé en ce que ladite opération de transmission du message consiste à ouvrir une pluralité de canaux virtuels emboîtés, le premier canal étant un canal de communication, englobé un canal de chiffrement et/ou de signature, englobé lui-même un canal de compression, permettant la transmission de messages sans limitation de taille. 3-Procédé de messagerie selon la revendication 2 caractérisé en ce que lesdits canaux virtuels comprennent un canal de chiffrement (6) et un canal de signature (7) en série. 4-Procédé de messagerie selon la revendication 2 ou 3 caractérisé en ce que la pluralité de canaux virtuels comporte en outre un canal d'entrée-sortie (I/O) sur les périphériques du poste client. 5-Procédé de messagerie selon la revendication 4 caractérisé en ce que ladite étape de transmission de message consiste à préparer un bloc comprenant un message en clair, composé de textes et de références à des fichiers du poste utilisateur fichiers attachés], à ouvrir lesdits canaux virtuels, à pointer chaque canal sur lesdits fichiers de façon séquentielle, et lire et traiter le flux pour réaliser les opérations de chiffrement et/ou de signature, de compression et de transmission. 6-Procédé de messagerie selon l'une au moins des revendications précédentes caractérisé en ce qu'il comporte une opération de chiffrement distincte de chacun des composants du message dudit flux avec la clé privée dudit utilisateur, afin de créer une signature numérique, pour permettre une vérification ultérieure de la signature de chacun desdits composants séparément. 7-Architecture pour le traitement de messages sécurisés, comprenant un serveur comportant une mémoire pour l'enregistrement chiffré et signé des informations relatives aux utilisateurs inscrits, des moyens d'envoi et de réception de messages et des moyens de connexion à un réseau public, et des postes clients comportant une application de navigation et des moyens de connexion audit réseau, caractérisé en ce que le serveur comporte des moyens de liaison sécurisée avec le réseau et des moyens de vérification de fichiers transmis par un utilisateur et signés avec une clé publique du serveur, et pour l'enregistrement, après vérification positive, dans une mémoire pour l'enregistrement d'une table comprenant, pour chaque utilisateur : la valeur cryptée ["hash"] de la clé privée cryptée avec la clé symétrique, la clé publique à un serveur comportant une base de données pour l'enregistrement desdites informations et d'un identifiant unique dudit utilisateur [par exemple son adresse de courrier électronique], et la valeur de hachage de la clé symétrique [dérivée de la pass phrase], l'architecture comprenant en outre des moyens pour l'établissement de canaux virtuels [VPN] pour le chiffrement et/ou la signature, la compression et la transmission du message"en flux continu" [streaming] sans stockage temporaire en mémoire sur le poste client, ni sur le serveur, ni sur un poste périphérique.