network security - random numbers

14
Fakult ¨ at f ¨ ur Informatik Technische Universit¨ at M ¨ unchen Network Security Random Numbers Cornelius Diekmann Lehrstuhl f ¨ ur Netzarchitekturen und Netzdienste Institut f ¨ ur Informatik Technische Universit¨ at M ¨ unchen Version: November 21, 2015 IN2101, WS 15/16, Network Security 1

Upload: others

Post on 02-Jun-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Network SecurityRandom Numbers

Cornelius Diekmann

Lehrstuhl fur Netzarchitekturen und NetzdiensteInstitut fur Informatik

Technische Universitat Munchen

Version: November 21, 2015

IN2101, WS 15/16, Network Security 1

Page 2: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

What does ‘Random’ mean?

Random noise in your browser: Safari (top); V8 (bottom).CC-BY 2.0, Mike Malone, Betable CTO, https://medium.com/@betable/tifu-by-using-math-random-f1c308c4fd9d

IN2101, WS 15/16, Network Security 2

Page 3: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Entropy

I “randomness” can be described by unpredictabilityI A measure for “unpredictability” is “entropy”I Let X be a random variable which outputs a sequence of n bitsI The Shannon information entropy is defined by:

H(X ) = −∑

x

P(X = x)ln2(P(X = x))

I Entropy is maximized for a uniform distributionI I.e. every Bit is equally likelyI Def.: truly random

I In this case: H(X ) = n

IN2101, WS 15/16, Network Security 3

Page 4: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Entropy: Example

I A key of 128 Bit should have an entropy of 128I What about the password TTTTTTTTTTTTTTTT?

I 16 8-bit characters, 128 Bit. Entropy?I If all bits chosen uniformly at random, entropy is 128I Assume the attacker knows it’s ASCIII Ascii: every 8th Bit is zero: entropy at most 112I Assume attacker knows that it consists of 16 equal charactersI All 16 Characters are equal: entropy at most 7I Assume the attackers knows the passwors is printableI Entropy is about 6.66

IN2101, WS 15/16, Network Security 4

Page 5: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Entropy: Example

I A key of 128 Bit should have an entropy of 128I What about the password TTTTTTTTTTTTTTTT?I 16 8-bit characters, 128 Bit. Entropy?I If all bits chosen uniformly at random, entropy is 128

I Assume the attacker knows it’s ASCIII Ascii: every 8th Bit is zero: entropy at most 112I Assume attacker knows that it consists of 16 equal charactersI All 16 Characters are equal: entropy at most 7I Assume the attackers knows the passwors is printableI Entropy is about 6.66

IN2101, WS 15/16, Network Security 4

Page 6: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Entropy: Example

I A key of 128 Bit should have an entropy of 128I What about the password TTTTTTTTTTTTTTTT?I 16 8-bit characters, 128 Bit. Entropy?I If all bits chosen uniformly at random, entropy is 128I Assume the attacker knows it’s ASCIII Ascii: every 8th Bit is zero: entropy at most 112

I Assume attacker knows that it consists of 16 equal charactersI All 16 Characters are equal: entropy at most 7I Assume the attackers knows the passwors is printableI Entropy is about 6.66

IN2101, WS 15/16, Network Security 4

Page 7: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Entropy: Example

I A key of 128 Bit should have an entropy of 128I What about the password TTTTTTTTTTTTTTTT?I 16 8-bit characters, 128 Bit. Entropy?I If all bits chosen uniformly at random, entropy is 128I Assume the attacker knows it’s ASCIII Ascii: every 8th Bit is zero: entropy at most 112I Assume attacker knows that it consists of 16 equal charactersI All 16 Characters are equal: entropy at most 7

I Assume the attackers knows the passwors is printableI Entropy is about 6.66

IN2101, WS 15/16, Network Security 4

Page 8: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Entropy: Example

I A key of 128 Bit should have an entropy of 128I What about the password TTTTTTTTTTTTTTTT?I 16 8-bit characters, 128 Bit. Entropy?I If all bits chosen uniformly at random, entropy is 128I Assume the attacker knows it’s ASCIII Ascii: every 8th Bit is zero: entropy at most 112I Assume attacker knows that it consists of 16 equal charactersI All 16 Characters are equal: entropy at most 7I Assume the attackers knows the passwors is printableI Entropy is about 6.66

IN2101, WS 15/16, Network Security 4

Page 9: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Collecting Entropy

I Hardware-based; physical phenomenaI time between emission of particles during radioactive decayI thermal noise from a semiconductor diode or resistorI frequency instability of a free running oscillatorI the amount a metal insulator semiconductor capacitor is charged

during a fixed period of timeI noise of microphone or camera

I Software-basedI the system clockI elapsed time between keystrokes or mouse movementI buffersI user inputI OS stats, e.g. network load

I Attacker must not be able to guess/influence the collected values

IN2101, WS 15/16, Network Security 5

Page 10: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Cheap Randomness

I Getting entropy is expensive

I Pseudo-Random Number Generator (PRNG):I Deterministic algorithmI Input: truly random binary sequence of length, seedI Output: sequence of random-looking numbers

I seed: small amount of initial entropy

IN2101, WS 15/16, Network Security 6

Page 11: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

PRNG – Example

I linear congruential generator

yi = a · yi−1 + b MOD q

I predictable→ not cryptographic!

IN2101, WS 15/16, Network Security 7

Page 12: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Cryptographically Secure Pseudo Random NumberGenerator – CSPRNG

I The length of the seed should be large enough to makebrute-force search over all seeds infeasible

I The output should be indistinguishable from truly randomsequences

I no polynomial-time algorithm can correctly distinguish between anoutput sequence of the generator and a truly random sequence

I The output should be unpredictable for an attacker with limitedresources, without knowledge of the seed

IN2101, WS 15/16, Network Security 8

Page 13: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Quiz

I A CSPRNG produces a bitstring of 2048 bitI What is the max. possible entropy of this string?

I Length of the seed

IN2101, WS 15/16, Network Security 9

Page 14: Network Security - Random Numbers

Fakultat fur Informatik Technische Universitat Munchen

Quiz

I A CSPRNG produces a bitstring of 2048 bitI What is the max. possible entropy of this string?I Length of the seed

IN2101, WS 15/16, Network Security 9