Title: Client Puzzles
1Client Puzzles
- A Cryptographic Defense Against Connection
Depletion Attacks
Most of slides come from Ari Juels and John
Brainard RSA Laboratories
2The Problem
3How to take down a restaurant
Restauranteur
Saboteur
4Saboteur vs. Restauranteur
Restauranteur
Saboteur
5Restauranteur
No More Tables!
Saboteur
6An example TCP SYN flooding
Buffer
7 - TCP SYN flooding has been deployed in the real
world - Panix, mid-Sept. 1996
- New York Times, late Sept. 1996
- Others
- Similar attacks may be mounted against e-mail,
SSL, etc.
8Some defenses against connection depletion
9Throw away requests
Server
Buffer
Problem Legitimate clients must keep retrying
10IP Tracing (or Syncookies)
Client
Request
Problems
- Can be evaded, particularly on, e.g., Ethernet
- Does not allow for proxies, anonymity
11Digital signatures
Problems
- Requires carefully regulated PKI
- Does not allow for anonymity
12Connection timeout
Server
Problem Hard to achieve balance between security
and latency demands
13Our solution client puzzles
14Intuition
Restauranteur
15Intuition
Suppose
- A puzzle takes an hour to solve
- There are 40 tables in restaurant
- Reserve at most one day in advance
A legitimate patron can easily reserve a table
16Intuition
Would-be saboteur has too many puzzles to solve
17The client puzzle protocol
Server
Buffer
18What does a puzzle look like?
19Puzzle basis partial hash inversion
160 bits
Pair (X, Y) is k-bit-hard puzzle
20Puzzle basis (Contd)
- Only way to solve puzzle (X,Y) is brute force
method. (hash function is not invertible) - Expected number of steps (hash) to solve puzzle
2k / 2 2k-1
21Puzzle construction
22Puzzle construction
Server computes
secret S
time T
request M
hash
pre-image X
hash
image Y
23Sub-puzzle
- Construct a puzzle consists of m k-bit-hard
sub-puzzles. - Increase the difficulty of guessing attacks.
- Expected number of steps to solve m2k-1.
24Why not use klogm bit puzzles?
- (klogm)-bit puzzle
- Expected number of trials m2k-1
- But for random guessing attacks, the successful
probability - One (klogm)-bit puzzle
- 2-(klogm) (e.g., 2-(k3))
- m k-bit subpuzzles
- (2-k)m 2-km (e.g., 2-8k)
25Puzzle properties
- Puzzles are stateless
- Puzzles are easy to verify
- Hardness of puzzles can be carefully controlled
- Puzzles use standard cryptographic primitives
26Client puzzle protocol (normal)
- Mi1 first message of ith execution of protocol M
27Client puzzle protocol (under attack)
- P puzzle with m sub-puzzles
- t timestamp of puzzle
- t time to receive solution
- T1 valid time of puzzle
28Where to use client puzzles?
29Some pros
- Avoids many flaws in other solutions, e.g.
- Allows for anonymous connections
- Does not require PKI
- Does not require retries -- even under heavy
attack
30Practical application
- Can use client-puzzles without special-purpose
software - Key idea Applet carries puzzle puzzle-solving
code
- Where can we apply this?
- SSL (Secure Sockets Layer)
- Web-based password authentication
31Conclusions
32 Contributions of paper
- Introduces idea of client puzzles for on-the-fly
resource access control
- Puzzle and protocol description
- Rigorous mathematical treatment of security using
puzzles -- probabilistic/guessing attack
33Questions?