Brevet FR3097068A1 — publié le 20201211

Description Titre de l'invention : Générateur de nombres aléatoires Domaine technique [0001] La présente description concerne de façon générale les dispositifs électroniques et plus particulièrement les générateurs de nombres aléatoires. Technique antérieure [0002] Les générateurs de nombres aléatoires sont des dispositifs capables de produire des séquences de chiffres pour lesquels il n'existe aucun lien déterministe connu entre un chiffre et ses prédécesseurs. Par extension, on étend abusivement ce concept aux générateurs de nombres pseudo aléatoires, pour lesquels ce lien déterministe existe, mais ne peut pas facilement être déduit. [0003] Les générateurs de nombres aléatoires sont utilisés dans de nombreux domaines. En particulier, les générateurs de nombres aléatoires sont utilisés dans la cryptographie, la sécurité informatique, le traitement dc signaux, les télécommunications et les jeux de hasard. [0004] Les générateurs de nombres aléatoires sont souvent des générateurs reposant sur des algorithmes, en particulier dans les domaines du traitement de signaux et les télécommunications. Cependant, dans le domaine de la sécurité informatique, de tels nombres peuvent ne pas être suffisamment aléatoires. [0005] D'autres générateurs de nombres aléatoires se basent sur des phénomènes physiques aléatoires, par exemple sur des bruits thermiques ou sur la mécanique quantique. Résumé de l'invention 100061 Un mode de réalisation pallie tout ou partie des inconvénients des générateurs de nombres aléatoires connus. 100071 Un mode de réalisation prévoit un circuit intégré comprenant un générateur de nombres aléatoires, le générateur comprenant au moins une diode à effet d'avalanche déclenchée par un photon individuel. 100081 Selon un mode de réalisation, la ou les diodes sont configurées pour générer des valeurs aléatoires. 100091 Selon un mode de réalisation, la ou les diodes sont configurées pour générer des valeurs binaires aléatoires. 100101 Selon un mode de réalisation, le circuit ne comprend pas de dispositif configuré pour fournir de la lumière à la ou aux diodes. 100111 Selon un mode de réalisation, au moins certaines des diodes sont adjacentes les unes des autres. 100121 Selon un mode de réalisation, au moins certaines des diodes sont séparées d'autres 2 parmi les diodes par d'autres composants électroniques du circuit. [0013] Selon un mode de réalisation, toutes les diodes sont séparées des autres diodes par d'autres composants électroniques du circuit. [0014] Selon un mode de réalisation, les composants séparant les diodes sont des composants ne faisant pas partie du générateur de nombres aléatoires. [0015] Selon un mode de réalisation, toutes les diodes sont identiques, aux variations de fa- brication près. [0016] Selon un mode de réalisation, au moins certaines des diodes ont des niveaux de dopages différents. [0017] Selon un mode de réalisation, toutes les diodes ont des niveaux de dopages différents. [0018] Selon un mode de réalisation, au moins certaines des diodes sont couvertes de manière à ne pas recevoir de lumière. [0019] Un mode de réalisation prévoit un procédé de génération d'un nombre aléatoire dans lequel des valeurs aléatoires sont générées par des diodes à effet d'avalanche déclenchée par un photon individuel. [0020] Selon un mode de réalisation, à un instant donné, une tension de chaque diode est comparée à un ou plusieurs seuils, les seuils formant au moins deux plages de valeurs de tension, chaque plage correspondant à une valeur générée. Brève description des dessins [0021] Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : [00221 [fig.1] la figure 1 est une vue en coupe schématique et partielle d'un exemple de photodiode SPAD ; [0023[ [fig.21 la figure 2 représente un mode de réalisation d'une puce de circuit intégré comprenant un générateur de nombres aléatoires ; et [0024] [fig.3] la figure 3 représente un autre mode de réalisation d'une puce de circuit intégré comprenant un générateur de nombres aléatoires. Description des modes de réalisation 100251 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. 100261 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. En particulier, les composants des puces autres que le générateur de nombres aléatoires ne sont pas détaillés, les 3 modes de réalisation décrits pouvant être adaptés à tous types de circuits connus. De plus, les diverses utilisations des nombres aléatoires obtenus ne sont pas détaillées, les nombres aléatoires obtenus pouvant être utilisés pour toutes utilisations connues [0027] Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés ou couplés entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés ou couplés par l'intermédiaire d'un ou plusieurs autres éléments. [0028] Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. [0029] Sauf précision contraire, les expressions "environ", "approximativement", "sen- siblement", et "de l'ordre de" signifient à 10% près, de préférence à 5 % près. [0030] La figure 1 est une vue en coupe schématique et partielle d'un exemple de photodiode de type SPAD ("Single Photon Avalanche Diode") 100, c'est-à-dire une diode à effet d'avalanche déclenchée par un photon individuel. [0031] Une photodiode de type SPAD est essentiellement constituée par une jonction PN polarisée en inverse à une tension supérieure à son seuil d'avalanche. Lorsqu'aucune charge électrique n'est présente dans la zone de déplétion ou zone de charge d'espace de la jonction PN, la photodiode est dans un état pseudo-stable, non conducteur. Lorsqu'une charge électrique photogénérée est injectée dans la zone de déplétion, si la vitesse de déplacement de cette charge dans la zone de déplétion est suffisamment élevée, c'est-à-dire si le champ électrique dans la zone de déplétion est suffisamment intense, la photodiode est susceptible d'entrer en avalanche. Un seul photon est ainsi capable de générer un signal électrique mesurable, et ce avec un temps de réponse très court. Les photodiodes de type SPAD permettent de détecter des rayonnements de très faible intensité lumineuse, et sont notamment utilisées pour la détection de photons uniques et le comptage de photons. [0032] La photodiode 100 comprend un substrat semiconducteur 101, par exemple en silicium. Dans l'exemple représenté, le substrat 101 est dopé de type P (P-). [0033] La photodiode 100 comprend, en outre, dans une partie supérieure du substrat 101, une région dopée de type N 103 (Ni-). La région 103 s'étend depuis la face supérieure du substrat. [0034] La photodiode 100 comprend, de plus, sous la région 103, une région dopée de type P 105 (P+). La région 105 a un niveau de dopage supérieur à celui du substrat 101. La région 105 s'étend depuis la face inférieure de la région 103. [0035] Dans l'exemple de la figure 1, la région 105 présente, en vue de dessus, une surface inférieure à celle de la région 103. La région 105 est située en regard d'une partie centrale 103a de la région 103. Une région périphérique en anneau 103b de la région 103 s'étend donc latéralement au-delà de la périphérie de la région 105. La face inférieure de la région centrale 103a de la région 103 est en contact avec la face supérieure de la région 105, et la face inférieure et la face latérale de la région périphérique 103b de la région 103 sont en contact avec le substrat 101. [0036] Ainsi, la jonction PN de la photodiode 100 comprend une partie centrale formée entre la région 105 et la partie centrale 103a de la région 103, et une partie périphérique formée entre le substrat 101 et la partie périphérique 103b de la région 103. [0037] Dans l'exemple représenté, la photodiode 100 comprend en outre une couche de pas- sivation 107, par exemple en oxyde de silicium, revêtant la face supérieure du substrat 101 au niveau de la périphérie de la photodiode. [0038] De plus, dans cet exemple, la photodiode 100 comprend, dans une partie inférieure du substrat 101, une région dopée de type P 109 (P+), de niveau de dopage supérieur à celui du substrat, s'étendant dans le substrat 101 depuis sa face inférieure sur sensiblement toute la surface de la photodiode. [0039] A titre d'exemple, les épaisseurs des régions 103 et 105 sont de quelques dizaines à quelques centaines de nanomètres, et l'épaisseur de substrat 101 située sous la région 105, c'est-à-dire entre la face inférieure de la région 105 et la face supérieure de la couche 109 dans l'exemple représenté, est de quelques micromètres à quelques dizaines de micromètres. [0040] En fonctionnement, la région 103, formant la cathode de la photodiode, est polarisée à un potentiel positif V+, et la région 105, formant l'anode de la photodiode, est polarisée à un potentiel négatif V-. Ainsi, la tension cathode-anode de la photodiode est supérieure à sa tension d'avalanche. Dans l'exemple de la figure 1, les bornes de contact permettant de polariser la photodiode n'ont pas été détaillées. A titre d'exemple, l'anode de la photodiode est polarisée par l'intermédiaire de la région 109. La cathode de la photodiode peut être polarisée par l'intermédiaire d'une métallisation de contact située sur la face avant (supérieure aux figures) de la région 103. [0041] Lorsque la photodiode 100 est polarisée en inverse, un champ électrique apparaît au niveau de la jonction PN de la photodiode. [0042] Lors de la fabrication de photodiodes, les niveaux de dopages des régions 103 et 105 et du substrat 101 et la tension de polarisation de la photodiode sont généralement choisis de telle manière que le champ électrique au niveau de la partie centrale de la jonction PN soit suffisamment intense pour que l'avalanche puisse être déclenchée par une charge photogénérée unique. Les niveaux de dopages sont aussi généralement choisis de manière à réduire les risques de déclenchements parasites de l'avalanche. [0043] Les différents niveaux de dopages de la photodiode peuvent aussi être choisis pour assurer la dégradation de la photodiode et ainsi augmenter les risques de déclenchements parasites. [0044] Les déclenchements parasites sont par exemple dus à des effets de bords dans la pé- riphérie de la jonction PN. Les déclenchements parasites peuvent aussi être dus à de la lumière ambiante atteignant la photodiode. [0045] Les déclenchements parasites sont généralement au moins partiellement provoqués par des charges générées par la température. La température d'une partie d'un circuit est généralement dépendante des composants électroniques situés autour de cette partie. En effet, les composants électroniques ont tendance à créer de la chaleur. [0046] Il est donc possible d'obtenir des déclenchements parasites de la photodiode sans que la photodiode soit exposée à de la lumière. [0047] Les déclenchements parasites peuvent être considérés comme des phénomènes aléatoires. Ainsi, il est possible d'utiliser ces phénomènes pour former un générateur de nombres aléatoires. [0048] La figure 2 représente un mode de réalisation d'une puce 200 comprenant un gé- nérateur de nombres aléatoires. [0049] La puce 200 est par exemple comprise dans un dispositif électronique utilisant un gé- nérateur de nombres aléatoires. Par exemple, la puce 200 est comprise dans un dispositif électronique utilisant un nombre aléatoire pour la sécurité d'informations contenues dans le dispositif. [0050] La puce 200 est une puce de circuit intégré. La puce 200 comprend au moins une photodiode 202 de type SPAD, par exemple une photodiode telle que la photodiode 100 de la figure 1. De préférence, la puce 200 comprend au moins deux photodiodes 202. Dans l'exemple de la figure 2, la puce 200 comprend dix photodiodes 202. [0051] Les photodiodes 202 de l'exemple de la figure 2 sont situées les unes à côté des autres. Les photodiodes sont donc adjacentes les unes aux autres. Il n'y a pas, dans ce mode de réalisation, de composants autres que des éléments de connexion entre les photodiodes 202. Selon un mode de réalisation, certaines photodiodes peuvent être séparées par des composants faisant partis du générateur de nombres aléatoires, par exemple des éléments logiques ou des éléments de mémoire. [0052] De préférence, les photodiodes 202, faisant partie du générateur de nombres aléatoires, ne sont utilisées que pour le fonctionnement du générateur. Ainsi, les photodiodes 202 ne sont, de préférence, pas utilisées pour d'autres fonctions. En particulier, les photodiodes ne sont pas utilisées par des capteurs d'images. Les photodiodes ne sont, de préférence, pas utilisées dans des capteurs de temps de vol. [0053] La puce comprend, de plus, d'autres composants. En particulier, la puce comprend par exemple au moins une mémoire représentée par un unique bloc 204 (MEM) en 6 figure 2. Le nombre aléatoire généré est par exemple stocké dans une des mémoires 204. Le bloc 204 comprend par exemple une partie 205 de la mémoire faisant partie du générateur de nombres aléatoires, et pouvant stocker le nombre aléatoire généré. La puce comprend par exemple des éléments de logique, représentés par le bloc 206 (LOGIC). Le bloc 206 comprend par exemple une partie 207 faisant partie du générateur de nombres aléatoires. La puce peut comprendre, par exemple, des composants analogiques, représentés par le bloc 208 (ANA). Le bloc 208 comprend par exemple une partie 209 faisant partie du générateur de nombres aléatoires. [0054] Les éléments logiques, de mémoire et/ou analogiques des blocs 204, 206 et 208 peuvent être séparés et situés à différents endroits de la puce. Les parties 205, 207 et 209 sont représentées adjacentes au reste des blocs 204, 206 et 208. Cependant, les parties 205, 207 et 209 peuvent être situées à d'autres endroits de la puce. En particulier, les parties 205, 207 et 209 peuvent, selon un mode de réalisation, être situées entre certaines des photodiodes 202. [0055] De préférence, la puce 200 comprend une source 210 d'un signal d'horloge CLK. Le signal d'horloge CLK est par exemple un signal d'horloge partagé par plusieurs éléments de la puce 200, y compris, éventuellement, des éléments ne faisant pas partie du générateur de nombres aléatoires. [0056] Lorsque le générateur de nombres aléatoires est en fonctionnement, chaque photodiode 202 se déclenche régulièrement de manière aléatoire. [0057] Ainsi, une tension de sortie de chaque photodiode, par exemple la tension entre les régions 109 et 103 de la figure 1, passe entre une valeur haute et une valeur basse de manière aléatoire. [0058] A un instant donné, par exemple à un des fronts du signal d'horloge CLK, chaque photodiode fournit une valeur aléatoire, de préférence une valeur binaire. La tension de sortie est par exemple comparée à un ou plusieurs seuils, les seuils formant, entre eux, des plages de tension correspondant chacune à une valeur. Par exemple, dans le cas où il n'y a qu'une seule valeur de seuil, les valeurs obtenues sont des valeurs binaires Si la tension de sortie est à la valeur haute, c'est-à-dire au-dessus de la valeur de seuil, la valeur obtenue est par exemple la valeur binaire "1", et si la tension de sortie est la valeur basse, c'est-à-dire en dessous de la valeur de seuil, la valeur obtenue est par exemple la valeur binaire "0". [0059] Ainsi, à un instant donné, le générateur obtient autant de valeurs binaires aléatoires que le générateur comprend de photodiodes. [0060] Les valeurs binaires aléatoires sont par exemple stockées dans une des mémoires 204, par exemple dans la partie 205. [0061] Un nombre aléatoire est ensuite généré à partir des valeurs aléatoires, par exemple par les circuits logiques de la partie 207. Par exemple, les différentes valeurs binaires 7 sont considérées comme des valeurs successives et forment un nombre, par exemple un nombre en format hexadécimal ou tout autre format. [0062] A titre de variante, le nombre aléatoire est par exemple obtenu avec les valeurs binaires aléatoires obtenues, par les mêmes photodiodes, à plusieurs instants différents. [0063] Selon un mode de réalisation, les photodiodes 202 ont par exemple les mêmes niveaux de dopages. Par exemple, les photodiodes 202 sont identiques les unes aux autres, aux variations de fabrication près. Selon un autre mode de réalisation, les différentes photodiodes 202 ont de préférence des niveaux de dopages différents. Ainsi, les différentes photodiodes réagiront différemment à une même situation, en particulier en termes de fréquence de déclenchement spontané. En particulier, les différentes photodiodes réagiront différemment dans une situation où toutes les photodiodes sont à une même température. [0064] Par exemple, certaines photodiodes 202 ont des niveaux de dopages différents d'environ un facteur d'au moins deux pour obtenir une demi-décade de variation de fréquence de déclenchement. Par exemple, les niveaux de dopages différents d'une photodiode à une autre sont les niveaux de dopages de certaines régions semiconductrices, par exemple les niveaux de dopages des régions 101 ou 103 de la figure 1. [0065] Selon un mode de réalisation, le générateur est en fonctionnement de manière constante lorsque le dispositif électronique le comprenant est en fonctionnement. Selon un autre mode de réalisation, le générateur n'est en fonctionnement que lorsque le dispositif provoque la génération d'un nombre aléatoire. [0066] A titre de variante, les photodiodes 202 peuvent être recouvertes d'une couche au moins partiellement opaque, de manière à ce que les valeurs obtenues ne soit pas dépendantes du niveau de lumière dans le dispositif. Par exemple, la couche de passivation 107 de la figure 1 recouvre entièrement la région 103. Le dispositif électronique ne comprend, de préférence pas de dispositif configuré pour fournir de la lumière à la ou aux diodes. Les déclenchements sont uniquement des déclenchements parasites, principalement générés par la température. Ainsi, il n'est pas possible pour un tiers de provoquer l'obtention de valeurs binaires correspondant au cas où la tension de sorties de toutes les photodiodes est au-dessus de la valeur de seuil. Il n'est donc pas possible pour un tiers de provoquer l'obtention d'un résultat prévisible par utilisation d'un faisceau lumineux de quelque nature que ce soit. [0067] La figure 3 représente un autre mode de réalisation d'une puce 300 comprenant un générateur de nombres aléatoires. [0068] La puce 300 est, comme la puce 200 de la figure 2, par exemple comprise dans un dispositif électronique utilisant un générateur de nombres aléatoires. Par exemple, la puce 300 est comprise dans un dispositif électronique utilisant un nombre aléatoire pour la sécurité d'informations contenues dans le dispositif 8 [0069] La puce 300 est une puce de circuit intégré. La puce 300 comprend au moins une photodiode 302 de type SPAD, par exemple une photodiode telle que la photodiode 100 de la figure 1. De préférence, la puce 200 comprend au moins deux photodiodes 302. Dans l'exemple de la figure 3, la puce 300 comprend cinq photodiodes 302. [0070] La puce 300 comprend, de plus, d'autres composants électroniques représentés par des blocs 304. Les blocs 304 représentent par exemple les blocs 204, 206, 208 et/ou 210 de la figure 2. Les blocs 304 peuvent aussi représenter, chacun, des parties des blocs 204, 206, 208 et 210 de la figure 2. [0071] Contrairement aux photodiodes 202 de la figure 2, les photodiodes 302 sont séparées les unes des autres. Dans l'exemple de la figure 3, chaque photodiode 302 est séparée des autres photodiodes 302 par au moins un bloc 304. [0072] Selon un mode de réalisation, chaque bloc 304 comprend des composants élec- troniques ne faisant pas partie du générateur de nombres aléatoires. Ainsi, toutes les photodiodes 302 sont séparées les unes des autres par des composants ne faisant pas partie du générateur de nombres aléatoires. [0073] Selon un autre mode de réalisation, le générateur de nombres aléatoires peut comprendre certaines photodiodes situées les unes à côté des autres comme cela est décrit en relation avec la figure 2 et certaines photodiodes séparées les unes des autres comme cela est décrit en relation avec la figure 3. Ainsi, certaines photodiodes 302 peuvent être séparées les unes des autres par des composants ne faisant pas partie du générateur de nombres aléatoires, et certaines photodiodes 302 sont situées côte à côte, adjacentes les unes aux autres, et n'étant, de préférence, séparées par aucun composant électronique ou uniquement par des composants faisant pallie du générateur de nombres aléatoires. [0074] Par exemple, les photodiodes 302 de la figure 3 peuvent représenter des matrices de plusieurs photodiodes et non une unique photodiode. Ainsi, le générateur de nombres aléatoires peut comprendre au moins deux matrices de photodiodes, les matrices étant séparées les unes des autres par d'autres composants de la puce et les photodiodes d'une même matrice étant adjacentes les unes des autres, non séparées les unes des autres par des composants autres que des éléments de connexion ou, éventuellement, des composants du générateur de nombres aléatoires. [0075] Un avantage des modes de réalisation décrits est qu'ils permettent d'obtenir des nombres aléatoires pouvant être utilisés dans le cadre de la sécurité informatique. [0076] Divers modes de réalisation et variantes ont été décrits. L'homme de l'art comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d'autres variantes apparaitront à l'homme de l'art. En particulier, la photodiode SPAD de la figure 1 est un exemple, et les modes de réalisation décrits peuvent être utilisés avec des photodiodes SPAD ayant des 9 structures différentes. [0077] Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de l'homme du métier à partir des indications fonctionnelles données ci-dessus. [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5] [Revendication 6] [Revendication 7] [Revendication 8] [Revendication 9] [Revendication 10] [Revendication 11] [Revendication 12] [Revendication 13] REVENDICATIONSCircuit intégré comprenant un générateur dc nombres aléatoires, le générateur comprenant au moins une diode à effet d'avalanche déclenchée par un photon individuel (202, 302). Circuit selon la revendication I, dans lequel la ou les diodes (202, 302) sont configurées pour générer des valeurs aléatoires. Circuit selon la revendication I, dans lequel la ou les diodes (202, 302) sont configurées pour générer des valeurs binaires aléatoires. Circuit selon l'une quelconque des revendications I à 3, ne comprenant pas de dispositif configuré pour fournir de la lumière à la ou aux diodes (202, 302). Circuit selon l'une quelconque des revendications 1 à 4, dans lequel au moins certaines des diodes (202, 302) sont adjacentes les unes des autres. Circuit selon l'une quelconque des revendications 1 à 5, dans lequel au moins certaines des diodes (202, 302) sont séparées d'autres parmi les diodes par d'autres composants électroniques du circuit (205, 207, 209, 304). Circuit selon l'une quelconque des revendications 1 à 5, dans lequel toutes les diodes (202, 302) sont séparées des autres diodes par d'autres composants électroniques du circuit (205, 207, 209, 304). Circuit selon la revendication 6 ou 7, dans lequel les composants séparant les diodes (202, 302) sont des composants (304) ne faisant pas partie du générateur de nombres aléatoires. Circuit selon l'une quelconque des revendications 1 à 8, dans lequel toutes les diodes (202, 302) sont identiques aux variations de fabrication près. Circuit selon l'une quelconque des revendications 1 à 8, dans lequel au moins certaines des diodes (202, 302) ont des niveaux de dopages différents. Circuit selon la revendication 10, dans lequel toutes les diodes (202, 302) ont des niveaux de dopages différents. Circuit selon l'une quelconque des revendications 1 à 11, dans lequel au moins certaines des diodes (202, 302) sont couvertes de manière à ne pas recevoir de lumière. Procédé de génération d'un nombre aléatoire dans lequel des valeurs aléatoires sont générées par des diodes (202, 302) à effet d'avalanche dé- 11 [Revendication 14] clenche° par un photon individuel. Procédé selon la revendication 13, dans lequel, à un instant donné, une tension de chaque diode (202, 302) est comparée à un ou plusieurs seuils, les seuils formant au moins deux plages de valeurs de tension, chaque plage correspondant à une valeur générée.