Re: [TLS] implementation of cookies in DTLS

Nikos Mavrogiannopoulos <> Tue, 15 March 2011 10:01 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D7E453A6C6E for <>; Tue, 15 Mar 2011 03:01:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.977
X-Spam-Status: No, score=-2.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id CsyrEEv5wEDO for <>; Tue, 15 Mar 2011 03:01:39 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id F11AA3A69E3 for <>; Tue, 15 Mar 2011 03:01:38 -0700 (PDT)
Received: by qyk7 with SMTP id 7so316617qyk.10 for <>; Tue, 15 Mar 2011 03:03:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=SH+NaW7i+XfMFrBuXRG8Ieffdsa+ArdN0hqjCGMIx4U=; b=cUXj1naHBfQwiHD45X4CJOJNcIuUk+C4V/uPVbsFUuIWWAmvnXiEFJ+uKBVtsbPE96 jUtNk+utLAEUKIY1OWCDzKr389ljm1eX2Pk1hoC55ft2hRT9g3412JY3szAyXzCSs0mW gP2jFbQ9QrcKDbCCKaiz1/0uFOdyNxVQ2RVGQ=
DomainKey-Signature: a=rsa-sha1; c=nofws;; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=KdvpuJWnYTI9apYOjPfet40c7+uaAE71V0IYbxErBKN0TENksJcOfoua3PCipt+smL mSHdgiDTJqYNVKjZoArDmj4DjN3nBFIO2ZxtbK6FvMKZCsWOItifxWYwTUnPVeRplalS A3O8/hXvTCz4ZAbzLlGEwNBfT/ewSLmQ9UzOA=
MIME-Version: 1.0
Received: by with SMTP id l3mr4058067qcr.124.1300183168427; Tue, 15 Mar 2011 02:59:28 -0700 (PDT)
Received: by with HTTP; Tue, 15 Mar 2011 02:59:28 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <>
Date: Tue, 15 Mar 2011 10:59:28 +0100
X-Google-Sender-Auth: P0f5TRFs_FWdhnAy_nkPOg1P2Pw
Message-ID: <>
From: Nikos Mavrogiannopoulos <>
To: Eric Rescorla <>
Content-Type: text/plain; charset="UTF-8"
Cc: "" <>
Subject: Re: [TLS] implementation of cookies in DTLS
X-Mailman-Version: 2.1.9
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: Tue, 15 Mar 2011 10:01:39 -0000

On Tue, Mar 15, 2011 at 12:37 AM, Eric Rescorla <> wrote:
> I suspect either reflecting or the special case would work. I'm trying
> to get all the other
> changes in before the deadline so I'll leave it with =0 and the
> special case and an
> open issue marker and let's just resolve in Prague.

I will not be there but I'd like to make these points:
1. Define precisely the behavior of initial pre-handshake before state
is allocated. My opinion is that I don't like special cases such as
use 0 always
and do not case about re-use because they are more likely to introduce
bugs and new attacks. Copying the client's numbers should solve the
issue with no special cases and no state. Also I suppose that if
handshake_seq=0 is used for HelloVerifyRequest then handshake_seq=1
should be used for ServerHello and this should be clear as well to
avoid having another special case.

2. Drop requirement: The server MUST use the same
   version number in the HelloVerifyRequest that it would use when
   sending a ServerHello.  Upon receipt of the ServerHello, the client
   MUST verify that the server version values match.
This will create incompatibilities when more than 1 DTLS protocols are
in a single client or server. It is not really possible for a server
to do an emulation of
the decisions it would do as if a state existed. What are the reasons for this