Re: [Trans] Directory instead of .well-known for URL structure

Rob Stradling <rob@sectigo.com> Wed, 03 July 2019 13:52 UTC

Return-Path: <rob@sectigo.com>
X-Original-To: trans@ietfa.amsl.com
Delivered-To: trans@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4A829120059 for <trans@ietfa.amsl.com>; Wed, 3 Jul 2019 06:52:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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=comodoca.onmicrosoft.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 Ba3k2f3WSqdT for <trans@ietfa.amsl.com>; Wed, 3 Jul 2019 06:52:03 -0700 (PDT)
Received: from NAM05-DM3-obe.outbound.protection.outlook.com (mail-eopbgr730043.outbound.protection.outlook.com [40.107.73.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 88B211200B1 for <trans@ietf.org>; Wed, 3 Jul 2019 06:52:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comodoca.onmicrosoft.com; s=selector1-comodoca-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=24boGzH2wwqk02AO7kkTI+oXLst00CrVP40RHWFFitw=; b=BYTi0pYqLtEpD08sWcp4EaWVU9WCJjnaaBarDinh3qT6/go+xzAPHGHng79rnED9Mw/0hsjzlWBBjrMB7w4S71/4mJnul1YNp4WaMeWULQz6H7WHrnmQY31Qs7KKlkPwtS8E03LotoyN4j5OhDKkVA/NdkAhuPVABGa6uP3UYVw=
Received: from DM5PR17MB1211.namprd17.prod.outlook.com (10.173.132.148) by DM5PR17MB1641.namprd17.prod.outlook.com (10.175.224.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2032.20; Wed, 3 Jul 2019 13:52:01 +0000
Received: from DM5PR17MB1211.namprd17.prod.outlook.com ([fe80::b556:345c:94cf:7258]) by DM5PR17MB1211.namprd17.prod.outlook.com ([fe80::b556:345c:94cf:7258%6]) with mapi id 15.20.2052.010; Wed, 3 Jul 2019 13:52:01 +0000
From: Rob Stradling <rob@sectigo.com>
To: Rob Percival <robpercival@google.com>, "trans@ietf.org" <trans@ietf.org>
CC: Andrew Ayer <agwa@andrewayer.name>
Thread-Topic: [Trans] Directory instead of .well-known for URL structure
Thread-Index: AQHVJ7g3xV77fgqjj0ive+Voenofmqa2OUSAgAFHIICAAC3VgIABT0mA
Date: Wed, 03 Jul 2019 13:52:01 +0000
Message-ID: <047d5a04-4176-6651-b200-6ce7ce8a8266@sectigo.com>
References: <0d5e05fc-8f1e-54b5-536d-231153e7baf7@eff.org> <20190701123701.b3ba6b44ef85a74da6209e64@andrewayer.name> <2cbff182-7c7a-4c55-b2d2-a67f41dd7436@sectigo.com> <CAPbZxJTvk805WtR6FF8xUR0GS=E9gcEMphJR658GuTN8V0h_qg@mail.gmail.com>
In-Reply-To: <CAPbZxJTvk805WtR6FF8xUR0GS=E9gcEMphJR658GuTN8V0h_qg@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-clientproxiedby: LO2P265CA0204.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9e::24) To DM5PR17MB1211.namprd17.prod.outlook.com (2603:10b6:3:8b::20)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rob@sectigo.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a0e:ac00:25d:300:f68e:38ff:fe7a:a226]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3c2c7b1c-3d6b-4c5e-c8d1-08d6ffbd9f91
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:DM5PR17MB1641;
x-ms-traffictypediagnostic: DM5PR17MB1641:
x-ms-exchange-purlcount: 4
x-microsoft-antispam-prvs: <DM5PR17MB1641155C0D4BB4B93F8035DBAAFB0@DM5PR17MB1641.namprd17.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 00872B689F
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(979002)(39850400004)(396003)(136003)(376002)(366004)(346002)(189003)(199004)(53546011)(386003)(8936002)(6506007)(76176011)(102836004)(966005)(25786009)(2616005)(4326008)(476003)(14454004)(186003)(5660300002)(68736007)(31686004)(486006)(6116002)(2906002)(11346002)(99286004)(52116002)(110136005)(66476007)(36756003)(7736002)(229853002)(316002)(66446008)(446003)(8676002)(6306002)(6246003)(31696002)(256004)(86362001)(14444005)(64756008)(305945005)(53936002)(478600001)(81166006)(81156014)(66556008)(73956011)(6486002)(71190400001)(66946007)(6512007)(46003)(2501003)(6436002)(71200400001)(142923001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR17MB1641; H:DM5PR17MB1211.namprd17.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: sectigo.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: kjwu2/PNRplTR/5AILGWpnjJbdc8WwrYgpXFu4okfnG9X4G70EkCr3UIiPST7wLVECvqiLZK1MkNjof0KfxkMZ49APfrJhIHOlOGXdMx5KtMPDr9IRCx+wpNJpQ72AMHBcaA9x5+jFiwvtUSRyn44xo8ZCQ0eOwFlTnvnPeudaCYxWWdJ/wfIJkbYKAvjyLpKSMiASaUSw/aZoGwaVSfza1UQ098lmgYxOowzvPLZxsA7/aWWyi3j1biwOqamGMUNG7XFNrjDSgPwso+228KFb2fWKysY1GADmZJTvMCYThdWEyTbKkL6zn9iwqPJ2RGhnAo4MbEXHdbjVFdQV92nbgYnCJUiyg8y+FySCDeZTIW4MVq4RKUmqaXdkU68YBTdXgvGyvVGIkwY2kKKHIFWiQy5uAT+TONJpf3LjvW/O0=
Content-Type: text/plain; charset="utf-8"
Content-ID: <FEB20121FE458741A6EF70A596109797@namprd17.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: sectigo.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c2c7b1c-3d6b-4c5e-c8d1-08d6ffbd9f91
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jul 2019 13:52:01.3409 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 0e9c4894-6caa-465d-9660-4b6968b49fb7
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: robs@comodoca.net
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR17MB1641
Archived-At: <https://mailarchive.ietf.org/arch/msg/trans/h1uGrAxaQlUr2qvH_-cqVwFF7lo>
Subject: Re: [Trans] Directory instead of .well-known for URL structure
X-BeenThere: trans@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Public Notary Transparency working group discussion list <trans.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/trans>, <mailto:trans-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/trans/>
List-Post: <mailto:trans@ietf.org>
List-Help: <mailto:trans-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/trans>, <mailto:trans-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 Jul 2019 13:52:06 -0000

Thanks Rob.  Both the to-be-deprecated and new schemas are of course 
focused on CT v1 (RFC6962), so ISTM that neither of them are suitable 
candidates for 6962-bis to point at.

Maybe we should simply remove the "[JSON.Metadata] is an example of a 
metadata format which includes the above elements" sentence from 6962-bis.

On 02/07/2019 18:51, Rob Percival wrote:
> FYI: That JSON schema is planned for deprecation; a new version was 
> proposed last year and, following a period for feedback, parties have 
> been slowly migrating to the new schema: 
> https://groups.google.com/a/chromium.org/d/topic/ct-policy/26dmpWdaSHM/discussion
> 
> That thread would be a good place to propose schema changes.
> 
> On Tue, 2 Jul 2019, 16:08 Rob Stradling, <rob@sectigo.com 
> <mailto:rob@sectigo.com>> wrote:
> 
>     Andrew, thanks for your analysis.  Comments inline...
> 
>     On 01/07/2019 20:37, Andrew Ayer wrote:
>      > I also think .well-known URLs are a bad idea, for the same reasons
>      > as Jacob.
>      >
>      > I think directories are even worse.  Although they've been used
>      > successfully in ACME, CT has different needs which make directories
>      > unsuitable.  ACME's usage pattern is to make a series of related
>      > requests over a short time period to drive a certificate request to
>      > issuance, with the client maintaining state between each request.
>      > This makes it natural for a client to fetch the directory once at the
>      > beginning of an issuance "session" and use it for the duration, since
>      > the cost of fetching the directory is amortized over all the
>     requests,
>      > and the directory is unlikely to become invalid during the session.
>      >
>      > However, CT's usage pattern is to make a lot of unrelated one-off
>      > requests spread over a long period of time - e.g. submitting a
>      > (pre)certificate, fetching an inclusion proof, fetching the
>     latest STH
>      > to send to auditors. Clients would have to either fetch a new
>     directory
>      > for every request (doubling the number of requests made to the
>     log) or
>      > cache directories in long-term state (which requires dealing with
>      > cached directories going stale, and requires keeping long-term state
>      > which might not otherwise be necessary).
>      >
>      > ACME's use of directories is underspecified since it doesn't say how
>      > long a directory remains valid.  It's not a big deal for ACME because
>      > ACME servers are presumed to be sane, or people would switch to
>     another
>      > CA.
> 
>     It's not been a big deal for ACME...yet.  But why leave it to chance?
> 
>     I just filed this erratum against RFC8555:
>     https://www.rfc-editor.org/errata/eid5771
> 
>      > However, CT is meant to be an adversarial protocol and has to
>      > anticipate logs doing crazy things like constantly changing their
>      > directory in an effort to stymie auditing and hide misbehavior.
>      >
>      > Thus, CT's use of directories would need to be quite well specified.
>      > It is not a change that should be rushed at the last minute without a
>      > chance for people to carefully examine and poke holes in it.
> 
>     Agreed.
> 
>      > CT clients already need to be configured with a number of parameters
>      > for each log - MMD, hash algorithm, public key, log ID, and so on.
>      > Adding a directory would bifurcate log metadata between the existing
>      > parameter set and the new directory object.
>      >
>      > I propose satisfying BCP 190 by simply specifying the URL for each
>      > endpoint as a separate log parameter.  This is a very minimal
>     change to
>      > the protocol and avoids the problems above.
> 
>     I agree that it would make sense to require each endpoint to be
>     specified as a log parameter.  Your point about bifurcation is well
>     made.
> 
>     So then I think the question is: Should 6962-bis specify a "directory"
>     endpoint that returns a JSON structure that contains all of the log's
>     parameters (including each of the endpoint URLs)?  Or should 6962-bis
>     not mandate any particular format by which log operators should
>     distribute this information?
> 
>     Currently, 6962-bis doesn't mandate a format, but it does point to an
>     example format:
>         "[JSON.Metadata] is an example of a metadata format which
>     includes the
>          above elements."
> 
>     Sadly, this claim is not currently true, because [JSON.Metadata]
>     (https://www.gstatic.com/ct/log_list/log_list_schema.json) does not
>     currently "include the above elements".  We should fix this somehow.
>     But how?
> 
>     Also, how often is a CT client expected to refresh log metadata it has
>     obtained from (for example) [JSON.Metadata] ?
>     Is it wise to underspecify this?
> 
>      > Regards,
>      > Andrew
> 
>     -- 
>     Rob Stradling
>     Senior Research & Development Scientist
>     Sectigo Limited
> 
>     _______________________________________________
>     Trans mailing list
>     Trans@ietf.org <mailto:Trans@ietf.org>
>     https://www.ietf.org/mailman/listinfo/trans
> 

-- 
Rob Stradling
Senior Research & Development Scientist
Email: rob@sectigo.com
Bradford, UK
Office: +441274024707
Sectigo Limited

This message and any files associated with it may contain legally 
privileged, confidential, or proprietary information. If you are not the 
intended recipient, you are not permitted to use, copy, or forward it, 
in whole or in part without the express consent of the sender. Please 
notify the sender by reply email, disregard the foregoing messages, and 
delete it immediately.