Brevet FR2840704A1 — publié le 20031212

04537/SYC/E EN D \\klefil O 1 \D Pl$\Sa lle\F 1045 37\PREMDE P\FIT\projetbr.doc PROCEDE DE STOCKAGE D'UNE CLE CONFIDENTIELLE DANS UN TERMINAL SECURISE La presente invention concerne des perfection- nements apportes dans le domaine de la protection des terminaux tels que des terminaux informatiques ou informatises, et plus specifiquement elle concerne des perfectionnements apportes dans le domaine du stockage d'une cle confidentielle dans un terminal securise. A titre d'application preferee, bien que non exclusive, l' invention vise les terminaux monetiques proteges par cles, auxquels les utilisateurs accedent au moyen d'une carte a piste magnetique. Pour de multiples raisons, un terminal peut avoir a effectuer des operations de cryptage et de signature (cas en particulier des terminaux monetiques). Pour empecher des fraudes sur ces operations, ces terminaux doivent mettre en uvre des mecanismes specifiques pour assurer que les cles qui y vent tenues en memoire demeurent secretes. En general, ces terminaux, et en particulier les terminaux monetiques, doivent satisfaire aux deux contraintes suivantes: À les cles ne doivent pas etre accessibles lorsque le terminal est ouvert. Une solution consiste a effacer les cles grace a un mecanisme particulier (par exemple un interrupteur de securite) qui est declenche lors de l'ouverture du terminal notamment par effraction; À les cles ne doivent pas etre transmises d'un composant a un autre a travers des liaisons telle que bus, liaisons eerie,... de maniere a empecher leur identification par detection des rayonnements electromagnetiques des slgnaux vehicules correspondents. De facon habituelle, on ajoute dans le terminal un processeur securise qui stocke les cles et assure les operations cryptographiques. Ce processeur securise est alimente en permanence. Si une intrusion est detectee, le terminal interrompt automatiquement l'alimentation electrique du processeur, ce qui entralne l' effacement de toutes les cles stockees. Toutefois, pour certains domaines d'application, certains processeurs securises peuvent ne pas etre maintenus alimentes en permanence, par exemple pour limiter la consommation en energie electrique. C'est le cas en particulier pour les processeurs securises constitues sous forme de cartes cites cartes a puce ou "cartes intelligentes" (smart cards). Ces "cartes intelligentes" peuvent etre soit enrobees dans du plastique, soit logees dans un boltier electronique; elles peuvent etre amovibles ou non. L' invention a essentiellement pour but de proposer un procede perfectionne de stockage d'une cle confidentielle dans un terminal securise qui ecarte les inconvenients exposes plus haut et qui donne mieux satisfaction aux diverges exigences des gestionnaires des terminaux securises. A ces fins, l 'invention propose un procede de stockage d'une cle confidentielle dans un terminal securise, caracterise en ce que ladite cle est subdivisee en au moins deux sous-cles, dont au moins l'une des sous cle est tenue dans une memoire sauvegardee agencee pour etre effacee en cas d'intrusion dans le terminal et au moins lautre sous-cle est tenue dans une memoire non volatile. L' invention sera mieux comprise a la lecture de la description qui suit de certains modes de mise en muvre donnes uniquement a titre purement illustratif. Conformement a linvention, la cle confidentielle contenue dans le terminal securise est constituee d'au moins deux sous-cles telles que la connaissance de l'une d'elles ne permet pas de reconstituer la cle principale. Ces deux sous-cles vent stockees, dans le terminal, de deux facons differentes respectivement, a savoir au moins l'une des sous-cles est stockee dans une memoire sauvegardee telle qu'elle soit effacee si le terminal est ouvert notamment par intrusion et au moins l'autre sous- cle est stockee dans une memoire non volatile. Le procede conforme a l' invention fait done appel conjointement aux deux solutions actuellement connues de maniere a cumuler leurs avantages respectifs, tout en ecartant leurs inconvenients respectifs: - l'une des sous-cles est tenue dans une memoire sauvegardee (par exemple du type SRAM) qui est alimentee de facon autonome (pile, batterie) loraque le terminal est hors tension. Si le terminal est ouvert (intrusion), un mecanisme particulier d' effacement de son contenu (un interrupteur par exemple) permet de vider cette memoire tres rapidement afin de perdre la sous cle qui y est stockee. - l'autre sous-cle est stockee dans un composant securise, par exemple du type carte a puce (smart card), qui est monte dans le terminal. Ce type de composant a, en general, une consommation trop elevee pour une alimentation autonome par pile ou batterie pendant les periodes de non alimentation du terminal. Pour cette raison, la sous-cle est stockee dans une zone de memoire non volatile (par exemple EEPROM ou FLASH) de la carte a puce, ce qui autorise que ce composant puisse ne plus etre alimente pendant les phases de non alimentation du terminal. Ce decoupage de la cle en au moins deux sous-cles et cette separation des memorisations (zone facilement effacable a fonctionnement autonome et zone tres securisee non volatile) permet d' assurer la conservation requise du secret meme en cas d' intrusion puisque la connaissance simultanee des au moins deux sous-cles est necessaire pour reconstituer la cle principale. Pour assurer un secret efficace, on peut prevoir en outre ce qui suit: la reconstitution de la cle principale a partir des au moins deux souscles ne s'effectue pas par simple mise bout a bout des sous-cles, mais en faisant intervenir un operateur algorithmique ou ensemble d'operateurs algorithmiques (par exemple XOR, DES) de telle sorte que les deux souscles ne comportent individuellement aucune information de la cle principale K = K1 op K2 ou: K est la cle principale K1 et K2 vent les deux sous-cles op est l'operateur algorithmique. De plus, tonj ours dans le meme but, chaque sous cle possede la meme longueur que la cle principale. Dans ces conditions, la connaissance d'une seule des sous-cles ne peut fournir aucune indication sur la cle principale. La securite optimale de protection du terminal est obtenue lorsque la plupart des dispositions exposees 2840704 ci-dessus vent reunies et exploitees conjointement, c'est- a-dire lorsque le procede de stockage d'une cle confidentielle dans un terminal securise se caracterise en ce que - le terminal comprend À au moins une memoire sauvegardee qui est alimentee electriquement de fa,con autonome lorsque le terminal est non alimente et a laquelle vent associes des moyens de suppression rapide du contenu de cette memoire en cas d'ouverture non autorisee audit terminal, et À au moins un composant securise qui est connecte a l'alimentation electrique du terminal et qui comporte une memoire dont au moins une partie est non volatile, - la cle confidentielle est subdivisee en au moins deux sous-cles telles que: À au moins une sous-cle est stockee dans la memoire sauvegardee et À au moins une autre sous-cle est stockee dans la partie non volatile de la memoire du composant securise et - les au moins deux sous-cles possedent chacune la meme longueur que la cle principale. De fac,on avantageuse alors, chaque sous-cle ne contient aucune donnee de la cle principale et un operateur algorithmique permet de calculer la cle principale a partir des au moins deux sous-cles: K = K1 op K2 ou K est la cle principale K1 et K2 vent les deux sous-cles op est l'operateur algorithmique. En outre, la sous-cle tenue dans la memoire non volatile n'est pas transmise en dehors du composant incorporant ladite memoire non volatile. La securite de protection du terminal est optimale lorsque toutes les dispositions exposees vent simultanement exploitees, cest-a-dire lorsque le procede de stockage d'une cle confidentielle dans un terminal securi se se carac teri se en ce que - le terminal comprend À au moins une memoire sauvegardee qui est alimentee electriquement de facon autonome loreque le terminal est non alimente et a laquelle vent associes des moyens de suppression rapide du contenu de cette memoire en cas d'ouverture non autorisee audit terminal, et À au moins un composant securise qui est connecte a l'alimentation electrique du terminal et qui comporte une memoire dont au moins une partie est non volatile, - la cle confidentielle est subdivisee en au moins deux sous-cles telles que: À au moins une sous-cle est stockee dans la memoire sauvegardee et À au moins une autre sous-cle est stockee dans la partie non volatile de la memoire du composant securise, cette sous-cle n'etant pas transmise en dehors audit composant, - ces au moins deux sous-cles vent constituees de facon que À les au moins deux sous-cles possedent chacune la meme longueur que la cle principale, 7 2840704 et À chaque sous-cle ne contient aucune donnee de la cle principals et un operateur algorithmique permet de calculer, dans le susdit composant securise, la cle principals a partir des au mains deux sous-cles: K = K1 op K2 ou K est la ale principals K1 et K2 vent les deux sous-cles op est l'operateur algorithmique. 8 2840704 REVENDICATIONS 1. Procede de stockage d'une cle confidentielle dans un terminal securise, caracterise en ce que ladite cle est subdivisee en au moins deux souscles, dont au moins l'une des sous-cle est tenue dans une memoire sauvegardee agencee pour etre effacee en cas d' intrusion dans le terminal et au moins l'autre sous-cle est tenue dans une memoire non volatile. 2. Procede selon la revendication 1, caracterise en ce que chaque souscle ne contient aucune donnee de la cle principale et en ce que la reconstitution de la cle principale a partir des au moins deux sous-cles est effectuee a l' aide d'au moins un operateur algorithmique. 3. Procede selon la revendication 1 ou 2, caracterise en ce que chaque sous-cle possede la meme longueur que la cle principale. 4. Procede selon l'une quelconque des revendications 1 a 3, caracterise en ce que la memoire volatile est associee a des moyens de commande d' effacement de son contenu declenchable par une ouverture non autorisee du terminal. 5. Procede selon l'une quelconque des revendications 1 a 4, caracterise en ce que la memoire non volatile appartient a un composant du terminal connecte a lialimentation electrique de celui-ci. 6. Procede de stockage d'une cle confidentielle dans un terminal securise, caracterise en ce que - le terminal comprend À au moins une memoire sauvegardee qui est alimentee electriquement de facon autonome lorsque le terminal est non alimente et a laquelle vent associes des moyens de suppression rapide du contenu de cette memoire en cas d'ouverture non autorisee audit terminal, et À au moins un composant securise qui est connecte a lalimentation electrique du terminal et qui comporte une memoire dont au moins une partie est non volatile, - la cle confidentielle est subdivisee en au moins deux sous-cles telles que: À au moins une sous-cle est stockee dans la memoire sauvegardee et À au moins une autre sous-cle est stockee dans la partie non volatile de la memoire du composant securise et - les au moins deux sous-cles possedent chacune la meme longueur que la cle principale. 7. Procede selon lune quelconque des revendications 1 a 6, caracterise en ce que chaque sous cle ne contient aucune donnee de la cle principale et en ce qutun operateur algorithmique permet de calculer la cle principale a partir des au moins deux sous-cles: K = K1 op K2 ou K est la cle principale K1 et K2 vent les deux sous-cles op est l'operateur algorithmique. 3. Procede selon l'une quelconque des revendica tions 1 a 7, caracterise en ce que la sous-cle tenue dans la memoire non volatile n'est pas transmise en dehors du composant incorporant ladite memoire non volatile. 9. Procede de stockage d'une cle confidentielle dans un terminal securise, caracterise en ce que - le terminal comprend 2840704 À au moins une memoire sauvegardee qui est alimentee electriquement de facon autonome loreque le terminal est non alimente et a laquelle vent associes des moyens de suppression rapide du contenu de cette memoire en cas d'ouverture non autorisee audit terminal, et À au moins un composant securise qui est connecte a l'alimentation electrique du terminal et qui comporte une memoire dont au moins une partie est non volatile, - la c le confident iel le es t subdivi see en au moins deux sous-cles telles que: À au moins une sous-cle est stockee dans la memoire sauvegardee et À au moins une autre sous-cle est stockee dans la partie non volatile de la memoire du composant securise, cette sous-cle n'etant pas transmise en dehors audit composant, - ces au moins deux sous-cles vent constituees de facon que À les au moins deux sous-cles possedent chacune la meme longueur que la cle principale, et À chaque sous-cle ne contient aucune donnee de la cle principale et un operateur algorithmique permet de calculer, dans le susdit composant securise, la cle principale a partir des au moins deux sous-cles: K = K1 op K2 ou K est la cle principale K1 et K2 vent les deux sous-cles