Re: [tsvwg] sanity checking DTLS ICMP errors

Michael Tuexen <Michael.Tuexen@lurchi.franken.de> Mon, 19 January 2015 22:36 UTC

Return-Path: <Michael.Tuexen@lurchi.franken.de>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 292D41B2CFB for <tsvwg@ietfa.amsl.com>; Mon, 19 Jan 2015 14:36:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.561
X-Spam-Level:
X-Spam-Status: No, score=-1.561 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, SPF_HELO_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 gHGt7CLtHr-4 for <tsvwg@ietfa.amsl.com>; Mon, 19 Jan 2015 14:36:47 -0800 (PST)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5EC7C1B2CF3 for <tsvwg@ietf.org>; Mon, 19 Jan 2015 14:36:47 -0800 (PST)
Received: from [192.168.1.200] (p508F3E81.dip0.t-ipconnect.de [80.143.62.129]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id 14E4A1C104371; Mon, 19 Jan 2015 23:36:45 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
In-Reply-To: <5FFBC79D-AE0A-4B44-B11F-7A2D6EA00347@cisco.com>
Date: Mon, 19 Jan 2015 23:36:44 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <372D50B7-4AF4-41EC-A6E8-97E00C4F5FE8@lurchi.franken.de>
References: <5FFBC79D-AE0A-4B44-B11F-7A2D6EA00347@cisco.com>
To: Dan Wing <dwing@cisco.com>
X-Mailer: Apple Mail (2.1993)
Archived-At: <http://mailarchive.ietf.org/arch/msg/tsvwg/HzxnZ4aIwhorGGWJKUYrXptJfxM>
Cc: tsvwg@ietf.org
Subject: Re: [tsvwg] sanity checking DTLS ICMP errors
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Jan 2015 22:36:49 -0000

> On 19 Jan 2015, at 20:43, 🔓Dan Wing <dwing@cisco.com> wrote:
> 
> To reduce the attack surface, TCP implementations have been validating ICMP error messages to be in-window (RFC5927).
> 
> On a thread over on RTCWEB with Michael Tüxen, it seems DTLS-encrypted packets might benefit from a similar validation.  
Just to add some information:
Dan was asking why we couldn't just process incoming ICMP packets indicating that a packet
sent was too big by SCTP when running over DTLS. My point was that we can't the validation
of the verification tag as we do normally for SCTP. That is why we use PMTUD as described
in RFC4821 for
http://tools.ietf.org/html/draft-ietf-tsvwg-sctp-dtls-encaps-08
> There are some fields early in the packet that might be useful for such validation,
> 
>      struct {
>        ContentType type;
>        ProtocolVersion version;
>        uint16 epoch;                                     // New field
>        uint48 sequence_number;                           // New field
>        uint16 length;
>        select (CipherSpec.cipher_type) {
>          case block:  GenericBlockCipher;
>        } fragment;
>      } DTLSCiphertext;
> 
> however, both the Epoch and Sequence Number start at zero (unlike TCP's initial sequence number which has been random for nearly 20 years).  
One difference is that the TCP initial sequence number is negotiated during the TCP handshake.
DTLS doesn't do this.
> 
> 
> Do we want to validate ICMP error messages for DTLS packets?  If so, can DTLS have a randomized initial sequence number?
At least you need to change the specification. So it is something one might consider when working on DTLS 1.3, I guess.

Best regards
Michael
> 
> -d
> 
>