FR3012637A1 - Procede et dispositif de detection d'attaque d'une source d'entropie - Google Patents

Procede et dispositif de detection d'attaque d'une source d'entropie Download PDF

Info

Publication number
FR3012637A1
FR3012637A1 FR1360484A FR1360484A FR3012637A1 FR 3012637 A1 FR3012637 A1 FR 3012637A1 FR 1360484 A FR1360484 A FR 1360484A FR 1360484 A FR1360484 A FR 1360484A FR 3012637 A1 FR3012637 A1 FR 3012637A1
Authority
FR
France
Prior art keywords
entropy
attack
source
sequence
samples
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1360484A
Other languages
English (en)
Other versions
FR3012637B1 (fr
Inventor
Christine Hennebert
Cedric Lauradoux
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institut National de Recherche en Informatique et en Automatique INRIA
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
Institut National de Recherche en Informatique et en Automatique INRIA
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Commissariat a lEnergie Atomique CEA, Institut National de Recherche en Informatique et en Automatique INRIA, Commissariat a lEnergie Atomique et aux Energies Alternatives CEA filed Critical Commissariat a lEnergie Atomique CEA
Priority to FR1360484A priority Critical patent/FR3012637B1/fr
Publication of FR3012637A1 publication Critical patent/FR3012637A1/fr
Application granted granted Critical
Publication of FR3012637B1 publication Critical patent/FR3012637B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé de détection d'une attaque d'une source d'entropie au moyen d'un circuit de traitement, comportant les étapes suivantes : a) compter, au moyen d'une première valeur de comptage, le nombre de fois qu'une même valeur d'échantillon (Sk) se répète successivement à une première périodicité (ei) dans une séquence (301) d'échantillons fournis par la source ; et b) compter, au moyen d'au moins une deuxième valeur de comptage, le nombre de fois qu'une même valeur d'échantillon (Sk) se répète successivement à au moins une deuxième périodicité (ei) dans ladite séquence (301).

Description

B12827 - DD14582SP 1 PROCÉDÉ ET DISPOSITIF DE DÉTECTION D'ATTAQUE D'UNE SOURCE D'ENTROPIE Domaine La présente demande concerne un procédé et un dispositif permettant de détecter une attaque sur une source d'entropie.
Exposé de l'art antérieur Dans de nombreux systèmes, par exemple dans le domaine de la cryptographie, on utilise des nombres dits aléatoires, c'est-à-dire des nombres qui ne peuvent pas facilement être prédits.
On a déjà proposé de réaliser un dispositif comportant un générateur de nombres aléatoires utilisant, pour générer des suites de bits aléatoires, un ou plusieurs composants du dispositif fournissant des données présentant, dans une certaine mesure, un caractère imprédictible ou difficilement prédictible.
De tels composants définissent des sources d'entropie du générateur de nombres aléatoires. Parmi les sources d'entropie que l'on a proposé d'utiliser, on trouve des capteurs de type accéléromètre, capteur magnétique, ou capteur de vibration, dont la sortie peut présenter un caractère imprédictible dans des conditions normales d'utilisation du dispositif. On a également proposé d'utiliser comme source d'entropie un indicateur de B12827 - DD14582SP 2 qualité d'un canal radio utilisé par le dispositif ou un indicateur de puissance d'un signal radio reçu par le dispositif. A titre de variante, l'entropie peut provenir de paquets de données erronés reçus par le dispositif, les valeurs des données erronées étant par nature pratiquement impossible à prédire. On a aussi proposé d'utiliser comme source d'entropie une horloge d'un circuit électronique du dispositif, dont le signal peut dériver de façon imprédictible (dans une certaine mesure) en raison d'aléas de fabrication du circuit.
Les suites de bits aléatoires générées à l'aide de telles sources d'entropie peuvent par exemple directement être utilisées comme nombres aléatoires en sortie du générateur de nombres aléatoires, ou être utilisées comme graines d'initialisation ou séquences d'amorçage d'un générateur de nombres pseudo-aléatoires. Pour des raisons de sécurité, il est souhaitable de prévoir des mécanismes permettant de détecter, en cours d'utilisation, d'éventuelles manipulations frauduleuses de la source d'entropie du générateur par un attaquant, et notamment des attaques visant à réduire l'entropie contenue dans les données fournies par la source, c'est-à-dire visant à rendre la source plus prédictible. A titre d'exemple, dans le cas où la source d'entropie est un capteur magnétique, une attaque peut consister à placer le capteur entre deux électroaimants, et à commander les électroaimants pour perturber le capteur magnétique et injecter des données déterminées dans le système. Des procédés de détection d'attaque permettant de tester en continu, en cours d'utilisation, le flux d'échantillons fourni par une source d'entropie, ont été proposés dans le document intitulé "NIST DRAFT Special Publication 800-90B Recommendation for the Entropy Sources Used for Random Bit Generation" daté d'aout 2012 du "National Institute of Standards and Technology", notamment aux sections 6.5.1.2.1 et 6.5.1.2.2 de ce document.
B12827 - DD14582SP 3 Un inconvénient de ces procédés est qu'ils ne peuvent détecter que des cas extrêmes de dégradation de l'entropie de la source, et sont relativement faciles à contourner par un attaquant.
Résumé Un objet d'un mode de réalisation est de prévoir un procédé et un dispositif de détection d'une attaque d'une source d'entropie, palliant tout ou partie des inconvénients des procédés et dispositifs de détection d'attaque de l'art antérieur. Ainsi, un mode de réalisation prévoit un procédé de détection d'une attaque d'une source d'entropie au moyen d'un circuit de traitement, comportant les étapes suivantes : a) compter, au moyen d'une première valeur de comptage, le nombre de fois qu'une même valeur d'échantillon se répète successivement à une première périodicité dans une séquence d'échantillons fournis par la source ; et b) compter, au moyen d'au moins une deuxième valeur de comptage, le nombre de fois qu'une même valeur d'échantillon se répète successivement à au moins une deuxième périodicité dans la séquence. Selon un mode de réalisation, une attaque est signalée lorsqu'au moins une des valeurs de comptage dépasse un premier seuil. Selon un mode de réalisation, à chacune des périodicités de comptage, on détermine la longueur de chaque suite d'au moins deux échantillons identiques successifs à cette périodicité de comptage, ainsi qu'une valeur de comptage globale égale à la somme de ces longueurs. Selon un mode de réalisation, une attaque est signalée lorsque la valeur de comptage globale dépasse un deuxième seuil. Selon un mode de réalisation, la somme des valeurs de comptage globales aux différentes périodicités de comptage est calculée. Selon un mode de réalisation, une attaque est signalée 35 lorsque cette somme dépasse un seuil.
B12827 - DD14582SP 4 Selon un mode de réalisation, si une attaque est signalée, une mémoire contenant une réserve d'entropie est réinitialisée. Selon un mode de réalisation, les étapes de comptage 5 sont mise en oeuvre au fur et à mesure de la fourniture des échantillons par la source. Un autre mode de réalisation prévoit un dispositif de détection d'une attaque d'une source d'entropie, comportant un circuit de traitement adapté à mettre en oeuvre le procédé 10 susmentionné. Un autre mode de réalisation prévoit un ensemble de fourniture d'une suite de bits aléatoires, comportant une source d'entropie et un dispositif de détection d'une attaque de ladite source d'entropie du type susmentionné. 15 Brève description des dessins 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 : 20 la figure 1 illustre très schématiquement un exemple d'une chaine de fourniture de séquences de bits aléatoires au moyen d'une source d'entropie ; la figure 2 illustre schématiquement, sous forme de blocs, un exemple d'un procédé de fourniture d'une séquence de 25 bits aléatoires au moyen d'une source d'entropie ; la figure 3 illustre schématiquement un exemple d'un mode de réalisation d'un procédé de détection d'attaque d'une source d'entropie ; et la figure 4 illustre schématiquement, sous forme de 30 blocs, un exemple de réalisation détaillé d'un procédé de détection d'attaque d'une source d'entropie. Description détaillée Par souci de clarté, de mêmes éléments ont été désignés par de mêmes références aux différentes figures. De 35 plus, seuls les éléments utiles à la compréhension des modes de B12827 - DD14582SP réalisation décrits ont été détaillés. En particulier, les sources d'entropie proprement dites sur lesquelles on cherche à détecter des attaques n'ont pas été détaillées, les modes de réalisation décrits étant compatibles avec les sources 5 d'entropie usuelles. De plus, les utilisations possibles des données fournies par les sources d'entropie n'ont pas été détaillées, les modes de réalisation décrits étant compatibles avec les utilisations usuelles de données fournies par une source d'entropie, notamment dans des générateurs de nombres aléatoires. A titre d'exemple non limitatif, les documents intitulés "NIST Special Publication 800-90A Recommendation for Random Number Generation Using Deterministic Random Bit Generators" (daté de janvier 2012), "NIST DRAFT Special Publication 800-90B Recommendation for the Entropy Sources Used for Random Bit Generation" (daté d'aout 2012) et "DRAFT NIST Special Publication 800-90C Recommendation for Random Bit Generator (RBG) Constructions" (daté d'aout 2012) du "National Institute of Standards and Technology", décrivent des règles et des exemples de conception de sources d'entropie et de générateurs de nombre aléatoires utilisant des sources d'entropie. La figure 1 illustre très schématiquement un exemple d'une chaine 100 de fourniture de séquences de bits aléatoires au moyen d'une source d'entropie.
La chaîne 100 comprend une source d'entropie 101 (ENTROPY SOURCE) adaptée à fournir des données ou échantillons, analogiques dans cet exemple, présentant au moins une part d'imprédictibilité. Le rythme de fourniture des échantillons par la source 101 dépend des caractéristiques de la source. 30 L'intervalle de temps entre deux fournitures successives d'échantillon par la source peut être régulier ou non. La chaîne 100 comprend en outre, dans cet exemple, un convertisseur analogique-numérique 103 (ADC) adapté à numériser chaque échantillon analogique fourni par la source 101.
B12827 - DD14582SP 6 La chaîne 100 comprend de plus, dans cet exemple, un bloc de conditionnement 105 (CONDITIONING) adapté à traiter chaque échantillon numérisé fourni par le convertisseur analogique-numérique 103, pour le convertir en un échantillon 5 numérique de taille compatible avec la suite de la chaîne de fourniture de séquences de bits aléatoires. A titre d'exemple, le traitement appliqué par le bloc de conditionnement 105 peut simplement consister à sélectionner un nombre fixe de bits de poids faible de l'échantillon. En effet, pour un échantillon 10 donné, les bits de poids faible sont généralement ceux dont la part d'imprédictibilité (entropie) est le plus grande. En sortie du bloc de conditionnement 105, la portion de chaîne constituée par la source d'entropie 101, le convertisseur analogique-numérique 103 et le bloc de 15 conditionnement 105 fournit des échantillons numériques S qui présentent de préférence tous le même nombre de bits. La quantité d'entropie contenue dans chaque échantillon S dépend de la source d'entropie utilisée. A titre d'exemple, dans le cas où la source d'entropie 101 est un indicateur de qualité d'un canal 20 radio, fournissant des échantillons numérisés sur 16 bits, et où le bloc de conditionnement 105 génère des échantillons S sur 8 bits comportant uniquement les 8 bits de poids faible des échantillons fournis par la source 101, la quantité d'entropie contenue dans les échantillons S peut être de l'ordre de 0,5 bit 25 par échantillon. On notera que le convertisseur analogique-numérique 103 est optionnel et peut être supprimé dans le cas où la source d'entropie 101 fournit directement des échantillons sous forme numérique. De plus, le bloc de conditionnement 105 est 30 optionnel. En particulier, si les échantillons numérisés fournis par le convertisseur analogique numérique 103 sont déjà correctement calibrés, le bloc de conditionnement 105 peut être omis. La chaîne 100 comprend de plus un bloc de détection 35 d'attaque 107 (HEALTH TESTING), par exemple un circuit de B12827 - DD14582SP 7 traitement, qui reçoit les échantillons conditionnés S fournis par le bloc 105. Le bloc 107 scrute en continu les flux d'échantillons S et a pour rôle de détecter une éventuelle diminution d'entropie résultant par exemple d'une attaque. En d'autres termes, le bloc 107 teste en continu la qualité ou "santé" de la source d'entropie. Tant qu'aucune attaque n'est détectée par le bloc 107, les échantillons S sont transmis, au fur et à mesure de leur production, vers une sortie OUT de la chaîne 100. A titre d'exemple, la sortie OUT peut être reliée à une réserve d'entropie ("entropy pool" en anglais) non représentée, par exemple une mémoire, dans laquelle les échantillons S sont accumulés en vue de la génération d'une suite de bits aléatoires. La génération d'une suite de bits aléatoire à partir des échantillons S peut par exemple être effectuée via des opérations de concaténation, de hachage, de OU Exclusif, etc., appliquées sur les échantillons S, visant à "mixer" les échantillons pour obtenir une suite de bits dont chaque bit est imprédictible. Dans l'exemple susmentionné dans lequel chaque échantillon comporte 0,5 bit d'entropie, il conviendra de "mixer" au moins 512 échantillons pour obtenir une suite de 256 bits aléatoires. On notera que dans le cas théorique où la source d'entropie utilisée serait une source d'entropie pleine, c'est-à-dire dans le cas où chaque bit de chaque échantillon S serait imprédictible, la génération d'une suite de bits aléatoire à partir des échantillons S pourrait consister en une simple concaténation des échantillons S. Lorsqu'une attaque est détectée par le bloc 107, une ou plusieurs actions de mise en sécurité du système peuvent être mises en oeuvre. A titre d'exemple, la réserve d'entropie peut être entièrement réinitialisée, c'est-à-dire que tous les échantillons qu'elle contient peuvent être effacés de telle façon que ces échantillons ne soient pas utilisés par le système. En outre, le système peut éventuellement être recon- B12827 - DD14582SP 8 figuré pour, au moins temporairement, ne plus utiliser la source d'entropie présumée manipulée. La figure 2 illustre schématiquement, sous forme de blocs, un exemple d'un procédé de fourniture d'une séquence de 5 bits aléatoires au moyen d'une source d'entropie. Lors d'une étape 201 (Initialisation of the entropy pool), une réserve d'entropie, par exemple une mémoire, est initialisée. A ce stade, la réserve d'entropie ne contient aucun échantillon susceptible d'être utilisé pour générer une suite de 10 bits aléatoires. Lors d'une étape 202 (Count=0), une valeur Count de comptage de cycles est initialisée, par exemple à la valeur 0. Lors d'une étape 203 (Wait for a new sample) postérieure aux étapes 201 et 202, un échantillon numérique 15 fourni par une source d'entropie 204 (entropy source) est acquis. Si la source 204 ne fournit que des échantillons analogiques, un convertisseur analogique-numérique, non représenté, peut être couplé à la source 204 pour numériser l'échantillon. 20 Lors d'une étape 205 (Sample conditioning) postérieure à l'étape 203, l'échantillon acquis à l'étape 203 est conditionné en un échantillon S présentant un format adapté à la suite du procédé de fourniture d'une séquence de bits aléatoires.. 25 Lors d'une étape 206 (Health Test) postérieure à l'étape 205, l'échantillon conditionné S est soumis à un test visant à détecter une éventuelle manipulation frauduleuse de la source d'entropie 204. Lors d'une étape 207 (Alarm raised ?) postérieure à 30 l'étape 206, on vérifie si une attaque a été détectée à l'étape 206. Si une attaque a été détectée (Y), des actions de préservation de la sécurité du système peuvent être mises en oeuvre. Dans cet exemple, la réserve d'entropie est entièrement B12827 - DD14582SP 9 réinitialisée, et le procédé recommence depuis le début à partir de l'étape 201. Si aucune attaque n'a été détectée (N), le procédé se poursuit par des étapes 208, 209 et 210.
Lors de l'étape 208 (Count=Count+1), la valeur Count de comptage de cycles est incrémentée. Lors de l'étape 209 (Add sample to the pool), l'échantillon conditionné S est ajouté à la réserve d'entropie du système.
Lors de l'étape 210 (Count=C ?), postérieure aux étapes 208 et 209, on vérifie si la valeur Count de comptage de cycles a atteint un seuil C, définissant par exemple le nombre d'échantillons conditionnés nécessaire pour générer une suite de N bits aléatoires (avec N entier) exploitable par l'application considérée. Le seuil C dépend notamment de la quantité d'entropie, en bits par échantillon, disponible dans les données fournies par la source 204. Si le seuil C est atteint (Y), c'est-à-dire que C+1 échantillons conditionnés ont été fournis à la réserve d'entropie, le procédé peut se terminer ou peut recommencer depuis le début, par exemple à partir de l'étape 201 ou 202, en vue de générer une nouvelle suite de bits aléatoires dans la réserve d'entropie. Si le seuil C n'est pas encore atteint (N), les étapes 203 à 210 du procédé sont réitérées. La figure 3 illustre schématiquement un exemple d'un mode de réalisation d'un procédé de détection d'attaque d'une source d'entropie. Sur cette figure, on a représenté une séquence 301 de C+1 échantillons numériques Sk, avec k entier allant de 0 à C et C entier, fournis par une source d'entropie. Les échantillons Sk sont par exemple des échantillons conditionnés présentant tous le même nombre de bits et présentant tous sensiblement la même quantité d'entropie. Le nombre C+1 d'échantillons de la séquence 301 correspond par exemple au nombre d'échantillons nécessaire pour générer une suite de N bits aléatoires exploitable par l'application considérée.
B12827 - DD14582SP 10 Selon un aspect des modes de réalisation décrits, on prévoit de compter le nombre de fois qu'une même valeur d'échantillon se répète successivement à au moins deux périodicités distinctes dans la séquence 301.
En d'autres termes, on définit une pluralité de périodicités ou échelles ei distinctes d'analyse de la séquence 301, avec i entier allant de 1 à Ne, Ne entier supérieur ou égal à 2, et ei entier supérieur ou égal à 1 et inférieur ou égal à C, et on prévoit, pour chaque périodicité ei, de compter le 10 nombre de fois qu'une même valeur d'échantillon se répète successivement dans une séquence constituée par un sous-échantillonnage, à un échantillon sur ei, de la séquence 301. Dans l'exemple de la figure 3, le nombre Ne de périodicités d'analyse ei distinctes de la séquence est égal à 15 4, avec el = 1, e2 = 2, e3 = 3 et e4 = 4. Dans cet exemple, on prévoit de compter : le nombre de fois qu'une même valeur d'échantillon se répète successivement dans la séquence constituée par les échantillons So, Si, S2, S3, ... etc. de la séquence 301 20 (périodicité el = 1); le nombre de fois qu'une même valeur d'échantillon se répète successivement dans la séquence constituée par les échantillons Si, S3, S5, S7, ... etc. de la séquence 301 (périodicité e2 = 2); 25 le nombre de fois qu'une même valeur d'échantillon se répète successivement dans la séquence constituée par les échantillons S2, S5, 58, Sil, ... etc. de la séquence 301 (périodicité e3 = 3); et le nombre de fois qu'une même valeur d'échantillon se 30 répète successivement dans la séquence constituée par les échantillons S3, S7, Sil, S15, --- etc. de la séquence 301 (périodicité e4 = 4). L'exemple de la figure 3 peut être généralisé à un nombre Ne de périodicités d'analyses différent, et/ou à des 35 valeurs de périodicités d'analyse ei différentes. A titre B12827 - DD14582SP 11 d'exemple, pour chaque périodicité d'analyse ei sélectionnée, on peut prévoir de compter le nombre de fois qu'une même valeur d'échantillon se répète successivement dans la séquence constituée par les échantillons Sei-1, Sei_ 1+ei, Sei-1+2*ei, Sei-1+3*ei, ---, Sei- l+n*ei, n étant le plus grand entier tel que ei-l+n*ei est inférieur ou égal à C. Le comptage, à plusieurs périodicités distinctes, du nombre de fois qu'une même valeur d'échantillon se répète successivement dans la séquence 301, permet avantageusement de détecter, dans la séquence 301, des répétitions de structures non détectables par les procédés de détection d'attaque existants. On peut ainsi détecter, de façon nettement plus fine qu'avec les procédés de détection d'attaque existants, une diminution de l'entropie présente dans le flot de données fourni par la source. Ceci permet de mettre en oeuvre des procédés de détection d'attaque particulièrement difficiles à contourner par un attaquant. En fonction des résultats du comptage, des actions de mise en sécurité du système utilisant la source d'entropie peuvent être prévues.
La figure 4 illustre schématiquement, sous forme de blocs, un exemple de réalisation préféré d'un procédé de détection d'attaque d'une source d'entropie, utilisant le comptage, à plusieurs périodicités distinctes, du nombre de fois qu'une même valeur d'échantillon se répète successivement dans le flot de données fourni par la source. Lors d'une étape 401 (Define ei), le nombre Ne (supérieur ou égal à 2) de périodicités d'analyse ei distinctes est sélectionné et les valeurs des différentes périodicités d'analyse ei sont initialisées. Les valeurs Ne et ei sont par 30 exemples saisies par un utilisateur et stockées dans une mémoire. Lors d'une étape 402 (Init Li, Di, Ai) postérieure à l'étape 401, pour chaque périodicité d'analyse définie à l'étape 401, c'est-à-dire pour i entier allant de 1 à Ne, on initialise, 35 par exemple à la valeur 0, une première valeur de comptage Li, B12827 - DD14582SP 12 ou valeur de comptage locale, une deuxième valeur de comptage Di, ou valeur de comptage globale, et une valeur d'échantillon Ai apte à stocker un échantillon fourni par la source d'entropie.
Lors d'une étape 403 (A1=S0, Count=1) postérieure à l'étape 402, le premier échantillon So de la séquence d'échantillons 301 à analyser est acquis et stocké dans la valeur Al. De plus, lors de cette étape, une valeur Count de comptage de cycles est initialisée à la valeur 1.
Lors d'une étape 404 (Wait for a new sample Sk) postérieure à l'étape 403, l'échantillon suivant Sk (avec k=Count dans cet exemple) de la séquence 301 est lu en sortie de la source d'entropie. Lors d'une étape 405 (Count=Count+1) postérieure à 15 l'étape 404, la valeur Count de comptage de cycles est incrémentée. Lors d'une étape 406 (if Count%ei=0, TEST1(Sk@ei)) postérieure à l'étape 405, pour chaque périodicité d'analyse ei définie à l'étape 401, si l'échantillon Sk est pertinent, c'est- 20 à-dire compris dans la suite d'échantillons à analyser à la périodicité ei, l'échantillon est soumis à un test de santé TEST1. Dans cet exemple, l'échantillon Sk est considéré comme pertinent à la périodicité ei si le rapport Count/ei est un nombre entier, c'est-à-dire si la valeur de comptage Count est 25 un multiple de la périodicité ei. Pour une périodicité d'analyse ei donnée, le test TEST1, illustré par la partie droite de la figure 4, comprend une première étape 431 (Count-ei ?) au cours de laquelle on vérifie si l'échantillon Sk est le premier échantillon de la 30 suite d'échantillons à analyser à la périodicité ei, c'est-à-dire, dans cet exemple, si la valeur de comptage Count est égale à ei. Si c'est le cas, la valeur d'échantillon Ai est mise à la valeur de l'échantillon Sk lors d'une étape 432 (Ai=Sk), et 35 le test TEST1 se termine.
B12827 - DD14582SP 13 Sinon, lors d'une étape 433 (Sk=Ai ?) postérieure à l'étape 431, on vérifie si la valeur de l'échantillon Sk est égale à la valeur Ai. Si c'est le cas, la valeur de comptage locale Li pour 5 la périodicité d'analyse ei est incrémentée lors d'une étape 434 (Li= Li+1). En outre, lors d'une étape 435 postérieure à l'étape 434, on vérifie si la valeur de comptage locale Li est supérieure à un seuil Tl. Si c'est le cas, une attaque est signalée lors d'une étape 436 (ALENA = TRUE), par exemple par la 10 mise à un état prédéfini d'une valeur ALARM, et le test TEST1 se termine. Si ce n'est pas le cas, le test TEST1 se termine à l'issue de l'étape 435. Si, à l'étape 433, la valeur de l'échantillon Sk est différente de la valeur Ai, lors d'une étape 437 postérieure à 15 l'étape 433, la valeur Ai est mise à la valeur de l'échantillon Sk, la valeur de comptage globale Di pour la périodicité d'analyse ei est augmentée d'une valeur égale à 2Li-1, et la valeur de comptage locale Li est réinitialisée, par exemple à la valeur 0. En outre, lors d'une étape 438 postérieure à l'étape 20 437, on vérifie si la valeur de comptage globale Di est supérieure à un seuil T2. Si c'est le cas, une attaque est signalée lors d'une étape 439 (ALARM = TRUE) et le test TEST1 se termine. Si ce n'est pas le cas, le test TEST1 se termine à l'issue de l'étape 438. 25 Lors de l'étape 406, le test TEST1 est répété pour chacune des périodicités d'analyse ei pour lesquelles l'échantillon Sk est pertinent. Dans cet exemple, lors d'une étape 407 (if S Di>T3, ALARM=TRUE) postérieure à l'étape 406, on vérifie si la somme S 30 des valeurs de comptage globales Di associées aux différentes périodicités d'analyse ei est supérieure à un seuil T3. Si c'est le cas, une attaque est signalée. De plus, dans cet exemple, lors d'une étape 408 (TEST2) postérieure à l'étape 407, un test supplémentaire peut 35 être mis en oeuvre si le nombre Ne de périodicités d'analyse B12827 - DD14582SP 14 distinctes considéré est supérieur ou égal à un seuil T4 et que l'une des valeurs de périodicité ei est égale à 1. Dans ce cas, lors de l'étape 408, si l'échantillon courant Sk est compris uniquement dans la suite d'échantillons à analyser à la périodicité ei=1, et n'est pas pertinent pour les autres périodicités ei, et si toutes les valeurs Ai sont identiques, alors une attaque est signalée. A titre d'exemple, le seuil T4 peut être égal au seuil Tl ou être du même ordre de grandeur que le seuil Tl, par exemple compris dans la gamme allant de T1-2 à T1+2. Lors d'une étape 409 (AIARM=TRUE ?) postérieure à l'étape 408, on vérifie si un attaque a été détectée, c'est-à-dire si une attaque a été signalée lors de l'une quelconque des étapes précédentes 406, 407 ou 408, par exemple par la mise à un état prédéfini d'une valeur ALARM de signalement d'attaque. Si une attaque a été détectée (Y), des actions de préservation de la sécurité du système peuvent être mises en oeuvre. Par exemple, la réserve d'entropie du système peut être entièrement réinitialisée, et le procédé peut recommencer à partir de l'étape 401 ou 402. Si aucune attaque n'a été détectée (N), le procédé se poursuit, et l'échantillon courant Sk peut être ajouté à la réserve d'entropie du système lors d'une étape 410 (Add sample to the pool).
Les étapes 404 et suivantes du procédé peuvent alors être réitérées jusqu'à ce que la valeur de comptage Count atteigne la valeur C. Les modes de réalisation décrits en relation avec la figure 4 permettent avantageusement de tester en continu, en cours d'utilisation, un flux d'échantillons fourni par une source d'entropie, au fur et à mesure de la fourniture des échantillons par la source. Un autre avantage des modes de réalisation décrits est qu'ils ne nécessitent qu'une faible quantité de ressources pour 35 être mis en oeuvre, notamment en termes de mémoire, de puissance B12827 - DD14582SP 15 de calcul, et d'énergie électrique. Ainsi, les modes de réalisation décrits sont compatibles avec des systèmes ne disposant que d'une faible quantité de ressources, notamment des petits dispositifs embarqués, par exemple des capteurs autonomes dans des réseaux de capteurs sans fil du type couramment désignés dans la technique par le sigle WSN, de l'anglais "Wireless Sensor Network". Un autre avantage des modes de réalisation décrits est que les critères de détection d'attaque sont aisément modulables et peuvent être ajustés par l'utilisateur, par exemple en fonction des risques d'attaque estimés, et/ou de la quantité de ressources disponible dans le système pour mettre en oeuvre la détection d'attaque. En particulier, le nombre Ne et les valeurs des périodicités d'analyse ei, ainsi que sur les seuils de détection (Tl, T2, T3 et T4 dans l'exemple de la figure 4) peuvent être ajustés. Les modes de réalisation de procédé de détection d'attaque décrits dans la présente demande peuvent être mis en oeuvre au moyen d'un circuit de traitement comportant des circuits électroniques dédiés, ou un microprocesseur, ou une combinaison des deux. A titre d'exemple, les valeurs Li, Di, Ai, Ne, ei, Count, C, Tl, T2 et T3 du procédé de la figure 4 peuvent être stockées dans des mémoires ou registres du circuit de traitement.
Des modes de réalisation particuliers ont été décrits. Diverses variantes et modifications apparaîtront à l'homme de l'art. En particulier, les modes de réalisation décrits ne se limitent pas à l'exemple particulier de procédé de détection d'attaque décrit en relation avec la figure 4. Plus généralement, à partir du comptage du nombre d'échantillons identiques successifs à au moins deux périodicités de comptage distinctes dans une séquence d'échantillons fournie par la source d'entropie, on pourra prévoir d'autres critères de détection d'attaque que ceux du procédé de la figure 4.
B12827 - DD14582SP 16 De plus, on a décrit ci-dessus des exemples de réalisation dans lesquels des échantillons fournis par une source d'entropie sont soumis à un procédé de détection d'attaque. A titre de variante, on peut prévoir, dans un système comportant plusieurs sources d'entropie, que chaque source d'entropie soit soumise à une détection d'attaque du type susmentionné, indépendamment des autres sources.

Claims (10)

  1. REVENDICATIONS1. Procédé de détection d'une attaque d'une source d'entropie (101 ; 204) au moyen d'un circuit de traitement (107), comportant les étapes suivantes : a) compter, au moyen d'une première valeur de comptage (Li), le nombre de fois qu'une même valeur d'échantillon (Sk) se répète successivement à une première périodicité (ei) dans une séquence (301) d'échantillons fournis par la source ; et b) compter, au moyen d'au moins une deuxième valeur de comptage (Li), le nombre de fois qu'une même valeur 10 d'échantillon (Sk) se répète successivement à au moins une deuxième périodicité (ei) dans ladite séquence (301).
  2. 2. Procédé selon la revendication 1, dans lequel une attaque est signalée lorsqu'au moins une desdites valeurs de comptage (Li) dépasse un premier seuil (Tl). 15
  3. 3. Procédé selon la revendication 1 ou 2, dans lequel, à chacune desdites périodicités de comptage (ei), on détermine la longueur (Li) de chaque suite d'au moins deux échantillons identiques successifs à ladite périodicité de comptage (ei), ainsi qu'une valeur de comptage globale (Di) égale à la somme 20 desdites longueurs (Li).
  4. 4. Procédé selon la revendication 3, dans lequel une attaque est signalée lorsque ladite valeur de comptage globale (Di) dépasse un deuxième seuil (T2).
  5. 5. Procédé selon la revendication 3 ou 4, dans lequel, 25 la somme des valeurs de comptage globales aux différentes périodicités de comptage (ei) est calculée.
  6. 6. Procédé selon la revendication 5, dans lequel une attaque est signalée lorsque ladite somme dépasse un seuil (T3).
  7. 7. Procédé selon la revendication 2 ou selon l'une 30 quelconque des revendications 3 à 6 en ce qu'elles dépendent de la revendication 2, dans lequel, si une attaque est signalée, une mémoire contenant une réserve d'entropie est réinitialisée.
  8. 8. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel lesdites étapes de comptage sont mise en oeuvreB12827 - DD14582SP 18 au fur et à mesure de la fourniture des échantillons (Sk) par la source (101 ; 204).
  9. 9. Dispositif de détection d'une attaque d'une source d'entropie (101 ; 204), comportant un circuit de traitement 5 (107) adapté à mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 8.
  10. 10. Ensemble (100) de fourniture d'une suite de bits aléatoires, comportant une source d'entropie (101) et un dispositif (107) de détection d'une attaque de ladite source 10 d'entropie selon la revendication 9.
FR1360484A 2013-10-28 2013-10-28 Procede et dispositif de detection d'attaque d'une source d'entropie Expired - Fee Related FR3012637B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1360484A FR3012637B1 (fr) 2013-10-28 2013-10-28 Procede et dispositif de detection d'attaque d'une source d'entropie

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1360484A FR3012637B1 (fr) 2013-10-28 2013-10-28 Procede et dispositif de detection d'attaque d'une source d'entropie

Publications (2)

Publication Number Publication Date
FR3012637A1 true FR3012637A1 (fr) 2015-05-01
FR3012637B1 FR3012637B1 (fr) 2015-12-25

Family

ID=50424355

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1360484A Expired - Fee Related FR3012637B1 (fr) 2013-10-28 2013-10-28 Procede et dispositif de detection d'attaque d'une source d'entropie

Country Status (1)

Country Link
FR (1) FR3012637B1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10380341B2 (en) 2016-04-01 2019-08-13 Qualcomm Incorporated Adaptive systems and procedures for defending a processor against transient fault attacks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009083022A1 (fr) * 2007-12-31 2009-07-09 Telecom Italia S.P.A. Procédé de détection d'anomalies dans un système de communication à l'aide de caractéristiques de paquets numériques
US20100106757A1 (en) * 2007-09-18 2010-04-29 Seagate Technology Llc Active Test and Alteration of Sample Times For a Ring Based Random Number Generator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106757A1 (en) * 2007-09-18 2010-04-29 Seagate Technology Llc Active Test and Alteration of Sample Times For a Ring Based Random Number Generator
WO2009083022A1 (fr) * 2007-12-31 2009-07-09 Telecom Italia S.P.A. Procédé de détection d'anomalies dans un système de communication à l'aide de caractéristiques de paquets numériques

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BERK SUNAR ET AL: "A Provably Secure True Random Number Generator with Built-In Tolerance to Active Attacks", IEEE TRANSACTIONS ON COMPUTERS, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 55, no. 1, 1 January 2007 (2007-01-01), pages 109 - 119, XP011151231, ISSN: 0018-9340 *
BOHL E ET AL: "A fault attack robust TRNG", ON-LINE TESTING SYMPOSIUM (IOLTS), 2012 IEEE 18TH INTERNATIONAL, IEEE, 27 June 2012 (2012-06-27), pages 114 - 117, XP032243089, ISBN: 978-1-4673-2082-5, DOI: 10.1109/IOLTS.2012.6313851 *
DANIEL R.L. BROWN: "Formally assessing cryptographic entropy", EPRINT.IACR.ORG, 9 December 2011 (2011-12-09), XP055026744, Retrieved from the Internet <URL:http://eprint.iacr.org/cgi-bin/getfile.pl?entry=2011/659&version=20111209:210029&file=659.pdf> [retrieved on 20120509] *

Also Published As

Publication number Publication date
FR3012637B1 (fr) 2015-12-25

Similar Documents

Publication Publication Date Title
ES2703983T3 (es) Generador de números aleatorios verdaderos
Nie et al. Practical and fast quantum random number generation based on photon arrival time relative to external reference
JP4486961B2 (ja) 乱数取出し方法及びこれを用いた乱数生成装置
CN104461830B (zh) 监控进程的方法和装置
KR20140045235A (ko) 광원과 단일광자검출기를 이용한 난수 생성 방법 및 장치
KR102559582B1 (ko) 테스트 회로를 갖는 이미지 센서
CN103713879A (zh) 基于光子到达时间的无偏高速量子随机数发生器
AU2017325101B2 (en) Tunable tunnel diode-based digitized noise source
US9164729B2 (en) Method and apparatus for generating random numbers using a physical entropy source
WO2011121218A1 (fr) Générateur de séquences chaotiques et système de génération correspondant
Xu et al. A $16\times 16$ Pixel Post-Processing Free Quantum Random Number Generator Based on SPADs
FR3012637A1 (fr) Procede et dispositif de detection d&#39;attaque d&#39;une source d&#39;entropie
Khan et al. Investigation on pseudorandom properties of chaotic stream ciphers
WO2014096363A1 (fr) Generateur de sequences chaotiques
Garcia-Bosque et al. Fast and secure chaotic stream cipher with a MEMS-based seed generator
EP3438865A1 (fr) Détection d&#39;attaque par comptage d&#39;instruction de branchement
FR3011995A1 (fr) Transmission serie a faible niveau d&#39;interferences electromagnetiques
MX352347B (es) Metodo para identificar por lo menos un contenido dentro de una corriente de datos.
KR20080090135A (ko) Prbs 패턴에서 비트 에러율 테스트 방법
CN108512656B (zh) 一种高速足熵数字物理噪声源装置
JP2019021137A (ja) 乱数信号発生器及び乱数信号発生方法
FR2888350A1 (fr) Generation de nombres de facon non deterministe
Lougovski et al. An observed-data-consistent approach to the assignment of bit values in a quantum random number generator
Siswanto et al. Parallel Quantum Random Number Generator (p-QRNG) Design for Enhancing Data Rate
Li et al. A simplified approach for designing secure random number generators in HW

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

ST Notification of lapse

Effective date: 20180629