FR3132161A1 - Circuit intégré comportant un dispositif de fonction physiquement non clonable et procédé correspondant pour mettre en œuvre une fonction physiquement non clonable - Google Patents

Circuit intégré comportant un dispositif de fonction physiquement non clonable et procédé correspondant pour mettre en œuvre une fonction physiquement non clonable Download PDF

Info

Publication number
FR3132161A1
FR3132161A1 FR2200693A FR2200693A FR3132161A1 FR 3132161 A1 FR3132161 A1 FR 3132161A1 FR 2200693 A FR2200693 A FR 2200693A FR 2200693 A FR2200693 A FR 2200693A FR 3132161 A1 FR3132161 A1 FR 3132161A1
Authority
FR
France
Prior art keywords
cells
pairs
sign
rgt
lft
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2200693A
Other languages
English (en)
Inventor
Antonino Conte
Francesco La Rosa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Rousset SAS
STMicroelectronics SRL
Original Assignee
STMicroelectronics Rousset SAS
STMicroelectronics SRL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Rousset SAS, STMicroelectronics SRL filed Critical STMicroelectronics Rousset SAS
Priority to FR2200693A priority Critical patent/FR3132161A1/fr
Priority to US18/158,232 priority patent/US20230238060A1/en
Priority to CN202310042747.2A priority patent/CN116502287A/zh
Publication of FR3132161A1 publication Critical patent/FR3132161A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/57Protection from inspection, reverse engineering or tampering
    • H01L23/576Protection from inspection, reverse engineering or tampering using active circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]

Abstract

Le circuit intégré comporte un dispositif de fonction physiquement non clonable (PUFdev) comprenant une pluralité de paires de cellules de mémoire à changement de phase (PoPCM ; PCMLFT ; PCMRGT) dans un état vierge et ayant des valeurs résistives effectives respectives (ILFT ; IRGT). Des moyens de sélection (SEL) comportent un masque d’identification (MSK) adapté pour identifier les paires de cellules non fiables dont la différence absolue entre les valeurs résistives effectives est inférieure à une valeur de marge (IMRG) et les paires de cellules fiables dont la différence absolue entre les valeurs résistives effectives est supérieure à la valeur de marge (IMRG). Des moyens de détection différentielle (SAdiff) sont configurés pour détecter le signe de la différence entre les valeurs résistives effectives (ILFT ; IRGT) des paires de cellules fiables (PCMLFT ; PCMRGT) selon le masque d’identification (MSK). Figure pour l’abrégé : Fig 1A

Description

Circuit intégré comportant un dispositif de fonction physiquement non clonable et procédé correspondant pour mettre en œuvre une fonction physiquement non clonable
Des modes de réalisation et de mise en œuvre concernent les fonctions physiquement non clonables, obtenues notamment à partir d’un dispositif de mémoire à changement de phase.
Une fonction physique non clonable, ou « PUF » (Physical Unclonable Function), désigne un système désordonné capable de produire une réponse imprévisible mais stable à une stimulation (usuellement, « challenge ») définie. Le caractère imprévisible de la réponse signifie que deux créations du même circuit PUF sont aptes à donner des réponses différentes au même challenge, dans une répartition statistiquement acceptable. La stabilité de la réponse signifie qu’une création d’un circuit PUF donnera toujours la même réponse au même challenge.
Certains circuits PUF classiques sont capables de produire plusieurs couples challenge-réponse, et certains circuits PUF ne sont pas destinés à recevoir les challenges multiples, appelés cas sans challenge. Dans les cas sans challenge, les sorties du circuit PUF sont une chaîne de bits imprévisible, utilisée par exemple pour identifier le dispositif qui la génère. Cette chaîne de bits d’identification unique peut être employée pour générer une clé secrète destinée par exemple à une technique de cryptographie à clé publique.
En conséquence, en plus d’être imprévisible et stable, il est bénéfique que la réponse, c’est-à-dire la chaîne de bits, ne soit pas observable par des techniques de microscopie optique ou électronique.
En pratique, les PUF sont utilisées dans de nombreux dispositifs électroniques, comme les microcontrôleurs et les microprocesseurs embarqués. Il existe donc un besoin de fournir des fonctions physiquement non clonables qui soient réellement imprévisibles, fortement stables et en outre non observables, dans différents types de technologies afin d’être compatibles avec les appareils électroniques des différents types de technologies respectifs.
Selon un aspect, il est proposé un circuit intégré comportant un dispositif de fonction physiquement non clonable comprenant une pluralité de paires de cellules de mémoire à changement de phase dans un état vierge et ayant des valeurs résistives effectives respectives, des moyens de sélection comportant un masque d’identification adapté pour identifier les paires de cellules non fiables dont la différence absolue entre les valeurs résistives effectives est inférieure à une valeur de marge et les paires de cellules fiables dont la différence absolue entre les valeurs résistives effectives est supérieure à la valeur de marge, et des moyens de détection différentielle configurés pour détecter le signe de la différence entre les valeurs résistives effectives des paires de cellules fiables selon le masque d’identification.
Par exemple, les moyens de détection différentielle sont ainsi configurés pour fournir une chaîne de bits aléatoire physiquement non clonable, chaque bit étant basé sur le signe détecté d’une paire respective des paires de cellules fiables.
En conséquence, le présent aspect propose d’utiliser la répartition des valeurs résistives de cellules de mémoire à changement de phase dans un état vierge comme source d’entropie (désordre) pour la fonction physiquement non clonable. La répartition des valeurs résistives de cellules de mémoire à changement de phase dans un état vierge fournit en effet une imprévisibilité réelle selon une répartition gaussienne de valeurs résistives de l’état vierge, une forte stabilité grâce à une dérive de matériau généralement faible dans un produit final, et le fait de ne pas être observable grâce à l’état vierge commun des cellules de mémoire à changement de phase.
De plus, le masque d’identification et la lecture différentielle fournis par cet aspect permettent d’assurer la viabilité de cette technique, en particulier pour assurer que les éventuelles paires de cellules ayant deux valeurs résistives aléatoires égales ou très proches soient exclues de la procédure de lecture, et ne donnent donc pas lieu à des lectures indéterminées.
Selon un mode de réalisation, le masque d’identification est stocké dans une mémoire non volatile, et comprend un drapeau de non fiabilité ou un drapeau de fiabilité respectif pour chaque paire de cellules et lié aux adresses des paires de cellules respectives.
Par exemple, une mémoire non volatile peut contenir les données de drapeau du masque d’identification et les adresses des paires de cellules respectives, ou, comme défini dans un mode de réalisation ci-après, le lien entre les données de masque d’identification et les paires de cellules respectives peut être fourni à travers l’architecture de la matrice.
Selon un mode de réalisation, le circuit intégré comprend une matrice mémoire à changement de phase comportant une pluralité de paires de cellules dans un état vierge dans une première région, et comportant une pluralité de deuxièmes paires de cellules dans des états écrits configurées pour stocker les drapeaux de non fiabilité et drapeaux de fiabilité du masque d’identification dans une deuxième région.
Ainsi, le coût et les difficultés pour produire le dispositif sont réduits, puisque la fabrication de la matrice mémoire à changement de phase fournit à la fois les cellules dans un état vierge comme source d’entropie pour la PUF, et les cellules écrites comme mémoire non volatile pour stocker le masque d’identification. De plus, la matrice mémoire à changement de phase peut avantageusement être produite dans le circuit intégré pour une utilisation générale de mémoire non volatile, de telle manière que le dispositif PUF n’utilise qu’une section mineure de la matrice et est donc pratiquement exempt de coût de production.
Selon un mode de réalisation, la position dans la deuxième région de chaque deuxième paire de cellules est analogue à la position dans la première région de chaque paire de cellules respective, les positions analogues formant ledit lien avec les adresses de mémoire respectives.
Ce mode de réalisation correspond à une manière avantageuse de mettre en œuvre le masque d’identification par rapport à l’architecture de la matrice, comme par exemple en accédant à la fois à une paire de cellules et à son drapeau respectif dans le masque d’identification, tout en ne sélectionnant qu’une seule et même ligne de bits.
Selon un mode de réalisation, pour identifier les paires de cellules fiables et non fiables, les moyens de sélection sont configurés :
- pour générer un courant de marge dans un premier chemin de lecture différentielle des moyens de détection différentielle et pour stocker un premier signe, détecté par les moyens de détection différentielle, de chaque paire de cellules ;
- pour générer le courant de marge dans un deuxième chemin de lecture différentielle des moyens de détection différentielle et pour stocker un deuxième signe, détecté par les moyens de détection différentielle, de chaque paire de cellules ; et
- pour comparer le premier signe et le deuxième signe de chaque paire de cellules et pour attribuer un drapeau de non fiabilité dans le masque d’identification aux paires de cellules ayant un premier signe et un deuxième signe distincts, et pour attribuer un drapeau de fiabilité dans le masque d’identification aux paires de cellules ayant un premier signe et un deuxième signe identiques.
En d’autres termes, le drapeau de fiabilité est attribué aux paires de cellules ayant une différence entre leurs valeurs résistives d’état vierge résultant en une différence de courant circulant dans les chemins de lecture différentielle supérieure au courant de marge, et le drapeau de non fiabilité est attribué aux paires de cellules ayant une différence entre leurs valeurs résistives d’état vierge résultant en une différence de courant circulant dans les chemins de lecture différentielle inférieure au courant de marge.
Selon un autre aspect, il est proposé un procédé pour mettre en œuvre une fonction physiquement non clonable, comprenant :
- une fourniture d’une pluralité de paires de cellules de mémoire à changement de phase dans un état vierge et ayant des valeurs résistives effectives respectives,
- une identification, dans un masque d’identification, des paires de cellules non fiables dont la différence absolue entre les valeurs résistives effectives est inférieure à une valeur de marge et des paires de cellules fiables dont la différence absolue entre les valeurs résistives effectives est supérieure à une valeur de marge, et
- une détection du signe de la différence entre les valeurs résistives effectives des paires de cellules fiables.
Selon un mode de réalisation, ladite détection fournit une chaîne de bits aléatoire physiquement non clonable, chaque bit étant basé sur le signe d’une paire respective des paires de cellules fiables.
Selon un mode de réalisation, ladite identification dans un masque d’identification comprend un stockage, dans une mémoire non volatile, d’un drapeau de non fiabilité respectif ou d’un drapeau de fiabilité pour chaque paire de cellules, et une liaison des drapeaux aux adresses des paires de cellules respectives.
Selon un mode de réalisation, le procédé comprend une fourniture d’une matrice mémoire à changement de phase qui fournit la pluralité de paires de cellules de mémoire à changement de phase dans un état vierge dans une première région, et qui fournit en outre une pluralité de deuxièmes paires de cellules de mémoire à changement de phase dans une deuxième région, le procédé comprenant une opération d’écriture des deuxièmes paires de cellules pour stocker les drapeaux de non fiabilité et drapeaux de fiabilité du masque d’identification.
Selon un mode de réalisation, la fourniture de la matrice mémoire à changement de phase comprend une fourniture de chaque deuxième paire de cellules dans une position analogue dans la deuxième région à la position dans la première région de chaque paire de cellules respective, les positions analogues formant ladite liaison avec les adresses de mémoire.
Selon un mode de réalisation, l’identification des paires de cellules fiables et non fiables comprend :
- une génération d’un courant de marge dans un premier chemin de lecture différentielle de moyens de détection différentielle adaptés pour réaliser ladite détection, et un stockage d’un premier signe, détecté par les moyens de détection différentielle, de chaque paire de cellules ;
- une génération du courant de marge dans un deuxième chemin de lecture différentielle des moyens de détection différentielle et un stockage d’un deuxième signe, détecté par les moyens de détection différentielle, de chaque paire de cellules ; et
- une comparaison du premier signe et du deuxième signe de chaque paire de cellules et une attribution d’un drapeau de non fiabilité dans le masque d’identification aux paires de cellules ayant un premier signe et un deuxième signe distincts, et une attribution d’un drapeau de fiabilité dans le masque d’identification aux paires de cellules ayant un premier signe et un deuxième signe identiques.
Selon un mode de réalisation :
- la fourniture de la pluralité de paires de cellules de mémoire à changement de phase dans un état vierge est réalisée au cours d’une étape de fabrication d’un circuit intégré ;
- l’identification, dans le masque d’identification, des paires non fiables et des paires fiables est réalisée au cours d’une étape de tri de plaquettes électriques du circuit intégré ; et
- la détection du signe de la différence entre les valeurs résistives effectives des paires fiables de cellules de mémoire à changement de phase est réalisée au cours d’une étape d’utilisation du circuit intégré.
D’autres avantages et caractéristiques de l’invention apparaîtront à la lecture de la description détaillée de modes de réalisation, en aucun cas limitatifs, et à l’étude des dessins annexés dans lesquels :
illustrent des modes de réalisation de l’invention.
Les figures 1A et 1B montrent un exemple d’un dispositif de fonction physiquement non clonable PUFdev basé sur des cellules de mémoire à changement de phase PCMLFT, PCMRGTdans un état vierge, comportant un circuit intégré par exemple.
Les cellules de mémoire à changement de phase conventionnelles PCMLFT, PCMRGTsont généralement capables de commuter entre un premier état ayant une première valeur résistive électrique, et un deuxième état ayant une deuxième valeur résistive électrique. Par exemple, le premier état peut être obtenu par une phase polycristalline d’un matériau à changement de phase ayant une valeur résistive relativement faible, et le deuxième état peut être obtenu par une phase amorphe du matériau ayant une valeur résistive relativement élevée. La commutation entre la phase polycristalline et la phase amorphe peut être obtenue au moyen d’un élément chauffant capable soit de chauffer et de refroidir rapidement le matériau, ce que l’on appelle une opération de réinitialisation qui rend le matériau amorphe, soit de le maintenir dans sa plage de température de cristallisation pendant une durée suffisante, ce que l’on appelle une opération de réglage qui rend le matériau polycristallin. L’état vierge d’une cellule, c’est-à-dire l’état d’une cellule au moment de sa fabrication et avant toute opération de réglage ou de réinitialisation, est généralement la phase polycristalline. Les valeurs résistives peuvent être détectées par exemple en mesurant l’intensité d’un courant de lecture ILFT, IRGTqui circule dans le matériau à changement de phase des cellules PCMLFT, PCMRGTquand elles sont polarisées avec une tension de précharge donnée. Dans le même exemple que précédemment, le premier état peut être détecté si l’intensité ILFT, IRGTest supérieure à un seuil, et le deuxième état peut être détecté si l’intensité ILFT, IRGTest inférieure au seuil. Chaque état peut être choisi arbitrairement pour traduire une donnée binaire respective « 0 » ou « 1 ».
En pratique, une donnée binaire peut être stockée dans une paire de cellules différentielle PoPCM disposée dans une orientation donnée PCMLFT, PCMRGT, où une différence négative entre les courants de lecture « ILFT-IRGT» des paires de cellules dans l’orientation donne une donnée binaire, par exemple par convention « 0 », et où une différence positive entre les courants de lecture « ILFT-IRGT» dans cette orientation donne l’autre donnée binaire, par exemple par convention « 1 ».
Le dispositif de fonction physiquement non clonable PUFdev comprend une pluralité de paires différentielles de cellules de mémoire à changement de phase PoPCM.
Chaque paire de cellules de mémoire à changement de phase PoPCM comprend une première cellule de mémoire à changement de phase PCCLFTorientée dans une position gauche arbitraire, et une deuxième cellule de mémoire à changement de phase PCCRGTorientée dans une position droite arbitraire.
Les deux cellules PCCLFTet PCCRGTde chaque paire PoPCM sont maintenues dans un état vierge et ont en conséquence une valeur résistive effective respective désignée par le courant de lecture proportionnel ILFT, IRGT. Les valeurs résistives effectives respectives distinctes ILFT, IRGTsont par exemple réparties comme représenté sur la décrite plus loin.
Les paires différentielles de cellules PoPCM peuvent être agencées en une matrice mémoire à changement de phase PCMARR ( ), en lignes et colonnes de paires de cellules PoPCM. La sélection des lignes de paires différentielles de cellules PoPCM peut être réalisée au moyen de lignes de mot respectives WL, qui commandent par exemple un transistor de sélection respectif TALFT, TARGTmonté en série entre la masse et la cellule de mémoire à changement de phase respective PCCLFT, PCCRGT. La sélection des colonnes de paires différentielles de cellules PoPCM peut être réalisée au moyen de paires différentielles respectives de lignes de bit BLLFT, BLRGT, par exemple montées en série avec l’autre borne de la cellule PCCLFT, PCCRGT.
Les lignes de bit différentielles BLLFT, BLRGTsont reliées à des entrées de moyens de détection différentielle, comme un amplificateur de détection différentielle conventionnel SAdiff, inclus dans des moyens de sélection SEL.
Les moyens de détection différentielle SAdiff sont configurés pour détecter le signe de la différence entre les valeurs résistives effectives ILFT, IRGTde la paire de cellules détectée PoPCM. À cette fin, les moyens de détection différentielle SAdiff peuvent être configurés pour polariser les lignes de bit différentielles BLLFT, BLRGTavec une tension de précharge et pour mesurer l’intensité du courant ILFT, IRGTcirculant dans les cellules respectives PCCLFT, PCCRGT. Le courant mesuré est directement proportionnel à la valeur résistive de la cellule selon la loi d’Ohm appliquée avec la tension de précharge.
Les moyens de détection différentielle SAdiff peuvent être configurés pour fournir une chaîne de bits aléatoire physiquement non clonable, dans laquelle chaque bit est basé sur le signe détecté de la paire de cellules respectivement détectée PoPCM. Par exemple, les moyens de détection différentielle SAdiff peuvent être configurés selon l’orientation de l’exemple donné précédemment, pour donner la donnée binaire « 0 » si « ILFT< IRGT», et pour donner la donnée binaire « 1 » si « ILFT> IRGT».
Ceci étant dit, les valeurs résistives à l’état vierge des cellules pourraient statistiquement être égales ou très proches, et l’intensité correspondante des courants de lecture ILFT, IRGTpeut être trop similaire pour pouvoir être comparée avec certitude et fiabilité.
Ainsi, les moyens de sélection SEL comportent un masque d’identification MSK adapté pour identifier les paires de cellules PoPCM non fiables dont la différence absolue entre les valeurs résistives effectives est inférieure à une valeur de marge, appelée IMRG, et pour identifier les paires de cellules PoPCM fiables dont la différence absolue entre les valeurs résistives effectives est supérieure à la valeur de marge IMRG.
Les moyens de détection différentielle SAdiff sont configurés pour détecter le signe de la différence entre les valeurs résistives effectives ILFT, IRGTdes paires de cellules fiables PCMLFT, PCMRGTidentifiées uniquement par le masque d’identification MSK.
Les paires de cellules PoPCM non fiables et fiables peuvent être identifiées au cours d’une étape de tri de plaquettes électriques du circuit intégré.
Afin d’identifier les paires de cellules fiables et non fiables, les moyens de sélection SEL sont avantageusement configurés pour générer d’abord un courant de marge IMRGdans un premier chemin de lecture différentielle BLLFTdes moyens de détection différentielle SAdiff et pour détecter le « premier état » de la paire différentielle de cellules PoPCM. Le courant de marge IMRGest par exemple ajouté au courant de lecture ILFTsur la ligne de bit de gauche BLLFTappliquée en entrée des moyens de détection SAdiff, grâce à un circuit d’interrupteur prévu à cet effet, comme illustré sur la .
Par ailleurs, les moyens de sélection SEL sont avantageusement configurés pour générer le même courant de marge IMRGdans le deuxième chemin de lecture différentielle BLRGTdes moyens de détection différentielle SAdiff et pour détecter le « deuxième état » de la paire différentielle de cellules PoPCM. Le courant de marge IMRGest par exemple ajouté au courant de lecture IRGTsur la ligne de bit de droite BLRGTappliquée en entrée des moyens de détection SAdiff, grâce au circuit d’interrupteur prévu à cet effet, comme illustré sur la .
Si le premier état et le deuxième état sont les mêmes, alors cela signifie que la différence absolue entre les deux courants de lecture ILFT, IRGTest supérieure au courant de marge IMRG, et que la paire de cellules PoPCM détectée doit être identifiée comme paire fiable.
En d’autres termes, si la première opération de détection et la deuxième opération de détection donnent toutes les deux un « 0 », cela signifie que « ILFT+IMRG< IRGT», c’est-à-dire « ILFT-IRGT< -IMRG» ; et inversement, si la première opération de détection et la deuxième opération de détection donnent toutes les deux un « 1 », cela signifie que « ILFT> IRGT+IMRG», c’est-à-dire « ILFT-IRGT> +IMRG».
Si le premier état et le deuxième état ne sont pas les mêmes, cela signifie que la différence absolue entre les deux courants de lecture ILFT, IRGTest inférieure au courant de marge IMRG, et que la paire de cellules PoPCM détectée doit être identifiée comme paire non fiable.
En d’autres termes, si la première opération de détection donne un « 1 » et la deuxième opération de détection donne un « 0 », cela signifie que « ILFT+IMRG> IRGT» et « ILFT< IRGT+IMRG», c’est-à-dire « -IMRG< ILFT-IRGT< +IMRG».
L’intensité du courant de marge IMRGest ainsi avantageusement choisie selon la précision des moyens de lecture différentielle SAdiff, en prenant en compte par exemple l’asymétrie des chemins de lecture différentielle et/ou les décalages de circuit résiduels dans les moyens de lecture différentielle SAdiff.
La représente une mise en œuvre avantageuse du masque d’identification MSK du dispositif de fonction physiquement non clonable PUFdev décrit relativement aux figures 1A et 1B, dans une matrice mémoire à changement de phase PCMARR.
La matrice mémoire à changement de phase PCMARR comporte la pluralité de paires de cellules dans un état vierge, fournissant le dispositif de fonction physiquement non clonable PUFdev, dans une première région REG1. La matrice mémoire à changement de phase PCMARR comporte en outre une deuxième région REG2 comprenant une pluralité de deuxièmes paires de cellules dans des états écrits, afin de stocker les données du masque d’identification MSK1, MSK2. La matrice mémoire à changement de phase PCMARR peut aussi comporter une autre région destinée à la mémorisation non volatile de données générales.
Le masque d’identification MSK1, MSK2 contient des drapeaux de non fiabilité et des drapeaux de fiabilité, qui sont des données adaptées pour indiquer si les paires de cellules vierges sont identifiées comme paires fiables ou comme paires non fiables. Par exemple, le masque d’identification est agencé en mots MSK1, MSK2 pour chaque mot respectif VRG1, VRG2 de paires de cellules vierges.
Comme décrit plus haut relativement aux figures 1A et 1B, les drapeaux de non fiabilité et les drapeaux de fiabilité sont obtenus grâce à une comparaison entre une première opération de détection avec un courant de marge de polarisation positive +IMRG, et une deuxième opération de détection avec un courant de marge de polarisation négative -IMRG.
Pour chaque mot VRG1, VRG2 des paires de cellules vierges, une première chaîne A1 de données est obtenue par la première opération de détection, et une deuxième chaîne B1 est obtenue par la deuxième opération de détection. Une opération de ou exclusif XOR au niveau des bits entre la première chaîne A1 et la deuxième chaîne B1 fournit une chaîne de données de sortie, formant le masque d’identification MSK1, MSK2 du mot respectif VRG1, VRG2.
Les données « 0 » du masque d’identification sont les drapeaux de non fiabilité indiquant les paires de cellules non fiables, tandis que les données « 1 » du masque d’identification sont les drapeaux de fiabilité indiquant les paires de cellules fiables.
La chaîne de données de sortie du masque d’identification MSK1, MSK2 est ensuite stockée dans une mémoire non volatile.
L’opération de génération des drapeaux de non fiabilité et des drapeaux de fiabilité du masque est répétée jusqu’à ce que la première région soit entièrement explorée et identifiée comme non fiable ou fiable.
Dans un mode de réalisation optimisé pour fournir un lien entre le masque et les adresses des paires de cellules vierges, la première région REG1 et la deuxième région REG2 peuvent avoir la même taille et un agencement commun en ce qui concerne les lignes de mots et les lignes de bits BL. La position dans la deuxième région REG2 de chaque deuxième paire de cellules écrites peut être analogue à la position dans la première région REG1 de chaque paire respective de cellules vierges. En conséquence, les positions analogues fournissent, par conception, ledit lien avec les adresses de mémoire respectives. Par exemple, les positions analogues peuvent être conçues de telle manière qu’une paire donnée de cellules vierges dans la première région REG1 et la paire correspondante de cellules écrites dans la deuxième région REG2 sont sélectionnées par les mêmes lignes de bits différentielles BL. Un circuit de commutation ou de décodage peut ainsi fournir, par son architecture optimisée, à la fois la condition de lecture à partir du masque MSK1 et les données de la chaîne de bits physiquement non clonable.
Dans une variante de mode de réalisation, le masque d’identification MSK1, MSK2 peut être stocké dans une mémoire non volatile distincte, comme une EEPROM (mémoire morte effaçable et programmable électriquement) de circuits de mémoire non volatile flash, avec les adresses des paires respectives de cellules vierges, ou les adresses des mots respectifs de paires de cellules vierges VRG1, VRG2.
Dans cette variante, les moyens de détection peuvent commander une lecture des données du masque correspondant aux adresses des paires de cellules vierges de la fonction physiquement non clonable, et appliquer la sélection des paires fiables pour générer la chaîne de bits aléatoire physiquement non clonable R1, R2.
Une telle variante peut être avantageuse dans certaines configurations, par exemple pour fournir le dispositif de fonction physiquement non clonable PUFdev à base de mémoire à changement de phase dans un circuit initialement pourvu d’une mémoire non volatile distincte, mais non pourvu d’une matrice mémoire à changement de phase, de sorte qu’il n’est pas nécessaire d’ajouter des moyens d’écriture et des opérations d’écriture au circuit initial.
L’opération de détection, réalisée par exemple au cours d’une étape d’utilisation du circuit intégré, comprend en conséquence une sélection « Valid », provenant du masque d’identification MSK1, MSK2, des paires fiables de cellules vierges utilisées pour générer une séquence de bits aléatoire R1, R2, tandis que les paires non fiables de cellules vierges sont éliminées de la séquence de bits aléatoire R1, R2.
Une séquence aléatoire complète peut être générée par la concaténation des motifs valides R1+R2+… obtenus à partir d’une série de mot de paires de cellules vierges VRG1, VRG2.
On notera que la partie physiquement non clonable REG1 de la matrice mémoire à changement de phase PCMARR reste vierge, c’est-à-dire que l’information contenue dans la partie physiquement non clonable REG1 est indétectable par microscopie optique ou électronique, puisque toutes les cellules sont dans leur état polycristallin original et n’ont pas été soumises à des opérations de réglage/réinitialisation. En outre, l’état écrit de la deuxième région REG2 peut fournir, par microscopie optique ou électronique, l’information indiquant quelles paires de cellules vierges sont fiables et utilisées, mais, en réalité, il ne donne pas d’autre information sur le contenu de ces paires fiables de cellules vierges.
La représente une répartition, dans une échelle logarithmique, des différences ILFT-IRGTdes courants de lecture, en microampères [uA], mesurés expérimentalement dans une population de paires de cellules de mémoire à changement de phase dans des états vierges, comme décrit précédemment relativement aux figures 1A, 1B et 2.
Les différences ILFT-IRGTdes courants de lecture sont mesurées sous la même tension de précharge et sont donc directement représentatives des différences entre les valeurs résistives effectives des paires de cellules vierges.
Comme les valeurs résistives individuelles des cellules vierges ont une répartition gaussienne et une stabilité donnée, leur différence est aussi gaussienne et stable. Ainsi, la détection différentielle des courants de lecture ILFT-IRGTpréserve le caractère imprévisible et la stabilité de la répartition des valeurs résistives vierges.
Les résultats expérimentaux des différences ILFT-IRGTtracées dans la répartition de la montrent d’abord que les résultats négatifs et les résultats positifs sont équilibrés, ce qui signifie que les « 0 » et les « 1 » dans la chaîne de bits aléatoire finale R1, R2 sont également équilibrés.
Par ailleurs, ces résultats montrent que si le courant de marge est choisi avec une valeur de 5 µA (microampères), alors la proportion de cellules fiables est d’environ 20 % dans chaque signe (négatif et positif) et donc de 40 % de la population totale.
De même, si par exemple dans la première région REG1 décrite relativement à la , une plage de mémoire (également appelée page de mémoire) a une taille de 1 Ko (kilo-octet), alors les 40 % de paires fiables sont plus que suffisants pour fournir une chaîne de bits aléatoire physiquement non clonable utilisée par exemple pour identifier le dispositif, comme pour générer une clé secrète d’une technique de cryptographie.
En résumé, la présente technique pour mettre en œuvre une fonction physiquement non clonable propose de fournir une pluralité de paires de cellules de mémoire à changement de phase dans un état vierge et ayant des valeurs résistives effectives respectives ; d’identifier, dans un masque d’identification, les paires non fiables de cellules dont la différence absolue entre les valeurs résistives effectives est inférieure à une valeur de marge et les paires fiables de cellules dont la différence absolue entre les valeurs résistives effectives est supérieure à la valeur de marge ; et de détecter le signe de la différence entre les valeurs résistives effectives des paires fiables de cellules, par exemple pour fournir une chaîne de bits aléatoire physiquement non clonable.
La répartition des valeurs résistives de cellules de mémoire à changement de phase dans un état vierge fournit une source naturelle d’entropie pour l’imprévisibilité, tandis que la construction de cellules de mémoire à changement de phase fournit une stabilité forte, qui est de plus impossible à distinguer par des inspections par microscopie optique ou électronique. Le masque d’identification et la configuration respective de la lecture différentielle assurent que la possibilité statistique de lectures indéterminées ou douteuses est rejetée.
Il apparaît que la présente technique permet de mettre en œuvre une fonction physique non clonable à partir d’une mémoire à changement de phase, de façon fiable et efficace. La mémoire à changement de phase peut ensuite être utilisée pour générer une clé secrète, et elle peut être incorporée de façon sécurisée dans un dispositif électronique tel qu’un microcontrôleur, par exemple dans des applications industrielles ou automobiles, qui exigent un niveau de sécurité élevé.

Claims (13)

  1. Circuit intégré comportant un dispositif de fonction physiquement non clonable (PUFdev) comprenant une pluralité de paires de cellules de mémoire à changement de phase (PoPCM ; PCMLFT; PCMRGT) dans un état vierge et ayant des valeurs résistives effectives respectives (ILFT; IRGT), des moyens de sélection (SEL) comportant un masque d’identification (MSK) adapté pour identifier les paires de cellules non fiables dont la différence absolue entre les valeurs résistives effectives est inférieure à une valeur de marge (IMRG) et les paires de cellules fiables dont la différence absolue entre les valeurs résistives effectives est supérieure à la valeur de marge (IMRG), et des moyens de détection différentielle (SAdiff) configurés pour détecter le signe de la différence entre les valeurs résistives effectives (ILFT; IRGT) des paires de cellules fiables (PCMLFT; PCMRGT) selon le masque d’identification (MSK).
  2. Circuit intégré selon la revendication 1, dans lequel les moyens de détection différentielle (SAdiff) sont configurés pour fournir une chaîne de bits aléatoire physiquement non clonable (R1, R2), chaque bit étant basé sur le signe détecté d’une paire respective des paires de cellules fiables.
  3. Circuit intégré selon l’une quelconque des revendications 1 et 2, dans lequel le masque d’identification (MSK1, MSK2) est stocké dans une mémoire non volatile (REG2), et comprend un drapeau de non fiabilité (1) ou un drapeau de fiabilité (0) respectif pour chaque paire de cellules et lié aux adresses des paires de cellules respectives.
  4. Circuit intégré selon la revendication 3, comprenant une matrice mémoire à changement de phase (PCMARR) comportant la pluralité de paires de cellules dans un état vierge dans une première région (REG1), et comportant une pluralité de deuxièmes paires de cellules dans des états écrits configurées pour stocker les drapeaux de non fiabilité et drapeaux de fiabilité du masque d’identification (MSK1) dans une deuxième région (REG2).
  5. Circuit intégré selon la revendication 4, dans lequel la position dans la deuxième région (REG2) de chaque deuxième paire de cellules est analogue à la position dans la première région (REG1) de chaque paire de cellules respective, les positions analogues formant ledit lien (BL) avec les adresses de mémoire respectives.
  6. Circuit intégré selon l’une quelconque des revendications 1 à 5, dans lequel, pour identifier les paires de cellules fiables et non fiables, les moyens de sélection (SEL) sont configurés :
    - pour générer un courant de marge (IMRG) dans un premier chemin de lecture différentielle (BLLFT) des moyens de détection différentielle (SAdiff) et pour stocker un premier signe (A1), détecté par les moyens de détection différentielle, de chaque paire de cellules ;
    - pour générer le courant de marge (IMRG) dans un deuxième chemin de lecture différentielle (BLRGT) des moyens de détection différentielle (SAdiff) et pour stocker un deuxième signe (B2), détecté par les moyens de détection différentielle, de chaque paire de cellules ; et
    - pour comparer (XOR) le premier signe (A1) et le deuxième signe (B1) de chaque paire de cellules et pour attribuer un drapeau de non fiabilité (1) dans le masque d’identification (MSK1) aux paires de cellules ayant un premier signe et un deuxième signe distincts, et pour attribuer un drapeau de fiabilité (0) dans le masque d’identification (MSK1) aux paires de cellules ayant un premier signe et un deuxième signe identiques.
  7. Procédé pour mettre en œuvre une fonction physiquement non clonable (PUFdev), comprenant :
    - une fourniture d’une pluralité de paires de cellules de mémoire à changement de phase (PoPCM ; PCMLFT; PCMRGT) dans un état vierge et ayant des valeurs résistives effectives respectives (ILFT; IRGT),
    - une identification, dans un masque d’identification (MSK), des paires de cellules non fiables dont la différence absolue entre les valeurs résistives effectives est inférieure à une valeur de marge (IMRG) et des paires de cellules fiables dont la différence absolue entre les valeurs résistives effectives est supérieure à la valeur de marge (IMRG), et
    - une détection (SAdiff) du signe de la différence entre les valeurs résistives effectives (ILFT; IRGT) des paires de cellules fiables (PCMLFT; PCMRGT).
  8. Procédé selon la revendication 7, dans lequel ladite détection fournit une chaîne de bits aléatoire physiquement non clonable (R1, R2), chaque bit étant basé sur le signe d’une paire respective des paires de cellules fiables.
  9. Procédé selon l’une quelconque des revendications 7 et 8, dans lequel ladite identification dans un masque d’identification (MSK1, MSK2) comprend un stockage, dans une mémoire non volatile (REG2), d’un drapeau de non fiabilité respectif (1) ou d’un drapeau de fiabilité (0) pour chaque paire de cellules, et une liaison des drapeaux aux adresses des paires de cellules respectives.
  10. Procédé selon la revendication 9, comprenant une fourniture d’une matrice mémoire à changement de phase (PCMARR) qui fournit la pluralité de paires de cellules de mémoire à changement de phase (PCMLFT; PCMRGT) dans un état vierge dans une première région (REG1), et qui fournit en outre une pluralité de deuxièmes paires de cellules de mémoire à changement de phase dans une deuxième région (REG2), le procédé comprenant une opération d’écriture (wr) des deuxièmes paires de cellules pour stocker les drapeaux de non fiabilité (1) et drapeaux de fiabilité (0) du masque d’identification (MSK1, MSK2).
  11. Procédé selon la revendication 10, dans lequel la fourniture de la matrice mémoire à changement de phase (PCMARR) comprend une fourniture de chaque deuxième paire de cellules dans une position analogue dans la deuxième région (REG2) à la position dans la première région (REG1) de chaque paire de cellules respective, les positions analogues formant ladite liaison (BL) avec les adresses de mémoire.
  12. Procédé selon l’une quelconque des revendications 7 à 11, dans lequel l’identification des paires de cellules fiables et non fiables comprend :
    - une génération d’un courant de marge (IMRG) dans un premier chemin de lecture différentielle (BLLFT) de moyens de détection différentielle (SAdiff) adaptés pour réaliser ladite détection, et un stockage d’un premier signe (A1), détecté par les moyens de détection différentielle, de chaque paire de cellules ;
    - une génération du courant de marge (IMRG) dans un deuxième chemin de lecture différentielle (BLRGT) des moyens de détection différentielle (SAdiff) et un stockage d’un deuxième signe (B1), détecté par les moyens de détection différentielle, de chaque paire de cellules ; et
    - une comparaison (XOR) du premier signe (A1) et du deuxième signe (B1) de chaque paire de cellules et une attribution d’un drapeau de non fiabilité (1) dans le masque d’identification (MSK1) aux paires de cellules ayant un premier signe et un deuxième signe distincts, et une attribution d’un drapeau de fiabilité (0) dans le masque d’identification (MSK1) aux paires de cellules ayant un premier signe et un deuxième signe identiques.
  13. Procédé selon l’une quelconque des revendications 7 à 12, dans lequel :
    - la fourniture de la pluralité de paires de cellules de mémoire à changement de phase (PCMLFT; PCMRGT) dans un état vierge est réalisée au cours d’une étape de fabrication d’un circuit intégré ;
    - l’identification, dans le masque d’identification (MSK), des paires non fiables et des paires fiables est réalisée au cours d’une étape de tri de plaquettes électriques du circuit intégré ; et
    - la détection (SAdiff) du signe de la différence entre les valeurs résistives effectives (ILFT; IRGT) des paires fiables de cellules de mémoire à changement de phase est réalisée au cours d’une étape d’utilisation du circuit intégré.
FR2200693A 2022-01-27 2022-01-27 Circuit intégré comportant un dispositif de fonction physiquement non clonable et procédé correspondant pour mettre en œuvre une fonction physiquement non clonable Pending FR3132161A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR2200693A FR3132161A1 (fr) 2022-01-27 2022-01-27 Circuit intégré comportant un dispositif de fonction physiquement non clonable et procédé correspondant pour mettre en œuvre une fonction physiquement non clonable
US18/158,232 US20230238060A1 (en) 2022-01-27 2023-01-23 Integrated circuit including a physically unclonable function device and corresponding method for implementing a physically unclonable function
CN202310042747.2A CN116502287A (zh) 2022-01-27 2023-01-28 集成电路以及用于实现物理不可复制功能的相应方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2200693 2022-01-27
FR2200693A FR3132161A1 (fr) 2022-01-27 2022-01-27 Circuit intégré comportant un dispositif de fonction physiquement non clonable et procédé correspondant pour mettre en œuvre une fonction physiquement non clonable

Publications (1)

Publication Number Publication Date
FR3132161A1 true FR3132161A1 (fr) 2023-07-28

Family

ID=81749267

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2200693A Pending FR3132161A1 (fr) 2022-01-27 2022-01-27 Circuit intégré comportant un dispositif de fonction physiquement non clonable et procédé correspondant pour mettre en œuvre une fonction physiquement non clonable

Country Status (3)

Country Link
US (1) US20230238060A1 (fr)
CN (1) CN116502287A (fr)
FR (1) FR3132161A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9985791B2 (en) * 2015-08-13 2018-05-29 Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University Physically unclonable function generating systems and related methods
US20180337777A1 (en) * 2017-05-17 2018-11-22 Winbond Electronics Corp. Physical unclonable function code providing apparatus and providing method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9985791B2 (en) * 2015-08-13 2018-05-29 Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University Physically unclonable function generating systems and related methods
US20180337777A1 (en) * 2017-05-17 2018-11-22 Winbond Electronics Corp. Physical unclonable function code providing apparatus and providing method thereof

Also Published As

Publication number Publication date
CN116502287A (zh) 2023-07-28
US20230238060A1 (en) 2023-07-27

Similar Documents

Publication Publication Date Title
JP6587188B2 (ja) 乱数処理装置、集積回路カード、および乱数処理方法
JP6617924B2 (ja) 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法
US10691414B2 (en) Random code generator and associated random code generating method
JP6474056B2 (ja) 耐タンパ性を有する不揮発性メモリ装置、集積回路カード、不揮発性メモリ装置の認証方法、不揮発性メモリ装置を用いた暗号化方法および復号化方法
JP6532024B2 (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
FR2964278A1 (fr) Extraction de cle dans un circuit integre
JP6817888B2 (ja) 不揮発性メモリ装置
JP2016105344A (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
EP3246943B1 (fr) Dispositif electronique a identification de type puf
Pang et al. A novel PUF against machine learning attack: Implementation on a 16 Mb RRAM chip
FR2981472A1 (fr) Dispositif et procede de production d&#39;une sequence de bits
EP3633677A1 (fr) Circuit memoire imc a cellules 6t
JP2017216030A (ja) 不揮発性メモリ装置
EP3080815B1 (fr) Système et procédé de gestion de l&#39;usure d&#39;une mémoire électronique
EP2689422A1 (fr) Architecture de memoire logique, notamment pour mram ou pcram ou rram
EP3080813B1 (fr) Système de gestion de l&#39;usure d&#39;une mémoire électronique
FR3132161A1 (fr) Circuit intégré comportant un dispositif de fonction physiquement non clonable et procédé correspondant pour mettre en œuvre une fonction physiquement non clonable
EP3886361A1 (fr) Dispositif de fonction physiquement non clonable
EP4170655A1 (fr) Sram a initialisation reconfigurable
FR2802734A1 (fr) Procede de correction d&#39;un bit dans une chaine de bits
FR2836752A1 (fr) Cellule memoire a programmation unique
JP6937288B2 (ja) 不揮発性メモリ装置およびチャレンジ・レスポンス方法
US11404119B1 (en) Non-volatile memory device and challenge response method
Lin et al. A novel bi-functional memory-PUF module utilizing adjustable switching window of RRAM
EP4345821A1 (fr) Circuit de traitement logique de donnees integre dans un circuit de stockage de donnees

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20230728

PLFP Fee payment

Year of fee payment: 3