digital signatures and authentication

19
Authentication and Digital Signatures CSCI 5857: Encoding and Encryption

Upload: calvin

Post on 24-Feb-2016

61 views

Category:

Documents


0 download

DESCRIPTION

Digital Signatures and Authentication. CSIS 5857: Encoding and Encryption. Need for Authentication. Authentication Problem : How can recipient be sure that message was sent by particular person ?. “Give Darth a $10,000 raise -- Alice”. E. Masquerading as Alice. Authentication. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Digital  Signatures and Authentication

Authentication and Digital Signatures

CSCI 5857: Encoding and Encryption

Page 2: Digital  Signatures and Authentication

Outline

• Authentication• Digital signature concepts• RSA digital signature scheme• Attacks on digital signatures• The Digital Signature Standard

Page 3: Digital  Signatures and Authentication

3

Need for Authentication

• Authentication Problem: How can recipient be sure that message was sent by particular person?

Masquerading as Alice

“Give Darth a $10,000 raise-- Alice”

E

Page 4: Digital  Signatures and Authentication

4

Authentication

• Terminology: – Claimant: Entity desiring to prove their

identity(real or fraudulent )

– Verifier: Entity checking identity of claimant

Page 5: Digital  Signatures and Authentication

5

Digital Signatures• Based on some signing algorithm

– Algorithm applied to message (like message digest)– Message and signature sent to recipient– Recipient uses related algorithm to verify signature

• Must involve “secret knowledge” known only to signer– Otherwise, adversary could “forge” signature

“I can’t create this”

Page 6: Digital  Signatures and Authentication

6

Public Keys and Digital Signatures• Signing algorithm involves private key

– Public/private key pair generated by sender • Opposite of public key encryption

– Sender stores private key, gives public key to recipient• Private key used to sign message• Public key used to verify signature

Page 7: Digital  Signatures and Authentication

7

Digital Signatures and Confidentiality

• Sender:– Signs message with sender private key– Encrypts message with recipient public key

• Recipient– Decrypts message with recipient private key– Verifies signature with sender public key

Authentication

Confidentiality

Page 8: Digital  Signatures and Authentication

8

RSA Digital Signature Scheme• Encryption/Decryption:

– Encryption by sender: C = Pe mod n– Decryption by recipient: P = Cd mod n = Pde mod n

• Digital signature just reverses order– Key pair generated in same way

• Public key: n, e• Private key: d

– Signature by sender: S = Md mod n – Verification by recipient: M = Se mod n = Mde mod n– Works since d e = e d

Page 9: Digital  Signatures and Authentication

9

RSA Digital Signature Scheme• Recipient has sender’s public key• Sent message M and signature S generated from M • Uses key to “decrypt” signature S and compare to M

Page 10: Digital  Signatures and Authentication

10

Attacks on Digital Signatures• Known Message Attack

– Adversary has intercepted several messages and their corresponding signatures.

– Goal: Create fake message M´ and legitimate corresponding signature from those previous messages

• Chosen Message Attack– Adversary has ability to make sender sign messages that

adversary chooses (“We like kittens”)– Goal: Choose those messages to make it possible to create

fake message M´ and legitimate corresponding signature

Page 11: Digital  Signatures and Authentication

11

Known Message Attack on RSA• Based on multiplicative property of RSA

– Darth intercepts message pairs (M1, S1) and (M2, S2) • Computes M´ = M1 M2

• Corresponding signature: S´ = S1 S2

– Idea: S´ = S1 S2 = (M1d

M2d) mod n

= (M1 M2)d mod n = M´

d mod n

• Darth now has fake message M´ and matching signature S´ without having to know Alice’s private key!

Page 12: Digital  Signatures and Authentication

12

Known Message Attack on RSA• Problem for Darth:

Fake message M´ = M1 M2 almost certain to be meaningless– Darth can’t control messages M1, M2

– Bob will treat as noise and ignore

M1“Buy low”

M2“Sell high”

M1 M2“9485h1342nf”

???

Page 13: Digital  Signatures and Authentication

13

Chosen Message Attack on RSA• Darth chooses messages M1, M2 such that:

– M1, M2 appear harmless (and can convince sender to sign)

– M1 M2 has advantage to Darth

M1“We like kittens” S1

M2“YSU rules!” S2

M1 M2“Give Darth a raise”

S1 S2

Darth asks Alice to sign these

Alice creates signatures using her private key

Darth sends fake message and signature to Bob

Page 14: Digital  Signatures and Authentication

14

Signing Message Digests• Sender creates message digest• Sender creates signature from digest

– Much more efficient than signing entire message• Recipient creates same message digest from received

message• Recipient verifies signature based on message digest

Page 15: Digital  Signatures and Authentication

15

Chosen Message Attack on RSA• Signing message digest h(M ) instead of message M

provides resistance to multiplicative attacks– h(M ) must be preimage resistant hash function

Why is this effective?• Darth has a fake message M´• Can compute its digest h(M´ ) • Can find digests h(M1), h(M2) such that h(M´ ) = h(M1) h(M2)

• Darth cannot find messages M1, M2 with the desired digests h(M1), h(M2) !

Page 16: Digital  Signatures and Authentication

16

Digital Signature Standard• NIST standard (FIPS 186)• Algorithms:

– SHA-512 hashing– Schnorr public key encryption scheme (similar to ElGamal)

Page 17: Digital  Signatures and Authentication

17

DSS Components

• Global public key components (PUG)– p : Large prime (between 512 and 1024 bits)– q : prime divisor of p -1 (approx. 160 bits)– g = h(p-1)/q mod p

where h is some integer < p -1 such that h(p-1)/q mod p > 1

• Sender’s private key (PRa)– Random integer < q

• Sender’s public key (PUa)– PUa = gPRa mod p

Page 18: Digital  Signatures and Authentication

18

Signing a Message• Generate random one-time key k < q• Compute components of message:

– r = (gk mod p) mod q– s = [k -1 (H(M) + PUa)] mod q

• Signature = (r, s)

• Efficiency: only modular exponentiation is gk mod p which can be computed in advance

Page 19: Digital  Signatures and Authentication

19

Verifying a Message

• w = s -1 mod q • u1 = [H(M) w] mod q• u2 = (r w) mod q• v = [(gu1 PUa

u2) mod p) mod q

• Verified if v = r