Asymmetric Cryptography Key Exchange 3 Recapitulation: Symmetric - - PowerPoint PPT Presentation

asymmetric cryptography key exchange
SMART_READER_LITE
LIVE PREVIEW

Asymmetric Cryptography Key Exchange 3 Recapitulation: Symmetric - - PowerPoint PPT Presentation

Network and Communications Security (IN3210/IN4210) Asymmetric Cryptography Key Exchange 3 Recapitulation: Symmetric Encryption One problem: key exchange Eve 6R4Y2 hlbMZ CB... Dear Dear Bob Decryption Bob Encryption .... ....


slide-1
SLIDE 1

Network and Communications Security (IN3210/IN4210)

Asymmetric Cryptography

slide-2
SLIDE 2

Key Exchange

3

slide-3
SLIDE 3

Network and Communications Security (IN3210/IN4210)

Recapitulation: Symmetric Encryption

  • One problem: key exchange

4

Dear Bob .... Encryption Decryption Dear Bob .... Symmectric Key 6R4Y2 hlbMZ CB...

Alice Bob Eve

Key Generator

slide-4
SLIDE 4

Network and Communications Security (IN3210/IN4210)

Diffie Hellman Key exchange

  • Creating common (symmetric) key only known to the communication

partners

  • Created by Whitfield Diffie and Martin Hellman in 1976

Image source: Wikipedia

5

slide-5
SLIDE 5

Network and Communications Security (IN3210/IN4210)

Illustration of DH Key Exchange

Image source: Wikipedia

6

slide-6
SLIDE 6

Network and Communications Security (IN3210/IN4210)

Logarithm

  • Choose (integer) b and a and calculate y = ba
  • Given just b and y can you calculate a?
  • Easy (logarithm): a = logb y
  • Example:

− b = 7, y = 13841287201, a = ?

7

slide-7
SLIDE 7

Network and Communications Security (IN3210/IN4210)

Modular Arithmetic

  • mod operator: x mod n

− remainder when performing an integer division of x and n

  • Example:

− 19 mod 3 = 1 (19 = 6 * 3 + 1) − 13 mod 3 = 1 (13 = 4 * 3 + 1) − 1234 mod 10 = 4 − 220 mod 10 = 6

8

slide-8
SLIDE 8

Network and Communications Security (IN3210/IN4210)

Discrete Logarithm

  • Choose integer b, a and n and calculate y = ba mod n
  • Given just b, n and y can you calculate a?
  • Example:

− b = 7, n = 1023, y = 439, a = ?

  • Hard problem: Discrete Logarithm Problem (DLP)
  • No simple calculation
  • Only (known) method: test all possible values for a (infeasible for large n)

9

slide-9
SLIDE 9

Network and Communications Security (IN3210/IN4210)

Diffie Hellman Key exchange

  • Alice and Bob agree on (public parameters):

− Large prime number p − Generator g (i.e. g is primitive root mod p)

  • Alice:

− chooses a (secret) random number a − calculates α = ga mod p − sends α to Bob

  • Bob:

− chooses a (secret) random number b − calculates β = gb mod p − sends β to Alice

  • Calculation of common secret:

− Alice: βa mod p = (gb mod p)a mod p = (gb)a mod p − Bob: αb mod p = (gamod p)b mod p = (ga)b mod p = gab mod p = K a b

α β gamod p gbmod p

slide-10
SLIDE 10

Network and Communications Security (IN3210/IN4210)

Diffie Hellman Key exchange

  • (Passive) attacker learns:

− g − p − gb mod p − ga mod p

  • For calculating K the attacker needs additionally a or b
  • a or b can not easily be derived from the know values (DLP)

gamod p gbmod p

Eve

11

slide-11
SLIDE 11

Network and Communications Security (IN3210/IN4210)

Weakness of DH Key Exchange

Mallory

gb ge ga ge

Secure Communication Secure Communication

K1 = gae mod p K2 = gbe mod p Solution: later!

12

slide-12
SLIDE 12

Network and Communications Security (IN3210/IN4210)

Breaking DH

  • g and p must be chosen carefully

− e.g. p – 1 shall have small prime factors − otherwise mathematical “tricks” are possible for breaking DLP − (details are irrelevant in this course)

  • Always possible: test all possible values for a (or b)

− Which size to choose for p?

▪ 512 bit → practically broken (2015) ▪ 1024 bit → estimated costs for breaking: 100 million $ ▪ 2048 bit → secure, but long runtime

13

slide-13
SLIDE 13

Asymmetric Encryption

slide-14
SLIDE 14

Network and Communications Security (IN3210/IN4210)

Asymmetric Encryption

  • Problem of symmetric encryption:

− Shared secret must be distributed

  • Problem of DH key exchange:

− interactive protocol − both parties must be “online” in order to start encrypted communication

  • Asymmetric Encryption:

− Use different keys for de- and encryption − Public encryption key is published (everyone can encrypt) − Private decryption key is kept confidential (just owner can decrypt)

15

slide-15
SLIDE 15

Network and Communications Security (IN3210/IN4210)

Asymmetric Encryption

  • Two distinct keys (private key and public key) are used for encryption and

decryption respectively

Dear Bob .... Encryption Decryption Dear Bob .... Key Pair Generator Public Key Private Key 6R4Y2 hlbM ZCB...

Alice Bob Eve

16

slide-16
SLIDE 16

Network and Communications Security (IN3210/IN4210)

Asymmetric Encryption

  • Based on number theoretic problems

− RSA: Factorisation Problem − ElGamal: Discrete Logarithm Problem

  • RSA: named after its inventors (1978):

− Ronald Rivest − Adi Shamir − Leonard Adleman

Image sources:

  • University of Southern California
  • Massachusetts Institute of Technology

18

slide-17
SLIDE 17

Network and Communications Security (IN3210/IN4210)

RSA (Textbook Version)

  • Key generation:

− Choose two prime numbers p and q − Calc n = p · q, m = (p – 1) (q – 1) − Choose e and d with e · d (mod m) = 1 − Public key: n, e − Private key: d

  • Encryption of message M (integer < n):

− C = M e mod n

  • Decryption of cipher text C:

− M’ = C d mod n

  • M' = (M e)d mod n = M

Follows from Euler‘s Theorem Typically:

  • Set e = 65537
  • Calculate d using the

Extended Euclidean algorithm

19

slide-18
SLIDE 18

Network and Communications Security (IN3210/IN4210)

Breaking RSA

  • Key generation:

− Choose two prime numbers p and q − Calc n = p · q, m = (p – 1) (q – 1) − Choose e and d with e · d (mod m) = 1 − Public key: n, e − Private key: d

  • Attacker:

− Knows n and e − Factorizes n, i.e. finds p and q − Calculates m and d

Example: n = 15 → p = 3, q = 5

Easy for small numbers, hard for large numbers:

Factorization problem

20

slide-19
SLIDE 19

Network and Communications Security (IN3210/IN4210)

RSA Calculation

  • 1. problem: calculation effort

− 𝑦𝑜 = 𝑦 ∙ ⋯ ∙ 𝑦

𝑜

→ n – 1 multiplications

  • Square and Multiply:

− Write n in binary; remove the first 1 − For every 1 perform first a square (...2) operation then a multiply operation (• x) − For every 0 perform a square (...2) operation

  • Example:

− n = 2310 = 101112 → Q QM QM QM − 𝑦23 = 𝑦2 2 ∙ 𝑦

2 ∙ 𝑦 2

∙ 𝑦 − 7 multiplications instead of 22

  • “Standard” value for e:

− 6553710 = 100000000000000012 → 16 multiplications

21

slide-20
SLIDE 20

Network and Communications Security (IN3210/IN4210)

RSA Calculation

  • 2. problem: large intermediate values:

− “Me mod n” is smaller than n, but “Me“ is very large

  • Property of mod operator:

− (x • y) mod n = ((x mod n) • (y mod n)) mod n

  • Application to Square and Multiply:

− Perform a “mod” operation after every square or multiply step − Example:

▪ 𝑦23 mod 𝑜 = 𝑦2 mod 𝑜 2 mod 𝑜 ∙ 𝑦 mod 𝑜

2mod 𝑜 ∙ 𝑦 mod 𝑜 2

− No intermediate value is larger than 𝑜2

22

slide-21
SLIDE 21

Network and Communications Security (IN3210/IN4210)

Prime Numbers

  • How to calculate large (~ 500 - 2000 bits) prime numbers?
  • 2 types of primality tests:

− Deterministic (too slow for large numbers) − Probabilistic (fast, but not 100% correct)

  • Example: Solovay–Strassen primality test:

− max ½ probability of wrong answer − Algorithm for testing “n prime?”

▪ Repeat k times:

  • Choose random number a
  • Run primality test (uses number a as parameter)
  • If false return „not prime“

▪ Return „probable prime“

− Error probability: 1/2k, e.g. 2-100 for k = 100

23

slide-22
SLIDE 22

Network and Communications Security (IN3210/IN4210)

Breaking RSA

  • Best known attack on RSA:

factorizing n

  • Competition for factorizing given

numbers (created 1991): RSA Factoring Challenge

  • Consequence: RSA-1024 is not

secure any more

Source: Wikipedia, RSA number Decimal digits Binary digits Factored on RSA-100 100 330 April 1, 1991 RSA-110 110 364 April 14, 1992 RSA-120 120 397 July 9, 1993 RSA-129 129 426 April 26, 1994 RSA-130 130 430 April 10, 1996 RSA-140 140 463 February 2, 1999 RSA-150 150 496 April 16, 2004 RSA-155 155 512 August 22, 1999 RSA-160 160 530 April 1, 2003 RSA-170 170 563 December 29, 2009 RSA-576 174 576 December 3, 2003 RSA-180 180 596 May 8, 2010 RSA-190 190 629 November 8, 2010 RSA-640 193 640 November 2, 2005 RSA-200 200 663 May 9, 2005 RSA-210 210 696 September 26, 2013 RSA-704 212 704 July 2, 2012 RSA-220 220 729 May 13, 2016 RSA-230 230 762 August 15, 2018 RSA-232 232 768 February 17, 2020 RSA-768 232 768 December 12, 2009 RSA-240 240 795 Dec 2, 2019 RSA-250 250 829 Feb 28, 2020

24

slide-23
SLIDE 23

Network and Communications Security (IN3210/IN4210)

Hybrid Encryption (1/3)

  • Pros and cons of (a)symmetric encryption:

− Asymmetric encryption:

▪ easier key management vs. slow performance + limited message size

− Symmetric encryption:

▪ good performance (1000x times faster) vs. key exchange problem

  • Hybrid Encryption: combining the advantages:

− Encrypt a random symmetric session key by means of asymmetric encryption − Encrypt the data with the symmetric session key and by means of symmetric encryption

26

slide-24
SLIDE 24

Network and Communications Security (IN3210/IN4210)

Hybrid Encryption (2/3)

  • Encryption process

Dear Bob .... Symmetric Encryption Symmetric Key

Alice

Key Generator Asymetric Encryption 6R4Y2hlb MZCBaj39 c2jmCw... Encrypted

  • Sym. Key

Bob‘s Public Key

27

slide-25
SLIDE 25

Network and Communications Security (IN3210/IN4210)

Hybrid Encryption (3/3)

  • Decryption process

Dear Bob .... Symmetric Decryption Symmetric Key

Bob

6R4Y2hlb MZCBaj39 c2jmCw... Encrypted

  • Sym. Key

Asymmetric Decryption Bob‘s Private Key

28

slide-26
SLIDE 26

Network and Communications Security (IN3210/IN4210)

Exchange of Public Keys

  • Confidentiality not required

→ passive attacker can read the public key (no problem)

Alice Bob Eve “Alice”, pub(A) Enc(pub(A), M)

29

slide-27
SLIDE 27

Network and Communications Security (IN3210/IN4210)

Exchange of Public Keys

  • Integrity highly required

→ active attacker can modify/exchange the public key

Solution: later!

Alice Bob Mallory “Alice”, pub(A) Enc(pub(E), M) “Alice”, pub(E)

30

slide-28
SLIDE 28

Hash Functions

slide-29
SLIDE 29

Network and Communications Security (IN3210/IN4210)

Integrity testing

Alice Bob

32

slide-30
SLIDE 30

Network and Communications Security (IN3210/IN4210)

Hash Function

h( · )

Alice Bob

33

slide-31
SLIDE 31

Network and Communications Security (IN3210/IN4210)

Definition of Hash Function

h : * → n

NoZXJuZCBhw59lbiBNw6R4Y2hlbnMZCBhw59lFLDvGJlbiwgSm9naHVydCB1bm QgUXV4Y2hlbnMgVsOw59l2R4Y2hlbnMgVsOZ2R4bnMgVsOVsIFLDhcms= Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam

  • voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita

kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,, sed diam eirmod ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et duo dolores et ea. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum amet. da39a3ee5e6b4b0d3255 68ac906495480a3404be 15a391c7de1f07f4885af

34

slide-32
SLIDE 32

Network and Communications Security (IN3210/IN4210)

Real life example: Integrity Protection for Dowloads

  • Ubuntu: File„MD5SUM“
  • Xfce: Note on Web site

cf10bdd7abb067e639b3fb47fa8cadbd *ubuntu-11.04-alternate-amd64+mac.iso 14984b15a391c7de1f07f4885bef2d5c *ubuntu-11.04-desktop-amd64+mac.iso 99950b6c45250c51fa53342c5832ebd2 *ubuntu-11.04-dvd-amd64.iso e8c522fc69d3bf2fda99b63b8f7c12f3 *ubuntu-11.04-dvd-i386.iso

35

slide-33
SLIDE 33

Network and Communications Security (IN3210/IN4210)

Properties of Hash Functions

4711 4711

h(x) = 4711 h(y) = 4711

Alice Bob

36

slide-34
SLIDE 34

Network and Communications Security (IN3210/IN4210)

Hash collisions

  • Collision

− There exists two messages x and y: x ≠ y and h(x) = h(y)

  • In every hash function collisions exist!
  • Two types of collisions:

− “accidental”: selecting x and y randomly − “intentional”: calculating x and y

  • Reducing the probability of accidental collisions:

− Choose co-domain (= length of hash value) large enough

  • What about “intentional” collisions?

37

slide-35
SLIDE 35

Network and Communications Security (IN3210/IN4210)

Poor Hash Function

  • Checksum:

S e l l 1 8 b o o k s 1 0 E U R e a c h L o r e m i p s u m d o l o r s i t a m e t c o n s e t e t u r S e l l 1 1 b o o k s 8 0 E U R e a c h

39 AC 2E 31 7F 03 F5 81

38

slide-36
SLIDE 36

Network and Communications Security (IN3210/IN4210)

(Strong) Collision resistance

  • In “good” hash functions it shall be hard to calculate collisions
  • Collision resistant:

− It is not possible (within “reasonable” computation time) to find a collision i.e. two messages x and y with h(x) = h(y)

  • Remarks:

− with unlimited computation time of course collisions can always be found

39

slide-37
SLIDE 37

Network and Communications Security (IN3210/IN4210)

Properties of Hash functions

4711 Alice Bob Eve

43

slide-38
SLIDE 38

Network and Communications Security (IN3210/IN4210)

One-way function

  • One-way property (preimage resistant):

− There exist no (efficient) inverse function for h, i.e. − it is not possible to calculate message x from its hash value H (with h(x) = H)

  • h collision resistant  h one-way function

44

slide-39
SLIDE 39

Network and Communications Security (IN3210/IN4210)

Summary of Properties

  • Preimage resistance (one-way):

− For any given H, it is computationally infeasible to find x such that h(x) = H

  • Second preimage resistance (weak collision resistance):

− For any given x, it is computationally infeasible to find y ≠ x where h(y) = h(x)

  • (Strong) collision resistance:

− It is computationally infeasible to find any pair (x, y) such that h(x) = h(y)

45

slide-40
SLIDE 40

Network and Communications Security (IN3210/IN4210)

Common Hash Algorithms

  • MD5

− Message-Digest-Algorithm (R. Rivest, 1992) − 128 bit digest

  • SHA-1

− Secure Hash Algorithm (NIST/NSA, 1994) − 160 bit digest

  • SHA-2

− Secure Hash Algorithm 2 (NIST/NSA, 2002) − Digest sizes: SHA-224, SHA-256, SHA-384, SHA-512

  • SHA-3

− Secure Hash Algorithm 3 (NIST 2015) − Digest sizes: SHA3-224, SHA3-256, SHA3-384, SHA3-512

47

slide-41
SLIDE 41

Network and Communications Security (IN3210/IN4210)

SHA-1 – Internal Structure

E D C B A <<5 >>2 + + + E D C B A K F +

5 x 32 Bit 80 x

M

160 Bit

W

5 x 32 Bit

48

slide-42
SLIDE 42

Network and Communications Security (IN3210/IN4210)

Merkle Damgård Construction (SHA-1, SHA-2)

Block 1 f IV Block 2 Message M f f Block m Hash h(M) f

n bit n bit n bit

... ...

Compression function f Hash function h

f collision resistant  h collision resistant

Length

  • f M

49

slide-43
SLIDE 43

Network and Communications Security (IN3210/IN4210)

Security of Hash Algorithms

  • Known attacks on Hash properties

Algorithm Attack on Collision resistence Attack on One-way property

MD5 Yes Yes SHA-1 Yes No SHA-2 (Yes) No SHA-3 No No

50

slide-44
SLIDE 44

Network and Communications Security (IN3210/IN4210)

Security of Hash Algorithms

51

slide-45
SLIDE 45

Network and Communications Security (IN3210/IN4210)

SHA-3 Competition

  • Creating new Hash function (successor of SHA-2)
  • Open competition by NIST started 2007
  • Public analysis and discussion of candidates
  • Criteria:

− Performance − Security − Diversity

  • Winner (announced 2012): Keccak
  • Standardized as SHA-3 (2015)

52

slide-46
SLIDE 46

Network and Communications Security (IN3210/IN4210)

Breaking Hashes

  • How to find the pre-image of H? (i.e. finding m with h(m) = H)
  • Brute force attack: testing all possible values for m

− rather simple if the set of “all possible values” is rather small − Examples:

▪ m is a short/simple password ▪ m is an IP address

  • Variation: Dictionary attack: testing just certain values

− Examples

▪ typical passwords (“1234”, “admin”, ...) ▪ real world words (“dog”, “car”, ...)

  • Alternative: Lookup in a pre-calculated list of “all” m and h(m)

− Practical implementation: Rainbow Table

54

slide-47
SLIDE 47

Network and Communications Security (IN3210/IN4210)

Breaking Hashes – Countermeasures

  • Brute force/Dictionary:

− avoid short/simple messages − use special resource consuming “hash” functions (e.g. scrypt, Argon2) − add a secret value to the hash calculation: pepper (not always possible)

  • Rainbow table:

− avoid short/simple messages − add a (non-secret) random value to the hash calculation: salt

55

slide-48
SLIDE 48

MAC and Digital Signature

slide-49
SLIDE 49

Network and Communications Security (IN3210/IN4210)

Integrity Protection using Hashes

57

slide-50
SLIDE 50

Network and Communications Security (IN3210/IN4210)

Integrity Protection using Hashes

Dear Bob .... Dear Bob .... Dear Bob .... Dear Bob ....

hash = ? hash

Dear Bob ....

58

slide-51
SLIDE 51

Network and Communications Security (IN3210/IN4210)

Message Authentication Code

Dear Bob .... Dear Bob .... Dear Bob .... Dear Bob ....

MAC = ? MAC

Dear Bob ....

59

slide-52
SLIDE 52

Network and Communications Security (IN3210/IN4210)

Message Authentication Code

  • A Message Authentication Code (MAC) is a short piece of information

used to authenticate a message

  • The involved key enables to provide authentication means in addition to

integrity

  • In some contexts a MAC is also called a symmetric signature
  • First idea for implementation:

mack(m) = h(k || m) (here || is the concatenation operator)

  • Problem: vulnerable to length extension attack (details not shown here)

60

slide-53
SLIDE 53

Network and Communications Security (IN3210/IN4210)

Message Authentication Code

  • Solution: HMAC

mack(m) = HMAC(m, k) = h(k XOR opad || h(k XOR ipad || m))

− with opad and ipad fixed constants:

▪ ipad = the byte 0x36 repeated B times ▪ opad = the byte 0x5C repeated B times ▪ (with B the internal data size in bytes of hash function h; e.g. 64 for SHA-1)

65

slide-54
SLIDE 54

Network and Communications Security (IN3210/IN4210)

Message Authentication Code

  • Security services:

− Authenticity − Integrity

  • Limitations:

− For verification knowledge of secret key required − Every owner of the secret key can create the MAC − → not possible to decide if Alice or Bob created the MAC − → the actual creator of the MAC can deny the creation − → no “non-repudiation” property

66

slide-55
SLIDE 55

Network and Communications Security (IN3210/IN4210)

Digital Signature

  • Equivalent to traditional handwritten signatures
  • Properties:

− Only one person can create the signature − Everyone can verify the signature − Can identify the creator of the signature − Is bound to a specific document − Prohibits changes to the document

67

 non-repudiation  integrity  authenticity

slide-56
SLIDE 56

Network and Communications Security (IN3210/IN4210)

Digital Signature (here: RSA)

Dear Bob .... Dear Bob .... Dear Bob .... Dear Bob .... Encryption Hash

= ?

Hash Decryption Dear Bob ....

69

slide-57
SLIDE 57

Network and Communications Security (IN3210/IN4210)

Digital Signature

  • Properties:

− Only one person can create the signature

▪ Private key required

− Everyone can verify the signature

▪ Public key is sufficient (but: requires the correct public key)

− Can identify the creator of the signature

▪ Owner of the private key = creator (unless private key was stolen)

− Is bound to a specific document

▪ move signature to a different document → hash of document ≠ hash inside signature (unless collision) → verification fails

− Prohibits changes to the document

▪ change of document → change of hash (unless collision) → verification fails

70

✓ ✓ ✓ ✓ ✓

slide-58
SLIDE 58

Network and Communications Security (IN3210/IN4210)

Again: Integrity Protection for Dowloads

Putty – SSH Client for Windows

71

slide-59
SLIDE 59

Final Remarks

slide-60
SLIDE 60

Network and Communications Security (IN3210/IN4210)

Crypto Primitives and their Usage

Confidentiality Integrity Authenticity Non-repudiation Encryption (Cipher) Hash Functions Digital Signature  

75

slide-61
SLIDE 61

Network and Communications Security (IN3210/IN4210)

Elliptic Curve Cryptography

  • DSA and DH are based on modular exponentiation over a (finite) field of

integers

  • One can perform similar operations on an “elliptic curve”
  • Main advantage:

− same security level with shorter keys − better performance (runtime up to 10 times faster)

Security Level RSA/DH (NIST) RSA/DH (ECRYPT) ECDH/ECDSA 80 1024 1248 160 112 2048 2432 224 128 3072 3248 256 192 7680 7936 384 256 15360 15424 512

76

slide-62
SLIDE 62

Network and Communications Security (IN3210/IN4210)

Practical Usage Recommendations

  • Symmetric Encryption: AES-256, mode: GCM (later)
  • Asymmetric Encryption: RSA-2048
  • Key exchange: ECDHE-256
  • Hash: SHA-256
  • Message Authentication:

− AES in GCM mode (authenticated encryption) − Poly1305 (e.g. in combination with ChaCha20)

  • Signature:

− RSA-2048 with SHA-256 − ECDSA-256 with SHA-256

77

slide-63
SLIDE 63

Network and Communications Security (IN3210/IN4210)

Further Reading

  • Paar (2010):

− Chapters: 6, 7, 8, 10, 11, 12

78