Re: [Trans] AD Review: draft-ietf-trans-rfc6962-bis-26.txt

Rob Stradling <Rob@ComodoCA.com> Fri, 20 April 2018 21:06 UTC

Return-Path: <rob@comodoca.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 ECE0B12D885 for <trans@ietfa.amsl.com>; Fri, 20 Apr 2018 14:06:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 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, T_DKIMWL_WL_MED=-0.01] 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 td6w46lhkG5Q for <trans@ietfa.amsl.com>; Fri, 20 Apr 2018 14:06:47 -0700 (PDT)
Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0055.outbound.protection.outlook.com [104.47.33.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E3D9F12D72F for <trans@ietf.org>; Fri, 20 Apr 2018 14:06:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comodoca.onmicrosoft.com; s=selector1-comodoca-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=E9uzaujyAfSUhFm+XuSMxwbN8DI7Cd1PCyvdawjZseI=; b=SgP0vSmvetvZ8D2Q70zQORsSFduQDtZW8ICdraTx2S/nvnEu7Fimk/3KU/vI+eDV8MoFd0C8YcYnSn9RYLPoNTyPIfV8hydhedAPjr8kCBe2y6xkroefccssLpAawnCbkgb4ccVfynh4U5vyshWimvODKVGEPEFF/nDVbhLjVHM=
Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rob@comodoca.com;
Received: from [192.168.1.81] (51.6.119.163) by BLUPR17MB0292.namprd17.prod.outlook.com (2a01:111:e400:524f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.696.12; Fri, 20 Apr 2018 21:06:43 +0000
To: Eric Rescorla <ekr@rtfm.com>, Paul Wouters <paul@nohats.ca>
Cc: "trans@ietf.org" <trans@ietf.org>
References: <CABcZeBPWarWU=5bOAFyxJj-AkLgLaCwX6T836Er8bQC19WkeoA@mail.gmail.com> <CABrd9SQbbEF2CNwvaN=2j-izEG+qvh1wp85j5AU-CYFAEkEYzg@mail.gmail.com> <CABcZeBPrqRW_p4PD1f6uJmd9TMFVxXz0tjcrxoUePvSwd4PXDA@mail.gmail.com> <CABrd9STnNkcTvOytf=PCDBaD5MZmPiSs+rcE6uHoC7ogzzGP=Q@mail.gmail.com> <CABcZeBNd3xBdVtdLe6bmhXRfJsn8MwC-TaS=Dk49QRZYpj-itA@mail.gmail.com> <alpine.LRH.2.21.1804190925350.1699@bofh.nohats.ca> <CABcZeBM3WU76uFBuw5jDqfJBqjGwXSrJhy3=AoytmRoVpqCCRg@mail.gmail.com>
From: Rob Stradling <Rob@ComodoCA.com>
Message-ID: <42df349d-fdc2-72ae-b42b-5cc2ce4d685d@ComodoCA.com>
Date: Fri, 20 Apr 2018 22:06:34 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <CABcZeBM3WU76uFBuw5jDqfJBqjGwXSrJhy3=AoytmRoVpqCCRg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Originating-IP: [51.6.119.163]
X-ClientProxiedBy: DB6PR04CA0013.eurprd04.prod.outlook.com (2603:10a6:6::26) To BLUPR17MB0292.namprd17.prod.outlook.com (2a01:111:e400:524f::22)
X-MS-PublicTrafficType: Email
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(2017052603328)(7153060)(7193020); SRVR:BLUPR17MB0292;
X-Microsoft-Exchange-Diagnostics: 1; BLUPR17MB0292; 3:D5Y75eBvYi1nXvfMoooyJZ/X9H0ogM4DHgavYv9pXWU3o2wie1VAoufcwgjw4zvqcs+3/wWT3+xjdXPvTBMd2X8+NjQu0hPwMH9HM2wocxwQCU4A8FRLhKAJHuRUckaquqm1mwF9lDvYfBeUQSOFtmPahlq3CEqPB0t18a3rPjzAJowNqvvjzHEK6GPVGaL3m7BSjoKmX9aZ5kpn48596DIJxU/M0EruIz5dZhe20gjW8NuRX6s2TUtoAOQN+C1F; 25:Q7WHvJlnwW04M7XyR9puRSpUH7lyKUqRnMQH6GTokexiE6MHn8xjUhaGhxNlOKYmXUXAZvqGY9JAQfVoc0qwHxHihyUzmtnT15lTnNO6kP79jt89xhMZvTAYbfZ8iB3p8dlTu7raGdmLqyGVagF79pKCBZvrLyv0nxcWIGVbFhYMAGew8/5RRCCeFhAqRPhRNzsrJUmf8BkdBgG2AY+WUX08j0PxGbvb4fpuLB7Vb3xaeJpLs23HQY9XEDawCcUwJw4+fnYOiWguY/4lFm/G4rlJ1MytJWLfC3vMIbLY6OJwqZhR1riNBOaVyJbc+IntlCQZmCfprpgFzidEDkFFdw==; 31:lSKV6tLBeULLyAv5U8jwsgF9yi2UFwxOSYNoRNynAVZnoPjrpQoWC7FCHQPNu1VEqw5/T+Ifmr8bnlcjCKIrQYv9ALqMDGgHS2M9GK7nfi20/jhQzrhxX/hMALAAPcya5Y7zf8hXmBF78dlkVRzxiwQ6fAmwiYU4KLfT6oAcu4FkWgdmtqmkDrXsseDIbBZU50c4FTWa2tinu9xdi3K53JnSzvw9nkCsmzUe2pRTgjI=
X-MS-TrafficTypeDiagnostic: BLUPR17MB0292:
X-Microsoft-Antispam-PRVS: <BLUPR17MB029280487DD4AC1F40240C46CDB40@BLUPR17MB0292.namprd17.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(158342451672863)(788757137089)(211936372134217)(153496737603132);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231232)(944501398)(52105095)(10201501046)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:BLUPR17MB0292; BCL:0; PCL:0; RULEID:; SRVR:BLUPR17MB0292;
X-Microsoft-Exchange-Diagnostics: 1; BLUPR17MB0292; 4:NpdXo+vcQBbU1mheSWBCxP5Zp75QO8WDgAM3BWMMot/uQp+93oeSCK0iCOKkCKtfW4AkT4nsrO0EWjqBMe7luz6TDDJh57dTQ7d1/5AsFhWtlq2QvSFUp1nLkK7JPHMtWzrMglLjoz3nN8G7hfjFMAGEjLAQMnHE9dGD/Ap+4KBE5KSLBQid64KXKAqUSBgKyeeucjtKJDn+5+yhE8egpk6EZq2/81DbBfcdd3Xm77PwLB7SBx8XFtR4Zhy40EtcCCTWCd51dq0OIh37LcCQH4sYWLJQvC8TjsrOrVoZH4hRmo8uqoXSzvrHZhupcgaMkBpfwo57QIGqXyT2z0t1xx/1H+1lrnkilAVbpnM2Ifir0OqZDUVERSWnU/1f6/eQaMFxncT19wK49UmheKTexqGDzIN4T2R0A58qBM92GFI=
X-Forefront-PRVS: 0648FCFFA8
X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6049001)(396003)(39380400002)(39850400004)(366004)(346002)(376002)(252514010)(956004)(2906002)(11346002)(966005)(23676004)(2616005)(7736002)(50466002)(305945005)(65826007)(65806001)(446003)(52116002)(2486003)(59450400001)(76176011)(6666003)(52146003)(6306002)(6486002)(476003)(386003)(25786009)(4326008)(53546011)(229853002)(86362001)(2870700001)(110136005)(67846002)(58126008)(6116002)(117156002)(8676002)(478600001)(64126003)(3846002)(186003)(31686004)(16576012)(8936002)(31696002)(36756003)(47776003)(77096007)(316002)(81166006)(53936002)(5660300001)(16526019)(6246003)(66066001)(26005)(65956001)(93886005); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR17MB0292; H:[192.168.1.81]; FPR:; SPF:None; LANG:en; MLV:nov; PTR:InfoNoRecords;
Received-SPF: None (protection.outlook.com: comodoca.com does not designate permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: 1;BLUPR17MB0292;23:UVom4lt17qyMwOX6EW8wtnId1dB+g/x0fHC3N+AQv14kQKb5U74DpPY/I5+/tb4mupPkpjdsbQ/N2OexGqEcZvsmzBNgqCF/sInrm+n/hcAKJJQP9m9rfExSmY2RcdQPR2FiIdl65XT1VINihkv5RQr7H/6g3Ve+taTH95XZxJWjGV66MmSP+dDwd/zWrvPCildYR8NCelsE1AltfiyKfjpAOb/lpimO1GR6sOOjiLvaCpBYD/WqAZ39t03PxXi9KoDZzWolYKT10eyIMOseURYqlSw/5bEoehDDUFF0KNFEz7eZsxYJZVNB4uHFrXf/1RXNpIY4/IcPjoFiePMQ4MfgCX88+eFyDP6WMqnbdDyO4HTrIDIWV6eRnsHBVvWxB3Ji3OkT7B+WFMWaFx5fx9CB643dDJ3/SkoudtWVqReWlVXmAa32EimUH5qFS65VOTlVauMWkyP9eQ00y4MfNUApaftw/S8+U6X5mSYaT2P9/JRhfRIBnKnYjqPn/oc5ksNCNmnvhRW3SLZ3YrawAQ8wbGlc79luLahUynFSZnVhZC2Furt/2rzqVqeXjSzoEepMsfA3ovUGYVPBu7SNIJZg0v2/yQ7lZF+6GSTk5uSrlR2FXy9WjddpHN1hX9YC/pvv6x7bLk+DI6qdpiTEo9i5csJCLPq1wjnjQOgc78NpMEaRuYk+WDknA3RRnztOFzZtQ/ULMaudfC6BEjKbIHtp/3Nb4BUdb5vQmcaEc8MuL8tMQPEafpagzcT5XZlvM5qQrzy0uxbM8SZicsqbbD/0tGA6cyrbzPjRhvxg+MHKnn5UfRzowwaXkPAcsER0L6BRFm+8x0NkKDU8UjI5h+uF9y03A9vwD4/ycr/JJ9LJGoqohHT1x/YDjLj9KbQV1oGDZv86T998YwYCOrP8G5jvWdIHm1QyFmkWuYlS067tobyCrJWirVvjBzfONh1FTRBthcYMv0ArVumAT1td5+VYMeXXf0Gwm6z3UnuSAepJJeD5PD3Nj0MbqGJihTIg/6TXj+faaoJlofPdYMMn8JzpK9DvBgRn0Bc7snj/19JbdgAXu7K6VZp2xR7R3oC9/eCY5ZDf1UN0L5kbd5qHVhNzVJ+bW+9hjAg1eoi+eDNahJ3jdXr7enS5FoEHfnVL84AlNBO3ztRK0To7cdyqI1/xSl05RVAftSvG0lbvSnBnENNfwPvhpJrFj4aI+UeO79kTwiX6ExeQrwKGiqEUmhFpJu7kl9G6JwWkw6ETeQA7wfMlfLYngNL3TY4ZrZG6nRUtsQJTFm5n56j7DUDxaCQjcnqfqBdTfk3khkmtS2V64DJ1WIJ0QcDenoREgOitba0OPT1CA4G3GYZAWn1kFZ57+OcMR4LZ3sJzsMtTkiZqkC+DiXSSj0PPcpWfkb8iycn1npcC8UcGwOt3lv37vA==
X-Microsoft-Antispam-Message-Info: D0I7Fuz8JuXKRWkBL/53jvsmGghEjc15q6AR6CCumXccz4fTJiKh3FlPh1cb9OgGgaTx2xJjPjH3q4biyxKcP0uoTZmWQ2ISjz79keAB8dGvfTyoYwrquPvCIYRJb6p69LCuioX7m+QAxg3MVIv1nna1l+ROh81HGqbh7YT/vJRUGLoyiASz3oHXrx5ytBl1
X-Microsoft-Exchange-Diagnostics: 1; BLUPR17MB0292; 6:98L845iKPGp5bwdcIoEoMinsdfd1dhDjEh2PAGek+HpUbguZ3RjNdgTE/XsLmZ0pvOQBzqdEn2p4Pad6CqOO3A4tM9EBl033gE1DgbYlXWrPHC6MyCeU+WaVTMghD48SLSLcINt4Ndm/JswJExlkV5asYpXKgWIwOgLKYIdSqHHirQXN22eEyxO9XSlDRffmqtghOS9keZP0s3pN4fbK725hqHTAKpiZEGKrTtcWyBSYdQeY/WRnEiQAIqViWVnUO9CiTUA/ThEpGIc4Dfmm93bK1h5Uc6ZA0T1lCKqcct16EyCEaoB77lKrFOXXtY7yI31jeK84dSi+96C82epmoIWzglfrBf24pU6CHld5ag/XC7GJUb7wVIkf7ZnK20V+FPfVxblNt+A3GAqVrhM0Oyh8+RpbO7Kcrud9ujGIexvqs8s6n8te65TxGMjgpZQr1SQwnpzdb1cCLuzjUrqFPg==; 5:KH8BewrezmLjwFxajXjH+ys0lsTxMI8S0PyVahvYOPyU9DWrR0Gvw9zfogQO917ubtoFx6kAqm/OR9eN63R1BDtuexkRE+WG/cpC6YOb1y1W0zzh0EptxTMe4OaWX44SsMnQCCJYXpU5pq5fGchUWwTBsZNXw0B7uImHwiFV5n8=; 24:biuToJjRMh5PkmdC1xfGyo5JmIaqKvSaqsZnVJ50ZM5GZJoSuRaZAAjHM8xooxn627+h6LZON+eKWpMrvOYGIimiY5r2B4AtkAy6v5gYSB4=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BLUPR17MB0292; 7:OYhgquwZxhy+BR25ExT5NyUDs+7NlTSMEwSjOFLQba+ZplTnSOJEy7gukde6nbT6Ji49kYeLK/8VK03vkp03HfJF9wUsRnw8RYbZ5HX9njNqTMX8u6sghZ98JLFfzPyNSh424s/r1aSEJ2nDiWLw3NzAPVb8gVTCBoAauKJDzXJizGLuvFbZbsJK7mMPYQCR8Aif0pTIbsTC3KcfwrCo6kfIZWrxA0iolLCBatXFsYjaH4AnjtPh1zrOH2VkedIg
X-MS-Office365-Filtering-Correlation-Id: 5dc08496-bd0b-4ae6-9527-08d5a7029f41
X-OriginatorOrg: comodoca.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2018 21:06:43.9015 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5dc08496-bd0b-4ae6-9527-08d5a7029f41
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 0e9c4894-6caa-465d-9660-4b6968b49fb7
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR17MB0292
Archived-At: <https://mailarchive.ietf.org/arch/msg/trans/R5ovMHh23LnYKJD8QQ2rMFvB_Ic>
Subject: Re: [Trans] AD Review: draft-ietf-trans-rfc6962-bis-26.txt
X-BeenThere: trans@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 20 Apr 2018 21:06:52 -0000

I've just opened 2 PRs, which we (the authors) will deal with and then 
publish version -29.  I believe this will resolve all of the concerns 
raised in EKR's previous review.

On 20/04/18 00:46, Eric Rescorla wrote:
> Hi Paul,
> 
> I still have to review this. Will try to do so in the next week or so
> 
> -Ekr
> 
> 
> On Thu, Apr 19, 2018 at 6:30 AM, Paul Wouters <paul@nohats.ca 
> <mailto:paul@nohats.ca>> wrote:
> 
>     On Thu, 7 Sep 2017, Eric Rescorla wrote:
> 
>     Eric,
> 
>     Are all your concerns raised in the AD review met by version -28 ?
> 
>     The diff since your last review:
> 
>     https://tools.ietf.org/rfcdiff?url2=draft-ietf-trans-rfc6962-bis-28.txt&url1=draft-ietf-trans-rfc6962-bis-26.txt
>     <https://tools.ietf.org/rfcdiff?url2=draft-ietf-trans-rfc6962-bis-28.txt&url1=draft-ietf-trans-rfc6962-bis-26.txt>
> 
>     Paul
> 
>         Date: Thu, 7 Sep 2017 10:41:45
>         From: Eric Rescorla <ekr@rtfm.com <mailto:ekr@rtfm.com>>
>         Cc: "trans@ietf.org <mailto:trans@ietf.org>" <trans@ietf.org
>         <mailto:trans@ietf.org>>
>         To: Ben Laurie <benl@google.com <mailto:benl@google.com>>
>         Subject: Re: [Trans] AD Review: draft-ietf-trans-rfc6962-bis-26.txt
> 
> 
> 
> 
>         On Thu, Sep 7, 2017 at 3:24 AM, Ben Laurie <benl@google.com
>         <mailto:benl@google.com>> wrote:
> 
> 
>                On 5 September 2017 at 18:46, Eric Rescorla <ekr@rtfm.com
>         <mailto:ekr@rtfm.com>> wrote:
> 
> 
>                      On Tue, Sep 5, 2017 at 9:04 AM, Ben Laurie
>         <benl@google.com <mailto:benl@google.com>> wrote:
> 
> 
>                            On 4 September 2017 at 00:17, Eric Rescorla
>         <ekr@rtfm.com <mailto:ekr@rtfm.com>> wrote:
>                                  Hi folks,
> 
>         Please find enclosed the first cut of my AD review of this draft.
> 
>         Note: the original of this review is on Phabricator at:
> 
>         https://mozphab-ietf.devsvcdev.mozaws.net/D13
>         <https://mozphab-ietf.devsvcdev.mozaws.net/D13>
> 
>         If you want to see comments in context -- which is a lot easier
>         -- you
>         can go there. Also, you can create an account and respond inline if
>         you like.  If you elect to, let me know if you run into problems.
> 
>         -Ekr
> 
> 
>         Note: I have not yet reviewed the algorithms in S 2.1. I plan to do
>         that separately, but figured it would be useful to provide the
>         rest of
>         my review on the assumption that the changes to that section will be
>         modest if any.
> 
> 
>         High-Level:
> 
>         1. This document makes a variety of claims about the assurances that
>         clients get that only obtain if some as-yet-to-be-specified
>         third-party verifiability mechanism is implemented. For instance, in
>         the intro:
> 
>            Certificate Transparency aims to mitigate the problem of
>         misissued
>            certificates by providing append-only logs of issued
>         certificates.
>            The logs do not need to be trusted because they are publicly
>            auditable.
> 
> 
>         As the extensive discussion following Richard Barnes's and my
>         previous
>         comments should make clear, this is only a property of CT if you
>         also
>         have some mechanism for third-party verifiability of STHs, and this
>         document does not supply that. In the actually deployed -- we can
>         debate deployable separately the deployability of some of the
>         proposals for how to get this-- versions of CT, what clients get is
>         SCTs, which are effectively countersignatures and in fact do require
>         trusting the logs. This is implicitly acknowledged by proposals that
>         RPs only accept certificates with >1 SCT.
> 
> 
>         The purpose of multiple SCTs is to avoid the death of a single
>         log causing the death of a large number of certificates. It is
>         not about trust.
> 
> 
>         That seems like the reason for the server to offer it, but not
>         for the client to require it.
> 
>                      Line 763
>             Maximum Chain Length:  The longest chain submission the log is
>                willing to accept, if the log chose to limit it.
>         Nit: chooses
> 
> 
>         Past tense seems correct?
> 
> 
>         I'm willing to dert this to the RFC Editor.
> 
> 
> 
> 
>         Line 785
>             accepted trust anchor, using only the chain of intermediate CA
>             certificates provided by the submitter.
>         Why is this a 2119 MUST? It seems wise, but not necessarily a
>         conformance requirement
> 
> 
>         "To avoid being overloaded by invalid submissions"
> 
> 
>         There seem like one way to prevent this, but not the only one.
> 
> 
>                Line 816
>             anchor used to verify the chain (even if it was omitted from the
>             submission).  The log MUST present this chain for auditing upon
>             request (see Section 5.6).  This prevents the CA from
>         avoiding blame
>         What happens in cases of multiple chains. For instance, say that
>         the submitter provides superfluous certificates?
> 
> 
>         Not allowed.
> 
> 
>         Hmm...  So your theory is that the submitter does path construction
> 
> 
>         Yep - and that's borne out by practice.
> 
> 
>         OK, well, then it would help if the document were clearer on
>         this point.
> 
> 
> 
> 
> 
>         Line 837
>                 opaque LogID<2..127>;
>         This seems to be the first use of the TLS specification
>         language, but I don't see a cite. Please provide one,
> 
> 
>         See s1.2.
> 
> 
>         OK. Thanks.
> 
> 
> 
>         Line 926
>                 opaque TBSCertificate<1..2^24-1>;
>         NIT: there's no actual way a TBSCertificate can be 1 byte.
> 
> 
>         Line 948
>             "tbs_certificate".  The length of the "issuer_key_hash" MUST
>         match
>             HASH_SIZE.
>         Is this true? What happens if we have two CAs that share a key?
> 
> 
>         Eh?
> 
> 
>         Say that a CA spins up two subordinates that happen to share the
>         same key. I agree it's foolish.
>           return an empty
> 
> 
> 
>         Line 1522
>             permissible.  These entries SHALL be sequential beginning
>         with the
>             entry specified by "start".
>         How does the client know which of the above two cases has occurred?
> 
> 
>         The response includes an STH, which says how big the tree is.
>         Probably should be the latest one known to that server.
> 
> 
> 
>         Line 1552
>             TLS servers MUST use at least one of the three mechanisms listed
>             below to present one or more SCTs from one or more logs to
>         each TLS
>         This needs to somehow be clear that it only applies to TLS
>         servers that are compliant with this specification, as it's not
>         a new requirement on all
>         TLS servers.
> 
> 
>         Surely its the other way round: i.e. new requirements on all TLS
>         servers have to be made clear?
> 
> 
>         I'm not sure what you mean. This document does not get to
>         require that all TLS servers do CT. Was that your intent?
> 
> 
>         What I meant is that if every time you mention a thing you have
>         to say "but only if you are conforming to this RFC" then you a)
>         make the whole thing a lot more
>         cumbersome, b) are stating the obvious (i.e. that you only have
>         to conform to the RFC if you have decided to conform to the RFC).
> 
> 
>         I don't think it's merely stating the obvious in that we have
>         *other* RFCs which actually do attempt to retrospectively impose
>         requirements on all uses of TLS. See, for
>         instance: https://tools.ietf.org/html/rfc7465
>         <https://tools.ietf.org/html/rfc7465>. And this is a different
>         story, in that we are not (I assume) going to go around saying
>         that TLS stacks that don't do CT are not
>         TLS conformant.
> 
>         I think the text I would use here would be "CT-using TLS servers
>         MUST...."
> 
> 
>                Surely if you are making a new requirement for TLS
>         compliance then you have to explicitly say so?
> 
> 
>         Well, my point is that the way that this document is written in
>         fact does so, and so you have to look at "Updates" to find out
>         that that's not the case.
> 
>         -Ekr
> 
> 
> 
> 
> 
>         -EKr
> 
> 
> 
>         Line 1595
>             been struck off for misbehavior, has had a key compromise,
>         or is not
>             known to the TLS client).  For example:
>         Maybe replace "For example:" with "Some ways this can happen are..."
> 
> 
>         Line 1599
>                misissuance from clients.  Including SCTs from different logs
>                makes it more difficult to mount this attack.
>         Assuming that the server is malicious, why would it include
>         multiple SCTs? It seems like requiring multiple SCTs does in
>         fact provide this defense,
>         but that's not an argument for servers to provide multiples.
> 
> 
>         Line 1627
>                       SerializedTransItem trans_item_list<1..2^16-1>;
>                   } TransItemList;
>         Structurally, it's kind of a mess to have this be the place that
>         you make TransItems self-contained (by having a defined length
>         field). What about
>         other places I might want to concatenate TransItems. Why don't
>         you instead make TransItem self-contained, like so:
> 
>         struct {
>                    VersionedTransType versioned_type;
>                    uint16 length;   // NEW
>                    select (versioned_type) {
>                        case x509_entry_v2:
>         TimestampedCertificateEntryDataV2;
>                        case precert_entry_v2:
>         TimestampedCertificateEntryDataV2;
>                        case x509_sct_v2: SignedCertificateTimestampDataV2;
>                        case precert_sct_v2:
>         SignedCertificateTimestampDataV2;
>                        case signed_tree_head_v2: SignedTreeHeadDataV2;
>                        case consistency_proof_v2: ConsistencyProofDataV2;
>                        case inclusion_proof_v2: InclusionProofDataV2;
>                    } data;
>                } TransItem;
>         This is pretty much the universal TLS convention.
> 
> 
>         Line 1649
>         6.4.  transparency_info TLS Extension
>         This extension appears not to have any explicit support for CT
>         entries for intermediate certs. Am I just supposed to glue
>         together all the TransItems?
> 
> 
>         Line 1651
>             Provided that a TLS client includes the "transparency_info"
>         extension
>             type in the ClientHello, the TLS server SHOULD include the
>         You need to provide an actual definition of what the client
>         includes, and having the server ignore the contents is bad mojo.
>         TLS convention is for the
>         client to include an empty extension and the server to validate
>         that it is in fact empty.
> 
> 
>         Line 1654
>             "transparency_info" extension in the ServerHello with
>             "extension_data" set to a "TransItemList".  The TLS server
>         SHOULD
>             ignore any "extension_data" sent by the TLS client. 
>         Additionally,
>         IMPORTANT: The normative language here is kind of confusing. It
>         SHOULD include the extension but if it's included, it MUST
>         consist of TransItemList,
>         no? And surely only SHOU
>         Also, I'm not sure this is the right logic. If the server knows
>         that it has the SCT information in the certificate or in OCSP,
>         why SHOULD It send this
>         extension. I would think, rather that servers should aim to send
>         information at most once, so that it should only send the
>         extension if it contains
>         information that's not in the cert/OCSP. as it pretty much has
>         to send those anyway. Otherwise, don't we just end up in a world
>         where if this info is
>         in OCSP and certs, it's always sent twice, because the client
>         doesn't know where the info is, and so has to always offer the
>         extension.
> 
> 
>         Line 1658
>             session is resumed, since session resumption uses the original
>             session information.
>         Does this mean the client MUST abort the handshake if the server
>         includes it?
> 
> 
>         Line 1668
>             o  The TLS client includes the "transparency_info" extension
>         type in
>                the ClientHello.
>         This condition is non-sensical, because if the client *doesn't*
>         include the extension, the server cannot send the
>         transparency_info extension at all.
> 
> 
>         Line 1722
>         8.  Clients
>         Given the imminent standardization of TLS 1.3, you need to
>         somehow provide a mapping for client-side CT for that, I think
> 
> 
>         Line 1739
>             view.  The exact mechanisms will be in separate documents,
>         but it is
>             expected there will be a variety.
>         Given the somewhat science fictional status of Gossip, this
>         entire paragraph should be stricken
> 
> 
>         Line 1747
>             MUST implement all of the three mechanisms by which TLS
>         servers may
>             present SCTs (see Section 6).  TLS clients MAY also accept
>         SCTs via
>             the "status_request_v2" extension ([RFC6961]).  TLS clients that
>         IMPORTANT: This also needs to be rewritten so it makes clear
>         it's not a general levy on TLS clients.
> 
>         Line 1770
>             In addition to normal validation of the server certificate
>         and its
>             chain, TLS clients SHOULD validate each received SCT for
>         which they
>             have the corresponding log's parameters.  To validate an
>         SCT, a TLS
>         IMPORTANT: Why is this a SHOULD and not a MUST? If you support
>         CT at all, why would you not do this?
> 
>         Line 1791
>             TLS clients MUST NOT consider valid any SCT whose timestamp
>         is in the
>             future.
>         What's the reason for this? If your clock is slightly wrong,
>         this is going to cause new certs to fail even if they otherwise
>         would have succeeded
>         (because the notBefore and notAfter are more conservative).
> 
> 
>         Line 1800
>             will disclose to the log which TLS server the client has been
>             communicating with.
>         IMPORTANT: This "Note" just mentions in passing a huge privacy
>         issue. You need to be a lot clearer about this.
> 
>         Line 1823
>             "transparency_info" and "status_request" TLS extensions in the
>             ClientHello.
>         IMPORTANT: This is not consistent with the requirements on the
>         server.
>         Trying to reconstruct the reasoning here, the client can only
>         decide that the server is noncompliant if it has given the
>         server a chance to send the
>         SCTs by every mechanism., otherwise the server might just want
>         to send the SCT some other way. However, if servers can
>         optionally ignore
>         transparency_info (it's a SHOULD above), then you can have two
>         compliant implementations with the server having a CT-compliant
>         cert and yet the client
>         declares it noncompliant. To fix this, you need to require the
>         server to respond to "transparency_info"
> 
> 
>         Line 1831
>             "CachedObject" of type "ct_compliant" in the "cached_info"
>         extension.
>             The "hash_value" field MUST be 1 byte long with the value 0.
>         You should explain why this is one byte long (that the PDU is
>         defined as having a minimum length of 1). Also the server should
>         be required to check
>         it.
> 
> 
>         Line 1842
>             watches.  It may also want to keep copies of entire logs. 
>         In order
>             to do this, it should follow these steps for each log:
>         Why is this not a 2119 SHOULD?
> 
>         Also, what does "in order to do this" refer to? Clearly not how
>         to keep copies.... Presumably, how to poll the log.
> 
> 
>         Line 1864
>             8.  Either:
>         IMPORTANT: You seem to be missing there part where you actually
>         look at the entries to verify that they don't contain bogus data
>         (e.g., certificates
>         for your domain). I get that it's implicit here, but given that
>         you provide an algorithm, that should be an explicit stage.
>         This is a pretty odd algorithm. If I understand it correctly,
>         1-4 are setup steps and then 5-9 is supposed to be repeated, but
>         I could just do this
>         once and stop at 4.
> 
> 
>         Line 1912
>             STHs it receives, ensure that each entry can be fetched and
>         that the
>             STH is indeed the result of making a tree from all fetched
>         entries.
>         IMPORTANT: How do you verify MMD?
> 
>         Line 1944
>             If it should become necessary to deprecate an algorithm used
>         by a
>             live log, then the log should be frozen as specified in
>         Section 4.13
>             and a new log should be started.  Certificates in the frozen
>         log that
>         RFC 2119 SHOULD? Isn't this a MUST, though?
> 
> 
>         Line 1958
>             "transparency_info" TLS extension.  IANA should update this
>         extension
>             type to point at this document.
>         IMPORTANT: You'll need to fill in the new field specified in
>         https://tlswg.github.io/draft-ietf-tls-iana-registry-updates/#rfc.section.6
>         <https://tlswg.github.io/draft-ietf-tls-iana-registry-updates/#rfc.section.6>
> 
>         Line 2009
>             |                                | ECDSA (NIST P-256) |    
>                  |
>             |                                | with HMAC-SHA256   |    
>                  |
>             |                                |                    |    
>                  |
>         Why are you defining both algorithms?
> 
> 
>         Line 2150
>             (with the intention of actually running a CT log that will be
>             identified by the allocated Log ID).
>         This seems like it's not a great thing to be asking an expert to
>         do, as it seems to require business arrangements. Is it really
>         that valuable to save
>         a few bytes here?
> 
> 
>         Line 2163
>             that the log has misbehaved, which will be discovered when
>         the SCT is
>             audited.  A signed timestamp is not a guarantee that the
>         certificate
>             is not misissued, since appropriate monitors might not have
>         checked
>         IMPORTANT: This is not correct, because the client does not know
>         that the monitors are verifying the data that it is. See my
>         general comments on
>         public verifiability above.
> 
>         Line 2182
>             operating correctly.  As a log is allowed to serve an STH
>         that's up
>             to MMD old, the maximum period of time during which a misissued
>             certificate can be used without being available for audit is
>         twice
>         Nit: up to the MMD old
> 
> 
>         Line 2211
>             compute the proofs from the log) or communicate with the log via
>             proxies.
>         This also seems quite handwavy in light of the facts on the ground.
> 
> 
>         Line 2237
>                and STHs can be stored by the log and served to other
>         clients that
>                submit the same certificate or request the same STH.
>         This needs to be expanded. Who is this risk against? The log or
>         someone else? If the log, what's the logs incentive?
> 
> 
>         Line 2243
>             reduce the effectiveness of an attack where a CA and a log
>         collude
>             (see Section 6.1).
>         See my comments in 6.1 about this.
> 
> 
>         _______________________________________________
>         Trans mailing list
>         Trans@ietf.org <mailto:Trans@ietf.org>
>         https://www.ietf.org/mailman/listinfo/trans
>         <https://www.ietf.org/mailman/listinfo/trans>
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Trans mailing list
> Trans@ietf.org
> https://www.ietf.org/mailman/listinfo/trans
> 

-- 
Rob Stradling
Senior Research & Development Scientist
Email: Rob@ComodoCA.com
Bradford, UK
Office: +441274730505
ComodoCA.com

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.