Re: [quicwg/base-drafts] Specify AEAD-based protection of cleartext packets (#693)
ekr <notifications@github.com> Mon, 31 July 2017 13:31 UTC
Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 26F9312EA95 for <quic-issues@ietfa.amsl.com>; Mon, 31 Jul 2017 06:31:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 itgwuookXhQ6 for <quic-issues@ietfa.amsl.com>; Mon, 31 Jul 2017 06:31:18 -0700 (PDT)
Received: from o4.sgmail.github.com (o4.sgmail.github.com [192.254.112.99]) (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 DBA241321E4 for <quic-issues@ietf.org>; Mon, 31 Jul 2017 06:31:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=Qbs12GZBr9ZJqSvoRELb2F92lkg=; b=Zrl2ZiZZAzWUMD7Z lUYYwTmVULyvtFbaZemDfdTEKaJOY4f7dRyvDe9ZI0qsAdNBXiulLmhHRT19xAhP +SPpi7ELpWrsETwfrSahLub+SujZ72p0WuKbhfGfh6nq1/hQDEGKjcXtDx4NJUKW ixI6nuKooewefH0ZljyfwLNkICE=
Received: by filter0641p1mdw1.sendgrid.net with SMTP id filter0641p1mdw1-1505-597F3116-A9 2017-07-31 13:31:02.798381306 +0000 UTC
Received: from github-smtp2a-ext-cp1-prd.iad.github.net (github-smtp2a-ext-cp1-prd.iad.github.net [192.30.253.16]) by ismtpd0037p1mdw1.sendgrid.net (SG) with ESMTP id CcIsOEomQCqvD7wGsmiw0Q for <quic-issues@ietf.org>; Mon, 31 Jul 2017 13:31:02.760 +0000 (UTC)
Date: Mon, 31 Jul 2017 13:31:03 +0000
From: ekr <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab90dfeaa23cc726b902e2790420f4195e336cd53392cf000000011596f31692a169ce0e943650@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/693/319067600@github.com>
In-Reply-To: <quicwg/base-drafts/issues/693@github.com>
References: <quicwg/base-drafts/issues/693@github.com>
Subject: Re: [quicwg/base-drafts] Specify AEAD-based protection of cleartext packets (#693)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_597f311665940_8aa3fc8838e3c2c2375a"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ekr
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak3z3+xZ3AswcPoVnWHZ26mFPRjItIUODUN5N5 iP2fBcxKqmtMCP5WT2+gQpk/gQnRhNYTFQdencQD6f/7voRdErvOCEKt93+cL+naya8e222WDB2Xt0 EVt8+K3NHQBXKX8yanj2w1LZKvWzlsuF4YTJY4atPjW6Iph+W7/QQ91v9A==
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/Ljvz8qit_Ai2ELaAicdvwjgFbiw>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 31 Jul 2017 13:31:20 -0000
There are two objectives here: 1. Preventing off-path attackers from being able to inject packets. AEADing all packets with a key derived from the client CONN_ID does this (regardless of whether or not you mix in some version-specific key). It also doesn't actually matter for this whether you encrypt, but it's convenient because it means no new transform. 2. Preventing middleboxes from trying to read the content of versions they don't know. Having a strong defense against this obviously requires an unpredictable per-version key, but Ian seemed to think there was some value in a predictable key and I'm fine with going along, but i'm also fine not doing this at all. WRT to the various suggestions made above: It's important that VN be protected from off-path attackers as well because otherwise attackers can inject it and cause connection failure just as with other packets (remember: all of this is about protecting injection of packets pre-crypto, because we need to have a negotiation protocol that protects against full on-path attackers). Thus, it needs to *also* be tied to the ClientInitial and the whole point of this issue is to do that in a generic way rather than in a per-packet specific way, as @huitema proposes directly above. Hence, the AEAD (or, as I originally proposed, HMAC). So, I don't think it can be unprotected. I think the right approach here is a variant of @martinthomson's suggestion above. 1. Use a version-specific key label that's unpredictable and baked into the version when it's published. I.e., Key = HKDF(ConnID, version_label) 2. VN always uses some predictable label (say, all 0s) The impact of this would be that: 1. VN is integrity protected, as expected and you can always send VN 2. Servers which receive packets for versions they totally don't know will send VN even if the packet is actually invalid. this seems acceptable because any attacker can produce valid packets and elicit a VN. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/quicwg/base-drafts/issues/693#issuecomment-319067600
- [quicwg/base-drafts] Specify AEAD-based protectio… ekr
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ianswett
- Re: [quicwg/base-drafts] Specify AEAD-based prote… MikkelFJ
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ekr
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ianswett
- Re: [quicwg/base-drafts] Specify AEAD-based prote… MikkelFJ
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Christian Huitema
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ekr
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ekr
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Christian Huitema
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ekr
- Re: [quicwg/base-drafts] Specify AEAD-based prote… David Benjamin
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Ryan Hamilton
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Christian Huitema
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Martin Thomson
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Christian Huitema
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Martin Thomson
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Christian Huitema
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ekr
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Christian Huitema
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Martin Thomson
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Mike Bishop
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Ryan Hamilton
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Ryan Hamilton
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ianswett
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Mike Bishop
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ianswett
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Mike Bishop
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Christian Huitema
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Christian Huitema
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Martin Thomson
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Ryan Hamilton
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Ryan Hamilton
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ekr
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ekr
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Lars Eggert
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Martin Thomson
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Patrick McManus
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Ryan Hamilton
- Re: [quicwg/base-drafts] Specify AEAD-based prote… Christian Huitema
- Re: [quicwg/base-drafts] Specify AEAD-based prote… ianswett
- Re: [quicwg/base-drafts] Specify AEAD-based prote… janaiyengar