Brevet FR2738971A1 — publié le 19970321

PROCEDE DE DETERMINATION D'UNE CLE DE CRYPTAGE ASSOCIEE A UN CIRCUIT INTEGRE La présente invention concerne un procédé de détermination d'une clé de cryptage associée à un circuit intégré. Elle concerne également un circuit intégré sécurisé mettant en oeuvre ledit procédé. L'invention trouve une application particulièrement avantageuse dans le domaine de la sécurisation des cartes à mémoire, notamment les cartes à mémoire utilisées en télévision cryptée. D'une manière générale, les cartes à mémoire comportent un corps de carte en matériau plastique et un module électronique inséré dans une cavité aménagée dans ledit corps de carte. Le module électronique est constitué d'un circuit intégré, ou puce, placé sur un support lui-même muni de plages métalliques destinées à assurer la liaison électrique entre le module et un lecteur de cartes. Le circuit intégré peut être une mémoire du type EEPROM, pour l'application aux télécartes par exemple, ou un microprocesseur, pour les applications aux cartes bancaires, à la téléphonie mobile ou encore à la télévision cryptée. La plupart des cartes à mémoire sont donc utilisées pour effectuer des transactions électroniques, ce qui naturellement ne manque de susciter la tentation de frauder les systèmes mettant en oeuvre des cartes à mémoire de manière à pouvoir bénéficier sans contrepartie financière des services fournis par ces systèmes. Afin d'éviter, ou du mois de limiter la fraude, les informations échangées avec le module électronique des cartes à mémoire sont cryptées selon des procédés variés qui font l'objet d'une abondante littérature. I1 suffit seulement de savoir que les messages reçus par les circuits intégrés des cartes sont chiffrés à l'aide de clés, dites clés de cryptage, stockées dans la mémoire non volatile des circuits. Ces clés peuvent elles-même être protégées contre une lecture extérieure en masquant le niveau du plan-mémoire dans lequel elles sont inscrites par plusieurs niveaux de métal faisant office d'écran tout en participant à la dynamique du circuit. Toutefois, le degré de sécurisation obtenu n'est pas absolu car il est toujours possible pour un fraudeur expérimenté d'accéder aux clés secrètes par une analyse fonctionnelle du circuit intégré. Aussi, le problème technique à résoudre par l'objet de la présente invention est de proposer un procédé de détermination d'une clé de cryptage associée à un circuit intégré présentant un plan-mémoire, procédé qui permettrait d'atteindre un niveau de protection des clés de cryptage beaucoup plus élevé du fait notamment d'un stockage statique des clés hors du plan-mémoire et donc inaccessible par analyse fonctionnelle du circuit. La solution au problème technique posé consiste, selon la présente invention, en ce que ledit procédé comporte les étapes suivantes: (a) réaliser une matrice de N contacts électriques Ci (i = 1, .., N) à la surface dudit plan-mémoire, (b) déposer sur ladite matrice une couche d'un matériau à résistivité électrique inhomogène aléatoire, (c) déterminer ladite clé de cryptage, dite clé résistive Kr, à partir de la répartition aléatoire des résistances électriques reliant les différents contacts électriques Ci de la matrice. Ainsi, on utilise la structure résistivement aléatoire de ladite couche comme générateur de la clé Kr de cryptage associée au circuit intégré. Celle-ci n'est donc jamais stockée dans le planmémoire du circuit et, de ce fait, est reconstruite à chaque mise sous tension du circuit intégré. De plus, on peut observer que la couche de matériau réalise un écran qui protège le circuit contre toutes lectures frauduleuses. Si cette couche est enlevée ou altérée, la clé est modifiée et les informations demeureront cryptées à jamais. il est impossible de lire par un moyen extérieur au circuit intégré les valeurs des résistances prises en compte par le procédé de l'invention pour déterminer la clé Kr de cryptage. Un premier perfectionnement consiste à munir le circuit intégré d'un mécanisme d'alarme. Cela permet de détecter des tentatives de fraude et de prendre des mesures comme l'effacement d'informations sensibles. A cet effet, selon l'invention, l'étape (c) comprend en outre la détermination, à l'initialisation du circuit intégré, d'une autre clé résistive KA, dite cle d'alarme, qui est inscrite dans une mémoire non volatile dudit circuit, et ladite deuxième clé résistive KA est mesurée, à chaque mise sous tension du circuit intégré, et comparée à la valeur de KA mémorisée, la clé Kr de cryptage étant effacée en cas de comparaison négative. Afin de fiabiliser ce mode de réalisation, plusieurs perfectionnements peuvent y être apportés: - La clé KA est mesurée à partir de résistances sans corrélation avec celles utilisées pour déterminer la clé Kr, afin qu'on ne puisse déduire Kr de KA. La clé KA est mesurée plusieurs fois, jusqu'à un nombre maximal. - A chaque mesure de KA, une information est inscrite dans la mémoire non volatile du circuit intégré, par exemple mise à jour du nombre d'essais encore autorisés s'il en reste. Plutôt que de stocker la clé KA dans sa totalité, on peut n'en stocker qu'un condensé (CRC, hashing) et faire un test de conformité. - La clé résistive Kr n'est pas mesurée si la valeur mesurée de KA n'est pas conforme. Un deuxième perfectionnement du procédé conforme à l'invention consiste en ce que l'étape (c) comprend en outre la détermination, à l'initialisation du circuit intégré, d'une autre clé résistive KS, dite clé de secours, qui est inscrite dans une mémoire non volatile dudit circuit, et en ce qu'une clé KD est calculée à partir des clés résistives Kr et KS d'une manière telle que la clé Kr de cryptage puisse être calculée à partir des clés KS et KD, la clé KD étant inscrite dans la mémoire non volatile du circuit intégré. A titre d'exemple, lesdits moyens de calcul peuvent être un "ou exclusif', on a dans ce cas KD = Kr + KS et Kr = KD + KS Le circuit intégré peut être muni d'un mécanisme permettant de vérifier la valeur Kr. On peut utiliser notamment un mécanisme à base de somme de contrôle (check-sum) calculée par le circuit intégré et stockée dans sa mémoire. il est essentiel qu'il soit impossible de déduire la clé Kr de cette somme de contrôle. I1 est donc préférable que la longueur de la somme de contrôle soit très courte par rapport à celle de la clé Kr. Lors de la mise en route du dispositif, la pastille considérée vérifie la clé Kr. Si le résultat n'est pas satisfaisant, elle recherche la clé de secours KS et est alors en mesure de rétablir Kr connaissant KD. Ceci constitue un mécanisme de recouvrement en cas d'erreur de mesure ou de dérive de Kr. Il est également prévu que le circuit intégré, au moment où il détecte que Kr est erronée, en informe le monde extérieur. Ceci peut permettre de fonctionner en mode dégradé, avec KS, tout en préparant le remplacement du circuit intégré. I1 est également possible de limiter le mode dégradé dans le temps, le circuit s'invalidant lui-meme après un certain nombre d'utilisations en mode dégradé. Selon un mode de réalisation particulier de l'invention, le circuit intégré dispose d'une information CI qui lui est propre, définissant une liste des résistances à utiliser pour la détermination desdites clés résistives Kr, KA, KS. De cette manière, l'attaque par usinage est également rendue inopérante car le fraudeur ne saura pas déduire la clé résistive Kr de la carte des résistances. Selon une variante de ce dernier mode de réalisation, les moyens de mesure ne mesurent que les résistances utiles dont la liste dépend de l'information CI. Selon un autre mode de mise en oeuvre de l'invention, la liste des résistances à utiliser est établie par le circuit intégré, lors de l'initialisation, en fonction des résistances mesurées. Ladite liste est inscrite dans une mémoire non volatile du circuit et vient compléter l'information CI ou en tient lieu. Bien entendu, après initialisation du circuit intégré, toute inscription de listes dans ladite mémoire non volatile est inhibée, par exemple par un fusible physique ou logique. Selon un premier exemple d'application, ladite liste comporte des résistances de valeurs suffisamment éloignées. Ceci évite qu'un changement mineur des valeurs de résistances ne viennent modifier la clé résistive Kr. Selon un deuxième exemple d'application, ladite liste comporte des résistances de valeurs de même ordre de grandeur. Ceci évite qu'un fraudeur vienne mesurer, par des sondes de surface, les résistances de la couche, et puisse en déduire la clé résistive Kr. Enfin, il peut également être prévu que ladite liste comporte des résistances de valeurs contenues dans une plage donnée, pour cumuler les deux exemples précédents. Afin d'améliorer encore le degré de sécurisation conféré par le procédé conforme à l'invention, il est prévu qu'il comporte à la suite de l'étape (b) une étape consistant à disposer un écran métallique sur ladite couche de matériau à résistivité électrique inhomogène aléatoire. Selon un mode de mise en oeuvre particulier du procédé selon l'invention, on réalise ledit matériau à résistivité électrique inhomogène aléatoire en mélangeant une encre à faible résistivité électrique à une encre à forte résistivité électrique. Enfin, un circuit intégré sécurisé présentant un plan-mémoire est remarquable, selon la présente invention, en ce qu'il comporte une matrice de N contacts électriques Ci (i=l, ..., N) à la surface dudit plan-mémoire, une couche d'un matériau à résistivité électrique inhomogéne aléatoire, déposée sur ladite matrice, et des moyens de détermination d'une clé Kr de cryptage, dite clé résistive, à partir de la répartition aléatoire des résistances électriques reliant les différents contacts électriques Ci de la matrice. La description qui va suivre en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée. La figure 1 est une vue de côté d'un circuit intégré sécurisé par la mise en oeuvre du procédé selon l'invention. La figure 2 est une vue de dessus du circuit intégré de la figure 1. La figure 3 est un schéma de moyens de détermination d'une clé de cryptage associée au circuit intégré des figures 1 et 2. La figure 4 est le schéma équivalent des moyens de détermination de la figure 3. Le circuit intégré 10 montré aux figures 1 et 2 présente un plan-mémoire 11, ou face active, sur lequel sont formés des plots métalliques d'entrée/sortie, tels que 12 et 13 sur les figures 1 et 2, destinés à être reliés par des fils conducteurs aux plages métalliques d'un support, non représenté, qui constitue avec le circuit intégré 10 le module électronique d'une carte à mémoire. Comme on peut le voir sur les figures 1 et 2, une matrice de N, ici 9, contacts électriques Ci (i = 1,..., 9) a été réalisée à la surface du plan-mémoire 11 du circuit 10. Cette matrice de contacts électriques est recouverte, par sérigraphie par exemple, d'une couche 14 d'un matériau à résistivité électrique inhomogène aléatoire, tel qu'un melange d'une encre à faible résistivité électrique avec une encre à forte résistivité électrique. La couche 14 de matériau a, par exemple, une épaisseur de l'ordre de 10 llm au plus. Ainsi que le montrent les figures 1 et 2, les chemins de courant entre les différents contacts électriques Ci de la matrice peuvent prendre des formes très variées résultant de la structure aléatoire de la résistivité électrique à l'intérieur de la couche 14. C'est cette répartition aléatoire des résistances électriques entre les contacts Ci qui constitue la base du procédé de détermination d'une clé Kr de cryptage, dite clé résistive, associée au circuit intégré 10, ladite clé étant en quelque sorte une expression numérisée de la répartition des résistances, comme cela sera expliqué en détail plus loin. Notons que la clé Kr de cryptage du circuit étant finalement contenue dans la couche 14 de matériau, il y a avantage à protéger ladite couche en la recouvrant d'un écran métallique 15 qui peut d'ailleurs participer lui-même à l'établissement des chemins de courant comme l'indique la figure 2. De même que la couche 14, l'écran métallique 15 peut avoir une épaisseur de 10 llm (à cet égard le dessin de la figure 2 n'est pas à l'échelle). On a représenté sur la figure 3 un schéma des moyens utilisés pour la détermination de la clé Kr de cryptage appliquée à la structure de circuit des figures 1 et 2. Ces moyens de détermination comportent un bus comprenant une ligne L1 à une première tension Vcc, une ligne L2 de mesure et une ligne L3 à une deuxième tension Vss. Chaque ligne L1, L2, L3 du bus peut être reliée à un contact électrique de la matrice par l'intermédiaire de trois interrupteurs analogiques commandables K1, K2, K3 respectivement. En d'autres termes, chaque contact Ci peut être connecté à une et une seule des lignes L1, L2, L3 du bus. Le circuit intégré 10 commande les interrupteurs analogiques K1, K2, K3 de manière à définir un ensemble de triplets de contacts électriques noté (Cj, Ci, Ck)l, au nombre de M (1 = 1, M), les contacts Cj Ci et Ck étant respectivement reliés aux lignes L 1, L2, L3 du bus. On obtient alors le circuit équivalent de la figure 4 dans laquelle Rij et Rik représentent les résistances électriques reliant le contact Ci aux contacts Cj et Ck respectivement. Le choix des contacts Cj, Ci, Ck est déterminé soit à partir d'une information Cj, propre au circuit 10, soit à partir d'une liste inscrite dans la mémoire non volatile du circuit. De manière à pouvoir effectuer une comparaison significative des résistances Rij et Rik, il y a avantage à ce que, pour chaque triplet (Cj, Ci, Ck)l, les contacts Cj et Ck soient équidistants du contact Ci. Dans ce cas, les résistances Rij et Rik, bien qu'équivalentes, sont en général différentes du fait de l'inhomogénéité aléatoire de la résistivité électrique de la couche 14 de matériau. On utilise alors cette différence pour affecter à chaque triplet (Cj, Ci, Ck)l un bit bl défini par convention par: bl = 1 Si Rij > Rik b1 = O Si Rij ' Rik On a ainsi un ensemble aléatoire de M bits bl qui, rangés selon une suite ordonnée, détermine la clé Kr de cryptage à attribuer au circuit intégré 10. En pratique, la tension de la ligne L2 de mesure est comparée à ('(cl + Vss)/2, le signe de cette comparaison permettant d'établir l'information logique bl. Cette technique de mesure de résistance relative a l'avantage de s'affranchir des variations de température et de tension. I1 faut également noter que les résistances additionnelles de mesure doivent être très faibles pour ne pas diminuer l'influence de la dispersion des résistances non homogènes à mesurer. En effet, les canaux de mesure ont eux-meme des dispersions qui, si elles devenaient trop importantes, rendraient insuffisantes l'influence et la modification de la couche 14 de matériau, ce qui ouvrirait une possibilité de fraude. Dans l'exemple de la matrice 3 x 3 des figures 1 et 2, les triplets satisfaisant la condition d'équidistance sont: (C1, C2, C3)1, (C4, Cg, C6)2, (C7, C8, C9)3 (C4, C1, C2)4, (C2, C3, C6)5, (C8, Cg, C6)6, (C4, C7 C8)7 (C1, C4, C7)8, (C2, Cg, C8)9, (C3, C6, C9)10 (C1, Cg, Cg)ll, (C7, C5, C3)12, (C1, C7, Cg)13, (C1, C3, Cg)14, (C2, C7, Cg)15, (C1, C8, C3)16, (C2, C4, C8)17, (C2, C6, C8)18 On obtient alors 18 bits bl associés chacun à un des 18 triplets, d'oû une clé de cryptage à 18 bits. Au besoin, la clé Kr obtenue peut être corrigée par un code correcteur d'erreur stocké en mémoire à la personnalisation de la carte. Toutefois, ce code ne permet pas de retrouver la clé si on ne dispose pas de la clé initiale. Les autres clés résistives, à savoir la clé KA d'alarme et la clé KS de secours, sont déterminées de la même manière, le choix des contacts Cj > Ci, Ck étant différent. REVENDICATIONS 1. Procédé de détermination d'une clé de cryptage associée à un circuit intégré (10) présentant un plan-mémoire (11), caractérisé en ce que ledit procédé comporte les étapes suivantes (a) réaliser une matrice de N contacts électriques Ci (i = 1, .., N) à la surface dudit plan-mémoire (11), (b) déposer sur ladite matrice une couche (14) d'un matériau à résistivité électrique inhomogène aléatoire, (c) déterminer ladite clé de cryptage, dite clé résistive Kr, à partir de la répartition aléatoire des résistances électriques reliant les différents contacts électriques Ci de la matrice. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape (c) comprend en outre la détermination, à l'initialisation du circuit intégré (10), d'une autre clé résistive KA, dite clé d'alarme, qui est inscrite dans une mémoire non volatile dudit circuit (10), et en ce que ladite deuxième clé résistive KA d'alarme est mesurée à chaque mise sous tension du circuit intégré (10), et comparée à la valeur de KA mémorisée, la clé Kr de cryptage étant effacée en cas de comparaison négative. 3. Procédé selon la revendication 2, caractérisé en ce que l'étape (c) comprend en outre la détermination, à l'initialisation du circuit intégré (10), d'une autre clé résistive KS, dite clé de secours, qui est inscrite dans une mémoire non volatile dudit circuit (10), et en ce qu'une clé KD est calculée à partir des clés résistives Kr et KS d'une manière telle que la clé Kr de cryptage puisse être calculée à partir des clés KS et KD, la clé KD étant inscrite dans la mémoire non volatile du circuit intégré (10). 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le circuit intégré (10) dispose d'une information CI qui lui est propre, définissant la liste des résistances à utiliser pour la détermination desdites clés résistives (Kr, KA, KS). 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la liste des résistances à utiliser est établie par le circuit intégré (1 0), lors de l'initialisation, en fonction des résistances mesurées. 6. Procédé selon la revendication 5, caractérisé en ce que ladite liste est inscrite dans une mémoire non volatile du circuit intégré (10). 7. Procédé selon la revendication 6, caractérisé en ce que, après initialisation du circuit intégré (10), toute inscription de listes dans ladite mémoire non volatile est inhibée. 8. Procédé selon l'un quelconque des revendications 5 à 7, caractérisé en ce que ladite liste comporte des résistances de valeurs suffisamment éloignées. 9. Procédé selon l'une quelconque des revendications 5 à 7, caractérisé en ce que ladite liste comporte des résistances de valeurs de même ordre de grandeur. 10. Procédé selon l'une quelconque des revendications 5 à 7, caractérisé en ce que ladite liste comporte des résistances de valeurs contenues dans une plage donnée. 11. Procédé selon l'une quelconque des revendications 2 à 10, caractérisé en ce que l'étape (c) de détermination desdites clés résistives (Kr, KA, KS) consiste, après avoir défini un ensemble de M triplets (Cj, Ci, C1 (1 = 1, ..., M) de contacts électriques, a: - affecter à chaque triplet un bit bl défini par convention par: bl = 1 Si Rij > Rik bl = O Si Rij Rij et Rik étant les résistances électriques reliant le contact Ci aux contacts Cj et Ck respectivement, - construire la clé résistive (Kr, KA, KS) sous la forme d'une suite ordonnée des M bits bl. 12. Procédé selon la revendication 11, caractérisé en ce que pour chaque triplet (Cj, Ci, Ck)l les contacts Cj et Ck sont équidistants du contact Ci. 13. Procédé selon l'une quelconque des revendications 1 à 12, caractérisé en ce qu'il comporte à la suite de l'étape (b) une étape consistant à déposer un écran métallique (15) sur ladite couche (14) de matériau à résistivité électrique inhomogène aléatoire. 14. Procédé selon l'une quelconque des revendications 1 à 13, caractérisé en ce qu'on réalise ledit matériau à résistivité électrique inhomogène aléatoire en mélangeant une encre à faible résistivité électrique à une encre à forte résistivité électrique. 15. Circuit intégré sécurisé présentant un plan-mémoire (11), caractérisé en ce qu'il comporte une matrice de N contacts électriques Ci (i = 1, ..., N) à la surface dudit plan-mémoire (11), une couche (14) d'un matériau à résistivité électrique inhomogène aléatoire, déposée sur ladite matrice, et des moyens de détermination d'une clé de cryptage à partir de la répartition aléatoire des résistances électriques reliant les différents contacts électriques Ci de la matrice. 16. Circuit intégré sécurisée selon la revendication 15, caractérisée en ce que lesdits moyens de détermination sont aptes à déterminer, à l'initialisation dudit circuit (10), une clé Kr de cryptage, dite clé résistive. 17. Circuit intégré sécurisé selon la revendication 16, caractérisé en ce que lesdits moyens de détermination sont egalement aptes à déterminer, à l'initialisation dudit circuit (10), une autre clé résistive KA dite clé d'alarme, pour la mise en oeuvre du procédé selon la revendication 2. 18. Circuit intégré sécurisé selon l'une des revendications 16 ou 17, caractérisé en ce que lesdits moyens de détermination sont également aptes à déterminer, à l'initialisation de circuit (10), une autre clé résistive KS, dite clé de secours, pour la mise en oeuvre du procédé selon la revendication 3. 19. Circuit intégré sécurisé selon l'une quelconque des revendications 15 à 18, caractérisé en ce que lesdits moyens de détermination desdites clés résistives (Kr, KA, KS) sont aptes, après avoir défini un ensemble de M triplets (Cj, Ci, Cî (1 = 1,..., M) de contacts électriques, à: - affecter à chaque triplet un bit bl défini par convention par: bl = 1 Si Rij > Rik bl = O Si Rij Rij et Rik étant les résistances électriques reliant le contact Ci aux contacts Cj et Ck respectivement, construire la clé résistive (Kr, KA, KS) sous la forme d'une suite ordonnée des M bits bl. 20. Circuit intégré sécurisé selon la revendication 19, caractérisé en ce que pour chaque triplet (Cj, Ci, C1 les contacts Cj et Ck sont équidistants du contact Ci. 21. Circuit intégré sécurisé selon l'une des revendications 19 ou 20, caractérisé en ce que lesdits moyens de détermination des clés résistives comportent, d'une part, un bus comprenant une ligne (L1) à une première tension Vcc, une ligne (L2) de mesure et une ligne (L3) à une deuxième tension Vss, d'autre part, et trois interrupteurs analogiques commandables (K1, K2, K3) destinés à relier chaque contact Ci à l'une des lignes (L1, L2, L3). 22. Circuit intégré sécurisé selon l'une quelconque des revendications 15 à 21, caractérisé en ce que ladite couche (14) de matériau à résistivité électrique inhomogene aléatoire est recouverte d'un écran métallique (15). 23. Circuit intégré sécurisé selon l'une quelconque des revendications 15 à 22, caractérisé en ce que ledit matériau à résistivité électrique inhomogène aléatoire est un mélange d'une encre à forte résistivité électrique et d'une encre à faible résistivité électrique.