Re: [TLS] Proposed Change to Certificate message (#654)

Victor Vasiliev <vasilvv@google.com> Fri, 23 September 2016 21:54 UTC

Return-Path: <vasilvv@google.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 8F50712BAE9 for <tls@ietfa.amsl.com>; Fri, 23 Sep 2016 14:54:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.016
X-Spam-Level:
X-Spam-Status: No, score=-5.016 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, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-2.316, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 8PuZagYR6NjS for <tls@ietfa.amsl.com>; Fri, 23 Sep 2016 14:53:58 -0700 (PDT)
Received: from mail-qt0-x235.google.com (mail-qt0-x235.google.com [IPv6:2607:f8b0:400d:c0d::235]) (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 F37C012B05E for <TLS@ietf.org>; Fri, 23 Sep 2016 14:53:57 -0700 (PDT)
Received: by mail-qt0-x235.google.com with SMTP id 93so58823011qtg.2 for <TLS@ietf.org>; Fri, 23 Sep 2016 14:53:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=i1b2YLRXu+5m/nMyPlPYhFYjGKcYJn41jWDuRHBNkao=; b=Nlctxwtivntsm0WpJ3K4olmhUv9NBiUBETdyrg1loDf0OoISTKTOrbxxT/Ji4ayRmV +46BcJ6PeZL4n4/3oiROUhhmWtw6NEE2RAkRHhGhgXnVIVlYmvJqtLY+sZ3fouCrL7sO ptpV/4eOzaaB33GYtn3QGn0lgI896y+XhN325S6OC6zIPyzP8ikI3umD6Km1PlbtVTEn q98MumS2sgt9QrBDeZXE8uZKjF7J/vqrzNamtF3a22tjuZLhc1k2dxzH3g4oPDJ3CHK/ iG2I6qzU7JJIOvdARu8mrOdh2q8lVDfEcB6sBU2IHrACp25G0PtRxHqhnMABA61P/3Sr i+Kg==
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=i1b2YLRXu+5m/nMyPlPYhFYjGKcYJn41jWDuRHBNkao=; b=GfXvw+3MkBvapxEVi6JgzK8x5Y78aT0SyyMVXqxXted/Q64JmT0w/P6XX070htXiLU gBcv/A8rznDNRSLz6cMXQ4nZFybgIS03Gne6vD3pdkP5GVdhnd6wpmZUEV88a6PBDHUm SJ/Tc1gj9JEDSxx+4z8uYqsYEE/FaEdvP4Egq+x3TzrXTLreVNO4TOF1TrogFd7OoCeM EKNApSajaAAj07416QS27ih/ck4iA1n9pZ43tn2MlQzVbtMN0umhTe1r9FGJnMIg1zlV FPmA8+AAv1kxopzWo/nk88jnSnxJPHNtlB8IX96jwoE68vrSO4lZT7wXsMy+iIz1rL/W /3bQ==
X-Gm-Message-State: AA6/9RlNJ2UWsFp6MpWnNCqK0J1LYbDI1n91Z/cbGp2LpDPJPsz2dfCaT+HrNidjRH61AAccwclUvPWEfR753qSM
X-Received: by 10.200.48.243 with SMTP id w48mr10421925qta.71.1474667637025; Fri, 23 Sep 2016 14:53:57 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.55.74.214 with HTTP; Fri, 23 Sep 2016 14:53:56 -0700 (PDT)
In-Reply-To: <CABcZeBPOsBXv3yCoVrQmfM99JvaD0P=7Wy0EG5wY_d=dTH_Oug@mail.gmail.com>
References: <CAOjisRyDx0Wa5tcFT3gN496jhf-AjLfDH4JNN+w70r8jBsxt5g@mail.gmail.com> <CAFewVt4SOTU18xj45i_Eox2g5zaZyTyD6SP86cjBciXpuC+sDw@mail.gmail.com> <CAOjisRwcR3NUCnCsA+kauGNiOz-TAezskYzM8g3V9nxUCFoaWw@mail.gmail.com> <CABcZeBPOsBXv3yCoVrQmfM99JvaD0P=7Wy0EG5wY_d=dTH_Oug@mail.gmail.com>
From: Victor Vasiliev <vasilvv@google.com>
Date: Fri, 23 Sep 2016 17:53:56 -0400
Message-ID: <CAAZdMacihp1pxk76UY2n66ZqDvcOeqS8vm0n3mObkSBVY0PwBg@mail.gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
Content-Type: multipart/alternative; boundary="001a11404c5caaecfe053d33d01a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/iDui3bw7TJc7tOLlDuBLz4HKLIM>
Cc: "tls@ietf.org" <TLS@ietf.org>
Subject: Re: [TLS] Proposed Change to Certificate message (#654)
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: Fri, 23 Sep 2016 21:54:04 -0000

The version where each certificate gets its own extension sounds like a
step in the right direction.

One concern I have is the way this would interact with cached_info
extension.  Currently, it allows the entire Certificate message to be
cached -- which just meant the entire chain in 1.2.  With the suggested
change, this makes less sense: while you still want to cache SCTs, this
might be much less desirable for OCSP responses.

On Fri, Sep 23, 2016 at 3:49 PM, Eric Rescorla <ekr@rtfm.com> wrote:

> This seems like a reasonable direction.
>
> -Ekr
>
>
> On Thu, Sep 22, 2016 at 7:26 PM, Nick Sullivan <
> nicholas.sullivan@gmail.com> wrote:
>
>> This suggestion makes sense to me.
>>
>> Both the SCT and OCSP v2 extension allow for multiple objects in order to
>> cover multiple certificates in a chain, but your suggestion makes the
>> grouping much more explicit and obviates the need for OCSPv2. I'd
>> definitely consider a modification like this.
>>
>> Nick
>>
>> On Thu, Sep 22, 2016 at 7:17 PM Brian Smith <brian@briansmith.org> wrote:
>>
>>> Nick Sullivan <nicholas.sullivan@gmail.com> wrote:
>>>
>>>> PR: https://github.com/tlswg/tls13-spec/pull/654
>>>>
>>>
>>>> This change adds a set of extensions to the Certificate message. With
>>>> this change, the Certificate message can now hold all extension messages
>>>> that are certificate-specific (rather than connection-specific). This
>>>> change also resolves the anomaly of OCSP messages appearing before
>>>> certificates in the handshake.
>>>>
>>>
>>> There are two ways that such a thing could be done. How your proposal
>>> suggests:
>>>
>>>     opaque ASN1Cert<1..2^24-1>;
>>>     struct {
>>>         opaque certificate_request_context<0..2^8-1>;
>>>         ASN1Cert certificate_list<0..2^24-1>;
>>>         Extension extensions<0..2^16-1>;
>>>     } Certificate;
>>>
>>> or:
>>>
>>>     opaque ASN1CertData<1..2^24-1>;
>>>     struct {
>>>         ASN1CertData cert_data;
>>>         Extension extensions<0..2^16-1>;
>>>     }
>>>
>>>     struct {
>>>         opaque certificate_request_context<0..2^8-1>;
>>>         ASN1Cert certificate_list<0..2^24-1>;
>>>     } Certificate;
>>>
>>> I think you are right that the SCT and the OCSP response are
>>> per-certificate. In particular, they are not per-certificate-chain, so to
>>> me the latter form, where each certificate in the chain gets its own
>>> extension list, makes more sense to me. Would you consider changing the
>>> proposal to the second form?
>>>
>>> Cheers,
>>> Brian
>>> --
>>> https://briansmith.org/
>>>
>>>
>> _______________________________________________
>> TLS mailing list
>> TLS@ietf.org
>> https://www.ietf.org/mailman/listinfo/tls
>>
>>
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>
>