Top Banner
Advanced Security Constructions and Key Management Class 16
30
Welcome message from author
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
Page 1: Advanced Security Constructions and Key Management Class 16.

Advanced Security Constructions

and Key Management

Class 16

Page 2: Advanced Security Constructions and Key Management Class 16.

Outline One-Time Signatures• Lamport’s signature• Improved signature constructions• Merkle-Winternitz Signature

Efficient Authenticators (amortize signature)• One-way chains (self-authenticating values)• Chained hashes• Merkle Hash Trees

Applications• Efficient short-lived certificates, S/Key• Untrusted external storage• Stream signatures (Gennaro, Rohatgi)

Zhou & Haas’s key distribution

Page 3: Advanced Security Constructions and Key Management Class 16.

One-Time Signatures

Challenge: digital signatures expensive for generation and verification

Goal: amortize digital signature

Page 4: Advanced Security Constructions and Key Management Class 16.

One-Time Signatures Use one-way functions without trapdoor Efficient for signature generation and

verification Caveat: can only use one time Example: 1-bit one-time signature• P0, P1 are public values (public key)

• S0, S1 are private values (private key)

S1 P1

S0 P0

S1

S0

P

S0’

S1’

Page 5: Advanced Security Constructions and Key Management Class 16.

Lamport’s One-Time Signature Uses 1-bit signature construction to sign multiple bits

S1

P1

S0

P0

Bit 0 Bit 1 Bit 2 Bit n

S1’

P1’

S0’

P0’

S1’’

P1’’

S0’’

P0’’

S1*

P1*

S0*

P0*

Private values

Private values

Public values…

Sign 0

Sign 1

Page 6: Advanced Security Constructions and Key Management Class 16.

Improved Construction I Uses 1-bit signature construction to sign multiple bits

S0

P0

Bit 0 Bit 1 Bit 2 Bit n

S0’

P0’

S0’’

P0’’

S0*

P0*

c0

p0

c0’

p0’

c0*

p0*

Bit 0 Bit 1 Bit log(n)

Sign message Checksum bits: encode# of signature bits = 0

Page 7: Advanced Security Constructions and Key Management Class 16.

Improved Construction II

Lamport signature has high overhead Goal: reduce size of public and private key Approach: use one-way hash chains S1 = F( S0 )

S2 PS3S0 S1Signaturechain

C1 C0C3 C2Checksumchain

P = F( S3 || C0 )

Sig(0) Sig(1) Sig(2) Sig(3)

Page 8: Advanced Security Constructions and Key Management Class 16.

Merkle-Winternitz Construction Intuition: encode sum of checksum chain

S2’’ PS3’’S0’’ S1’’

C1 C0C3 C2

S2’ S3’S0’ S1’

S2 S3S0 S1

C1’ C0’C3’ C2’

SignatureBits 0,1

ChecksumBits 0,1

ChecksumBits 2,3

SignatureBits 2,3

SignatureBits 4,5

Page 9: Advanced Security Constructions and Key Management Class 16.

Efficient Authenticators

One-way chains Chained hashes Merkle hash trees

Page 10: Advanced Security Constructions and Key Management Class 16.

Recall One-Way Hash Chains? Versatile cryptographic primitive Construction• Pick random rN and public one-way function F• ri = F(ri+1)• Secret value: rN , public value r0

Properties• Use in reverse order of construction: r1 , r2 … rN • Infeasible to derive ri from rj (j<i)• Efficiently authenticate ri knowing rj (j<i):

verify rj = Fi-j(ri)• Robust to missing values

r6 r7r4r3

FFFr5

F

Page 11: Advanced Security Constructions and Key Management Class 16.

One-Way Chain Application

S/Key one-time password system Goal• Use a different password at every login

• Server cannot derive password for next login

Solution: one-way chain

• Pick random password PL

• Prepare sequence of passwords Pi = F(Pi+1 )

• Use passwords P0 , P1 , …, PL-1 , PL

• Server can easily authenticate user

p6 p7p4p3

FFFp5

F

Page 12: Advanced Security Constructions and Key Management Class 16.

Chained Hashes More general construction than one-way

hash chains Useful for authenticating a sequence of

data values D0 , D1 , …, DN

H* authenticates entire chain

DN

DN-1

HN-1

H(DN)

DN-2

HN-2

H( DN-1 || HN-1 )

D0

H0

H*

Page 13: Advanced Security Constructions and Key Management Class 16.

Merkle Hash Trees Authenticate a sequence of data values

D0 , D1 , …, DN

Construct binary tree over data values

T0

D0 D2 D3D1 D4 D6 D7D5

T1 T2

T3 T4 T5 T6

Page 14: Advanced Security Constructions and Key Management Class 16.

Merkle Hash Trees II Verifier knows T0

How can verifier authenticate leaf Di ?

Solution: recompute T0 using Di

Example authenticate D2 , send D3 T3 T2

Verify T0 = H( H( T3 || H( D2 || D3 )) || T2 )T0

D0 D2 D3D1 D4 D6 D7D5

T1 T2

T3 T4 T5 T6

Page 15: Advanced Security Constructions and Key Management Class 16.

Untrusted External Storage Problem: how can we store memory of a

secure coprocessor in untrusted storage? Solution: construct Merkle hash tree over

all memory pages

SecureCoprocessor

Small persistentstorage

Mallory’s Storage

Page 16: Advanced Security Constructions and Key Management Class 16.

Stream Signatures

Gennaro & Rohatgi, Crypto ‘97 Problem• Sender sends a sequence of packets to

receiver

• Receiver wants to immediately authenticate each packet

• Efficient authentication of packets

• On-line case (real-time data), off-line case (stored data)

Page 17: Advanced Security Constructions and Key Management Class 16.

Off-line Case Sender know entire stream before sending

Use chained hashes, precompute Hi

Digitally sign the first packet (H*)

Each packet authenticates the next packet

PN

PN-1

HN-1

PN-2

HN-2

P0

H0

H*

Page 18: Advanced Security Constructions and Key Management Class 16.

On-line Case Use a one-time signature to authenticate packets• Sender has regular signature (SK,PK)

• Sender signs public key of one-time signature SK(pk0)

• Sign packet Pi and one-time public key pki with pki-1

P0

pk1

sk0(P0 || pk1)

P1

pk2

sk1(P1 || pk2)

Page 19: Advanced Security Constructions and Key Management Class 16.

Stream Signature Discussion

Computation and communication cost Robustness to DoS attack (packet

injection) Robustness to packet loss• Loss of a single packet prevents

authentication of subsequent packets

• How could we improve the loss robustness?

Page 20: Advanced Security Constructions and Key Management Class 16.

Alternative Stream Signature

Packet 1 Packet 2

Hash(P1)

Packet 3

Hash(P2)

Hash(P3)

Signature

Signature Packet

Add hashes to later packets Periodically send a signature packet

Page 21: Advanced Security Constructions and Key Management Class 16.

Improving RobustnessPacket 1 Packet 2

Hash(P1)

Packet 3

Hash(P2)

Hash(P3)

Signature

Signature Packet

Hash(P1)

Hash(P2)

Page 22: Advanced Security Constructions and Key Management Class 16.

Securing Ad Hoc Networks

Zhou & Haas, IEEE Network Magazine ’99 Security goals• Availability

• Confidentiality

• Integrity

• Authentication

Secure Routing Key management

Page 23: Advanced Security Constructions and Key Management Class 16.

Attacker Assumptions

Attacker can physically compromise nodes

“Mobile Adversary”• Adversary can compromise any node• Temporarily compromises node, then moves

on to next node• Every node may be compromised at one time

Attacker compromises at most t nodes at any one moment

Page 24: Advanced Security Constructions and Key Management Class 16.

Secure Routing

Authenticate all routing messages, to prevent external attackers

Proposes to use multiple paths to tolerate internal attackers• Drawback: internal attackers could easily

fake multiple paths

Page 25: Advanced Security Constructions and Key Management Class 16.

Key Management Service

Consider public-key infrastructure (PKI)• Everybody trusts certification authority (CA)• CA authenticates and signs public keys of

other nodes PKI drawbacks• Revocation requires on-line PKI• Single point of failure, CA replication

increases vulnerability to node compromise Solution: distributed CA

Page 26: Advanced Security Constructions and Key Management Class 16.

Distributed CA Model

Private CA key is shared among set of nodes• Signing needs coalition of t+1 correct nodes

• Secret sharing prevents t malicious nodes from reconstructing CA private key

Requirements for key management service• Robustness: service available to answer requests

correctly

• Confidentiality: adversary never learns CA private key

Page 27: Advanced Security Constructions and Key Management Class 16.

Threshold Cryptography

Share secret S among n nodes, require t+1 nodes for reconstruction• (n, t+1) secret sharing scheme

Share private key K among n nodes, require t+1 nodes for signing• (n, t+1) threshold signature scheme

• Node i gets share ki

• For signing, nodes send partial signature to combiner

• Combiner collects 2t+1 partial signatures

Page 28: Advanced Security Constructions and Key Management Class 16.

Proactive Security

Use share refreshing against mobile

adversaries

If (s1, s2, …, sn) is a sharing of k, and

(s’1, s’2, …, s’n) is a sharing of k’,

then (s1 + s’1, s2 + s’2, …, sn + s’n) is a correct

sharing of k + k’

Trick, set k’ = 0, so new sharing also

represents k

Page 29: Advanced Security Constructions and Key Management Class 16.

Share Refreshing

s1 s2 s3 sn

s1,1

s1,2

s1,n

s2,1

s2,2

s2,n

s3,1

s3,2

s3,n

sn,1

sn,2

sn,n

s’1+

s’2+

s’n+

Sharesof 0

Page 30: Advanced Security Constructions and Key Management Class 16.

Discussion

How can share refreshing tolerate faulty nodes? How can we tolerate compromised combiner?• Who decides to be a combiner?

How can we bootstrap this system?• How can we introduce a new node?

Why should node sign a message?• How does node authenticate message?

Is signature combination expensive if we have t faulty nodes?