Instrument de sécurisation d'échanges de données.
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 chiffre- ment 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 juridi- quement 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 ç[ue 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 à 1 ' 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 :
- 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 . 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 importante. Afin de mieux comprendre les mécanismes fondamen-
taux 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 desquelles est logée une valeur masquée (dite clé de base) inconnue non seule- ment 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, l'une 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. Il 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 l/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. II 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 (l/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 Se (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érification de sceau" qui est une fonction de déchif rement 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] (1/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 applica-
tion 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 . II 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 1A, 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éalisation de dispositif permettant le renforcement de la vérification,
- la figure 4 illustre un autre exemple d'utilisation de l'instrument selon l'invention.
On supposera que le dispositif représenté à la figure 1 est une carte à mémoire E^^ à circuits intégrés qui comporte un microprocesseur 1, une première adresse de mémoire 2 contenant une clé de base T-. 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 Tx 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 Ex qui est destinée au détenteur de la carte E2 de la figure 1C, 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 Se (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 U,, utilisée pour une opération de déchiff ement 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 Ix qui est une clé d'identification du détenteur de la carte E→^ . 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 ci- dessus.
La fonction de calcul du sceau par un émetteur prend en compte cette clé Ix en la concaténant avec le message M. Les données transmises aux récepteurs comportent alors le message M, la clé d'identification ll t le sceau Sc(MI1/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é Ix qui lui est transmise, est réalisée comme déjà décrit en recalculant le sceau à partir du message, de la clé I1( 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é Ix 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 Ul, 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é 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' identifica- tion. 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 .
Parmi d'autres manières d'utiliser l'instrument selon l'invention entre deux acteurs d'un même domaine
(sous-ensemble) d'un réseau, au lieu de dédier la clé publique de l'acteur émetteur à un seul destinataire, on conserve le mode d'élaboration d'une clé publique commune tel que décrit précédemment (voir figure 1A) . La figure 4 illustre cet exemple d'utilisation.
Tous les acteurs de ce domaine disposeront d'un instrument E (par exemple une carte à mémoire et micropro- cesseur) avec, comme à la figure 2, une clé de base du premier type Tl, une première zone mémoire 11 à l'adresse de laquelle est logée la valeur I1 formant clé d' identification du détenteur de la carte, une seconde zone de mémoire 12 à l'adresse de laquelle est logée une- valeur D d'identification du domaine et une clé de base du second type UD qμi est commune à toutes les cartes du domaine D.
L'émetteur du message, outre le calcul de la clé à communiquer V, utilise son instrument pour élaborer un sceau Se qui consiste à chiffrer par la clé K un message qui comprend le message M proprement dit (par exemple en clair) , les identifiants émetteur récepteur I1# IN2, la valeur d'identification du domaine D, la valeur inconnue UD (clé de base du deuxième type) ainsi que la clé à communiquer V. Le fait d'avoir inclus cette valeur UD dans le calcul du sceau interdit toute analyse cryptographique du
sceau car cette valeur est inconnue contrairement à toutes les autres que, par hypothèse, on connaît puisqu' accessibles en clair dans le message lui-même.
En outre, les valeurs I-, et D sont placées dans le message par l'instrument lui-même, ces valeurs n'étant lisibles qu'au travers du microprocesseur au moyen d'un programme qui en limite le libre accès. L'usurpation de ces valeurs est donc très difficile.
A réception d'un tel message accompagné de sa signature, le destinataire procède à la vérification du sceau ce qu'il peut réaliser avec la clé V s'il appartient au même domaine que l'émetteur.
Il est également possible de transmettre un message chiffré M' préalablement à son scellement, lequel scellement sera réalisé à partir du message chiffré.
Le destinataire ne pourra avoir accès au déchiffrement qu'après avoir procédé à la vérification du sceau. Si cette vérification n'intervient pas après un nombre déterminé d'essais, la fonction déchiffrement est désacti- vée et le destinataire sera dans l'incapacité d'obtenir le message M' en clair.
Un message tel que structuré comme illustré à la figure 4 peut constituer la partie M ou M' d'un second message que, par exemple, le destinataire transmettra à un second destinataire. Ce second destinataire, si le premier message est chiffré, ne pourra pas le déchiffrer car le déchiffrement ne peut être réalisé que par l'émetteur ou le premier destinataire. Il pourra en revanche en vérifier le sceau. Ainsi, tout message est, dans ce cas d'utilisation, scellé donc signé de manière numérique. Il constitue donc un justificatif qui peut être inclus, encapsulé dans un autre message .
Par un tel format de messages toujours accompagné d'une signature, le tiers de confiance n'a plus de raison d'être. Il suffit pour satisfaire aux exigences légales, de
prévoir des "cartes d'écoute" dans lesquelles il est possible de placer des valeurs Ix et D pour écouter dans le domaine D les messages émis et reçus par le détenteur porteur de la clé Ix connue en clair, UD étant par défini- tion dans la carte de même que T qui n'est pas utile puisque cette "carte d'écoute" n'est pas destinée à émettre .
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é (d'un é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.