Cryptology ePrint Archive: Report 2009/331
Security Notions and Generic Constructions for Client Puzzles
L. Chen and P. Morrissey and N.P. Smart and B. Warinschi
Abstract: Computational puzzles are mildly difficult computational problems that require
resources (processor cycles, memory, or both) to solve. Puzzles have
found a variety of uses in security.
In this paper we are concerned with {\em client puzzles}: a type of puzzle
used as a defense against Denial of Service (DoS) attacks.
Before engaging in a resource consuming protocol with a client, a server
demands that the client solves a freshly generated client puzzle.
Despite their widespread use, the lack of formal models for security of client
puzzles prevents a full analysis of proposed puzzles and, more
importantly, prevents rigorous proofs for the effectiveness of puzzles as
a DoS defense.
The main contribution of this paper is a formal model for the security of
client puzzles as a stepping stone towards solving the above problems.
We clarify the interface that client puzzles should offer and give two
security notions for puzzles.
Both functionality and security are inspired by, and tailored to, the use of
puzzles as a defense against DoS attacks.
The first notion -- puzzle unforgeability -- requires that an adversary is
unable to produce valid looking puzzles on its own. The second notion --
puzzle-difficulty -- requires that an adversary spends at least an
appropriate amount of resources solving puzzles.
Our definitions fill an important gap: breaking either of the two
properties immediately leads to successful DoS attacks.
We illustrate this point with an attack against a previously proposed
puzzle construction.
We show that a subtle flaw renders the construction forgeable and we
explain how to exploit this flaw to mount a DoS attack on certain
protocols that use this puzzle.
We also provide a generic construction of a client puzzle.
Our construction uses a pseudorandom function family to provide unforgeability
and a one way function for the difficulty.
We prove our generic construction meets our definitions of unforgeability and
difficulty for client puzzles.
Finally, we discuss and analyze (in the random oracle model) a practical
instantiation of our construction based on hash functions.
Category / Keywords:
Date: received 6 Jul 2009
Contact author: nigel at cs bris ac uk
Available format(s): PDF | BibTeX Citation
Version: 20090707:220003 (All versions of this report)
Short URL: ia.cr/2009/331
Discussion forum: Show discussion | Start new discussion
[ Cryptology ePrint archive ]