[TLS] DTLS 1.3 ACKs

Eric Rescorla <ekr@rtfm.com> Sat, 24 June 2017 14:58 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 11E421273B1 for <tls@ietfa.amsl.com>; Sat, 24 Jun 2017 07:58:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.918
X-Spam-Level:
X-Spam-Status: No, score=-0.918 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_FONT_FACE_BAD=0.981, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vInfgwXe8raL for <tls@ietfa.amsl.com>; Sat, 24 Jun 2017 07:58:02 -0700 (PDT)
Received: from mail-yb0-x231.google.com (mail-yb0-x231.google.com [IPv6:2607:f8b0:4002:c09::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6CE03126D45 for <tls@ietf.org>; Sat, 24 Jun 2017 07:58:02 -0700 (PDT)
Received: by mail-yb0-x231.google.com with SMTP id e201so19802721ybb.1 for <tls@ietf.org>; Sat, 24 Jun 2017 07:58:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=rNDS7hQZh2BPN3WF5woxA947lmMzXXLxhajKrM+NmkA=; b=iCeEZ9jpkB29ceH7SwceVO2kWkH+CEQlM2iXt1bHoYigyllFdi8ugG892FkIyxUVUC 9T9wROkhoOMaXMgJXNW7G/XA4XGl5DHu5kkzV+dhOkrUkA7EMpWsG7b7+40zfpVJti1t DkRGxIp7WyE7HdSCe2zYC63Yr9ROIEIY2hRZf8CLv08AJtbvEsdquxB+7zAexaZg21+f +eKWiETksbEfRsZG1U4abEm6+TG0URaeA4Hrg5U5+N3NKpynmBUdVQNNXEgblXiDIVAi Ntam2r+NPsT2veC3DAz3QK3TzsDsCBx0vcCPNG26W/eg39q9dUz3KpR2SQFKHDJmEXm4 Uztg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=rNDS7hQZh2BPN3WF5woxA947lmMzXXLxhajKrM+NmkA=; b=OkLeyfYk4qMY7iIVXaitmL7h2ahrnBqmxdGiEEtFBFb2H09yR6Slcojf6cnoLN/QHp ninmCnegOK3Rh9AtwNK+FpSt9OldSlEM+ei66KthChMcbuB3V0kdMWNPLw8sT9ATinue vq3LZ8scAdTVZykASjAVlOZzTIcxDyCcrWEBUN6heOeo8tmQVjgcnFAGiblFEAhJYt82 TIX+l3QJLKgiByC/wcINBCnKrizXj9FMNckYnm0lg896FWQ68LwjK/ufTCCSpHN2GBVL z8ot5OZz4qNJOH6wYuic+0C0Jd4l2nxyVB1y88bboVX+IFGE/N+wuvPlQgBsMmtBAtLq 2VxA==
X-Gm-Message-State: AKS2vOxQKO277kUky9TMwtFHIo4EAx8EN3yFApkdV9D6hqVVz+7o4sLQ vSCufGWCh1Etkq+SCVl97gbhaBKOC4a/Ndjp9A==
X-Received: by 10.37.118.210 with SMTP id r201mr9897131ybc.15.1498316281530; Sat, 24 Jun 2017 07:58:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.13.215.9 with HTTP; Sat, 24 Jun 2017 07:57:21 -0700 (PDT)
From: Eric Rescorla <ekr@rtfm.com>
Date: Sat, 24 Jun 2017 07:57:21 -0700
Message-ID: <CABcZeBMpDLdrqaa7qEKyFFT8c-Qcodc01zDNqYcxmPp0qvi+pQ@mail.gmail.com>
To: "tls@ietf.org" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="001a114bd4c8b8eb710552b5f1b4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/1tnFWx3nI4ns96dXIClkj5NxuVE>
Subject: [TLS] DTLS 1.3 ACKs
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Jun 2017 14:58:04 -0000

Hi folks,

https://github.com/tlswg/dtls13-spec/pull/9

I have just posted a PR to implement ACKs, largely as we discussed in
Chicago.
Here's the pull comment:

I have taken a slightly different approach here than we discussed
in Chicago. Specifically:

   -

   ACKs are not handshake messages but a new content type. This
   avoids the need to ack ACKs or worry about reassembling
   when ACKs are lost.
   -

   The receipt of a flight also counts as an implicit ACK and
   so you shouldn't ACK full flights. I tried removing this
   feature but it leads to weird anomalies where you have
   two flights you should be retransmitting if the ACKs get
   lost.
   -

   ACKs are always encrypted with the then-current key.
   -

   I also removed the rule that you don't stop retransmitting
   when you receive a partial flight. That was intended to have
   fast retransmission for missing messages because the retransmit
   of flight A triggered retransmission of partial flight B, but
   ACKs serve this purpose

Comments welcome.

-Ekr