Brevet FR3111438A1 — publié le 20211217

Dispositifs et procédés de sécurisation d’un système sur puce Système sur puce (500) comprenant un ensemble d’éléments mémoires programmables une seule fois (100) qui comprend une première configuration valide ; une deuxième configuration valide ; et une pluralité de configurations non valides. Le système sur puce comprend aussi un indicateur de programmation (512) ayant initialement une première valeur et agencé pour être réglé de manière permanente à une deuxième valeur. Le système sur puce comprend en outre un circuit décodeur (502) en communication avec l’ensemble d’éléments mémoires programmables une seule fois pour déterminer si l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide, la deuxième configuration valide ou l’une quelconque de la pluralité de configurations non valides. Le circuit décodeur génère un signal de détection de menace lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de configurations non valides lorsque l’indicateur de programmation est en permanence réglé à la deuxième valeur. Figure pour l'abrégé : Fig. 5 Dispositifs et procédés de sécurisation d’un système sur puce La présente invention concerne de façon générale des systèmes et des procédés pour sécuriser un système sur puce. La popularité et le nombre d'applications des technologies associées aux systèmes sur puce continuent à croître. Alors que leur utilisation devient omniprésente, des inquiétudes grandissent aussi concernant la sécurité des systèmes sur puce. Il y a des inquiétudes particulières dans les secteurs où la vie et la sécurité des utilisateurs finaux est en jeu comme dans les systèmes avancés d’assistance à la conduite. Dans certains cas, un système sur puce peut utiliser des éléments mémoires, programmables une seule fois, pour réduire le risque de failles de sécurité. Dans un but de détection des menaces, il peut être utile de déterminer si les éléments mémoires programmables une seule fois d’un système sur puce ont déjà été programmés précédemment. Selon un mode de réalisation de la présente invention, un procédé d’actionnement d’un système électronique sur puce comprend la prévision d’un ensemble d’éléments mémoires programmables une seule fois, l’ensemble comprenant une première configuration valide, une deuxième configuration valide et une pluralité de configurations non valides. Selon un mode de réalisation de la présente invention, le procédé d’actionnement d’un système sur puce comprend en outre : la prévision d’un indicateur de programmation qui est réglé à une première valeur avant que l’ensemble d’éléments mémoires programmables une seule fois soit programmé ; la programmation de l’ensemble d’éléments mémoires programmables une seule fois à la première configuration valide ; le réglage permanent de l’indicateur de programmation à une deuxième valeur lorsque l’ensemble d’éléments mémoires programmables une seule fois quitte la première configuration valide ; et la détection d’une menace de sécurité pour le système sur puce lorsque l’indicateur de programmation est réglé à la deuxième valeur et l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque des configurations non valides de la pluralité de configurations non valides. Selon un mode de réalisation, le procédé comprend en outre une réinitialisation du système sur puce lorsque l’indicateur de programmation est réglé à la deuxième valeur et l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque des configurations non valides de la pluralité de configurations non valides. Selon un mode de réalisation, le procédé comprend en outre de faire en sorte que l’indicateur de programmation comprenne un bit de mémoire programmable une seule fois ; et dans lequel le réglage permanent de l’indicateur de programmation à une deuxième valeur comprend la programmation du bit de mémoire programmable une seule fois. Selon un mode de réalisation, le procédé comprend en outre : régler un niveau de sécurité du système sur puce à un premier niveau de sécurité lorsque l’indicateur de programmation est à la première valeur ; et régler le niveau de sécurité du système sur puce à un deuxième niveau de sécurité, de préférence renforcé, lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide. Selon un mode de réalisation, le procédé comprend en outre la génération d’un signal d’interruption lorsque l’indicateur de programmation est réglé à la première valeur et l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide. Selon un mode de réalisation, l’ensemble d’éléments mémoires programmables une seule fois est programmable dans une troisième configuration valide et le procédé comprend en outre : régler le niveau de sécurité du système sur puce à un troisième niveau de sécurité, de préférence renforcé, lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration valide. Selon un mode de réalisation, la première configuration valide correspond à une première phase de vie de produit du système sur puce comprenant de préférence une phase de test fabricant, la deuxième configuration valide correspond à une deuxième phase de vie de produit du système sur puce comprenant de préférence une phase d'utilisation, et la troisième configuration valide correspond à une troisième phase de vie de produit du système sur puce comprenant de préférence une phase d'analyse de défaillance. Selon un mode de réalisation, le procédé comprend en outre un décodage de l’ensemble d’éléments mémoires programmables une seule fois et de l’indicateur de programmation. Selon un mode de réalisation, le procédé comprend en outre la programmation de l’ensemble d’éléments mémoires programmables une seule fois à la deuxième configuration valide. Selon un mode de réalisation de la présente invention, un système sur puce comprend un ensemble d’éléments mémoires programmables une seule fois qui comprend : une première configuration valide ; une deuxième configuration valide ; et une pluralité de configurations non valides. Selon un mode de réalisation, le système sur puce comprend en outre un indicateur de programmation ayant initialement une première valeur et agencé pour être réglé de façon permanente à une deuxième valeur. Selon un mode de réalisation, le système sur puce comprend en outre un circuit décodeur en communication avec l’ensemble d’éléments mémoires programmables une seule fois pour déterminer si l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide, la deuxième configuration valide ou l’une quelconque de la pluralité de configurations non valides ; et dans lequel le circuit décodeur génère un signal de détection de menace lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de configurations non valides lorsque l’indicateur de programmation est réglé en permanence à la deuxième valeur. Selon un mode de réalisation, l’indicateur de programmation comprend un élément mémoire programmable une seule fois. Selon un mode de réalisation, le circuit décodeur comprend une machine à états finis, sous forme matérielle. Selon un mode de réalisation, le circuit décodeur génère un signal d’interruption lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide et l’indicateur de programmation est réglé à la première valeur. Selon un mode de réalisation, le système comprend en outre une unité centrale de traitement en communication avec le circuit décodeur et agencée pour recevoir le signal d’interruption. Selon un mode de réalisation, le système comprend en outre un circuit collecteur de défauts agencé pour recevoir le signal d’interruption. Selon un mode de réalisation, le système comprend en outre un circuit de programmation en communication avec l’ensemble d’éléments mémoires programmables une seule fois et agencé pour programmer l’ensemble d’éléments mémoires programmables une seule fois. Selon un mode de réalisation, un premier élément programmable une seule fois des éléments programmables une seule fois comprend : un élément programmable une seule fois à fusible électrique ; ou un élément programmable une seule fois à anti-fusible ; ou un élément programmable une seule fois à fusible par laser. Selon un mode de réalisation, l’indicateur de programmation comprend un bit à triple vote. Selon un mode de réalisation, l’ensemble d’éléments mémoires programmables une seule fois comprend une troisième configuration valide. Selon un mode de réalisation, l’ensemble d’éléments mémoires programmables une seule fois comprend : un premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois qui comprend une première configuration à clé et une pluralité de premières configurations à clé non valide ; un deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois qui comprend une deuxième configuration à clé et une pluralité de deuxièmes configurations à clé non valide ; et un troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois qui comprend une troisième configuration à clé et une pluralité de troisièmes configurations à clé non valide. Selon un mode de réalisation : l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration à clé, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de deuxièmes configurations à clé non valide, et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; et l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration à clé. Selon un mode de réalisation de la présente invention, un système sur puce comprend un ensemble d’éléments mémoires programmables une seule fois qui comprend : une première configuration valide ; une deuxième configuration valide ; une troisième configuration valide et une pluralité de configurations non valides et dans lequel l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide lorsqu’un premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans une première configuration à clé, un deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque d’une pluralité de deuxièmes configurations à clé non valide, et un troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque d’une pluralité de troisièmes configurations à clé non valide. L’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque d’une pluralité de premières configuration à clé non valide, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans une deuxième configuration à clé, et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide. Et, l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans une troisième configuration à clé. Le système sur puce comprend en outre un indicateur de programmation ayant initialement une première valeur et agencé pour être réglé en permanence à une deuxième valeur lorsque l’indicateur de programmation comprend un élément mémoire programmable une seule fois, et le système sur puce comprend en outre un circuit décodeur comprenant une machine à états finis, sous forme matérielle en communication avec l’ensemble d’éléments mémoires programmables une seule fois pour déterminer si l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide, la deuxième configuration valide ou l’une quelconque de la pluralité de configurations non valides, dans lequel le circuit décodeur génère un signal de détection de menace lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de configurations non valides lorsque l’indicateur de programmation est réglé en permanence à la deuxième valeur. Pour une compréhension plus complète de la présente invention et de ses avantages, on va maintenant faire référence aux descriptions suivantes faites en relation avec les dessins joints dans lesquels : la figure 1 représente un mode de réalisation d’un ensemble d’éléments mémoires programmables une seule fois ; la figure 2 représente un mode de réalisation d’un ensemble d’éléments mémoires programmables une seule fois dans une première configuration valide ; la figure 3 représente un mode de réalisation d’un ensemble d’éléments mémoires programmables une seule fois dans une deuxième configuration valide ; la figure 4 représente un mode de réalisation d’un ensemble d’éléments mémoires programmables une seule fois dans une troisième configuration valide ; la figure 5 représente un mode de réalisation d’un système sur puce muni d’un indicateur de programmation OTP ; la figure 6 est un organigramme pour la détection d’une menace sur un système sur puce ; La figure 7 représente un mode de réalisation d’un système sur puce muni d’un indicateur de programmation OTP ; la figure 8 représente un mode de réalisation d’un ensemble d’éléments mémoires OTP ; et la figure 9 représente un procédé pour assurer la sécurité d’un système sur puce. La réalisation et l’utilisation de modes de réalisation de cette description sont décrites en détail ci-après. On notera toutefois que les concepts décrits ici peuvent être mis en œuvre dans une grande diversité de contextes spécifiques, et que les modes de réalisations spécifiques décrits ici ne sont qu’illustratifs et ne servent pas à limiter la portée des revendications. En outre, on comprendra que diverses modifications, substitutions et altérations puissent être faites sans s’écarter de l’esprit et de la portée de cette description comme cela est défini dans les revendications jointes. De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. Les dispositifs utilisant la technologie appelée système sur puce ("SoC" – System on Chip) sont de plus en plus répandus dans toute la société. Leurs applications sont innombrables et ils présentent des opportunités et des défis pour les concepteurs. La sécurité des SoC devient de plus en plus importante puisqu’ils sont utilisés dans des applications de plus en plus sensibles comme le domaine automobile. Par exemple, la sécurité est une exigence essentielle pour la conformité avec diverses normes comme le projet EVITA et la Spécification SHE. Les normes EVITA concernent la sécurité pour des systèmes automobiles embarqués. Et la Spécification SHE concerne des directives pour une zone sécurisée dans une automobile. Les concepteurs ont mis en œuvre diverses mesures pour combattre des menaces de sécurité visant les SoC. Toutefois, comme ces mesures peuvent limiter les tentatives potentielles de piratage, elles peuvent aussi limiter la capacité des concepteurs et des fabricants à tester leurs produits avant qu’ils soient expédiés aux utilisateurs, y compris mais sans être limité à cela, à des fabricants d’équipements d’origine ("OEM"). Certains SoC peuvent comporter plusieurs réglages de sécurité qui correspondent à différentes phases du cycle de vie du dispositif. Au fur et à mesure que le dispositif progresse dans les diverses phases de son cycle de vie, différentes mesures de sécurité peuvent être activées pour permettre à des fabricants et à des concepteurs de tester ou de modifier leurs produits. Par exemple, un réglage de sécurité plus faible peut être souhaitable tant que le produit est encore dans une phase de fabrication de produit dans les locaux du fabricant pour permettre les tests susmentionnés. Une fois que le produit a été livré à un OEM, ou un autre client, le produit peut être considéré comme étant dans une phase d’utilisation de son cycle de vie. Le produit peut ne pas nécessiter le même niveau de test lorsqu’il est dans sa phase d’utilisation et donc un réglage de sécurité renforcé peut être souhaitable. Une phase d’analyse de défaillance dans le cycle de vie peut correspondre à un troisième réglage de sécurité lorsque le produit a été renvoyé au fabricant pour une analyse de défaillance. Des phases et des réglages de sécurité additionnels peuvent être nécessaires pour des produits différents. Les phases de la vie d’un SoC peuvent être identifiées en utilisant des éléments de mémoire programmable une seule fois. Comme le remarquera la personne du métier, un élément mémoire programmable une seule fois ("OTP" – One Time Programmable) peut être programmé de façon permanente et irréversible pour contenir une valeur. Ainsi, un élément mémoire programmable une seule fois ne peut être programmé qu’une seule fois. Il existe divers types d’éléments mémoires OTP comprenant, mais sans être limité à cela, des éléments fusibles par laser, fusibles électriquement et anti-fusibles. La phase de vie d’un SoC peut être décodée en lisant les éléments mémoires programmables une seule fois. Une configuration donnée des éléments OTP peut correspondre à une phase de vie et un niveau de sécurité associé peut être réglé en conséquence. Toutefois, comme expliqué plus en détail ci-après, des problèmes peuvent survenir pour distinguer des configurations non valides d’un ensemble d’éléments mémoires OTP d’un ensemble d’éléments mémoires OTP restant encore à programmer. Il peut être souhaitable que le SoC soit dans un réglage à faible sécurité immédiatement après la fabrication avant que toute programmation des éléments du SoC ait eu lieu. Une première configuration valide correspondant à une phase de fabrication de produit peut être programmée dans un ensemble d’éléments mémoires OTP pendant que les tests sont réalisés et qu’un réglage de niveau de sécurité correspondant peut être maintenu. Une fois que le produit sort de l’étape de fabrication de produit, l’ensemble d’éléments mémoires OTP peut être programmé dans une deuxième configuration valide qui correspond à la phase d’utilisation. Un niveau de sécurité renforcé peut être activé. Si le produit entre dans une phase d’analyse de défaillance, l’ensemble d’éléments mémoires OTP peut être programmé dans une troisième configuration valide qui active un troisième réglage de sécurité. Le troisième réglage de sécurité peut assurer plus ou moins de sécurité en fonction du mode de réalisation. Dans différents modes de réalisation, un SoC peut comprendre plus ou moins de configurations valides et de réglages de sécurité. Une attaque d’un pirate pendant la phase d’utilisation ou la phase d’analyse de défaillance peut changer la configuration de l’ensemble d’éléments OTP en programmant des éléments OTP précédemment non programmés. Cela va faire sortir l’ensemble d’éléments OTP d’une configuration valide et le placer dans une configuration non valide. Cela peut amener le réglage de sécurité à revenir au réglage de sécurité à faible niveau qui correspond à la phase de fabrication de produit s’il n’y a pas de moyens pour que le SoC distingue une configuration programmée non valide d’une configuration non programmée non valide. Cela va être mieux décrit ci-après. La figure 1 illustre un mode de réalisation d’un ensemble d’éléments mémoires OTP 100. Dans certains modes de réalisation, l’ensemble d’éléments mémoires OTP 100 comprend un premier sous-ensemble d’éléments mémoires OTP 102 et un deuxième sous-ensemble d’éléments mémoires OTP 104. Le premier sous-ensemble d’éléments mémoires OTP 102 peut être divisé en emplacements. Les emplacements du premier sous-ensemble d’éléments mémoires OTP 102 peuvent, ou pas, être adjacents dans divers modes de réalisation. Dans des modes de réalisation, le premier sous-ensemble d’éléments mémoires OTP 102 peut être divisé en un premier emplacement 106, un deuxième emplacement 108 et un troisième emplacement 110. L’un quelconque ou la totalité des emplacements du premier emplacement 106, du deuxième emplacement 108 ou du troisième emplacement 110 peuvent comprendre plusieurs éléments mémoires OTP. Dans certains modes de réalisation, chaque élément mémoire OTP peut contenir un bit. Cela peut être vrai pour tout élément mémoire OTP de cette description. Dans divers modes de réalisation, certains ou la totalité du premier emplacement 106, du deuxième emplacement 108 et du troisième emplacement 110 peuvent être physiquement adjacents entre eux. Dans divers modes de réalisation, certains ou la totalité du premier emplacement 106, du deuxième emplacement 108 et du troisième emplacement 110 peuvent ne pas être physiquement adjacents entre eux. Dans divers modes de réalisation, les éléments mémoire OTP de l’un, de tous ou de certains des emplacements peuvent ou non être adjacents entre eux. Dans des modes de réalisation, le deuxième sous-ensemble d’éléments mémoires OTP 104 peut être divisé en un quatrième emplacement 112, un cinquième emplacement 114, un sixième emplacement 116, un septième emplacement 118 et un huitième emplacement 120. L’un quelconque ou la totalité des emplacements du quatrième emplacement 112, du cinquième emplacement 114, du sixième emplacement 116, du septième emplacement 118 ou du huitième emplacement 120 peuvent comprendre une pluralité d’éléments mémoires OTP. Le deuxième sous-ensemble d’éléments mémoires OTP 104 peut être associé à des phases de vie OEM. Dans divers modes de réalisation, certains ou la totalité du quatrième emplacement 112, du cinquième emplacement 114, du sixième emplacement 116, du septième emplacement 118 et du huitième emplacement 120 peuvent être physiquement adjacents entre eux. Dans divers modes de réalisation, certains ou la totalité du quatrième emplacement 112, du cinquième emplacement 114, du sixième emplacement 116, du septième emplacement 118 et du huitième emplacement 120 peuvent ne pas être physiquement adjacents entre eux. Dans divers modes de réalisation, les éléments mémoire OTP de l’un, de tous ou de certains des emplacements peuvent ou non être adjacents entre eux. Dans certains modes de réalisation, le premier sous-ensemble d’éléments mémoires OTP 102 peut être associé à des emplacements qui correspondent à des phases de test d’un système sur puce. Des clés pour la phase de vie correspondante peuvent être mémorisées dans les éléments mémoires OTP d’un emplacement. Le premier emplacement 106 peut correspondre à une phase de fabrication de produit. Le deuxième emplacement 108 peut correspondre à une phase d’utilisation. Le troisième emplacement 110 peut correspondre à une phase d’analyse de défaillance. Dans des modes de réalisation, le premier emplacement 106 peut comprendre une première configuration à clé d’éléments mémoire OTP et une pluralité de configurations à clé non valide. Le deuxième emplacement 108 peut comprendre une configuration à clé d’éléments mémoires OTP, et une pluralité de configurations à clé non valide. Dans des modes de réalisation, le troisième emplacement 110 peut comprendre une première configuration à clé d’éléments mémoires OTP et une pluralité de configurations à clé non valide. Différents motifs de la configuration du premier emplacement 106, du deuxième emplacement 108 et du troisième emplacement 110 peuvent correspondre à la phase de fabrication du produit, à la phase d’utilisation ou à la phase d’analyse de défaillance. Le tableau 1 ci-après représente une façon avec laquelle les motifs de la configuration du premier emplacement 106, du deuxième emplacement 108 et du troisième emplacement 110 peuvent correspondre à la phase de fabrication de produit, à la phase d’utilisation ou à la phase d’analyse de défaillance. Premier emplacement Deuxième emplacement Troisième emplacement Phase de test (Résultat du décodage) clé valide tout sauf clé valide tout sauf clé valide Fabrication de Produit tout sauf clé valide clé valide tout sauf clé valide Utilisation tout sauf clé valide clé valide clé valide Analyse de défaillance autre chose Fabrication de Produit La première rangée du tableau 1 représente un motif du premier emplacement 106, du deuxième emplacement 108 et du troisième emplacement 110 qui peut refléter une première configuration valide de l’ensemble d’éléments mémoires OTP 100. Cela peut être décodé comme étant une phase de fabrication de produit. Dans cette configuration, le premier emplacement 106 est une configuration à clé valide, le deuxième emplacement 108 est une configuration à clé non valide et le troisième emplacement 110 est une configuration à clé non valide. La deuxième rangée du tableau 1 représente un motif du premier emplacement 106, du deuxième emplacement 108 et du troisième emplacement 110 qui peut refléter une deuxième configuration valide de l’ensemble d’éléments mémoires OTP 100. Cela peut être décodé comme étant une phase d’utilisation. Dans cette configuration, le premier emplacement 106 est une configuration à clé à non valide, le deuxième emplacement 108 est une configuration à clé valide et le troisième emplacement 110 est une configuration à clé non valide. La troisième rangée du tableau 1 représente un motif du premier emplacement 106, du deuxième emplacement 108 et du troisième emplacement 110 qui peut refléter une troisième configuration valide de l’ensemble d’éléments mémoires OTP 100. Cela peut être décodé comme étant une phase d’analyse de défaillance. Dans cette configuration, le premier emplacement 106 est une configuration à clé non valide, le deuxième emplacement 108 est une configuration à clé valide et le troisième emplacement 110 est une configuration à clé valide. Comme on peut le voir dans le tableau 1, toute autre combinaison de configurations du premier emplacement 106, du deuxième emplacement 108 et du troisième emplacement 110 peut aussi être mise en correspondance avec la phase de fabrication de produit. Cela permet au Soc d’être mis dans un réglage à faible sécurité avant que l’ensemble d’éléments mémoires OTP ait été programmé quelle que soit la configuration de l’ensemble non programmé d’éléments mémoires OTP. Toutefois, une attaque d’un pirate peut aussi changer le niveau de sécurité pour le mettre au faible niveau destiné à la phase de fabrication de produit en programmant l’ensemble d’éléments mémoires OTP 100 d’une configuration valide vers une configuration non valide. La figure 2 illustre un mode de réalisation du premier sous-ensemble d’éléments mémoires OTP 102 dans un ensemble d’éléments mémoires programmables une seule fois dans une première configuration valide. Le premier emplacement 106 peut comprendre un premier bit 106A du premier emplacement, un deuxième bit 106B du premier emplacement et un troisième bit 106C du premier emplacement. De façon similaire, le deuxième emplacement 108 peut comprendre un premier bit 108A du deuxième emplacement, un deuxième bit 108B du deuxième emplacement et un troisième bit 108C du deuxième emplacement. Le troisième emplacement 110 peut comprendre un premier bit 110A du troisième emplacement, un deuxième bit 110B du troisième emplacement et un troisième bit 110C du troisième emplacement. Dans des modes de réalisation différents, le premier emplacement 106, le deuxième emplacement 108 et le troisième emplacement 110 peuvent chacun comprendre un nombre quelconque d’éléments mémoires OTP. Dans un mode de réalisation dans lequel le premier emplacement 106 comprend trois bits, la première configuration à clé peut comprendre toute séquence de trois bits souhaitée. Cela est aussi vrai pour le deuxième emplacement 108 et le troisième emplacement 110. Évidemment, dans des modes de réalisation où le premier emplacement 106, le deuxième emplacement 108 ou le troisième emplacement 110 comprennent plus de bits, le nombre de configurations potentielles augmente. Dans un exemple, la première configuration à clé peut comporter la séquence de bits "001", la deuxième configuration à clé peut être la séquence de bits "110", et la troisième configuration à clé peut aussi être la séquence de bits "110". Comme on peut le voir en figure 2, le premier emplacement 106 est programmé avec la séquence de bits "001", la première configuration à clé. Le deuxième emplacement 108 est programmé avec la séquence "100", qui ne correspond pas à la deuxième configuration à clé, et donc est dans l’une des deuxièmes configurations à clé non valide. De même, le troisième emplacement 110 est programmé avec la séquence de bits "100", qui ne correspond pas à la troisième configuration à clé, et donc est dans l’une des troisièmes configurations à clé non valide. Ce motif correspond à une première configuration valide de l’ensemble d’éléments mémoires OTP 100. Dans des modes de réalisation, la première configuration à clé peut avoir été programmée dans l’ensemble d’éléments mémoires OTP 100 et maintenue pendant la phase de fabrication de produit. Dans certains modes de réalisation, lors de la progression vers la phase d’utilisation, le premier emplacement 106 peut être sorti de la première configuration à clé, ou invalidé, en programmant un élément OTP précédemment non programmé du premier emplacement 106. Comme on peut le voir en figure 3, le premier bit du premier emplacement a été programmé d’un "0" vers un "1" faisant passer ainsi le premier emplacement 106 dans l’une de la pluralité de premières configurations à clé non valide. On notera que cela peut ne pas être nécessaire dans tous les modes de réalisation. La figure 3 illustre un mode de réalisation d’un ensemble d’éléments mémoires OTP 100 dans une deuxième configuration valide. Le premier emplacement 106 est maintenant programmé avec la séquence de bits "101", une première configuration sans clé. Le deuxième emplacement 108 est programmé avec la séquence de bits "110", la deuxième configuration à clé. Le troisième emplacement 110 est programmé avec la séquence de bits "100", qui ne correspond pas à la troisième configuration à clé et donc est dans l’une des troisièmes configurations à clé non valide. Ce motif correspond à une deuxième configuration valide de l’ensemble d’éléments mémoires OTP 100. Dans certains modes de réalisation, cela peut être décodé comme étant la phase de test en utilisation et activer un réglage à haute sécurité. La figure 4 illustre un mode de réalisation d’un ensemble d’éléments mémoires OTP 100 dans une troisième configuration valide. Le premier emplacement 106 reste programmé avec la séquence de bits "101", une première configuration sans clé. Le deuxième emplacement 108 est encore programmé avec la séquence de bits "110", la deuxième configuration à clé. Et, le troisième emplacement 110 est programmé avec la séquence de bits "110", la troisième configuration à clé. Dans cet exemple, comme cela est représenté dans le tableau 1, ce motif correspond à une troisième configuration valide de l’ensemble d’éléments mémoires OTP 100. Dans certains modes de réalisation, cela peut être décodé comme étant la phase d’analyse de défaillance et activer une phase de vie correspondante. Si une attaque de pirate devait changer l’un quelconque des bits non programmés, cela mettrait l’ensemble d’éléments mémoires OTP dans une configuration non valide et pourrait activer le réglage à faible sécurité donnant un accès non souhaitable au SoC. Comme cela a été mentionné précédemment, le deuxième sous-ensemble d’éléments mémoires OTP 104 peut être associé à des phases de vie OEM. Dans certains modes de réalisation, le deuxième sous-ensemble d’éléments mémoires OTP 104 peut être associé à des emplacements qui correspondent à des phases de vie OEM d’un système sur puce. Des clés pour la phase de vie correspondante peuvent être mémorisées sur les éléments mémoires OTP d’un emplacement. Des motifs de configurations de ces éléments peuvent être décodés pour déterminer une phase OEM du produit. Dans certains modes de réalisation, les résultats décodés à partir de ces emplacements peuvent être reliés à des résultats décodés à partir des phases de test associées au premier sous-ensemble d’éléments mémoires OTP 102, comme on va le décrire. Dans différents modes de réalisation, les différents emplacements peuvent être mis en correspondance avec différentes catégories. Dans certains modes de réalisation le deuxième sous-ensemble d’éléments mémoires OTP 104 peut comprendre plus ou moins d’emplacements. À titre d’exemple, dans certains modes de réalisation, le quatrième emplacement 112 peut être mis en correspondance avec la phase de fabrication de produit. Dans des modes de réalisation, cela peut être programmé séparément de tout autre emplacement associé à une phase de fabrication de produit, par exemple la phase de fabrication de produit décrite en référence au premier sous-ensemble d’éléments mémoires OTP 102. Dans certains modes de réalisation, un cinquième emplacement 114 peut correspondre à une phase de livraison à un client. Dans certains modes de réalisation, un sixième emplacement 116 peut correspondre à une phase de production OEM. Dans certains modes de réalisation, un septième emplacement 118 peut correspondre à une phase d’utilisation. Dans des modes de relation, cela peut être programmé séparément de tout autre emplacement associé à une phase d’utilisation, par exemple la phase d’utilisation décrite en référence au premier sous-ensemble d’éléments mémoires OTP 102. Dans certains modes de réalisation, le huitième emplacement 120 peut correspondre à une phase d’analyse de défaillance. Dans des modes de réalisation, cela peut être programmé séparément de tout autre emplacement associé à une phase d’analyse de défaillance, par exemple la phase d’analyse de défaillance décrite en référence au premier sous-ensemble d’éléments mémoires OTP 102. Dans divers modes de réalisation, le quatrième emplacement 112, le cinquième emplacement 114, le sixième emplacement 116, le septième emplacement 118 et le huitième emplacement 120 peuvent être programmés de toute manière décrite en relation avec le premier emplacement 106, le deuxième emplacement 108 ou le troisième emplacement 110. Pour continuer l’exemple susmentionné, le tableau 2 représente une manière avec laquelle les motifs des configurations du quatrième emplacement 112, du cinquième emplacement 114, du sixième emplacement 116, du septième emplacement 118 et du huitième emplacement 120 peuvent être décodés. Phases temporelles OEM Phase OEM (Résultat de décodage) Fabrication de Produit Livraison au Client Production OEM Utilisation Analyse de Défaillance clé valide non programmé non programmé non programmé non programmé Fabrication de Produit clé non valide clé valide non programmé non programmé non programmé Livraison au Client clé non valide clé non valide clé valide non programmé non programmé Production OEM clé non valide clé non valide clé non valide clé valide non programmé Utilisation clé non valide clé non valide clé non valide clé non valide clé valide Analyse de Défaillance Dans divers modes de réalisation, les résultats décodés du quatrième emplacement 112, du cinquième emplacement 114, du sixième emplacement 116, du septième emplacement 118 et du huitième emplacement 120 peuvent aussi être déterminés par la phase de test du produit, par exemple, comme cela est montré par le tableau 3 dans la suite de l’exemple. Phases temporelles OEM Phase de Test Phase OEM Fabrication de Produit Livraison au Client Production OEM Utilisation Analyse de Défaillance toute combinaison de valeurs sauf celles représentées Fabrication de Produit Fabrication de Produit toute combinaison de valeurs sauf celles représentées non programmé Utilisation ou Analyse de Défaillance Utilisation toute combinaison de valeurs sauf celles représentées non programmé Utilisation ou Analyse de Défaillance Réinitialisation Système non programmé Utilisation Ré-initialisation Système Comme cela est représenté dans la quatrième rangée, si les emplacements correspondant aux phases Fabrication de Produit, Livraison au Client, Production OEM, Utilisation et Analyse de Défaillance OEM sont tous non programmées et la phase de test est décodée comme étant Utilisation, le SoC peut activer une Réinitialisation Système. Comme cela est représenté dans la troisième rangée, si les emplacements correspondant aux phases Fabrication de Produit, Livraison au Client, Production OEM, Utilisation et Analyse de défaillance sont dans tout motif de configurations non représenté dans le tableau 2 et la phase de test est décodée comme étant Analyse de Défaillance ou Utilisation, le SoC peut activer une Réinitialisation Système. Comme cela est représenté dans la deuxième rangée, si les emplacements correspondant à Fabrication de Produit, Livraison au Client, Production OEM et Utilisation sont dans tout motif de configurations non représenté, et l’emplacement correspondant à Analyse de Défaillance est non programmé, et la phase de test est décodée comme étant Analyse de Défaillance ou Utilisation, la phase OEM va être décodée comme étant Utilisation. Comme cela est représenté dans la première rangée, si les emplacements correspondant à Fabrication de produit, Livraison au Client, Production OEM, Utilisation et Analyse de défaillance sont dans tout motif de configurations non représenté, et la phase de test est décodée comme Fabrication de Produit, la phase OEM va être décodée comme étant Fabrication de Produit. La figure 5 illustre un mode de réalisation d’un système sur puce ("SoC") 500 muni d’un indicateur de programmation 512. Dans divers modes de réalisation, l’indicateur de programmation 512 peut permettre de détecter des menaces de sécurité et de bloquer des failles. Dans certains modes de réalisation, le SoC 500 peut comprendre un ensemble d’éléments mémoires OTP 100. Dans certains modes de réalisation, le SoC 500 peut aussi comprendre un circuit décodeur 502. Le circuit décodeur 502 peut comprendre une machine à états finis, sous forme matérielle. Dans certains modes de réalisation, le SoC 500 peut aussi comprendre une unité centrale de traitement ("CPU" – Central Processing Unit) 504. Dans certains modes de réalisation, le SoC 500 peut aussi comprendre un circuit collecteur de défauts 506. Et, dans certains modes de réalisation, le SoC 500 peut aussi comprendre une interface d’entrée/sortie (I/O – Input/Output) 508 pour le SoC 500. Le SoC 500 peut aussi comprendre un réseau à bus 510 qui est en communication avec d’autres composants du SoC 500, comprenant potentiellement, mais sans être limité à cela, l’ensemble d’éléments mémoires OTP 100, le circuit décodeur 502, le CPU 504, le circuit collecteur de défauts, et l’interface d’entrée/sortie 508. Le réseau à bus peut comprendre toute la logique et tous les circuits nécessaires pour permettre une communication entre les composants du SoC 500. Comme cela a été décrit précédemment, le SoC 500 peut aussi comprendre un indicateur de programmation 512. L’indicateur de programmation peut permettre au SoC de détecter si l’ensemble d’éléments mémoires OTP 100 a été programmé. Dans divers modes de réalisation, l’indicateur de programmation 512 peut prendre une première valeur lorsque l’ensemble d’éléments mémoires OTP 100 est dans un état initial non programmé. Lorsque l’ensemble d’éléments mémoires OTP 100 a été programmé, l’indicateur de programmation 512 peut être réglé à une deuxième valeur. Dans divers modes de réalisation, l’indicateur de programmation 512 peut être réglé à la deuxième valeur dès que l’ensemble d’éléments mémoires OTP 100 est programmé d’une manière ou d’une autre. Dans divers modes de réalisation, l’indicateur de programmation 512 peut être réglé à la deuxième valeur dès que le SoC quitte la phase de test de Fabrication de Produit ou dès qu’il rentre dans une phase de test en utilisation. Dans divers modes de réalisation, l’indicateur de programmation 512 peut être réglé manuellement. Dans divers modes de réalisation, l’indicateur de programmation peut être déclenché à la deuxième valeur lorsque l’ensemble d’éléments mémoires OTP 100 est programmé. Dans divers modes de réalisation, l’indicateur de programmation 512 peut être réglé de façon permanente à la deuxième valeur. Une fois que l’indicateur de programmation 512 a été réglé à la deuxième valeur, le SoC peut distinguer une valeur non programmée non valide – lorsqu’il peut être souhaitable d’avoir un réglage de sécurité à faible niveau immédiatement après la fabrication - d’une valeur non valide après la programmation. Le tableau 4 ci-après représente un exemple de la manière dont cela peut être réalisé dans divers modes de réalisation. Phase de test Phase OEM Indicateur de programmation Résultat Fabrication de produit Fabrication de produit 0 OK Fabrication de produit quelconque 1 NOK Utilisation quelconque 0 NOK Utilisation quelconque 1 OK Analyse de défaillance quelconque 0 NOK Analyse de défaillance quelconque 1 OK Dans l’exemple représenté dans le tableau 4, "0" correspond à la première valeur et "1" correspond à la deuxième valeur. Toutefois, divers modes de réalisation peuvent comporter d’autres valeurs pour la première valeur et la deuxième valeur. Dans la première rangée du tableau 4, la phase de test et la phase OEM sont toutes les deux dans des phases Fabrication de Produit. Cela couvre le réglage initial de l’ensemble d’éléments mémoires OTP 100 et la première configuration valide. Dans cet exemple, si l’indicateur de programmation 512 est réglé à 1 et la phase de test est décodée comme étant fabrication de produit, alors il est possible qu’une attaque de pirate soit survenue. Ce cas correspond à un scénario où une attaque de pirate a fait sortir l’ensemble d’éléments mémoires OTP 100 d’une configuration valide pour le mettre dans d’une configuration non valide. Mais, puisque l’indicateur de programmation est réglé à 1, le SoC peut distinguer la configuration non valide non programmée de l’attaque de pirate qui met l’ensemble d’éléments mémoires OTP 100 dans une configuration non valide après qu’il a été programmé. Dans divers modes de réalisation, lorsque le circuit décodeur 502 détecte le moment où cela survient, il peut générer un signal de détection de menace. Dans divers modes de réalisation, le circuit décodeur 502 peut générer des signaux qui activent différents niveaux de sécurité en fonction de la phase de test. Dans divers modes de réalisation, lorsque le circuit décodeur 502 génère un signal de détection de menace, il peut déclencher une Réinitialisation Système. De cette manière, la menace de sécurité peut être détectée et on peut empêcher le réglage de sécurité de revenir à un niveau bas. Dans la troisième rangée, l’indicateur de programmation 512 peut être réglé de manière incorrecte à 0 puisque l’indicateur de programmation 512 peut avoir besoin d’être réglé à 1 avant d’entrer, ou au moment d’entrer, dans la phase de test en Utilisation. Dans de tels cas, le circuit décodeur 502 peut générer un signal d’interruption qui est fourni au CPU 504. Dans certains modes de réalisation, l’information peut aussi être envoyée à un Collecteur de Défauts pour analyse ultérieure. Dans divers modes de réalisation, l’indicateur de programmation 512 pourrait avoir besoin d’être réglé correctement avant que les opérations du SoC reprennent. La cinquième rangée illustre aussi un autre exemple dans lequel l’indicateur de programmation 512 peut être réglé de manière incorrecte. Dans ce cas, il se peut que l’indicateur de programmation 512 ait besoin d’avoir été réglé précédemment. Dans de tels cas, le circuit décodeur 502 peut générer un signal d’interruption qui est fourni au CPU 504. Dans certains modes de réalisation, l’information peut aussi être envoyée à un circuit collecteur de défauts 506 pour analyse ultérieure. L’utilisation d’un indicateur de programmation 512 pour la détection de menaces est aussi avantageuse puisque, dans divers modes de réalisation, cela peut être flexible sans dépendre de la technologie. Dans divers modes de réalisation, on peut ne pas avoir besoin de circuits spécifiques à l’application. Dans divers modes de réalisation, cela peut être appliqué à toutes sortes de mémoires y compris, mais sans être limité à cela, à de la mémoire flash incorporée, de la mémoire OTP, de la mémoire programmable plusieurs fois et de la mémoire flash non volatile. Par exemple, l’indicateur de programmation 512 pourrait être utilisé dans un SoC dans lequel l’ensemble d’éléments mémoires OTP 100 est remplacé entièrement ou partiellement par de la mémoire flash, de la mémoire programmable plusieurs fois, de la mémoire flash non volatile ou un autre type de mémoire. En outre, l’état non programmé de l’ensemble d’éléments mémoires OTP 100 peut être une valeur quelconque puisque le réglage de l’indicateur de programmation 512 est indépendant de la configuration initiale de l’ensemble de la mémoire. Dans divers modes de réalisation, l’indicateur de programmation 512 peut comprendre un bit de mémoire programmable une seule fois. Dans divers modes de réalisation le bit peut être à triple vote. Dans divers modes de réalisation, l’indicateur de programmation 512 peut être un motif de 32 bits. Comme on peut le remarquer, l’indicateur de programmation 512 peut comprendre différentes formes de mémoire ou un nombre de bits différents. Dans certains modes de réalisation, l’indicateur de programmation 512 peut être disposé avec ou dans l’ensemble d’éléments mémoires OTP 100. La figure 6 est un organigramme pour la détection d’une menace contre un SoC. L’ensemble d’éléments mémoires OTP 100 et l’indicateur de programmation sont lus par le circuit décodeur 502. En fonction du résultat le circuit décodeur 502 peut générer un signal d’interruption, comme décrit précédemment, qui est fourni au CPU 504, au circuit collecteur de défauts 506, ou aux deux. Dans divers modes de réalisation, en fonction des résultats, le circuit décodeur 502 peut générer un signal de détection de menace. Dans divers modes de réalisation, cela peut déclencher une réinitialisation du SoC. La figure 7 illustre un mode de réalisation d’un SoC 500 muni d’un indicateur de programmation OTP. Dans divers modes de réalisation, le SoC 500 peut aussi comprendre un circuit de programmation 514. Le circuit de programmation 514 peut être en communication avec le réseau à bus 510. Le circuit de programmation 514 peut être en communication directe ou indirecte avec l’ensemble d’éléments mémoires OTP 100 et programmer l’ensemble d’éléments mémoires OTP 100. Dans divers modes de réalisation, l’ensemble d’éléments mémoires OTP 100 peut être programmé au niveau de la conception. Dans divers modes de réalisation, l’ensemble d’éléments mémoires OTP 100 peut être programmé au niveau de l’application logicielle. La figure 8 illustre un mode de réalisation de l’ensemble d’éléments mémoires OTP 100 dans lequel l’indicateur de programmation 512 est disposé dans l’ensemble d’éléments mémoires OTP 100. La figure 9 illustre un schéma blocs d’un procédé 900 destiné à assurer la sécurité d’un système sur puce comprenant, dans divers modes de réalisation, une première étape 902 consistant à prévoir un ensemble d’éléments mémoires programmables une seule fois comprenant une première configuration valide, une deuxième configuration valide et une pluralité de configurations non valides. Dans certains modes de réalisation, dans une deuxième étape 904, le procédé 900 comprend la prévision un indicateur de programmation qui est réglé à une première valeur avant que l’ensemble d’éléments mémoires programmables une seule fois soit programmé. Dans certains modes de réalisation, dans une troisième étape 906, le procédé 900 peut comprendre la programmation de l’ensemble d’éléments mémoires programmables une seule fois à la première configuration valide. Dans certains modes de réalisation, une quatrième étape 908 peut comprendre le réglage de manière permanente de l’indicateur de programmation à une deuxième valeur lorsque l’ensemble d’éléments mémoires programmables une seule fois est programmé pour quitter la première configuration valide. Dans certains modes de réalisation, dans une cinquième étape 910, le procédé 900 peut comprendre la détection d’une menace de sécurité pour le système sur puce lorsque l’indicateur de programmation est réglé à la deuxième valeur et l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque des configurations non valides de la pluralité de configurations non valides. Dans certains modes de réalisation, le procédé 900 comprend en outre une réinitialisation du système sur puce lorsque l’indicateur de programmation est réglé à la deuxième valeur et l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque des configurations non valides de la pluralité de configurations non valides. Dans certains modes de réalisation, le procédé 900 comprend en outre de prévoir l’indicateur de programmation muni d’un bit de mémoire programmable une seule fois. Dans certains modes de réalisation, le procédé 900 comprend en outre le réglage permanent de l’indicateur de programmation à une deuxième valeur comprenant la programmation du bit de mémoire programmable une seule fois. Dans certains modes de réalisation, le procédé 900 comprend en outre : régler un niveau de sécurité du système sur puce à un premier niveau de sécurité lorsque l’indicateur de programmation est à la première valeur ; et régler le niveau de sécurité du système sur puce à un deuxième niveau de sécurité lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide. Dans certains modes de réalisation du procédé 900, le deuxième niveau de sécurité comprend un niveau de sécurité renforcé. Dans certains modes de réalisation, le procédé 900 comprend en outre la génération d’un signal d’interruption lorsque l’indicateur de programmation est réglé à la première valeur et l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide. Dans certains modes de réalisation du procédé 900, l’ensemble d’éléments mémoires programmables une seule fois est programmable dans une troisième configuration valide et le procédé 900 comprend en outre le réglage du niveau de sécurité du système sur puce à un troisième niveau de sécurité lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration valide. Dans certains modes de réalisation du procédé 900, le troisième niveau de sécurité comprend un niveau de sécurité renforcé. Dans certains modes de réalisation du procédé 900, l’ensemble d’éléments mémoires programmables une seule fois comprend : un premier emplacement d’éléments mémoires programmables une seule fois qui comprend une première configuration à clé et une pluralité de premières configurations à clé non valide ; un deuxième emplacement d’éléments mémoires programmables une seule fois qui comprend une deuxième configuration à clé et une pluralité de deuxièmes configurations à clé non valide ; et un troisième emplacement d’éléments mémoires programmables une seule fois qui comprend une troisième configuration à clé et une pluralité de troisièmes configurations à clé non valide. Dans certains modes de réalisation du procédé 900, l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide lorsque le premier emplacement d’éléments mémoires programmables une seule fois est dans la première configuration à clé, le deuxième emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de deuxièmes configurations à clé non valide, et le troisième emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide. Dans certains modes de réalisation du procédé 900, l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide lorsque le premier emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide. Dans certains modes de réalisation du procédé 900, l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration valide lorsque le premier emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement d’éléments mémoires programmables une seule fois est dans la troisième configuration à clé. Dans certains modes de réalisation du procédé 900, la première configuration valide correspond à une première phase de vie de produit du système sur puce, la deuxième configuration valide correspond à une deuxième phase de vie de produit du système sur puce, et la troisième configuration valide correspond à une troisième phase de vie de produit du système sur puce. Des exemples de modes de réalisation de l’invention sont résumés ici. D’autres modes de réalisation peuvent aussi être compris à partir de l’entièreté de la description et des revendications. Exemple 1. Un procédé d’actionnement d’un système sur puce peut comprendre : prévoir un ensemble d’éléments mémoires programmables une seule fois, l’ensemble comprenant une première configuration valide, une deuxième configuration valide et une pluralité de configurations non valides ; prévoir un indicateur de programmation qui est réglé à une première valeur avant que l’ensemble d’éléments mémoires programmables une seule fois soit programmé ; programmer l’ensemble d’éléments mémoires programmables une seule fois à la première configuration valide ; régler de manière permanente l’indicateur de programmation à une deuxième valeur lorsque l’ensemble d’éléments mémoires programmables une seule fois quitte la première configuration valide ; et détecter une menace de sécurité pour le système sur puce lorsque l’indicateur de programmation est réglé à la deuxième valeur et l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque des configurations non valides de la pluralité de configurations non valides. Exemple 2. Procédé selon l’exemple 1, comprenant en outre une réinitialisation du système sur puce lorsque l’indicateur de programmation est réglé à la deuxième valeur et l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque des configurations non valides de la pluralité de configurations non valides. Exemple 3. Procédé selon l’exemple 1 ou 2, comprenant en outre de faire en sorte que l’indicateur de programmation comprenne un bit de mémoire programmable une seule fois ; et dans lequel le réglage permanent de l’indicateur de programmation à une deuxième valeur comprend la programmation du bit de mémoire programmable une seule fois. Exemple 4. Procédé selon les exemples 1 à 3, comprenant en outre : régler un niveau de sécurité du système sur puce à un premier niveau de sécurité lorsque l’indicateur de programmation est à la première valeur ; et régler le niveau de sécurité du système sur puce à un deuxième niveau de sécurité lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide. Exemple 5. Procédé selon les exemples 1 à 4, dans lequel le deuxième niveau de sécurité est un niveau de sécurité renforcé. Exemple 6. Procédé selon les exemples 1 à 5, comprenant en outre la génération d’un signal d’interruption lorsque l’indicateur de programmation est réglé à la première valeur et l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide. Exemple 7. Procédé selon les exemples 1 à 6, dans lequel l’ensemble d’éléments mémoires programmables une seule fois est programmable dans une troisième configuration valide et comprenant en outre : régler le niveau de sécurité du système sur puce à un troisième niveau de sécurité lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration valide. Exemple 8. Procédé selon les exemples 1 à 7, dans lequel le troisième niveau de sécurité est un niveau de sécurité renforcé. Exemple 9. Procédé selon les exemples 1 à 8, dans lequel l’ensemble d’éléments mémoires programmables une seule fois comprend : un premier emplacement d’éléments mémoires programmables une seule fois qui comprend une première configuration à clé et une pluralité de premières configurations à clé non valide ; un deuxième emplacement d’éléments mémoires programmables une seule fois qui comprend une deuxième configuration à clé et une pluralité de deuxièmes configurations à clé non valide ; et un troisième emplacement d’éléments mémoires programmables une seule fois qui comprend une troisième configuration à clé et une pluralité de troisièmes configurations à clé non valide. Exemple 10. Procédé selon les exemples 1 à 9, dans lequel l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide lorsque le premier emplacement d’éléments mémoires programmables une seule fois est dans la première configuration à clé, le deuxième emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de deuxièmes configurations à clé non valide, et le troisième emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide lorsque le premier emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; et l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration valide lorsque le premier emplacement d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement d’éléments mémoires programmables une seule fois est dans la troisième configuration à clé. Exemple 11. Procédé selon les exemples 1 à 10, dans lequel la première configuration valide correspond à une première phase de vie de produit du système sur puce, la deuxième configuration valide correspond à une deuxième phase de vie de produit du système sur puce, et la troisième configuration valide correspond à une troisième phase de vie de produit du système sur puce. Exemple 12. Procédé selon les exemples 1 à 11, comprenant en outre un décodage de l’ensemble d’éléments mémoires programmables une seule fois et de l’indicateur de programmation. Exemple 13. Procédé selon les exemples 1 à 12, dans lequel la première phase de vie de produit du système sur puce comprend une phase de test de fabricant, la deuxième phase de vie de produit du système sur puce comprend une phase d’utilisation, et la troisième phase de vie de produit comprend une phase d’analyse de défaillance. Exemple 14. Procédé selon les exemples 1 à 13, comprenant en outre la programmation de l’ensemble d’éléments mémoires programmables une seule fois à la deuxième configuration valide. Exemple 15. Système sur puce comprenant un ensemble d’éléments mémoires programmables une seule fois qui comprend : une première configuration valide ; une deuxième configuration valide ; et une pluralité de configurations non valides. Le système sur puce comprend en outre : un indicateur de programmation ayant initialement une première valeur et agencé pour être réglé de manière permanente à une deuxième valeur ; un circuit décodeur en communication avec l’ensemble d’éléments mémoires programmables une seule fois pour déterminer si l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide, la deuxième configuration valide ou l’une quelconque de la pluralité de configurations non valides ; et dans lequel le circuit décodeur génère un signal de détection de menace lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de configurations non valides lorsque l’indicateur de programmation est en permanence réglé à la deuxième valeur. Exemple 16. Système sur puce selon l’exemple 15, dans lequel l’indicateur de programmation comprend un élément mémoire programmable une seule fois. Exemple 17. Système sur puce selon les exemples 15 ou 16, dans lequel le décodeur comprend une machine à états finis, sous forme matérielle. Exemple 18. Système sur puce selon les exemples 15 à 17, dans lequel le circuit décodeur génère un signal d’interruption lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide et l’indicateur de programmation est réglé à la première valeur. Exemple 19. Système sur puce selon les exemples 15 à 18, comprenant en outre une unité centrale de traitement en communication avec le circuit décodeur et agencée pour recevoir le signal d’interruption. Exemple 20. Système sur puce selon les exemples 15 à 19, comprenant en outre un circuit collecteur de défauts agencé pour recevoir le signal d’interruption. Exemple 21. Système sur puce selon les exemples 15 à 20, comprenant en outre un circuit de programmation en communication avec l’ensemble d’éléments mémoires programmables une seule fois et agencé pour programmer l’ensemble d’éléments mémoires programmables une seule fois. Exemple 22. Système sur puce selon les exemples 15 à 21, dans lequel un premier élément programmable une seule fois des éléments programmables une seule fois comprend un élément programmable une seule fois à fusible électrique. Exemple 23. Système sur puce selon les exemples 15 à 22, dans lequel un premier élément programmable une seule fois des éléments programmables une seule fois comprend un élément programmable une seule fois à anti-fusible. Exemple 24. Système sur puce selon les exemples 15 à 23, dans lequel un premier élément programmable une seule fois des éléments programmables une seule fois comprend un élément programmable une seule fois à fusible par laser. Exemple 25. Système sur puce selon les exemples 15 à 24, dans lequel l’indicateur de programmation comprend un bit à triple vote. Exemple 26. Système sur puce selon les exemples 15 à 25, dans lequel l’ensemble d’éléments mémoires programmables une seule fois comprend une troisième configuration valide. Exemple 27. Système sur puce selon les exemples 15 à 26, dans lequel l’ensemble d’éléments mémoires programmables une seule fois comprend : un premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois qui comprend une première configuration à clé et une pluralité de premières configurations à clé non valide ; un deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois qui comprend une deuxième configuration à clé et une pluralité de deuxièmes configurations à clé non valide ; et un troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois qui comprend une troisième configuration à clé et une pluralité de troisièmes configurations à clé non valide. Exemple 28. Système sur puce selon les exemples 15 à 27, dans lequel l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration à clé, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de deuxièmes configurations à clé non valide, et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; et l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration à clé. Exemple 29. Système sur puce comprenant : un ensemble d’éléments mémoires programmables une seule fois qui comprend : une première configuration valide ; une deuxième configuration valide ; une troisième configuration valide et une pluralité de configurations non valides, dans lequel l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide lorsqu’un premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans une première configuration à clé, un deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque d’une pluralité de deuxièmes configurations à clé non valide, et un troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque d’une pluralité de troisièmes configurations à clé non valide. L’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque d’une pluralité de premières configurations à clé non valide, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans une deuxième configuration à clé, et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide. L’ensemble d’éléments mémoires programmables une seule fois est dans la troisième configuration valide lorsque le premier emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement de l’ensemble d’éléments mémoires programmables une seule fois est dans une troisième configuration à clé. Le système sur puce comprend en outre un indicateur de programmation ayant initialement une première valeur et agencé pour être de manière permanente réglé à une deuxième valeur, dans lequel l’indicateur de programmation est un élément mémoire programmable une seule fois ; un circuit décodeur comprenant une machine à états finis, sous forme matérielle, en communication avec l’ensemble d’éléments mémoires programmables une seule fois pour déterminer si l’ensemble d’éléments mémoires programmables une seule fois est dans la première configuration valide, la deuxième configuration valide ou l’une quelconque de la pluralité de configurations non valides ; et dans lequel le circuit décodeur génère un signal de détection de menace lorsque l’ensemble d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de configurations non valides lorsque l’indicateur de programmation est en permanence réglé à la deuxième valeur. Bien que l’invention ait été décrite en faisant référence à des modes de réalisation illustratifs, cette description n’est pas destinée à être considérée dans un sens limitatif. Diverses modifications et combinaisons des modes de réalisation illustratifs, ainsi que d’autres modes de réalisation de l’invention, apparaîtront à la personne du métier en faisant référence à la description. Il est par conséquent considéré que les revendications jointes englobent toutes ces modifications et améliorations. Procédé (900) d’actionnement d’un système sur puce (500) comprenant : prévoir (902) un ensemble d’éléments mémoires programmables une seule fois (100), l’ensemble comprenant une première configuration valide, une deuxième configuration valide et une pluralité de configurations non valides ; prévoir (904) un indicateur de programmation (512) qui est réglé à une première valeur avant que l’ensemble d’éléments mémoires programmables une seule fois (100) soit programmé ; programmer (906) l’ensemble d’éléments mémoires programmables une seule fois (100) à la première configuration valide ; régler (908) de manière permanente l’indicateur de programmation (512) à une deuxième valeur lorsque l’ensemble d’éléments mémoires programmables une seule fois (100) quitte la première configuration valide ; et détecter (910) une menace de sécurité pour le système sur puce (500) lorsque l’indicateur de programmation (512) est réglé à la deuxième valeur et l’ensemble d’éléments mémoires programmables une seule fois (100) est dans l’une quelconque des configurations non valides de la pluralité de configurations non valides. Procédé selon la revendication 1, comprenant en outre une réinitialisation du système sur puce (500) lorsque l’indicateur de programmation (512) est réglé à la deuxième valeur et l’ensemble d’éléments mémoires programmables une seule fois (100) est dans l’une quelconque des configurations non valides de la pluralité de configurations non valides. Procédé selon la revendication 1 ou 2, comprenant en outre de faire en sorte que l’indicateur de programmation (512) comprenne un bit de mémoire programmable une seule fois ; et dans lequel le réglage permanent de l’indicateur de programmation (512) à une deuxième valeur comprend la programmation du bit de mémoire programmable une seule fois. Procédé selon l'une quelconque des revendications 1 à 3, comprenant en outre : régler un niveau de sécurité du système sur puce (500) à un premier niveau de sécurité lorsque l’indicateur de programmation (512) est à la première valeur ; et régler le niveau de sécurité du système sur puce (500) à un deuxième niveau de sécurité, de préférence renforcé, lorsque l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la deuxième configuration valide. Procédé selon la revendication 4, comprenant en outre la génération d’un signal d’interruption lorsque l’indicateur de programmation (512) est réglé à la première valeur et l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la deuxième configuration valide. Procédé selon la revendication 4 ou 5, dans lequel l’ensemble d’éléments mémoires programmables une seule fois (100) est programmable dans une troisième configuration valide et le procédé comprend en outre : régler le niveau de sécurité du système sur puce à un troisième niveau de sécurité, de préférence renforcé, lorsque l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la troisième configuration valide. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel l’ensemble d’éléments mémoires programmables une seule fois (100) comprend : un premier emplacement (106) d’éléments mémoires programmables une seule fois qui comprend une première configuration à clé et une pluralité de premières configurations à clé non valide ; un deuxième emplacement (108) d’éléments mémoires programmables une seule fois qui comprend une deuxième configuration à clé et une pluralité de deuxièmes configurations à clé non valide ; et un troisième emplacement (110) d’éléments mémoires programmables une seule fois qui comprend une troisième configuration à clé et une pluralité de troisièmes configurations à clé non valide. Procédé selon la revendication 7, dans lequel : l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la première configuration valide lorsque le premier emplacement (106) d’éléments mémoires programmables une seule fois est dans la première configuration à clé, le deuxième emplacement (108) d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de deuxièmes configurations à clé non valide, et le troisième emplacement (110) d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la deuxième configuration valide lorsque le premier emplacement (106) d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement (108) d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement (110) d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; et l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la troisième configuration valide lorsque le premier emplacement (106) d’éléments mémoires programmables une seule fois est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement (108) d’éléments mémoires programmables une seule fois est dans la deuxième configuration à clé, et le troisième emplacement (110) d’éléments mémoires programmables une seule fois est dans la troisième configuration à clé. Procédé selon la revendication 8, dans lequel la première configuration valide correspond à une première phase de vie de produit du système sur puce (500) comprenant de préférence une phase de test fabricant, la deuxième configuration valide correspond à une deuxième phase de vie de produit du système sur puce (500) comprenant de préférence une phase d'utilisation, et la troisième configuration valide correspond à une troisième phase de vie de produit du système sur puce (500) comprenant de préférence une phase d'analyse de défaillance. Procédé selon l'une quelconque des revendications 1 à 9, comprenant en outre un décodage de l’ensemble d’éléments mémoires programmables une seule fois (100) et de l’indicateur de programmation (512). Procédé selon l'une quelconque des revendications 1 à 10, comprenant en outre la programmation de l’ensemble d’éléments mémoires programmables une seule fois (100) à la deuxième configuration valide. Système sur puce (500) comprenant : un ensemble d’éléments mémoires programmables une seule fois (100) comprenant : une première configuration valide ; une deuxième configuration valide ; et une pluralité de configurations non valides ; un indicateur de programmation (512) ayant initialement une première valeur et agencé pour être réglé de manière permanente à une deuxième valeur ; un circuit décodeur (502) en communication avec l’ensemble d’éléments mémoires programmables une seule fois (100) pour déterminer si l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la première configuration valide, la deuxième configuration valide ou l’une quelconque de la pluralité de configurations non valides ; et dans lequel le circuit décodeur (502) génère un signal de détection de menace lorsque l’ensemble d’éléments mémoires programmables une seule fois (100) est dans l’une quelconque de la pluralité de configurations non valides lorsque l’indicateur de programmation (512) est en permanence réglé à la deuxième valeur. Système sur puce (500) selon la revendication 12, dans lequel l’indicateur de programmation (512) comprend un élément mémoire programmable une seule fois. Système sur puce (500) selon la revendication 12 ou 13, dans lequel le circuit décodeur (502) comprend une machine à états finis, sous forme matérielle. Système sur puce (500) selon l'une quelconque des revendications 12 à 14, dans lequel le circuit décodeur (502) génère un signal d’interruption lorsque l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la deuxième configuration valide et l’indicateur de programmation (512) est réglé à la première valeur. Système sur puce (500) selon la revendication 15, comprenant en outre une unité centrale de traitement (504) en communication avec le circuit décodeur (502) et agencée pour recevoir le signal d’interruption. Système sur puce (500) selon la revendication 15 ou 16, comprenant en outre un circuit collecteur de défauts (506) agencé pour recevoir le signal d’interruption. Système sur puce (500) selon l'une quelconque des revendications 12 à 17, comprenant en outre un circuit de programmation (514) en communication avec l’ensemble d’éléments mémoires programmables une seule fois (100) et agencé pour programmer l’ensemble d’éléments mémoires programmables une seule fois (100). Système sur puce (500) selon l'une quelconque des revendications 12 à 18, dans lequel un premier élément programmable une seule fois des éléments programmables une seule fois (100) comprend : un élément programmable une seule fois à fusible électrique ; ou un élément programmable une seule fois à anti-fusible ; ou un élément programmable une seule fois à fusible par laser. Système sur puce (500) selon l'une quelconque des revendications 12 à 19, dans lequel l’indicateur de programmation (512) comprend un bit à triple vote. Système sur puce (500) selon l'une quelconque des revendications 12 à 20, dans lequel l’ensemble d’éléments mémoires programmables une seule fois (100) comprend une troisième configuration valide. Système sur puce (500) selon l'une quelconque des revendications 12 à 21, dans lequel l’ensemble d’éléments mémoires programmables une seule fois (100) comprend : un premier emplacement (106) de l’ensemble d’éléments mémoires programmables une seule fois (100) qui comprend une première configuration à clé et une pluralité de premières configurations à clé non valide ; un deuxième emplacement (108) de l’ensemble d’éléments mémoires programmables une seule fois (100) qui comprend une deuxième configuration à clé et une pluralité de deuxièmes configurations à clé non valide ; et un troisième emplacement (110) de l’ensemble d’éléments mémoires programmables une seule fois (100) qui comprend une troisième configuration à clé et une pluralité de troisièmes configurations à clé non valide. Système sur puce (500) selon la revendication 22, dans lequel : l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la première configuration valide lorsque le premier emplacement (106) de l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la première configuration à clé, le deuxième emplacement (108) de l’ensemble d’éléments mémoires programmables une seule fois (100) est dans l’une quelconque de la pluralité de deuxièmes configurations à clé non valide, et le troisième emplacement (110) de l’ensemble d’éléments mémoires programmables une seule fois (110) est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la deuxième configuration valide lorsque le premier emplacement (106) de l’ensemble d’éléments mémoires programmables une seule fois (100) est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement (108) de l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la deuxième configuration à clé, et le troisième emplacement (110) de l’ensemble d’éléments mémoires programmables une seule fois (100) est dans l’une quelconque de la pluralité de troisièmes configurations à clé non valide ; et l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la troisième configuration valide lorsque le premier emplacement (106) de l’ensemble d’éléments mémoires programmables une seule fois (100) est dans l’une quelconque de la pluralité de premières configurations à clé non valide, le deuxième emplacement (108) de l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la deuxième configuration à clé, et le troisième emplacement (110) de l’ensemble d’éléments mémoires programmables une seule fois (100) est dans la troisième configuration à clé.