Re: [quicwg/base-drafts] Add an appendix containing test vectors for "Initial". (#1573)

Christian Huitema <notifications@github.com> Thu, 16 August 2018 04:54 UTC

Return-Path: <noreply@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 31C83130EC6 for <quic-issues@ietfa.amsl.com>; Wed, 15 Aug 2018 21:54:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.01
X-Spam-Level:
X-Spam-Status: No, score=-8.01 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, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] 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 YqL-lrj4xKTd for <quic-issues@ietfa.amsl.com>; Wed, 15 Aug 2018 21:54:45 -0700 (PDT)
Received: from out-16.smtp.github.com (out-16.smtp.github.com [192.30.254.199]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6694C124C04 for <quic-issues@ietf.org>; Wed, 15 Aug 2018 21:54:45 -0700 (PDT)
Date: Wed, 15 Aug 2018 21:54:44 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1534395284; bh=IV5dK8mEY/6XETs8c9WRfUISOcwOnQ9y7Kx3pJM3fTU=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=pJEdUdA0inE9cYBKehZMqpgqveuyt2H/B2o+fsW/P/xuSphRcv+km2bniPyskvnFo kLsTLlrXJbmHJ1yncK8CYd9AIqLUoFUnkNbQdNST/FMSQSkCVtnXzxi2mnQUWApEv4 fiKri2PjpbOiilbK4+02By2cdHv/Ii7lH50JEgeU=
From: Christian Huitema <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab93a351107907860a286fd004ccc2f27822f4c12c92cf00000001178cc59492a169ce145eeded@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1573/c413425717@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1573@github.com>
References: <quicwg/base-drafts/pull/1573@github.com>
Subject: Re: [quicwg/base-drafts] Add an appendix containing test vectors for "Initial". (#1573)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5b750394612da_13743fbe5acbe618140042"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: huitema
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/QZOk_Qj7mFZjIsfQog6ybJ30iO8>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.27
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: Thu, 16 Aug 2018 04:54:47 -0000

Yes, it may well be that including a "real" packet as a test vector is a bad idea. If we do that, then we will need to update the version number (bytes 2 to 5) from 0xff, 0x00, 0x00, 0x0d to 0xff, 0x00, 0x00, 0x0E for draft 14, and so on for each draft. This does not affect the computation of AEAD and PNE keys, as they are only a function of the salt and connection ID, but it does affect the sample used for PNE in the example.

Suppose that instead of a full packet we had a truncated packet, with just enough bytes to get the PNE sample. We will lose the capability of doing a full test "up to packet decoding", but in my experience that's not a very big deal. Implementations can use different unit tests for verifying the implementation of AEAD. But for that loss we get a big gain: we can update the test vector by just flipping the version bits, without having to worry about the rest.

Unless we change the salt or the algorithm of course. But then if we do that we know that we have to change the whole test vector no matter what.

-- 
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/pull/1573#issuecomment-413425717