Brevet FR2753027A1 — publié le 19980306

La présente invention concerne un instrument de sécurisation de messages, chaque message ayant un émetteur, un récepteur et un contenu, la sécurisation consistant à mettre en oeuvre des moyens permettant d'associer au message, lors de son émission une indication chiffrée garante du caractère authentique du message en regard de certains paramètres sensibles de ce dernier et des identités de son émetteur et de son destinataire et de vérifier ou de contrôler cette indication chiffrée à réception du message grâce à des moyens de déchiffrement qui sont en relation avec les moyens de chiffrement qui ont servi à élaborer-l'indication chiffrée. L'indication chiffrée peut accompagner le contenu du message qui est lisible "en clair ; cette indication sera alors appelée un sceau et le chiffrement dont il sera question ci-après s'appellera scellement. Dans d'autres cas, C'est le contenu lui-même du message qui est chiffré et le chiffrement est alors appelé cryptage, l'information contenue n'étant pas lisible en clair. On rappellera que le scellement ou le cryptage sont connus et mettent en oeuvre un algorithme de chiffrement d'une ou plusieurs données sensibles du message, voire du message en entier, au moyen d'une clé de chiffrement qui est personnelle à l'émetteur. Le contrôle du sceau ou le décryptage s'effectue avec un algorithme approprié et une clé qui peut être différente de la clé de chiffrement (auquel cas l'algorithme est asymétrique) ou qui peut être la même (l'algorithme étant alors symétrique). Avec une clé de contrôle ou de décryptage différente de la clé de scellement ou de cryptage, les problèmes de sécurité sont moindres que dans le second cas. On rappellera à ce propos que la sécurité dans ce domaine signifie l'absence de possibilité de contrefaire un message transactionnel scellé ou de lire un message crypté. Le degré de sécurité dépend essentiellement de la facilité d'accès à la clé de chiffrement. L'algorithme de chiffrement dissymétrique ou irréversible est plus sûr qu'un algorithme symétrique ou réversible car la clé de chiffrement n'est pas divulguée aux différents acteurs agissant au niveau du contrôle ou de la réception du message. Cependant un tel algorithme est de mise en oeuvre très contraignante car il requiert d'utiliser des clés longues, des cryptogrammes longs et donc des puissances de calcul très importantes. Dans le cas d'un sceau, on ajoute généralement ce sceau au message au moment de son émission. En cas de support papier du message, le déchiffrement demande qu'il soit saisi pour traitement ce qui est une source importante d'erreurs et de mauvais fonctionnements même au moyen d'appareils de lecture automatisée. C'est pourquoi il est aujourd'hui préféré des instruments de sécurisation qui utilisent des algorithmes symétriques (DES, abréviation de l'expression anglaise DATA ENCRYPTION STANDARD) qui exigent des'moyens moins puissants donc de coût moins élevé, qui permettent des sceaux relativement courts et des clés de scellement également courtes. L'inconvénient de ces algorithmes symétriques réside dans la possession d'une même clé de scellement par au moins deux acteurs, ce qui fait qu'un sceau ne peut être juridiquement considéré comme une signature puisque plusieurs acteurs partagent le secret et peuvent donc "sceller ou signer un message". Par ailleurs il existe des risques de fraude lors du transfert ou du transport des clés secrètes, risques que l'on ne peut réduire qu'au prix d'une technologie chère et complexe. Ceci est d'autant plus rédhibitoire que les échanges de données correspondant à par exemple, des biens dématérialisés, sont en train de se généraliser très rapidement et qu'il faut fournir des instruments de sécurisation à un nombre croissant d'utilisateurs. Par la présente invention on entend diminuer le plus possible les risques de fraudes en proposant un instrument de sécurisation capable d'élaborer des clés de chiffrement/déchiffrement à l'insu des opérateurs qui eux peuvent échanger des clés publiques quels qu'ils soient (émetteur, récepteur, certificateur...). A cet effet l'invention a donc pour objet un instrument de sécurisation pour le chiffrement/déchiffrement de messages échangés entre chacun des acteurs d'un réseau d'une pluralité d'acteurs pouvant agir comme émetteur ou destinataire d'un message chiffré ou scellé qui comprend, pour chaque acteur, un dispositif comportant un circuit intégré avec des zones de mémoire et un microprocesseur capable d'exécuter un algorithme et de contrôler l'accès à ces zones en fonction de la nature de l'opération demandée au microprocesseur par l'opérateur qui détient le dispositif et choisie parmi les opérations - déchiffrement, - calcul d'une clé à communiquer, - et déchiffrement, les zones de mémoire contenant deux types de clés de base masquées dont une clé de base du premier type est propre à chaque dispositif et dont au moins une clé de base du second type est commune à tous les dispositifs et est inaccessible par le microprocesseur lors de l'exécution d'une opération de chiffrement. Le premier avantage de l'instrument de l'invention résulte de cette spécificité technologique (à savoir les valeurs de clés de bases masquées et leur accès sélectif par le microprocesseur en fonction de l'opération qui lui est assignée). Cette disposition permet la mise en oeuvre par chaque microprocesseur d'algorithmes symétriques, donc rapides, tout en ayant créé un système global de chiffrement/déchiffrement (scellement/contrôle ou cryptage/décryptage) asymétrique, donc de sécurité très importan te. Afin de mieux comprendre les mécanismes fondamentaux de traitement des différentes clés mises en oeuvre dans l'invention, celle-ci sera expliquée en regard de l'exemple d'application suivant. Les messages qu'il s'agit de traiter sont des messages adressés par un émetteur à des récepteurs. On assure usuellement une certaine sécurité quant au caractère authentique de l'émission du message en pratiquant la technique du scellement. L'émetteur procède à l'encodage de certaines données caractéristiques de son message par un algorithme cryptographique au moyen d'une clé qui lui est propre. Le résultat de cette opération s'appelle le sceau. Le récepteur du message (ou le contrôleur) procède à une vérification du sceau au moyen de la même clé appliquée aux mêmes données qu'il connaît. Avec les moyens de l'invention, l'émetteur et les destinataires procéderont l'un au scellement et les autres à la vérification du sceau d'une manière tout à fait classique. En effet, l'émetteur dispose du dispositif (carte à circuit intégré par exemple) de l'invention, dans lequel un microprocesseur possède deux modes de fonctionnement un premier mode dit calcul de clé publique" (clé à communiquer) et un second mode dit calcul de sceau". Ce circuit intégré comporte également des zones de mémoire qui contiennent deux adresses à chacune désquelles est logée une valeur masquée (dite clé de base) inconnue non seulement du porteur du dispositif mais également du fabricant. Ces adresses ne sont accessibles que par le microprocesseur lors de l'exécution des fonctions à exécuter. Plus précisément, lune des valeurs (première clé de base T) n'est accessible par le microprocesseur que lors de l'exécution de la fonction "calcul de sceau" qui est une fonction de chiffrement, l'autre valeur (seconde clé de base U) n'étant accessible que lors de l'exécution de la fonction "calcul de clé publique qui met en oeuvre un algorithme de déchiffrement. Les acteurs récepteurs ou destinataires du message scellé disposent également du même dispositif (carte à circuit intégré) avec un microprocesseur et des zones de mémoire. Dans une version de l'invention simplifiée pour les besoins de l'explication, ces zones de mémoire contiennent à une adresse, d'accès contrôlé par le microprocesseur, une valeur identique à la seconde clé de base U introduite dans la carte de l'émetteur et le microprocesseur ne possède qu'une fonction de "vérification de sceau" qui est une fonction de déchiffrement. La seconde clé de base est bien entendu inconnue du détenteur de la carte ainsi que de son fabricant. L'émetteur, de manière classique, doit avant tout communiquer aux récepteurs une clé permettant à ces derniers de vérifier les sceaux qu'il aura apposés sur ses messages. Pour ce faire il choisit une clé de valeur arbitraire S qui lui est propre et qui devient sa signature. I1 fournit cette signature au dispositif de l'invention dans son mode "calcul de clé publique. La fonction exécutée par le microprocesseur consiste alors à chiffrer cette clé S par un algorithme A au moyen de la première clé de base T et de chiffrer à nouveau le résultat obtenu par l'algorithme inverse 1/A de l'algorithme A au moyen de la seconde clé de base U. La valeur obtenue constitue la clé publique V, clé à communiquer à chacun des récepteurs. I1 est possible d'écrire de manière synthétique: V = [S(A)T](1/A)U, avec (A)T signifiant chiffrement de la clé S par l'algorithme A au moyen de la clé T et (1/A)U signifiant chiffrement par l'inverse de l'algorithme A au moyen de la clé U (ce qui est une opération de déchiffrement). La clé V ainsi calculée est transmise aux récepteurs. L'émetteur pour sceller son message, sélectionne la fonction "calcul de sceau" du microprocesseur. Il introduit à l'entrée du dispositif le message M à sceller et la clé de signature S choisie. Le microprocesseur procède au chiffrement de la clé S par l'algorithme A au moyen de la première clé de base T pour obtenir la clé de scellement K. On écrit K = S(A)T qui n'est pas accessible pour l'émetteur et avec laquelle il calcule le sceau associé au message S (noté ci-après Sc(M/S)). Le récepteur quant à lui dispose du dispositif de l'invention dans lequel le microprocesseur possède un mode de fonctionnement "vérification de sceau" et une zone mémoire accessible uniquement par le microprocesseur lors de l'exécution de cette fonction, chargé de la même valeur U que la seconde clé de base du dispositif de l'émetteur. Le récepteur, possédant la clé V reçoit le message (en clair) et procède à la vérification du sceau associé à ce message en sélectionnant la fonction vérifier cation de sceau" qui est une fonction de déchiffrement exécutable par le microprocesseur du dispositif qu'il détient. Ce déchiffrement est réalisé au moyen de la clé K qui est calculée par le microprocesseur lors de l'exécution de la vérification du sceau et ce pour chaque opération de vérification, sans accès possible pour le récepteur. Ainsi le microprocesseur, pour disposer de la clé K, procède au chiffrement de la clé V au moyen de la seconde clé de base U par l'algorithme A. En effet K = V(A)U = [S (A) T] (l/A)U(A)U = S(A)T Le microprocesseur du récepteur exécute avec cette clé le calcul du sceau et délivre au récepteur le résultat de la comparaison la valeur du sceau qu'il vient de calculer avec celle qu'il a reçue de l'émetteur. L'explication qui précède des moyens élémentaires de l'invention et de leur mise en oeuvre dans une application de base illustrent le degré de sécurité obtenu dans la transaction entre un émetteur et un récepteur, grâce aux deux clés masquées T et U qui ne sont accessibles que par le microprocesseur et ce de manière sélective selon la fonction exécutée par ce microprocesseur. Le masquage et cette accessibilité sélective sont réalisés au stade même de la fabrication de la carte mémoire et du circuit intégré si bien qu'il n'est pas possible d'y accéder au moyen d'une quelconque manoeuvre frauduleuse par application de logiciels par exemple. Le dispositif de l'invention apporte à l'échange la même sécurité qu'un algorithme de chiffrement asymétrique avec les avantages d'un algorithme symétrique. En réalité cette application de base décrite pour les besoins de l'explication ne constituent qu'un aperçu des possibilités offertes par le dispositif de l'invention. Ainsi, d'autres caractéristiques et avantages ressortiront de la description d'exemples de réalisation donnés ci-après à titre indicatif. Il sera fait référence aux dessins annexés parmi lesquels - la figure 1 est un schéma d'un dispositif de base de l'invention, - les figures lA, 1B et 1C illustrent les étapes déjà décrites relatives au scellement d'un message et à la vérification d'un sceau, - la figure 2 illustre une variante de réalisation de ce dispositif permettant la sélectivité des échanges entre les acteurs d'un réseau, le renforcement de l'authentification d'un message, le cryptage/décryptage, l'intervention d'un tiers de confiance, d'un dépositaire officiel des clés..., - la figure 3 illustre une variante de réalisa tion de dispositif permettant le renforcement de la vérification. On supposera que le dispositif représenté à la figure 1 est une carte à mémoire E1 à circuits intégrés qui comporte un microprocesseur 1, une première adresse de mémoire 2 contenant une clé de base T1 d'un premier type c'est-à-dire appelée par le microprocesseur lors de l'exécution d'une fonction de chiffrement, une seconde adresse de mémoire 3 contenant une clé de base U d'un second type c'est-à-dire appelée par le microprocesseur lorsqu'il exécute une opération de déchiffrement, une entrée 4 pour recevoir les données à traiter et une sortie 5 pour délivrer les données traitées. Le dispositif comporte par ailleurs des moyens de commande 6 à 10 pour sélectionner le mode opératoire du microprocesseur parmi les cinq modes opératoires suivants - 6 : calcul du sceau - 7 : cryptage, - 8 : calcul de clé publique, - 9 : vérification du sceau, -10 : décryptage. Les modes opératoires "calcul de sceau" et "cryptage" sont des fonctions de chiffrement qui font appel uniquement aux clés masquées du premier type T. Les modes opératoires "vérification de sceau" et décryptage" sont des fonctions de déchiffrement qui font uniquement appel aux clés masquées U du second type. Le mode opératoire "calcul de clé publique est une fonction de chiffrement suivie d'une fonction de déchiffrement faisant appel successivement au deux types de clés. Cette carte mémoire est mise à disposition de tous les acteurs d'un réseau d'échange de messages, chaque acteur pouvant être dans ce réseau soit émetteur du message soit récepteur ou destinataire du message émis. L'unique différence d'une carte à l'autre réside dans la valeur de la clé de base du premier type qui est différente T1 T2 etc... d'une carte à l'autre. Ce dispositif permet au message d'être soit scellé soit crypté, les fonctionnalités de base qu'il comporte permettant comme cela sera expliqué ci-après, de satisfaire aux exigences légales attachées au cryptage/décryptage. La figure 1A illustre schématiquement le calcul de la clé publique V par le détenteur de la carte E1 qui est destinée au détenteur de la carte E2 de la figure lC, identique .à la carte E1 sauf en ce qui concerne la clé de base du premier type, c'est-à-dire celle utilisée par le microprocesseur lorsque dans son mode opératoire il procède à une opération de chiffrement. Cette clé de base est notée T2 à la figure 1C. La figure 1B illustre le scellement (calcul d'un sceau) d'un message M comme décrit précédemment. La figure 1C illustre la vérification d'un sceau par le détenteur de la carte E2 qui, agissant en tant que récepteur, utilise le mode opératoire 9 du microprocesseur 1, appliqué aux informations reçues du détenteur de la carte E1, c'est-à-dire le message M, le sceau Sc (M/S), la clé publique V, données placées en entrée du microprocesseur 1, ce dernier délivrant une information de validation O ou de rejet N après le traitement de vérification décrit précédemment. Comme dans toutes les cartes détenues par les acteurs du réseau, la valeur de la clé de base U1 utilisée pour une opération de dé chiffrement lors de la vérification du sceau (ou lors du calcul de la clé publique) est commune, chaque acteur peut élaborer une clé publique qui lui est propre et utilisable en déchiffrement par tous les autres acteurs. Cependant, à réception d'une clé publique, un acteur n'est pas à même d'identifier l'émetteur de cette clé. La figure 2 illustre une variante de réalisation du dispositif de l'invention grâce à laquelle il est possible d'identifier l'émetteur d'un message scellé et/ou d'une clé publique. La carte représentée comporte toutes les fonctionnalités de la carte précédente avec en plus une zone de mémoire 11 à l'adresse de laquelle est logée une valeur li qui est une clé d'identification du détenteur de la carte E1. Cette valeur est introduite dans la carte au moment de sa fabrication mais peut en être extraite par le microprocesseur pour la transmettre en clair. Il ne s'agit donc pas d'une clé masquée comme celles T et U décrites cidessus. La fonction de calcul du sceau par un émetteur prend en compte cette clé li en la concaténant avec le message M. Les données transmises aux récepteurs comportent alors le message M, la clé d'identification li, le sceau Sc(MI,/S) calculé et la clé publique V. La vérification du sceau par le destinataire qui connaît l'émetteur par la connaissance de la clé li qui lui est transmise, est réalisée comme déjà décrit en recalculant le sceau à partir du message, de la clé li, d'une concaténation de ces message et clé au moyen de la clé K calculée à partir de la clé V publique et de la clé de base masquée U. Le fait que la clé li soit imposée dans le calcul par le microprocesseur, sans possibilité d'intervention externe, interdit tout risque d'usurpation d'identité. Avec l'invention, il est également possible, en transmettant la clé V publique aux récepteurs intéressés, de procéder au scellement de celle-ci considérée comme un message concaténé avec la clé d'identification I. Les récepteurs peuvent ainsi identifier l'émetteur de la clé V qu'ils reçoivent et, par la vérification du sceau, s'assurer que la clé reçue est bien celle de l'émetteur identifié. A la figure 3 on a représenté une autre variante de réalisation dans laquelle chaque carte comporte deux clés de base U1, U2 masquées du second type commune à toutes les cartes des acteurs du réseau. On notera que le nombre de clés de base peut être multiplié par plus de deux. L'intérêt de ces deux clés de base (ou plus si besoin est) réside dans le fait que le calcul de la clé publique et la fonction de vérification du sceau demandent de multiplier l'application de l'algorithme cryptographique, ce qui complique beaucoup l'analyse cryptographique qui serait tentée pour découvrir la clé K. Il faut enfin mentionner l'universalité possible de l'emploi de l'instrument de l'invention dans l'échange sécurisé de données entre les acteurs d'un réseau. En effet, dans une autre variante de réalisation, l'une des deux (ou plusieurs) clés de base U du second type n'est pas figée au départ, mais obtenue par calcul fondé sur les clés d'identification affectées à chaque carte. Ainsi deux acteurs d'un réseau peuvent-ils se communiquer leur clé d'identification (un annuaire des clés d'identification du réseau peut être établi). La clé publique de l'acteur émetteur est calculée comme décrit précédemment, l'un des algorithmes mis en oeuvre utilisant une des clés de type U obtenue dynamiquement à partir des deux clés d'identification des acteurs en cause (la clé de l'émetteur étant présente dans une mémoire de la carte, la clé du destinataire étant présentée en entrée en même temps que la clé de signature S). La clé publique ne devient alors utilisable que par le destinataire spécifié à qui, avec le message et le sceau associé, l'émetteur fournit sa clé d'identification. Le microprocesseur du destinataire peut alors rétablir la clé dynamique U par recombinaison de la clé d'identification de l'émetteur et de sa propre clé interne d'identification lors de la vérification du sceau. La description ci-dessus fait apparaître que, dans un réseau, chaque acteur peut communiquer avec tous les autres en leur fournissant une clé publique commune ou avec un seul des autres en utilisant sa clé d'identification et celle du destinataire choisi pour élaborer une clé publique de destinataire. Les cartes peuvent également comporter d'autres clés d'identification en relation avec la constitution de sous-ensembles du réseau, ces clés seraient communes aux membres du réseau satisfaisant à tel ou tel critère fondateur du sous-ensemble en question. Chaque émetteur pourrait alors fabriquer une clé publique sélective par sous-ensemble. Le dispositif de l'invention permet donc de régler la sécurisation (confidentialité, signature...) des échanges de données informatiques dans un réseau que l'échange soit de type privé (dun émetteur vers un destinataire) ou public (un émetteur vers tous les acteurs du réseau ou certains groupes d'entre eux). Il permet en outre de décentraliser totalement les procédures de sécurisation dans un réseau donné. Il se prête enfin aux opérations de cryptage/décryptage puisqu'il permet de satisfaire les exigences d'ordre public liées à ce type d'échange. En effet l'invention permet dans un réseau considéré de désigner un administrateur (un tiers de confiance) qui, avec les mêmes moyens que ceux de chaque acteur, peut assurer par exemple la fonction de gestion des clés, le gardiennage de celles-ci et leur accessibilité par les pouvoir publics dans le cas du cryptage. Le scellement d'une clé publique par l'administrateur peut constituer un certificat de dépôt de celle-ci et la preuve de l'accomplissement d'une formalité conforme à la législation en vigueur en ce qui concerne les messages cryptés. C'est ainsi que le mode opératoire "cryptage" du dispositif selon l'invention peut contraindre de présenter au microprocesseur qui sera technologiquement conçu à cet effet, non seulement la clé de cryptage du détenteur (sa signature) du dispositif mais également le certificat de dépôt de la clé publique correspondante qu'il aura obtenu du tiers de confiance. Le microprocesseur en présence de ce sceau et à l'appel d'un mode opératoire "cryptage" pourra par exemple procéder à une vérification du sceau qui, si elle s'avère positive, engendrera une autorisation d'exécution par le microprocesseur de la procédure de cryptage proprement dite. REVENDICATIONS 1. Instrument de sécurisation pour le chiffrement/déchiffrement de messages échangés entre chacun des acteurs d'un réseau d'une pluralité d'acteurs, pouvant chacun agir comme émetteur ou destinataire d'un message crypté ou scellé, caractérisé en ce qu'il comprend pour chaque acteur un dispositif (E1) comportant un circuit intégré avec des zones de mémoire (2, 3) un microprocesseur (1) capable d'exécuter un algorithme et de contrôler l'accès à ces zones (2, 3) en fonction de la nature de l'opération demandée au microprocesseur par l'opérateur qui détient le dispositif (El) et choisie parmi les opérations: - chiffrement (6, 7), - calcul d'une clé à communiquer (8) - déchiffrement (9, 10), les zones de mémoire (2 et 3) contenant deux types de clés de base masquées dont une clé de base (T1) du premier type est propre à chaque dispositif (E1) et dont au moins une clé de base (U) du second type est commune à tous les dispositifs et est inaccessible par le microprocesseur lors de l'exécution d'une opération (6, 7) de chiffrement. 2. Instrument selon la revendication 1, caractérisé en ce que l'opération de chiffrement (6, 7) met en oeuvre un algorithme symétrique (A) appliqué à une clé (S) de signature choisie par l'acteur agissant en tant qu'émetteur au moyen de la clé de base (T1) du premier type. 3. Instrument selon la revendication 2, caractérisé en ce que l'opération (8) de calcul de la clé (V) à communiquer met en oeuvre un algorithme symétrique appliqué aux résultats de l'opération de chiffrement au moyen d'au moins une clé de base (U) du second type. 4. Instrument selon la revendication 3, caractérisé en ce que l'opération de déchiffrement (9, 10) comprend un algorithme inverse du précédent algorithme, appliqué à une clé (V) communiquée à l'acteur agissant comme destinataire, au moyen d'au moins la clé de base (U) du second type. 5. Instrument selon l'une des revendications précédentes, caractérisé en ce qu'il comporte plusieurs clés de base (U1, U2,...) du second type dans des zones de mémoire masquée, l'opération de calcul de la clé à communiquer et l'opération de déchiffrement comportant la réitération de l'algorithme correspondant avec chacune des clés de base (U1, U2...) du second type. 6. Instrument selon l'une des revendications précédentes, caractérisé en ce qu'il comporte une zone de mémoire non masquée contenant une clé (I) d'identification de l'acteur. 7. Instrument selon les revendications 5 et 6, caractérisé en ce qu'à chaque opération de calcul de clé à communiquer ou de chiffrement, une clé de base (U) du second type est obtenue par combinaison au moyen du microprocesseur à partir des clés d'identification (I) de deux acteurs. 8. Instrument selon l'une des revendications précédentes, caractérisé en ce que l'opération de chiffrement comporte un mode "calcul de sceau" et un mode "cryptage" et en ce que la fonction de chiffrement comporte un mode "vérification de sceau" et un mode "décryptage". 9. Procédé de cryptage d'un message au moyen d'un instrument selon les revendications 7 et 8, caractérisé en ce qu'il consiste à choisir une clé de cryptage arbitraire, à calculer la clé publique à communiquer correspondante, à transmettre cette clé publique à l'un des acteurs du réseau agissant comme tiers de confiance et à présenter à l'instrument le sceau de cette clé publique calculé par le tiers de confiance qui constitue une autorisation d'exécution de la fonction de chiffrement en mode de cryptage.