Re: [TLS] TLS client puzzles

Kyle Rose <> Thu, 07 July 2016 21:46 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 14CB612D68D for <>; Thu, 7 Jul 2016 14:46:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id y7AlzODbnPp7 for <>; Thu, 7 Jul 2016 14:46:09 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:400d:c09::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id B5B1812D532 for <>; Thu, 7 Jul 2016 14:37:00 -0700 (PDT)
Received: by with SMTP id e3so26491922qkd.0 for <>; Thu, 07 Jul 2016 14:37:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=WX8VgbfzhuuTR3F6QsHr2XiKZh25NGHvQXgke+jUf5E=; b=JYgQfYWH3phYW9O5mMJuyTgTUZemXPjcON5w7uRujGvfCwQT6Hdj/V7ubYd1HivXdm WJv8T3QhBMCiKF60FfJ9bFnzJ1fqoaiVRyfX3cAME9U5j+XhKLICDqXnAp/e1WteC0Qe t6ZSLsf6qDRf9bDR8AzrKJBJeKY2ukYCiIzDY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=WX8VgbfzhuuTR3F6QsHr2XiKZh25NGHvQXgke+jUf5E=; b=lsFOzb0Vn+WvvcT6MA8B5zqfxBx5A2tUZaoRT3sKM3ZDQvMLxNqwezBXewo75Cf6Fb TwxSz4LMg0YLW7Nsf3/Eq4wtRsOeiYTBt30bhNKkavc3i10nLBF1cw3Gw6Z7UIIEFYKA TeVpvcrbxbxRiixUd6uA3ve8EhJl0AV3ueItdem5NNUZqP70q9D+TSRgxDu8e6MUnRP0 JjJty/BuudfdGEJLc2GdH+dTWgoWwGytSfzVRaj9B3LewLI9x+OVQFjpinIXbFs9zgTN ZTvbwwp083ejbk4IfUtwcm6I9LGt2pAIAwYvNgVGF2wNUgSU0yypL/IWI7W2EsrrHfUX ESgg==
X-Gm-Message-State: ALyK8tKeeynz2xZvVc5/Q70enUblabcRD+CZ+oDIXhUZEVnU00L2wFQOngQGwiAUhhkJNGifd35ic5yUyDcUfg==
X-Received: by with SMTP id t22mr2992198qka.171.1467927419858; Thu, 07 Jul 2016 14:36:59 -0700 (PDT)
MIME-Version: 1.0
Received: by with HTTP; Thu, 7 Jul 2016 14:36:58 -0700 (PDT)
X-Originating-IP: [2001:4878:8000:50:698e:3f64:370a:ec8b]
In-Reply-To: <>
References: <> <> <> <> <>
From: Kyle Rose <>
Date: Thu, 07 Jul 2016 17:36:58 -0400
Message-ID: <>
To: Bill Cox <>
Content-Type: multipart/alternative; boundary="001a114ab99c6ae36a0537127c70"
Archived-At: <>
Cc: "<>" <>, Dmitry Khovratovich <>
Subject: Re: [TLS] TLS client puzzles
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 07 Jul 2016 21:46:10 -0000

> I agree, and I think it is clear that client puzzles can be a useful
> addition to the DDoS defense toolbox.  However, most of this can be handled
> at the higher levels above TLS, or possibly as a custom extension that does
> not complicate TLS.

A custom extension is a promising approach: this is what Erik Nygren
proposed in nygren-tls-client-puzzles-00 following discussions with some
IETF folks and Akamai colleagues. That draft has expired and doesn't
reference any of the recent work on memory-hard puzzles, but it might be a
good starting point.

Except at the pre-TLS stage for applications that use STARTTLS-style
mechanisms, I'm not sure how this could work at levels above TLS: the
primary attack targeted by client puzzles would be a client doing almost no
work in order to force the server to do expensive crypto, which means it
must be engaged prior to the handshake.