GÉNÉRATEURS DE NOMBRES VRAIMENT ALÉATOIRES À HAUT
DÉBIT ET À QUALITÉ CONTRÔLÉE EN TEMPS-RÉEL
Renaud Santoro, Olivier Sentieys, Arnaud Tisserand
28 avril 2010
IRISA/INRIA, équipe Cairn - Université de Rennes 1, France
PLAN
1 INTRODUCTION
2 TRNG
3 ANALYSE DE LA GIGUE
4 MÉTHODOLOGIE D’ÉVALUATION SUR PUCE DES TRNG
5 CONCLUSIONS ET PERSPECTIVES
PLAN
1 INTRODUCTION
2 TRNG
3 ANALYSE DE LA GIGUE
4 MÉTHODOLOGIE D’ÉVALUATION SUR PUCE DES TRNG
5 CONCLUSIONS ET PERSPECTIVES
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
Générateurs de nombres aléatoires (RNG)
Objectif : produire une séquence binaire aléatoire (x0, x1, ..., xn)2
Indépendante
Imprédictible
Uniformément répartie
Deux grandes familles de RNGGénérateur pseudo-aléatoire (PRNG)
Algorithmes déterministes, Débit élevé, implantation générique/ Sortie aléatoire périodique, qualité dépend du seed (germe)
Générateur vraiment aléatoire (TRNG)
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 3 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
Générateur vraiment aléatoire (TRNG)
Source bruit physique
EchantillonnageBruit
Te
DASPost-traitement Nombres
aléatoires internes
DAS: signal analogique échantillonné
Source de bruit physique
Bruit thermiqueGigue
Déviation d’un signal par rapport à son comportement idéalInfluencée par l’environnement extérieur et par l’activité du circuit
Unité de post-traitement
Corriger les imperfections du signal analogique échantillonné (DAS)
Généralement requise dans la construction des TRNG
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 4 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
Comment produire une séquence aléatoire à haut débit ?
Bilan des RNG
PRNG rapide mais déterministe
TRNG vraiment aléatoire mais plus lent
⇒ RNG hybride (HRNG) = TRNG pour les germes + PRNG pour la vitesse
germePRNG
Nombres vraiment aléatoires
Nombres pseudo-aléatoires
TRNG
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 5 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
Evaluation de l’aléa d’un RNG
Evaluation de l’aléa d’un RNG
Mathématiquement difficile, voire impossible
AlternativesPRNG
Tests statistiques : D. Knuth [Knu78], Diehard [MZ93], NIST [RSNMS01]
TRNGMesure de la source d’aléa (e.g. jitter)
Tests statistiquesAIS 31FIPS 140-2
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 6 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
Objectifs
Génération de nombres aléatoiresuniformes à très haut débit
PRNG v.a. uniformes
v.a. normales
TRNG
Sélectionner un TRNG parmi les générateurs existants est difficile
TRNG sont tous validés sur des cibles différentes
Pas de comparaison entre TRNG existants
Comment s’assurer de la qualité des TRNG ?
Analyse temps réel
Sans influence de l’extérieur
Optimisation des débits
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 7 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
Contributions
1 - Étude et comparaison de la qualité des TRNG
Mesure de la source d’aléa deTRNGProposition d’uneméthodologie d’analyse surpuce
Utilisation de testsstatistiques embarquésEvaluation qualitative deTRNGRobustesse aux attaques
TRNG TRNG TRNG
Résultats
FPGA
Variations de l’environnement
Attaques sur l’alimentation
Variations de l’activité
Tests statistiques matériels
2 - Génération de nombres aléatoires
Uniformes
Gaussiens (non développé ici)
à très haut débit et avec mécanisme d’évaluation de la qualité en temps réel
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 8 / 39
PLAN
1 INTRODUCTION
2 TRNGQUELQUES ARCHITECTURES DE TRNGÉVALUATION DE LA QUALITÉ D’UN TRNG
3 ANALYSE DE LA GIGUE
4 MÉTHODOLOGIE D’ÉVALUATION SUR PUCE DES TRNG
5 CONCLUSIONS ET PERSPECTIVES
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
QUELQUES ARCHITECTURES DE TRNG
TRNG basé sur l’échantillonnage d’oscillateurs
TRNG 1 : Sunar et al. [SMS07]
D Q
Clk
Post-traitement:Fonction résiliente
[256,16,113]BCH code
SortieN1pτ
2RO
1RO
114RO
Arbre XOR
F IGURE: TRNG proposé par Sunar et al. [SMS07].
Basé sur l’échantillonnage de la gigue de phase produite par un grandnombre d’oscillateurs à anneau (RO)
Avantages : modèle de gigue d’un RO connu, débit relativement élevé,implantation génériqueInconvénients : nombre important de RO, coûteux en surface, corrélationpossible entre RO
Configuration [SMS07] : 114 RO de 13 inverseurs et code BCH[256,16,113], fCLK = 40 MHzXilinx Virtex XC2VP30, 2.5 Mb/s
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 9 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
QUELQUES ARCHITECTURES DE TRNG
TRNG basé sur l’échantillonnage d’oscillateurs
TRNG 2 : Dichtl et al. [DG07]
1−rf 2f2−rf 1f
output
F IGURE: Oscillateur à anneau de Galois (GARO) [Gol06].
GARO
D Q
CLK
D Q Output bit
F IGURE: TRNG proposé par Dichtl et al. [DG07].
Mode redémarrage : ré-initialisation du TRNG à chaque génération debit aléatoire
Xilinx Spartan-3 FPGA, 6.25 Mb/s
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 10 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
QUELQUES ARCHITECTURES DE TRNG
Comparaison de la performance de TRNG
Type TRNG Source DébitSource numérique
Ampli. Bagini et al. [BB99] Non Inc.Ampli. Jun et al. [JK99] Non 75 Kb/s
OS. Tkacik et al. [Tka02] Oui Inc.OS. Tsoi et al. [TLL03] Non 29 Kb/sOS. Kohlbrenner et al. [KG04] Oui 295 Kb/s (FPGA)OS. Fischer et al. [FDvB04] Oui 1 Mb/s (FPGA)OS. Sunar et al. [SMS07] Oui 2.5 Mb/s (FPGA)OS. Dichtl et al. [DG07] Oui 6.25 Mb/s (FPGA)
Méta. Danger et al. [DGH09] Oui 20 Mb/sMéta. Vasyltsov et al. [VHKK08] Oui 35 Mb/s - 50 Mb/s (ASIC)
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 11 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
ÉVALUATION DE LA QUALITÉ D’UN TRNG
FIPS 140-2
2 × 104 bits
Quatre tests statistiques
Pas de différence entre DAS etsortie du TRNG
Source bruit physique
EchantillonnageBruit
Te
DASPost-traitement Nombres
aléatoires internes
DAS: signal analogique échantillonné
Frequency test : 9725 < n1 < 10275
Poker test X 215 = 24
5×103
(
∑15i=0 n2
i
)
− 5 × 103 ∈]2.16; 46.17[
Run test : vérifie que l’oscillation entre les 1 et les 0 n’est pas trop rapide
Long run test : vérifie qu’aucun run ≥ 26
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 12 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
ÉVALUATION DE LA QUALITÉ D’UN TRNG
AIS 31
TRNG
P1-TRNG P2-TRNG
Génération de clés aléatoires
Analyse du DAS et de la sortie du TRNG
Pas de différence entre analyse du DAS et de la sortie du TRNG
Analyse d’une grande séquence binaireClasse P2-TRNG teste aussi le DAS
9 tests statistiques : T0-T8T0-T5 : appliqués aux nombres aléatoires internesT1-T4 : tests du FIPS 140-1T6-T8 : appliqués aux DAST6 : test d’uniformité (2 sous-tests)T7 : test de la distribution (2 sous-tests)T8 : test d’entropie [Cor99]
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 13 / 39
PLAN
1 INTRODUCTION
2 TRNG
3 ANALYSE DE LA GIGUE
4 MÉTHODOLOGIE D’ÉVALUATION SUR PUCE DES TRNG
5 CONCLUSIONS ET PERSPECTIVES
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
Mesure de la gigue en sortie d’un RO
Gigue : source physique d’aléa du TRNGSunar et al.
Débit = f(
σ2gigue
)
Hypothèse : gigue ; N
(
0, σ2gigue
)
ExpérienceMesurer la gigue cycle à cycle produite par un RO du TRNG Sunar et al.
FPGA : Xilinx Virtex 4 SX35, Altera Stratix IIGigue cycle à cycle
A l’instant i : Ti − Ti−1Montre la gigue déterministe dans le domaine temporel [Fah05]
Méthode et appareils de mesures
Agilent DSA91304A Infiniiumoscilloscope (13 GHz, 40 GSa/s)
Agilent 1169A 12 GHz Infinimaxprobe
Bande passante de l’oscilloscopeest réduite à 1 GHz
Analyse sur 20 × 106 échantillons FPGA
RO
Activité
Oscilloscope
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 14 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
MESURE AU SEIN D’UN FPGA ALTERA STRATIX II
F IGURE: Gigue cycle à cycle sans activité autour du RO.
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 15 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
MESURE AU SEIN D’UN FPGA ALTERA STRATIX II
F IGURE: Gigue cycle à cycle avec activité autour du RO.
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 16 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
MESURE AU SEIN D’UN FPGA XILINX VIRTEX 4
F IGURE: Gigue cycle à cycle sans activité autour du RO.
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 17 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
MESURE AU SEIN D’UN FPGA XILINX VIRTEX 4
F IGURE: Gigue cycle à cycle avec activité autour du RO.
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 18 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
CONCLUSIONS SUR L’EXPÉRIMENTATION
Autres expérimentations
Variation température
Modulation d’alimentation
Gigue varie en fonction du FPGA utilisé et de son activité
Présence éventuelle de parties déterministes dans le spectre
Corrélation
FPGA Altera Stratix II moins sensible à l’activité que le Xilinx Virtex 4
⇒ Débit des TRNG doit être adapté
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 19 / 39
PLAN
1 INTRODUCTION
2 TRNG
3 ANALYSE DE LA GIGUE
4 MÉTHODOLOGIE D’ÉVALUATION SUR PUCE DES TRNGMÉTHODOLOGIE PROPOSÉE
COÛT MATÉRIEL DES TESTS STATISTIQUES
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNGARCHITECTURE DU CIRCUIT ASIC OCHRE V2
5 CONCLUSIONS ET PERSPECTIVES
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
MÉTHODOLOGIE PROPOSÉE
MÉTHODOLOGIE PROPOSÉE
Objectif : proposer une méthoded’évaluation des TRNG permettant
Analyse rapide et efficace dela qualité
Optimisation des débits
Proposition de mécanismesd’évaluation temps réel
Cible : FPGA Xilinx V5 SX50
TRNG testés
TRNG
DAS
Sortie TRNG
TRNG
DAS
Tests statistiques embarqués
FIPS 140-2
AIS 31
FIPS 140-2
AIS 31
Horloge reconfigurable
dynamiquement
Résultats
FPGA
Sortie TRNG
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 20 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
COÛT MATÉRIEL DES TESTS STATISTIQUES
Coût matériel du FIPS 140-2
FPGA Xilinx Virtex 5SX50
LUT 712 (2%)DSP48 1 (0.35 %)
Fréq. max. (MHz) 146.13 MHz
TABLE: Résultats d’implantation duFIPS 140-2 sur cible FPGA Xilinx VirtexV SX50.
Surface (µm2) 29981.6Puissance (mW ) 7.37Fréq. max. (MHz) 164.47 MHz
TABLE: Surface totale, puissancedynamique consommée et chemincritique en utilisant une technologieCMOS 130 nm, 1.2V.
IP disponible
Transfert technologique vers une société spécialisée dans le domaine dela sécurité
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 21 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
COÛT MATÉRIEL DES TESTS STATISTIQUES
COÛT MATÉRIEL DE L’AIS 31 COMPLET
Tests
T1 Nb LUT 32Fréq. Max 345.542 MHz
T2 Nb LUT 178Fréq. Max 125.73 MHz
T3 Nb LUT 244Fréq. Max 271.22 MHz
T4 Nb LUT 42Fréq. Max 287.27 MHz
T5 Nb LUT 189BRAM 1
Fréq. Max 288.6 MHzT6a Nb LUT 81
Fréq. Max 314.56 MHz
IP disponible
Tests
T6b Nb LUT 245Fréq. Max 221 MHz
T7a Nb LUT 919Fréq. Max 90.67 MHz
T7b Nb LUT 1620Fréq. Max 90.58 MHzNb LUT 499
T8 Fréq. Max 84.2 MHzBRAM 7DSP48 32
Nb LUT 4042 (10%)Total Fréq. Max 84.2 MHz
BRAM 8 (6%)DSP48 32 (11%)
Complexité supérieure auFIPS 140-2
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 22 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
Procédure expérimentale (1)
Débits : 1.03 Mb/s ⇒ 10.65 Mb/s (avec pas de 343.7 Kb/s)
Pour chaque débit1000 analyses
14 tests statistiques :10 AIS 31 + 4 FIPS 140-2
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 23 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
EXEMPLE : RÉSULTATS DU poker test (T2)
1 2 3 4 5 6 7 8 9 10 11
x 106
0
10
20
30
40
50
60
70
80
90
100
Débits (Mbits/s)
Tau
x d’
éche
c (%
)
Dichtl et al.Sunar et al.
24
5 × 103
(
15∑
i=0
n2i
)
− 5 × 103; χ
215 ∈]1.03;57.4[
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 24 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
EXEMPLE : RÉSULTAT DU TEST D’AUTOCORRÉLATION (T5)
1 2 3 4 5 6 7 8 9 10 11
x 106
0
10
20
30
40
50
60
70
80
90
100
Débits (Mbits/s)
Tau
x d’
éche
c (%
)
Dichtl et al.Sunar et al.
Zτ =5.103∑
j=1
(bj ⊕ bj+τ ) ∈]2326,2674[ pour τ ∈ {1, . . . , 5.103}
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 25 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
Procédure expérimentale (2)
Deux classes
Tw : DAS
T6a,T6b, T7a, T7b and T8
Tr : nombres aléatoires internes
frequency, T1, poker, T2, run,T3, long-run, T4 and T5
0
999
1000résultats
0
999
0
999
Tests Tr, Tw
% échec % échec % échec
80%0%
0% échec
]0%;10%] échec
]10%;30%] échec
>30% échec
Normalisation
Débits (Mb/s)
Nombre de test
1.03 1.373
343.7 Kb/s
10.65
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 26 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
ANALYSE DU BRUIT ÉCHANTILLONNÉ TRNG (TW)
0 2 4 6 8 10 120
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Débit (Mbits/s)
Nom
bre
de T
est
0 %]0%;10%]]10%;30%]]30%;100%]
F IGURE: Sunar et al. : débit maximal=8.59 Mb/s (2.5 Mb/s, Xilinx Virtex II[SMS07])
0 2 4 6 8 10 120
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Débit (Mbits/s)
Nom
bre
de T
est
0 %]0%;10%]]10%;30%]]30%;100%]
F IGURE: Dichtl et al. : débit maximal=6.53 Mb/s (6.25 Mb/s, Xilinx Spartan-3[DG07])
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 27 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
ANALYSE DES NOMBRES ALÉATOIRES INTERNES (TR)
0 2 4 6 8 10 120
1
2
3
4
5
6
7
8
9
Débit (Mbits/s)
Nom
bre
de T
est
0 %]0%;10%]]10%;30%]]30%;100%]
F IGURE: Sunar et al. : débit maximal=6.53 Mb/s (2.5 Mb/s, Xilinx Virtex II[SMS07])
0 2 4 6 8 10 120
1
2
3
4
5
6
7
8
9
Débit (Mbits/s)
Nom
bre
de T
est
0 %]0%;10%]]10%;30%]]30%;100%]
F IGURE: Dichtl et al. : débit maximal=5.5 Mb/s (6.25 Mb/s, Xilinx Spartan-3[DG07])
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 28 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
CONCLUSION DE L’EXPÉRIENCE
Méthodologie permettant deTrouver le débit optimalRobustesse aux attaques éventuelles
Diminuer le débit des TRNG n’améliore pas forcément la qualité
TRNG proposé par Sunar et al. est plus robuste que celui de Dichtl et al.Mais plus complexe en surface et puissance consommée
Utilisation de la méthode pour rechercher la règle optimale du CA à 5voisins
⇒ Vers une architecture de TRNG avec évaluation statistique temps réel
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 29 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
PRÉSENTATION DE L’ARCHITECTURE ET DU CIRCUIT DÉVELOPPÉS (V1)
TRNGSunar et al
Contrôle temps réelFIPS 140-2
Buffer
Bits vraiment aléatoires
Bits vraiment aléatoires validés
PRNGAES-128
Mode OFB
Bits pseudo-aléatoires
F IGURE: Architecture réalisée en collaboration avec l’entreprise.
Partenariat avec une entreprise spécialisée dans le domaine de lasécurité
Cryptographie quantique, besoin d’un RNG de très bonne qualité,implantation FPGA, pas de contrainte de surface pour le TRNG
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 30 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
IMPLANTATION ASIC D’UN RNG HYBRIDE AVEC MÉCANISME D’ÉVALUATION TEMPS RÉEL
Objectif : étudier la qualité de TRNG sur cible ASIC en fonctionEnvironnement extérieur, variation température, modulationd’alimentation, autres attaques
TRNGSchellekens et al.
Contrôle temps réelFIPS 140-2
Buffer
Bits vraiment aléatoires
Bits vraiment aléatoires validés
PRNGAutomateCellulaire
Bits Pseudoaléatoires
ASIC
R0 101
Résultats
R0 33
Bits vraiment Aléatoires externes
Circuit OchreV1 fabriqué enFévrier 2009 via le CMP
130 nm, 1 mm2
Encapsulé en Août 2009
Testé et validé (100%)
“Work in progress”
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 31 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
EVALUATION ET RECHERCHE DU DÉBIT OPTIMAL DES TRNG
PREMIERS RÉSULTATS DE VALIDATION DU CIRCUIT OCHRE V1
F IGURE: Visualisation du bruitéchantillonné en sortie du TRNGSchellekens et al.
Tests Débit (Mb/s)1.25 1.875
Freq. 100 100Poker 100 99.85Run 100 99.7
Long Run 100 99.75
TABLE: Pourcentage de réussite (en %)du TRNG Schellekens et al. aux testsFIPS 140-2 (analyse de 2 × 1010 bits).
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 32 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
ARCHITECTURE DU CIRCUIT ASIC OCHRE V2
ARCHITECTURE DU CIRCUIT OCHREV2
Sunar
Vasyltsov
Dichtl
Yoo
AIS31
FIPS140-2
Bits vraiment aléatoires filtrés
AES-128Bits pseudo aléatoires
Rayleigh
Box-Muller
Résultats tests statistiques
Variables aléatoires
Rayleigh
Normales
Uniformes
Intérêt du circuit :
Analyser la qualité de quatreTRNG
Attaques
U : 2.57 Gb/s
R : 3.29 Gb/s
N (0, 1) : 6.53 Gb/s
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 33 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
ARCHITECTURE DU CIRCUIT ASIC OCHRE V2
ARCHITECTURE DU CIRCUIT OCHRE V2
F IGURE: Layout du circuit en technologie 130 nm, surface totale 3.6 mm2.
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 34 / 39
PLAN
1 INTRODUCTION
2 TRNG
3 ANALYSE DE LA GIGUE
4 MÉTHODOLOGIE D’ÉVALUATION SUR PUCE DES TRNG
5 CONCLUSIONS ET PERSPECTIVES
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
CONCLUSIONS
CONCLUSIONS
TRNG
Choisir un TRNG parmi les générateurs est difficile
Pas de comparaison entre eux
Véritable besoin d’outils de comparaison des performances
Méthodologie proposée
Analyse rapide et efficace de la qualité des TRNG
Basée sur des tests statistiques embarqués (IP générique)Evaluation et comparaison de la qualité des TRNG en fonction
du FPGA utilisé et de son activitéde l’environnement extérieur
Evaluation des deux TRNG montre que
Sunar et al. semble plus robuste mais beaucoup plus coûteux
Dichtl et al. représente un meilleur compromis
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 35 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
CONCLUSIONS
CONCLUSIONS
RNG hybride avec mécanismes de tests en ligne de la qualité du germe
Robustesse vis à vis des attaques
Meilleur qualité de l’aléa
Collaboration avec une entreprise spécialisée en cryptographie
Embarqué dans deux produits commerciaux
Validé par la DCSSI
Mécanismes de tests en ligne
Validation : condition nécessaire mais pas suffisante
Les tests doivent être accompagnés d’une analyse de la source de bruitphysique
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 36 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
CONCLUSIONS
CONCLUSIONS
Source de bruit physique
BruitPost-traitement
Séquence aléatoire interne
FPGA
FiltrageMécanisme de test en
ligne
Séquence aléatoire validée
PRNGSéquence pseudo-aléatoire uniforme
DAS
Alarme externe
Loi normale
Loi Rayleigh
Variables aléatoires normales
Variables aléatoires de Rayleigh
Variables aléatoires uniformes
TRNG
Test de la source de bruit
- Variations températures- Modulation de la tension alimentation
F IGURE: Architecture d’un système complet.
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 37 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
TRAVAUX EN COURS
TRAVAUX EN COURS
Mesure sur puce de la gigue (en cours)
Validation temps réel des caractéristiques de gigue
Peu coûteuse
Facilement implantable
Etude de la corrélation entre tests statistiques et mesures de gigue
Analyse des circuits Ochre
Etude des TRNG face à des attaques non-invasives
Ochre V1 (en cours)
Ochre V2 (Q4 2010)
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 38 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
PUBLICATIONS
PUBLICATIONS
Conférences internationales
Renaud Santoro, Olivier Sentieys, and Sébastien Roy.On-line monitoring of random number generators for embedded security.In IEEE International Symposium on circuit and Systems, ISCAS, 2009.
Renaud Santoro, Olivier Sentieys, and Sébastien Roy.On-the-fly evaluation of FPGA-based true random number generator.In IEEE Computer Society Annual Symposium on VLSI, ISVLSI, 2009.
Renaud Santoro, Arnaud Tisserand, Olivier Sentieys, and Sebastien Roy.Arithmetic operators for on-the-fly evaluation of TRNGs.Volume 7444. SPIE, 2009.
Renaud Santoro, Sébastien Roy, and Olivier Sentieys.Search for optimal five-neighbor FPGA-based cellular automata random number generators.IEEE Symp. on Signals, Systems and Electronics, ISSSE, 2007.
Conférences internationales sans actes
Renaud Santoro.Evaluation of TRNGs under various experimental conditions.In Note : 7th International Workshop on Cryptographic Architectures Embedded in Reconfigurable Devices, 2009.
Renaud Santoro.Accelerating statistical tests for real-time estimation of randomness.In Note : 5th International Workshop on Cryptographic Architectures Embedded in Reconfigurable Devices, 2007.
Conférence nationale
Renaud Santoro.Évaluation de trng dans diverses conditions expérimentales. In Crypto’Puces, 2009.
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 39 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
PUBLICATIONS
[ABS05] Alimohammad A., Cockburn B.F., and C. Schlegel.Area-efficient parallel white gaussian noise generator.In Electrical and Computer Engineering, Canadian Conference on, 2005.
[AFCS08] Amirhossein Alimohammad, Saeed Fouladi Fard, Bruce F. Cockburn, and Christian Schlegel.A compact and accurate gaussian variate generator.IEEE Trans. Very Large Scale Integr. Syst., 16(5) :517–527, 2008.
[BB99] Vittorio Bagini and Marco Bucci.A design of reliable true random number generator for cryptographic applications.In Proc. Workshop Cryptographic Hardware and Embedded Systems (CHES’99), pages 204–218, London, UK, 1999.Springer-Verlag.
[Cor99] Jean-Sébastien Coron.On the security of random sources.Lecture Notes in Computer Science, 1560 :29–42, 1999.
[DG07] Markus Dichtl and Jovan Dj. Golic.High-speed true random number generation with logic gates only.In Proc. Workshop Cryptographic Hardware and Embedded Systems (CHES’07), pages 45–62, 2007.
[DGH09] J.-L. Danger, S. Guilleya, and P. Hoogvorsta.High speed true random number generator based on open loop structures in FPGAs.Microelectronics Journal, 2009.
[Fah05] Amr M. Fahim.Clock Generators for SOC Processors : Circuits and Architectures (Text, Speech & Language Technology).Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2005.
[FDvB04] V. Fischer, M. Drutarovský, M. Šimka, and N. Bochard.High performance true random number generator in Altera Stratix FPLDs.In J. Becker, M. Platzner, and S. Vernalde, editors, Field-Programmable Logic and Applications – FPL 2004, volume 3203 ofLecture Notes in Computer Science, pages 555–564, Antverp, Belgium, August 30–September 1, 2004. Springer-Verlag.
[Gol06] Jovan Dj. Golic.New methods for digital generation and postprocessing of random data.IEEE Trans. Comput., 55(10) :1217–1229, 2006.
[JK99] B. Jun and P. Kocher.The intel random number generator.Technical report, Intel Corporation, 1999.
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 39 / 39
INTRODUCTION TRNG ANALYSE DE LA GIGUE MÉTHODE ÉVALUATION TRNG CONCLUSIONS
PUBLICATIONS
[KG04] Paul Kohlbrenner and Kris Gaj.An embedded true random number generator for FPGAs.In FPGA ’04 : Proceedings of the 2004 ACM/SIGDA 12th international symposium on Field programmable gate arrays, pages71–78, New York, NY, USA, 2004. ACM Press.
[Knu78] Donald Ervin Knuth.The Art of Computer Programming, 2nd Ed. (Addison-Wesley Series in Computer Science and Information.Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1978.
[MZ93] G. Marsaglia and A. Zaman.Monkey tests for random number generators.Computers Math. Applic., 26(9) :1–10, 1993.
[RSNMS01] A. Rukhin, J. Soto, J. Nechvatal, and D.L. Banks M. Smid.A statistical test suite for random and pseudorandom number generators for statistical applications.NIST Special Publication in Computer Security, pages 800–22, 2001.
[SMS07] Berk Sunar, William J. Martin, and Douglas R. Stinson.A provably secure true random number generator with built-in tolerance to active attacks.IEEE Transactions on Computers, 56(1) :109–119, 2007.
[Tka02] T. E. Tkacik.A hardware random number generator.In Proc. Workshop Cryptographic Hardware and Embedded Systems (CHES’02), 2002.
[TLL03] K. H. Tsoi, K. H. Leung, and P. H. W. Leong.Compact FPGA-based true and pseudo random number generators.In FCCM ’03 : Proceedings of the 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines,page 51, Washington, DC, USA, 2003. IEEE Computer Society.
[VHKK08] Ihor Vasyltsov, Eduard Hambardzumyan, Young-Sik Kim, and Bohdan Karpinskyy.Fast digital TRNG based on metastable ring oscillator.In Elisabeth Oswald and Pankaj Rohatgi, editors, Proc. Workshop Cryptographic Hardware and Embedded Systems(CHES’08), volume 5154 of Lecture Notes in Computer Science, pages 164–180. Springer, 2008.
[Xil02] Xilinx.Superior jitter management with DLLs.Technical Report VTT013 (v1.2), Xilinx, 2002.
[email protected] Générateurs de nombres vraiment aléatoires à haut débit et à qualité contrôlée en temps-réel 39 / 39