B10897 - 10-GR3-330FR01 1 CIRCUIT INTEGRE A CLE D'IDENTIFICATION AUTO-PROGRAMMEE Domaine de l'invention La présente invention concerne les circuits intégrés incorporant un code destiné à identifier ou authentifier l'origine de ces circuits. En particulier, la présente invention concerne des circuits intégrés pour lesquels ce code est programmé de manière non déterministe, de telle sorte que la reproduction du circuit intégré incluant son code est rendue difficile voire impossible. Exposé de l'art antérieur Des clés numériques sont constamment échangées sur Internet et utilisées dans des protocoles d'identification contrôlant des transactions financières, la fourniture de services sur Internet, des paiements sans contact, l'accès à des données sensibles, etc. Pour renforcer la sécurité de telles transactions, il est courant de stocker ces clés numériques dans un circuit intégré dédié tel que celui d'une carte à puce, par exemple dans une mémoire non volatile de type OTP, d'après le vocable anglo-saxon "One lime Programmable memory". Il faut alors être en possession physique de ce circuit dédié pour s'authentifier. La contrefaçon de tels circuits est donc un enjeu majeur de sécurité vis-à-vis de cette approche dite "matérielle". En effet, si on peut, par quelque moyen que ce B10897 - 10-GR3-330FR01 2 soit, accéder au code d'une puce authentique, ou intercepter un tel code, et si on se trouve en possession d'une puce contrefaite vierge, il devient possible de programmer cette dernière à l'identique de la puce authentique.
Il existe donc un besoin de circuits intégrés incorpo- rant une signature numérique infalsifiable. De telles signatures peuvent être obtenues en tirant parti de la dispersion intrinsèque de caractéristiques physiques ou électriques de composants élémentaires d'un circuit intégré, tels que des transistors, des interconnections, des capacités, etc..., et sont à la base du concept de Fonctions Physiques Non Duplicables, plus connus sous le vocable anglo-saxon de PUF, acronyme de Physical Unclonable Function, concept développé par exemple par A.-R. Sadeghi et D. Naccache dans leur ouvrage "Towards Hardware-Intrinsic Security", Springer, lière Edition, 2010. De telles dispersions de paramètres de composants élémentaires d'un circuit intégré tirent leur origine des inévitables fluctuations de dimension, épaisseur et composition physico-chimique des matériaux mis en oeuvre, inhérentes aux procédés de fabrication. Ces fluctuations étant en pratique non-déterministes, un code dont la génération est basée sur ces fluctuations sera pseudo-aléatoire et il sera difficile, voire impossible, de reproduire une puce ayant le même code natif, à moins de remplacer le bloc correspondant du circuit par un bloc mimant le bloc d'origine et son code. Une telle stratégie est en théorie possible mais en pratique très onéreuse pour le contrefacteur, ce qui en réduit l'intérêt. Le fabricant d'origine des circuits peut extraire ce code natif à l'issue du processus de fabrication et peut donc tenir à jour un registre des signatures des circuits authentiques qu'il distribue. La signature d'un circuit pourra ensuite être contrôlée en diverses occasions pour authentifier la provenance du circuit : par le client final, par le fabricant en cas de retour client, par le système d'exploitation d'un ordinateur incorporant le circuit, etc.
B10897 - 10-GR3-330FR01 3 Pour réaliser de telles Fonctions Physiques NonDuplicables ou PUF en anglais, il a été proposé (W02010/076733) de réaliser un réseau de condensateurs Métal-Isolant-Métal (ou condensateurs MIM) de dimensions identiques mais dans lesquels 5 l'isolant est volontairement rendu rugueux, de manière à faire varier localement la valeur de la capacité. Le code est alors constitué par l'ensemble des valeurs de capacité électrique des condensateurs. Une telle solution présente l'inconvénient que ces valeurs sont des grandeurs continues et doivent être numé10 risées afin de constituer un code numérique exploitable par un programme. D'autre part, le vieillissement et la dégradation du diélectrique peut conduire à une altération du code au fil du temps ou selon les conditions d'utilisation du circuit. D'autres solutions ont été proposées, comme celles 15 exploitant les valeurs d'initialisation de cellules mémoire SRAM lors de leur mise sous tension, la dispersion de la tension de seuil de transistors MOS, de la fréquence d'oscillateurs en anneaux ou des temps de propagation de signaux au travers de portes logiques. Toutes ces solutions présentent au moins un des 20 deux inconvénients précités, à savoir qu'elles produisent des valeurs analogiques continues qu'il faut au préalable numériser pour obtenir un code binaire exploitable, ou que ledit code est instable par nature car sensible au vieillissement du circuit et à ses conditions d'utilisation. 25 Il existe donc un besoin de circuits intégrés incor- porant une signature native de nature binaire et stable dans le temps. Résumé Ainsi, un mode de réalisation de la présente invention 30 prévoit une structure de stockage d'un code binaire natif dans un circuit intégré, comprenant une matrice de condensateurs MIM planaires au dessus d'une couche isolante formée au dessus d'un réseau de métallisation en cuivre, dans laquelle au moins une portion de métallisation est présente sous chaque condensateur 35 MIM et dans laquelle la dimension de la ou des portions est B10897 - 10-GR3-330FR01 4 choisie pour que de 25 à 75 % des condensateurs MIM présentent une tension de claquage d'au moins 10 % inférieure à celle des autres condensateurs MIM. Selon un mode de réalisation de la présente invention, 5 la ou les portions de métallisation correspondent à des lignes de cuivre s'étendant parallèlement aux rangées ou colonnes de ladite matrice. Selon un mode de réalisation de la présente invention, la structure de stockage comprend deux à cinq lignes sur la 10 largeur d'un condensateur MIM. Selon un mode de réalisation de la présente invention, toutes les premières électrodes d'au moins un sous-ensemble de condensateurs MIM sont interconnectées. Selon un mode de réalisation de la présente invention, 15 ledit sous ensemble correspond à une rangée ou à une colonne de la matrice. Selon un mode de réalisation de la présente invention, toutes les secondes électrodes des condensateurs MIM sont reliées à des transistors de sélection par l'intermédiaire de 20 premières résistances de mêmes valeurs. Selon un mode de réalisation de la présente invention, les lignes de cuivre ont une largeur supérieure à 1 pin, l'espacement entre les lignes étant inférieur à 0,5 gm, chacun des condensateurs ayant des dimensions latérales comprises entre 25 2 et 50 gm. Un mode de réalisation de la présente invention prévoit un procédé de programmation d'un code binaire natif dans une structure telle que ci-dessus, comprenant l'étape suivante : connecter de manière commune au moins un sous-ensemble 30 de condensateurs MIM de ladite matrice, dans un circuit propre à faire claquer lesdits 25 à 75 % des condensateurs MIM. Selon un mode de réalisation de la présente invention, le procédé comprend les étapes suivantes : B10897 - 10-GR3-330FR01 connecter les premières électrodes des condensateurs à une première borne d'une source de tension, au travers d'une résistance commune ; connecter les secondes électrodes de chacun des 5 condensateurs à une deuxième borne de la source de tension, par l'intermédiaire de résistances individuelles ; et appliquer entre les première et seconde bornes une tension comprise entre les tensions de claquage desdits 25 à 75 % des condensateurs MIM et les tensions de claquage desdits 10 autres condensateurs MIM. Selon un mode de réalisation de la présente invention, le produit du nombre de condensateurs MIM par le rapport entre la valeur de résistance commune et la valeur d'une résistance individuelle est inférieur à 0,1. 15 Un mode de réalisation de la présente invention prévoit un système sécurisé comprenant un circuit intégré muni d'une structure telle que ci-dessus, dans lequel le code généré et stocké est utilisé lors d'une étape d'un protocole d'authentification dudit circuit intégré. 20 Un mode de réalisation de la présente invention prévoit un procédé d'identification d'un circuit intégré muni d'une structure telle que ci-dessus, dans lequel le code binaire natif sert de numéro d'identification dudit circuit intégré. Brève description des dessins 25 Ces objets, caractéristiques et avantages, ainsi que d'autres seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure lA est une vue en coupe d'un circuit intégré 30 comprenant un condensateur MIM réalisé dans des niveaux de métallisation ; la figure 1B est une représentation graphique de la distribution des tensions de claquage d'un ensemble de condensateurs Métal-Isolant-Métal tels que représentés en figure lA ; B10897 - 10-GR3-330FR01 6 la figure 2A est une vue en coupe d'un circuit intégré comprenant un condensateur Métal-Isolant-Métal réalisé dans des niveaux de métallisation selon un mode de réalisation ; la figure 2B est une représentation graphique de la 5 distribution des tensions de claquage d'un ensemble de condensateurs MIM tels que représentés en figure 2A ; la figure 3 est un schéma électronique illustrant un circuit adapté à programmer et lire une matrice de condensateurs selon un mode de réalisation ; et 10 la figure 4 est une vue de dessus d'une matrice de condensateurs MIM adaptée à générer et stocker un code binaire. Description détaillée Par souci de clarté, de mêmes éléments ont été désignés par de mêmes références aux différentes figures et, de 15 plus, comme cela est habituel dans la représentation des circuits intégrés, les diverses figures ne sont pas tracées à l'échelle. La figure LA est une vue en coupe d'un circuit intégré classique 1 comprenant un condensateur planaire Métal-Isolant- 20 Métal, couramment appelé condensateur MIM. Le circuit intégré comprend un substrat semi-conducteur 2 dans et sur lequel ont été formés des composants actifs 3, tels que des transistors MOS, surmontés d'un ensemble 4 de niveaux de métallisation. On a représenté un niveau de métallisation intermédiaire 5, compre- 25 nant une portion de ligne conductrice 6 en cuivre, formée dans une couche isolante 7, par exemple de l'oxyde de silicium. Une couche barrière de diffusion 9, par exemple en nitrure de silicium, est interposée entre le niveau de métallisation 5 et le niveau métallisation suivant 11 comportant un condensateur 30 planaire MIM 12. Ce condensateur est formé au dessus d'une première couche isolante 10, par exemple de l'oxyde de silicium, et comprend deux électrodes métalliques 13 et 15, par exemple en aluminium, entre lesquelles est disposée une couche isolante 14 formant le diélectrique du condensateur, par exemple un matériau 35 à forte constante diélectrique tel que de l'oxyde de tantale ou B10897 - 10-GR3-330FR01 7 de zirconium. Des connexions conductrices 16 et 17 relient électriquement les électrodes 13 et 15 à des pistes conductrices 18 et 19 du niveau de métallisation 11. La figure 1B représente la distribution 20 des tensions de claquage d'une population de condensateurs tels qu'illustrés en lA, réalisés sur une même plaquette. Sur l'axe des abscisses, on a reporté la tension de claquage BV, en volts, et sur l'axe des ordonnées le pourcentage cumulé de condensateurs ayant une tension de claquage inférieure à une valeur donnée. Cette distribution comprend classiquement une portion sensiblement rectiligne et quasi-verticale 21, illustrant le fait qu'une majorité des condensateurs ont des tensions de claquage voisines et peu dispersées autour d'une valeur VBV, liée aux caractéristiques de la couche diélectrique 14. La distribution 20 comprend une portion 22 appelée queue de distribution et correspondant à une fraction de condensateurs qui présentent des tensions de claquage sensiblement plus faibles que le reste de la population. Ces tensions de claquage plus faibles tirent leur origine des inévitables inhomogénéités des condensateurs réalisés sur la surface d'une plaquette, du fait de variations locales d'épaisseur ou de composition physico-chimique du diélectrique et des électrodes, ou du fait de la présence de défauts dans ces couches ou dans les couches sous-jacentes. Les condensateurs de la figure lA sont utilisés à une tension nominale VNOM généralement nettement inférieure à la tension de claquage intrinsèque VBV et il est souhaitable que la queue de distribution 22 des tensions de claquage soit aussi réduite que possible car les condensateurs correspondants sont susceptibles de se dégrader ou de claquer dans des conditions normales d'utilisation. Les condensateurs MIM planaires tels qu'illustrés en LA sont en particulier très sensibles à la planéité des électrodes. Celle-ci dépend à son tour de la planéité des couches sous-jacentes. Un défaut de planéité de ces couches se traduit par la formation d'un relief local au niveau des élec- B10897 - 10-GR3-330FR01 8 trodes et conduit à une réduction de la tension de claquage, par effet de pointe. Or, il est connu que la surface des lignes cuivre est affectée de protubérances de répartition aléatoires et plus ou moins importantes en taille et en nombre, correspon5 dant à des grains de cuivre en relief, et couramment désignées sous le vocable anglo-saxon de "hillocks". Ces protubérances, telles que celle représentée par la référence 8 à la surface de la ligne de cuivre 6, apparaissent lors du chauffage du substrat pendant le dépôt de la couche de barrière de diffusion 9. On 10 évite donc de former des condensateurs MIM planaires immédiatement au dessus de lignes de cuivre. On propose ici d'utiliser des condensateurs MIM tels que ceux décrits précédemment pour créer et stocker un code natif pseudo-aléatoire et en tout cas non déterministe. Pour 15 cela, on utilise le phénomène décrit précédemment selon lequel les condensateurs MIM formés au-dessus de lignes de cuivre présentent des perturbations qui affectent leur tension de claquage. La répartition des protubérances sur une ligne de cuivre étant par nature aléatoire ou du moins non déterministe, 20 la distribution résultante des tensions de claquage sera elle-même non déterministe. Ainsi, comme l'illustre la figure 2A, dans laquelle de mêmes références désignent de mêmes éléments qu'en figure LA, on forme au-dessus d'un niveau de métallisation intermédiaire des 25 condensateurs MIM planaires. Alors que, de façon classique, on évitait soigneusement de former des zones de cuivre dans le niveau de métallisation immédiatement inférieur sous les condensateurs MIM planaires, au contraire, on prévoit ici de former systématiquement des zones de cuivre 30 sous ces condensateurs. 30 Ainsi, les protubérances (hillocks) 31, qui se forment de façon aléatoire à la surface des lignes de cuivre pour les raisons exposées précédemment, affectent les condensateurs MIM disposés au-dessus. Plus particulièrement, les électrodes 13 et 15 et le diélectrique 14 des condensateurs MIM sont susceptibles de 35 présenter des défauts de planéité qui reproduisent sensiblement B10897 - 10-GR3-330FR01 9 les protubérances 31 des lignes de cuivre 30 du niveau de métallisation immédiatement inférieur. Il en résulte, dans certains des condensateurs MIM, des zones 32 où la couche isolante 14 est plus mince et les électrodes ne sont pas planes, et où il est susceptible de se produire un claquage pour une tension plus faible. La demanderesse a réalisé divers essais en utilisant des lignes de cuivre s'étendant sous une matrice de condensateurs MIM parallèlement aux rangées ou aux colonnes de cette 10 matrice et elle a constaté que, pour des dimensions convenables des pistes de cuivre 30, la distribution de tensions de claquage passe de la courbe 20 représentée en figure lB à la courbe 40 représentée en figure 2B. Comme on le voit dans cette courbe, seule sensiblement une moitié (40% dans la représentation de la 15 figure 2B) des condensateurs présentent la tension de claquage normale VBV correspondant à celle représentée en figure lB (portion 41 de la courbe 40). Par contre, la courbe de distribution présente un coude marqué 42 en bas de cette distribution régulière 41. Puis, on constate une distribution 43 qui s'écarte 20 nettement de la distribution normale pour environ 50 % des condensateurs MIM. Le seuil de tension V0 séparant les portions 42 et 43 de la distribution 40 est généralement inférieur d'au moins 10% à la tension VBV. On notera d'après les échelles indiquées en figure 2B 25 que cette variation des tensions de claquage est très impor- tante. Pour 40% des condensateurs correspondant à la portion 41, la tension de claquage est voisine de 4 volts. Pour environ 50 % des condensateurs, la tension de claquage s'étale entre 1 et moins de 3 volts. 30 Bien entendu, la courbe de distribution de la figure 2B et les valeurs indiquées précédemment sont données uniquement à titre d'exemple. L'homme de l'art pourra simplement réaliser une plaquette de test dans laquelle il prévoira différents motifs se différenciant les uns des autres par les dimensions, 35 et notamment la largeur et le pas des lignes de cuivre. Ensuite, B10897 - 10-GR3-330FR01 10 à partir de mesures effectuées sur la plaquette de test, il pourra, pour sa technologie de fabrication particulière, déterminer quelle est la répartition idéale des lignes de cuivre 30 donnant une distribution de tension de claquage similaire à celle illustrée en figure 2B dans laquelle environ 50 % des condensateurs MIM ont une tension de claquage nettement différente de la tension de claquage normale de ces condensateurs MIM dans la technologie considérée. Il pourra également jouer sur la température de dépôt de la barrière de diffusion 9 afin de favo- riser l'apparition de protubérances à la surface des lignes de cuivre du niveau de métallisation 5. On notera que de tels essais préalables sont une pratique courante pour l'homme de l'art dans le domaine de la fabrication des circuits intégrés dans lequel la réalisation de plaquettes de test est une opéra- tion préalable normale à la fabrication de circuits intégrés. En pratique, dans le cadre de la technologie décrite précédemment, l'inventeur a constaté qu'une distribution de tensions de claquage du type de celle de la figure 2B était obtenue dans une structure dans laquelle les lignes de cuivre ont une largeur supérieure à 1 pin, de préférence entre 2 et 50 gm, l'espacement entre les lignes étant inférieur à 0,5 gm, chacun des condensateurs ayant des dimensions latérales comprises entre 2 et 50 gm. Une fois obtenue une matrice regroupant des condensa- teurs du type de celui de la figure 2A, on pourra obtenir un code pseudo-aléatoire en faisant claquer tous les condensateurs ayant une tension de claquage inférieure à un seuil voisin du seuil de tension V0 indiqué en figure 2B. Cette opération de claquage pourra être effectuée en une seule fois sur tous les condensateurs ou bien en regroupant les condensateurs par sous-ensembles correspondant par exemple à une ou plusieurs lignes de la matrice. Un code pseudo-aléatoire de ce type présenterait idéalement, en moyenne, autant de condensateurs claqués que de 35 condensateurs non claqués. Cependant, le seuil de tension V0 B10897 - 10-GR3-330FR01 11 peut fluctuer légèrement du fait de dispersions dans les paramètres de fabrication, et peut ainsi faire dévier la proportion de condensateurs claqués de la proportion idéale de 50%. En pratique, un code dans lequel la proportion de condensateurs claqués est comprise entre 25 et 75 % reste un code utilisable comme clé d'authentification et il suffit donc de choisir une matrice de condensateurs présentant un seuil de tension V0 tel que 25 à 75 % des condensateurs de la matrice présentent une tension de claquage inférieure à V0.
La figure 3 représente un exemple d'un circuit de programmation adapté à faire claquer tous les condensateurs d'un ensemble de condensateurs présentant une tension de claquage inférieure à un seuil. Pour cela, tous les condensateurs Co, Cl, C2,... Cn d'un ensemble de condensateurs ont leurs premières bornes connectées à une borne Tl par l'intermédiaire d'une résistance r. Chacune des deuxièmes bornes des condensateurs CO, Cl, Cn est reliée à une deuxième borne d'application de tension T2 par la connexion en série d'une résistance Ri, d'un transistor de sélection Tsi et d'un transistor de programmation Tpi. Dans la figure, les éléments affectés à chacun des condensateurs CO, Cl, ... Cn sont affectés d'un même indice. On notera que les résistances R0, R1, ... Rn sont de même valeur, notée R. En outre, un circuit de lecture Si (SENSE) est connecté à chacun des points de connexion entre le transistor de sélection Tsi et le transistor de programmation Tpi. Tous les transistors de sélection Tsi ont leur grille connectée à une même borne de sélection SEL. Tous les transistors de programmation Tpi ont leur grille connectée à une même borne de programmation PROG. Le fonctionnement de ce circuit est le suivant. Quand une tension Vprog ayant une valeur choisie voisine de la valeur de seuil V0 indiquée en figure 2B est appliquée entre les bornes Tl et T2, et que tous les transistors Tsi et Tpi sont fermés, la tension Vprog se retrouve aux bornes de chacun des condensateurs Co à Cn. Il en résulte qu'un premier condensateur, ayant une B10897 - 10-GR3-330FR01 12 tension de claquage faible va claquer. Après cela, la tension aux bornes de chacun des condensateurs deviendra une tension V1 = Vprog /(1+r/R), ou V1 = Vprog /(1+a) si on désigne par cc le rapport r/R. A condition de choisir convenablement les valeurs respectives de r et R pour que cc soit petit, la tension V1 n'est que légèrement inférieure à la tension Vprog. Le phénomène se répète et une fois que k condensateurs 10 ont été claqués, la tension appliquée aux bornes de chaque condensateur devient Vk = Vprog/(1+ka). Une fois que cette valeur Vk devient inférieure à la tension de claquage de tous les transistors n'ayant pas encore claqué, le processus s'arrête de lui-même. Il importe donc que la tension Vk ne chute pas trop 15 rapidement avec k. Pour cela, on choisira rapport cc = r/R tel que, si n est le nombre total de condensateurs, le produit n.a soit inférieur à 0,1. Alors, la tension Vk correspondant à k=n/2 (la moitié des condensateurs ont claqué) sera inférieure de seulement 5% à la tension Vprog et restera donc proche du seuil V0. 20 En pratique, la cascade de claquage se produit très rapidement et avantageusement en une seule étape d'application d'une tension Vprog. On a ainsi de façon rapide et automatique programmé un code lié à la distribution pseudo-aléatoire des tensions de claquage de la matrice ou du sous-ensemble de 25 condensateurs considéré. Ceci est illustré de façon très simplifiée par la figure 4 dans le cas d'une matrice 50 de condensateurs comprenant 3x4 condensateurs, après programmation. Certains condensateurs MIM planaires, tels que le condensateur 51, présentent un 30 claquage 52 induit par la présence d'une protubérance à la surface de lignes de cuivre 53 du niveau de métallisation immédiatement inférieur. Ces condensateurs claqués présentent un état de conduction électrique faiblement résistif et seront affectés de la valeur binaire 1. D'autres condensateurs n'ont 35 pas claqué et présentent un état de conduction électrique très B10897 - 10-GR3-330FR01 13 fortement résistif, et seront affectés de la valeur binaire 0 (bien entendu ce choix des désignations 1 et 0 est purement arbitraire). Il est à noter que ces deux états sont stables dans le temps et facilement discriminables.
Pour lire le code mémorisé dans la matrice de conden- sateurs après programmation, on utilisera à nouveau un circuit du type de celui représenté en figure 3. Une tension Vsense est appliquée entre les bornes Tl et T2. Tous les transistors de sélection Tsi seront rendus passants, tous les transistors de programmation Tpi seront rendus bloqués et les circuits SENSE Si permettront de détecter l'état (court-circuité ou non court-circuité) de chacun des condensateurs Ci correspondants. Un circuit intégré comprenant une telle matrice ainsi programmée incorpore donc un code binaire natif, non déter15 ministe et stable dans le temps. Bien entendu la présente invention est susceptible de nombreuses variantes et modifications qui apparaîtront à l'homme de l'art, notamment en ce qui concerne l'allure des courbes de distributions de tension de claquage, le nombre de condensateurs 20 de la matrice, la répartition régulière ou non des lignes de cuivre sous les condensateurs, ainsi que la forme de ces lignes qui pourront comprendre des parties élargies et/ou qui pourront être morcelées. De même, le circuit adapté à programmer et lire une 25 matrice de condensateurs est susceptible de nombreuses variantes. Par exemple, comme il est courant dans les circuits formant des plans de cellules mémoire, les circuits SENSE servant à mesurer l'état des condensateurs après claquage et les commandes SEL commandant l'état des transistors de sélection Tsi 30 peuvent être arrangés selon des configurations classiques bien connues de l'homme de l'art sous le nom anglo-saxon de configurations "Bitlines/Wordlines". Par exemple, également, les résistances Ri peuvent être constituées par la résistance interne des transistors de sélection Tsi.