RNs – RNGs Thomas Risse IIA, HSB, Germany Einführung PRNG-Kriterien TRNG-Kriterien Resumé Güte von Zufallszahlen – Qualität von Zufallszahlen-Generatoren Thomas Risse Institut für Informatik & Automation, IIA Fakultät E & I, Hochschule Bremen University of Applied Sciences [email protected]MathEng11, 30.9.2013 Hochschule Bochum, University of Applied Sciences
21
Embed
Einführung Güte von Zufallszahlen – Qualität von ... · RNs – RNGs Thomas Risse IIA, HSB, Germany Einführung PRNG-Kriterien TRNG-Kriterien Resumé Güte von Zufallszahlen
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
RNs – RNGs
Thomas RisseIIA, HSB, Germany
Einführung
PRNG-Kriterien
TRNG-Kriterien
Resumé
Güte von Zufallszahlen –Qualität von Zufallszahlen-Generatoren
Thomas RisseInstitut für Informatik & Automation, IIA
Fakultät E & I, Hochschule BremenUniversity of Applied Sciences
Title: Flaw in Android random number generator leaves Bitcoinwallets open to theft
Description: The official maintainers of the Bitcoin protocol havewarned this week that wallets generated by any Android-basedapplication are insecure due to flaws in the platform’s randomnumber generation scheme, leaving owners of such walletsvulnerable to theft due to the ease of cracking private keys. [. . . ]Users of such apps are encouraged to migrate away from insecurewallets through any feasible mechanism as soon as possible.Reference: http://bitcoin.org/en/alert/2013-08-11-android
www.taz.de/Digital-Waehrung-Bitcoin/!122041/ 18.8.13Als „privates Geld“ anerkannt!Die von Internetnutzern kontrollierte Währung wird vomBundesfinanzministerium künftig als „Rechnungseinheit“geführt. s.a. c’t 17/2011 S.74, 19/2013 S.78z.B. auch sans.org 13/08/31 [5], c’t 21/13 S.36 [19]
Güte von Zufallszahlen = Qualität ihrer GeneratorenWas ist schon zufällig? vgl. NIST [16], hier nur statistisch!In Deutschland legt das BSI Güte-Kriterien fest, einschlägig:
• AIS 20 und AIS 31 [2] Bewertung von RNGs
• AIS20 [10] seit 1999 für PRNGs, z.T. ohne Hintergrund
• AIS31 [11] von 2011 für TRNGs, eher mit Hintergrund, R
Wen kümmert’s?
RNs – RNGs
Thomas RisseIIA, HSB, Germany
Einführung
PRNG-Kriterien
TRNG-Kriterien
Resumé
Vorbemerkung’security by obscurity?’ ([1] = moving target)
• viele papers in vielen Versionen: de vs en, K1–K4 vs P1, P2
• mit hohem Grad an Formalismus/Verzeigerung
• mit Abkürzungsfimmel (FCS=?, EVG=Evaluationsgegenstand,TOE=Target of Evaluation, TSF = TOE Security Functionality)
Die folgenden Güte-Kriterien sind als Bausteine zu verstehen,die in unterschiedlichen, verhältnismäßig kompliziertenSettings für die Klassen (PTG.1-3, DRG.1-4, NTG.1) en.wikipedia.org
P1 ’Zufallszahlen machen die Krypto-Mechanismen resistentgegen Replay- und Korrelationsattacken.’
P2 ≈ wie P1 trotz Kenntnis von Vorgängern und Nachfolgern
und für die Widerstandsstärken niedrig, mittel, hoch zumEinsatz kommen.
Hier nicht berücksichtigt: Behandlung von Total-Ausfällen,Nachbearbeitung (Gleichverteilung, Glättung der Schiefe)
i=1 passiert denLongrun-Test, falls k` = 0 für alle ` ≥ 34.
P(k` = 0) =F (`)
n+22n mit den Fibonacci `-Schritt Zahlen [21]
F (`)k =
∑`i=1 F (`)
k−i mit F (`)k =0 für k ≤ 0 und F (`)
1 =F (`)2 =1.
SAGE: P(k34 = 0) ≈ 0.999999418854882 ≈ 1− 10−6
und P(k` = 0)↗ für `↗Schon überschlägig liefert SAGE übrigens:P(k` > 0 für mindestens ein ` ≥ 34) ≈ (n − 34)2−34 ≈1.16217415779829 · 10−6
RNs – RNGs
Thomas RisseIIA, HSB, Germany
Einführung
PRNG-Kriterien
TRNG-Kriterien
Resumé
Güte-Kriterien für PRNGs
Autokorrelationstest : HAC [14], NIST [16], BSI [10],[11] pp49
T5
Sei n = 20000 und T5τ =∑n/4
j=1 bj ⊕ bj+τ fürτ ∈ {1, 2, ..., n
4}. Die Bit-Folge(bi)n
i=1 passiert denAutokorrelationstest, falls |T5τ − n
8 | < 174 für alle τ .NB: hier ist nur die erste Hälfte der (bi) relevant!?!
Die T5τ sind näherungsweise N( n4
12 ,
n4
12
12 )-verteilt. Mit
SAGE u = 174√n/16
= 1.74·4√2≈ 4.92146319705837 gilt
P(|T5τ − n8 | < 174) = P(|U| < u) = 2Φ(u)− 1 ≈
0.99999914100 ≈ 1− 10−6 für N(0, 1)-verteiltes U.
RNs – RNGs
Thomas RisseIIA, HSB, Germany
Einführung
PRNG-Kriterien
TRNG-Kriterien
Resumé
Güte-Kriterien für PRNGsGleichverteilungstest : HAC 2bit, NIST
templatematching, BSI [10],[11] pp50
T6
Generiere wj ∈ {0, 1}k aus(bi)nk
i=1; T6x :=|{j:wj =x}|
n
ist relative Häufigkeit von x. Bit-Folge(bi)nk
i=1 passiertden Gleichverteilungstest für Parameter k , n und α,falls
∣∣T6x − 2−k∣∣ < α für alle x ∈ {0, 1}k .
Gleichverteilungstests sind verallgemeinerte Monobit-Tests!BSI [10],[11] p55 Test Procedure B:•T6 mit NB k = 1,n = 105 und α = 0.025. Explizit p51: (bi)
ni=1 passiert,
wenn |T6o − 12 | < α ? •T1 ? NB nur für ’PTRNG’.
Sei b ∈ {0, 1} und hb = #b in (bi)ni=1. unabhängig!
Güte-Kriterien für PRNGsMultinomial-, Homogenitätstest : BSI [10],[11] pp51
T7
Aus(bk)
k generiere wi,j ∈ {0, 1, ..., s−1} für i = 1, .., hj = 1, .., n
d.h. h unabhängige Wiederh. des j-ten Experimentes.Sei fi(t) = |{j : wij = t}| und pt = 1
hn
∑hi=1 fi(t).
Die Bit-Folge(bi)
i passiert den Multinomialtest fürh, s, n und α, falls T7 ≤ χ2(α, (h−1)(s−1)) mit
T7 =∑h
i=1
∑s−1t=o
(fi (t)−n pt )2
n pt
Nicht (mehr) aktuell: BSI-Beispiel für h = s = 2, d.h. i = 1, 2und template t = 0, 1 – angelehnt an [8], Test 76.Zwei n-elementige Stichproben wi,1,wi,2, . . . ,wi,n für i = 1, 2von je n bits. Bestimmeabsolute Häufigkeit fi (t) = |{j : wi,j = t}| von t je Stichprobe
relative Häufigkeit pt = f1(t)+f2(t)2n von t in beiden Stichproben
T7 =∑h
i=1
∑s−1t=o
(fi (t)−npt )2
nptist χ2-verteilt,
df = (h−1)(s−1) = 1 und laut BSI p37, Tabelle [10],[11] p46P(T7 ≥ 15.13) = α = 0.0001 ?
RNs – RNGs
Thomas RisseIIA, HSB, Germany
Einführung
PRNG-Kriterien
TRNG-Kriterien
Resumé
Güte-Kriterien für PRNGsBSI [10],[11] pp55 Test Procedure B schreibt (mit typos) dreiTests vor – bei NB drei verschiedene Darstellungen•T7 pp51,p56, pp58 NB•T7 nur für ’PTRNG’ trotz pp58 (typos)
) = L bit = Entropie von L-bit Blöcken einer ergodischenstationären Quelle sowie zu exakter Darstellung und folgendbesserer Approximation von c(L,K ) führt.NB Tabelle 1 für Var(log2(An)), d(L) und e(L) inc2(L,K ) = d(L)+e(L) · 2L/K in [3] für log2, in [4] für obiges g
BSI [10],[11] mit obigem g, typo auch in [12] SAGE σ ≈ 0.002vs BSI σ = 0.0014 und P(T8>7.976) = P(U>−10.64) ≈ 1 ?NB einseitig? im Widerspruch zu [13],[3],[4]
RNs – RNGs
Thomas RisseIIA, HSB, Germany
Einführung
PRNG-Kriterien
TRNG-Kriterien
Resumé
Güte-Kriterien für TRNGsNeben den Tests•T1 bis•T8 für PRNGs fordert BSI für TRNGs[10],[11] p.44, [12] p.35 zudem den Disjunktheitstest
T0
Generiere w1, ...,w216 ∈ {0, 1}48. TRNG passiert denDisjunktheitstest, if w1, ...,w216 mutually disjoint (p.44),if subsequent members are pairwise different (p.35).
Unabhängigkeit und P(b =0) = 12 = P(b =1) unterstellt, gilt
≈ 2−32.0000220141152 laut SAGE bzw. ≈ 2162−48 = 2−32
6= 2−17 rejection probability [10],[11] p.44 ? mit 2−17 ≈ 10−5 ?
sowie Nachweis/Beweis der Unabhängigkeit
• [12],S.12 nachvollziehbarer Nachweis per math. Modell• [12],S.32 Der Einfachheit halber wird angenommen, daß
die digitalisierten Rauschsignale unabhängig sind.Konkret: Aufgrund des mathematischen Modells kann dieVerteilung als stationär und unabhängig angenommenwerden.
RNs – RNGs
Thomas RisseIIA, HSB, Germany
Einführung
PRNG-Kriterien
TRNG-Kriterien
Resumé
Resumémeine Wünsche an die Darstellung
• Klarheit, z.B. konsistente Bezeichnungen in•T7
• keep it simple, z.B. Test procedure A und Test procedure B
• Redundanz eliminieren, z.B.•T7, Test procedure B,contingency table test
• Klärung: was ist z.B. eine ’typische Nutzung des TRNG’? [12]
m.E. gibt es reichlich Klärungsbedarf:
RNGs Einschluß-/Ausschluß-Kriterien für Tests?[16], [9] u.a.: binary matrix rank, DFT, templatematching, linear complexity, random walks . . . ?Irrtumswahrscheinlichkeiten?•T0 nicht auch fürPRNG? deutscher Sonderweg?
PRNG PRNG produziert immer dieselben nZufallszahlen, die die Tests bestanden haben?
(P)TRNG Wie kann man Unabhängigkeit beweisen?
RNs – RNGs
Thomas RisseIIA, HSB, Germany
Einführung
PRNG-Kriterien
TRNG-Kriterien
Resumé
References[1] BSI: Anwendungshinweise und Interpretationen (zum Schema), AIS;
[3] Jean-Sebastien Coron, David Naccache: An Accurate Evaluation ofMaurers Universal Test; Proc. of SAC’98; Springer LNCS 1998,http://www.jscoron.fr/publications/universal.pdf
[4] Jean-Sebastien Coron: On the Security of Random Sources; in H.Imai, Y. Zheng, Eds.: Public-Key Cryptography; LNCS vol. 1560, pp.29-42, Springer 1999 www.jscoron.fr/publications/entropy.pdf
[5] Yevgeniy Dodis, David Pointcheval, Sylvain Ruhault, DamienVergnaud, Daniel Wichs: Security Analysis of Pseudo-RandomNumber Generators with Input: /dev/random is not Robust; ACMConference on Computer and Communication Security, CCS,November 2013 http://eprint.iacr.org/2013/338.pdf
[7] Federal Information Processing Standards, FIPS,NIST: FIPS PUB 140 Security Requirements for Cryptographic Modules,NIST: FIPS PUB 186 Specifications for the Digital Signature Standard
[8] Gopal K. Kanji: 100 Statistical Tests; SAGE Publications 2006http://fcc-statistics.wikispaces.com/file/view/100+
Statistical+Tests.pdf
[9] Charmaine Kenny: Random Number Generators – An Evaluation andComparison of Random.org and Some Commonly Used Generators;Trinity College Dublin, April 2005,http://www.random.org/analysis/Analysis2005.pdf
[10] Wolfgang Killmann, Werner Schindler: Functionality Classes andEvaluation Methodology for Random Number Generators; s. [1]AIS20_Functionality_classes_for_random_number_generators.pdf
References”[11] Wolfgang Killmann, Werner Schindler: Functionality Classes and
Evaluation Methodology for Random Number Generators; s. [1] 2011AIS31_Functionality_classes_for_random_number_generators.pdf
[12] Wolfgang Killmann, Werner Schindler: Functionality Classes andEvaluation Methodology for True (Physical) Random NumberGenerators; s. [1], version 3.1, 2001AIS_31_Functionality_classes_evaluation_methodology_for_true_RNG_e.pdf
[13] Ueli M. Maurer: A Universal Statistical Test for Random BitGenerators; Journal of Cryptology, vol. 5, no. 2, 1992, pp. 89-105ftp://ftp.inf.ethz.ch/pub/crypto/publications/
Maurer92a.pdf
[14] Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone:Handbook of Applied Cryptography; CRC Press, October 1996http://cacr.uwaterloo.ca/hac/
[15] Thomas Risse: How SAGE helps to implement Goppa Codes and theMcEliece Public Key Crypto System; Ubiquitous Computing andCommunication Journal, UbiCC, ISSN 1992-8424, Special Issue on5th International Conference on Information Technology (ICIT’11)www.weblearn.hs-bremen.de/risse/papers/UbiCC11
[16] Andrew Rukhin et al: A Statistical Test Suite for Random andPseudorandom Number Generators for Cryptographic Applications;National Institute of Standards and Technology, NIST April 2010http://csrc.nist.gov/publications/nistpubs/
800-22-rev1a/SP800-22rev1a.pdf
[17] William A. Stein et al.: SAGE Mathematics Software – System forAlgebraic and Geometric Experimentation; www.SAGEmath.org
[18] Werner Schindler: Functionality Classes and Evaluation Methodologyfor Deterministic Random Number Generators; BSI, version 2.0, 1999AIS_20_Functionality_Classes_Evaluation_Methodology_DRNG_e.pdf
[19] Dan Shumow, Niels Ferguson: On the Possibility of a Back Door in theNIST SP800-90 Dual EC PRNG;http://rump2007.cr.yp.to/15-shumow.pdf
[20] Eric W. Weisstein: Run; MathWorld – A Wolfram Web Resourcehttp://mathworld.wolfram.com/Run.html
[21] Eric W. Weisstein: Fibonnacci; MathWorld – A Wolfram Web Resourcemathworld.wolfram.com/Fibonaccin-StepNumber.html