Lecture 11 Digital signatures UFCMA RSA Schnorr PKI

  • Slides: 40
Download presentation
Lecture 11 – Digital signatures, UF-CMA, RSA, Schnorr, PKI TEK 4500 03. 11. 2020

Lecture 11 – Digital signatures, UF-CMA, RSA, Schnorr, PKI TEK 4500 03. 11. 2020 Håkon Jacobsen hakon. jacobsen@its. uio. no

Basic goals of cryptography Message privacy Message integrity / authentication Symmetric keys Symmetric encryption

Basic goals of cryptography Message privacy Message integrity / authentication Symmetric keys Symmetric encryption Message authentication codes (MAC) Asymmetric keys Asymmetric encryption (a. k. a. public-key encryption) Digital signatures xc e y ) e g an h (Ke 2

What is cryptography? Internet Alice Bob M Security goals: M' Adversary • Data privacy:

What is cryptography? Internet Alice Bob M Security goals: M' Adversary • Data privacy: adversary should not be able to read message M • Data integrity: adversary should not be able to modify message M • Data authenticity: message M really originated from Alice 3

Achieving integrity: MACs Internet Alice Bob K K M T M, T Adversary K

Achieving integrity: MACs Internet Alice Bob K K M T M, T Adversary K : tagging / verification key (secret) 4

Achieving integrity: digital signatures Internet Alice Bob sk vk M σ M, σ Adversary

Achieving integrity: digital signatures Internet Alice Bob sk vk M σ M, σ Adversary sk : signing key (secret) vk : verification key (public) 5

Digital signatures vs. MACs Digital signature MAC 6

Digital signatures vs. MACs Digital signature MAC 6

Applications of digital signatures • Electronic document signing • HTTPS / TLS certificates •

Applications of digital signatures • Electronic document signing • HTTPS / TLS certificates • Software installation • Email sender authentication • Bitcoin 7

Signing electronically 110100101010000 111111001010110 101011101010010 101010111010101 110010101001001 110001010111111 001010000010110 10010111 1101101 100000101100001 scan 110100101010000

Signing electronically 110100101010000 111111001010110 101011101010010 101010111010101 110010101001001 110001010111111 001010000010110 10010111 1101101 100000101100001 scan 110100101010000 111111001010110 101011101010010 10001111101 110010101001001 110001010111111 001010000010110 10010111 1101101 100000101100001 8

Digital signatures – syntax Adversary 9 9

Digital signatures – syntax Adversary 9 9

Digital signatures – security: UF-CMA Challenger 10

Digital signatures – security: UF-CMA Challenger 10

Textbook RSA signatures 11

Textbook RSA signatures 11

Textbook RSA signatures: attacks RSA correctness 12

Textbook RSA signatures: attacks RSA correctness 12

Textbook RSA signatures 13

Textbook RSA signatures 13

Textbook RSA signatures 14

Textbook RSA signatures 14

Hash-then sign paradigm 15

Hash-then sign paradigm 15

Hashed RSA signatures Hard to find! 16

Hashed RSA signatures Hard to find! 16

Hashed RSA – security 17

Hashed RSA – security 17

Discrete logarithm based signatures 18

Discrete logarithm based signatures 18

Discrete-log-based signatures: Schnorr 19

Discrete-log-based signatures: Schnorr 19

Discrete-log-based signatures: Schnorr – security 20

Discrete-log-based signatures: Schnorr – security 20

Discrete-log-based signatures: (EC)DSA 21

Discrete-log-based signatures: (EC)DSA 21

Public-key infrastructure (PKI) 22

Public-key infrastructure (PKI) 22

What are identities? "Alice", "Bob", Need to bind public keys to entities 23

What are identities? "Alice", "Bob", Need to bind public keys to entities 23

Identities on the internet www. bob. com "Alice", www. bob. com, "Bob", Need to

Identities on the internet www. bob. com "Alice", www. bob. com, "Bob", Need to bind public keys to entities – on the internet: bind public keys to domain names 24

Identities on the internet www. evil. com www. bob. com, need proof these belong

Identities on the internet www. evil. com www. bob. com, need proof these belong together Need to bind public keys to entities – on the internet: bind public keys to domain names 25

Authenticated key exchange www. bob. com, else abort Could have been created by the

Authenticated key exchange www. bob. com, else abort Could have been created by the adversary itself 26

Digital certificates • Digital certificate: a way of binding a public key to an

Digital certificates • Digital certificate: a way of binding a public key to an entity • A certificate consists of: • The public key of the entity • A bunch of information identifying the entity • • Name Address Occupation URL Email-address Phone number … • A digital signature on all the above by a certificate authority (CA) 27

Digital certificates 28

Digital certificates 28

Certificate authorities (CA) • CA: an issuer of digital certificates • Acts as a

Certificate authorities (CA) • CA: an issuer of digital certificates • Acts as a trusted third-party, certifying (i. e. , signing) the public keys of other entities • Verifies the identity of a claimed public-key owner • The basis of a public-key infrastructure (PKI) 29

HTTPS / TLS + PKI www. bob. com, else abort 30

HTTPS / TLS + PKI www. bob. com, else abort 30

How to get a signed certificate? 4 www. bob. com 2 0 x 349

How to get a signed certificate? 4 www. bob. com 2 0 x 349 a 5 3 “Put 0 x 349 a 5 on your page” Check 1 5 Other validation methods also possible: • • Confirmation emails DNS entries Physical verification Passport or driver's license 6 7 31

HTTPS / TLS + PKI www. bob. com, else abort 32

HTTPS / TLS + PKI www. bob. com, else abort 32

Root CAs • Root CAs: CAs that sign other CAs' public keys + only

Root CAs • Root CAs: CAs that sign other CAs' public keys + only a few root CAs need to be trusted by end-users + root CAs can distribute the signing + verification load to smaller CAs - single point of failure ; private key must be very heavily guarded • Root CAs for the internet: a few large multinational corporations CA signing key 33

Certificate chains 34

Certificate chains 34

HTTPS / TLS + PKI www. bob. com, else abort 35

HTTPS / TLS + PKI www. bob. com, else abort 35

How to become an internet root CA? • Need to prove yourself (trust)worthy to

How to become an internet root CA? • Need to prove yourself (trust)worthy to browser and OS vendors • Microsoft Root Certificate Program • Mozilla CA Certificate Program • Apple Root Certificate Program • Lot's of auditing and paperwork • Many formal technical and non-technical security requirements • CA/Browser forum • Baseline Requirements v 1. 7. 3 36

Digi. Notar • Dutch root CA • Lost control of their private signing key

Digi. Notar • Dutch root CA • Lost control of their private signing key in 2011 • Fraudulent certificates issued for Gmail, Yahoo!, Mozilla, Word. Press, … • 30 000 Iranian Gmail users targeted 37

 End of Part II (Asymmetric crypto) 39

End of Part II (Asymmetric crypto) 39

Summary of asymmetric cryptography Primitive Functionality + syntax Diffie-Hellman RSA function One-way trapdoor function/permutation

Summary of asymmetric cryptography Primitive Functionality + syntax Diffie-Hellman RSA function One-way trapdoor function/permutation Public-key encryption Digital signatures Cryptographic groups Comment Hardness assumption / security goal Acronym Discrete logarithm (DLOG) Diffie-Hellman (DH) Decisional Diffie-Hellman (DDH) PRF Factoring problem RSA-problem Examples Textbook RSA Confidentiality: attacker should learn nothing about plaintext (except length) from ciphertexts IND-CPA Integrity: attacker shouldn't be able to forge messages, i. e. , create new messages with valid signatures UF-CMA IND-CCA Computational problem Best-known attack Discrete logarithm General number field sieve (GNFS) Discrete logarithm GNFS Discrete logarithm Generic attacks: Baby-step giant-step, Pollard-rho, Pohlig-Hellman Factoring GNFS El. Gamal Padded RSA Fujisaki-Okomototransform Schnorr Hashed-RSA ECDSA Common sizes

Next week • Quantum computers 41

Next week • Quantum computers 41