Re: [TLS] (strict) decoding of legacy_record_version?

Brian Smith <brian@briansmith.org> Tue, 08 November 2016 03:01 UTC

Return-Path: <brian@briansmith.org>
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 8C74212948F for <tls@ietfa.amsl.com>; Mon, 7 Nov 2016 19:01:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=briansmith-org.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 XDvcxWzusxBc for <tls@ietfa.amsl.com>; Mon, 7 Nov 2016 19:01:21 -0800 (PST)
Received: from mail-it0-x229.google.com (mail-it0-x229.google.com [IPv6:2607:f8b0:4001:c0b::229]) (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 D610A129411 for <tls@ietf.org>; Mon, 7 Nov 2016 19:01:20 -0800 (PST)
Received: by mail-it0-x229.google.com with SMTP id e187so130654200itc.0 for <tls@ietf.org>; Mon, 07 Nov 2016 19:01:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=briansmith-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=o6uVGoDbjOsUZByA3SpQzxAts9zKqsQu3dpJbWevnd8=; b=GFDWdSroEcZIsGC8AEbxuuoSANGprzOCKiQePxJNHlVT3NSZrJFjjgVTiwp7gvC9ZL AEGZVc6GCveWBNL+J/4rRRaWs40SGXgeNfqm2pAUQ0A4sLZf/IIDlGc1Ha4VieHnwxig ZLy1xhGswFafBNYzygEEpJgD/xkDGROCvwbpv41g18sZC4TdDAt+GwkddcOcUsxqNyx7 ZpW4GXD2KdEKT0Huf0B4QkHaAxdv+e/aVGCpdYa+6/eR8pFKKGt5yLLrvIoBlzxiqIOQ bbxLszdsurctG6T6amU0kYZxB3Bwg1cExKs9SWtfW4Fwy+s3TMo4F6ZNpNKLHR+BB0HZ tpuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=o6uVGoDbjOsUZByA3SpQzxAts9zKqsQu3dpJbWevnd8=; b=JBvd8hbFju8fWYTVTPGLziW1q0gdtjiAyklwY8WbHyoaCd/Z+roMorCfORW/4CMdGo +Ue93W3K5Xn57IeRz2n9YxQHgEMFMi8tUIOeFBfXOqoP87oEr0keitwwepO3tgIPFEkY UTQ2aNzjFKRykz+fivtDvAove+JvGhenoL0RFtab2beFCNvJF++28YMSRLaKfByQdfW3 5ryBG/bCP9gDMUOkNimfOsFZnb1vQGnhj5aWIpjiUOA6JtZyZzStT76SaMzHQujZnZkz hnatUQlWiniXRi6LYfKunJXyOck73jqE3b72IC0015ohqnWBat1q/dYFAmwSxU3R0GbC TlVg==
X-Gm-Message-State: ABUngveHCAvkbGEUVo8Ogpx+zYeDEzmCIRWi1McuCe7S6buiD+kE8cBurDxbXZ0hnNS1hp42eLY3rZgEGdYQkw==
X-Received: by 10.36.80.205 with SMTP id m196mr8534621itb.58.1478574079103; Mon, 07 Nov 2016 19:01:19 -0800 (PST)
MIME-Version: 1.0
Received: by 10.36.85.83 with HTTP; Mon, 7 Nov 2016 19:01:18 -0800 (PST)
In-Reply-To: <CAF8qwaC2oRqqHAeWRoGm24ZmDe0YAR6xgoA6NWNx59bV+dAOJw@mail.gmail.com>
References: <CABcZeBMeLgqjvr2cjWL=AHTQJbS9siNBB6U2=0654yigbBGkYA@mail.gmail.com> <47532130.8rB6yCJVvA@pintsize.usersys.redhat.com> <CABcZeBOsN+_gUUb=HoUsoPOTBgANedT5Y5O+pAGXn0qTYjq1jg@mail.gmail.com> <4268201.z3YH5P6ntS@pintsize.usersys.redhat.com> <CABcZeBMg_QjHQf3b1mJcuDtCH1o2Gpv=YDdDPkAu5GwEhVaCfg@mail.gmail.com> <c83f4ada-f3e7-12f5-aedd-f41ff5e80665@akamai.com> <CAF8qwaC2oRqqHAeWRoGm24ZmDe0YAR6xgoA6NWNx59bV+dAOJw@mail.gmail.com>
From: Brian Smith <brian@briansmith.org>
Date: Mon, 07 Nov 2016 17:01:18 -1000
Message-ID: <CAFewVt7oBausHM9E83nvzOh1DRCB4f4d92t2X8EmN-CzFU41OQ@mail.gmail.com>
To: David Benjamin <davidben@chromium.org>
Content-Type: multipart/alternative; boundary="001a1140467ec282dc0540c15a6a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/1L_GzmyEmWjqhjq442VayPUKj2g>
Cc: Matt Caswell <matt@openssl.org>, "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] (strict) decoding of legacy_record_version?
X-BeenThere: tls@ietf.org
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." <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: Tue, 08 Nov 2016 03:01:22 -0000

David Benjamin <davidben@chromium.org> wrote:

> Once you've gotten as far as to switch to TLSCiphertext, I don't see a
> reason not to enforce. Keying on versions is problematic (which is why we
> avoided a transition to enforcement), but keying on whether the record is
> encrypted seems fine. I think it just didn't occur to us to base it on
> that. :-)
>

Since this field isn't included in the additional_data of the AEAD in TLS
1.3 any more, it isn't authenticated. That means an active MitM can use
this to transport up to 2 bytes of information hop-to-hop if the receiver
doesn't check it. That seems like a good reason to check it, and also to
check TLSCiphertext.opaque_type is application_data. Assuming this is the
reason, the reasoning should be explicitly called out because it is
non-obvious.

If that isn't a reason to do the check, then I don't think there's any
reason to mandate that implementations do it.

Cheers,
Brian
-- 
https://briansmith.org/