Re: [lamps] Call for adoption for draft-ito-documentsigning-eku

"Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu> Thu, 29 July 2021 15:54 UTC

Return-Path: <prvs=78446e036b=uri@ll.mit.edu>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 10B0E3A088D for <spasm@ietfa.amsl.com>; Thu, 29 Jul 2021 08:54:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.894
X-Spam-Level:
X-Spam-Status: No, score=-1.894 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 Db8m7mwZoxRz for <spasm@ietfa.amsl.com>; Thu, 29 Jul 2021 08:54:44 -0700 (PDT)
Received: from llmx2.ll.mit.edu (LLMX2.LL.MIT.EDU [129.55.12.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EAF673A0958 for <spasm@ietf.org>; Thu, 29 Jul 2021 08:54:32 -0700 (PDT)
Received: from LLE2K16-HYBRD02.mitll.ad.local (LLE2K16-HYBRD02.mitll.ad.local) by llmx2.ll.mit.edu (unknown) with ESMTPS id 16TFsTWi043083; Thu, 29 Jul 2021 11:54:29 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none; b=nj3NQNHfJTYRTB9YUjhGyM7fIFzO9ch/8v08dmEdymp8m++Or4kPTyjz5Vtmne+mhPGalM68z735wGvPU2A/7Kcbx0KtfZCNX5YrlqeRqgtWzohtgd6pKayDcI23y+tbJCfztpoBwbx3gHXdK11hh9MBJ+OqSA6Xw9CuGEJFTp/nNbpaTCuHIjOAahL1EZqB9yi5NG479ANa1n3N1O+9Hi2Xc+EJnnFyKVCZIt1eEyb7K61fqA+feNWR1SHlAHEJzcWBQtrKBjxCihovgG8157RP6ny8n5FNKq9IjHyq0pn+gb6w1xvzAIPAGC6ZAdiWmn+fnig4NoOdF9fn7xFR2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector5401; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JTQdOnPg/RvRevd/a8FYekIPnAqOJF9a5Wjrx5bcyas=; b=OcsBWOkrQ8fS0F6UYO2GMCVcQTUXdiJXBouJ21IhBlbo72knU98Ke293COqCblpHrHhOuUjSsp/MFreWUi2EigfLtc5+c3imRpimZ/mb7Mbao4m2jftfDtNqi8kIE7nrz8wG7VBeTZAzYynzz5JnnBBSJMjiOej0NDgxyWeuQ6e3WWFDwRMkmWtO2BEOHAIpScFW72KxeotPy0J+fgA0lrCXzA5GDZ5lxqOkhaRmIh81JxmqHLkf1kHSUFZRGP+ahcsqAXhASvmNuZYA81bmvCIiUT5YKhDpJQINEZ6S/+e7S91/ryCf+fAtxgsIuc3NQGpIUWFwjsfPlPmR8jR+ag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ll.mit.edu; dmarc=pass action=none header.from=ll.mit.edu; dkim=pass header.d=ll.mit.edu; arc=none
From: "Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu>
To: Deb Cooley <debcooley1@gmail.com>, Ryan Sleevi <ryan-ietf@sleevi.com>
CC: LAMPS WG <spasm@ietf.org>, "Cooley, Dorothy E" <decoole@nsa.gov>
Thread-Topic: [lamps] Call for adoption for draft-ito-documentsigning-eku
Thread-Index: AQHXgmuKk2sKcjNKq0GeFl8+0k2LC6tWBn+AgADxCACAAAmlgIAANoYAgAArGACAAAakAIAAMrYAgABs7oCAAHTeAIAAE4SAgAAtRICAAA0eAIAAVOyAgAC7XAA=
Date: Thu, 29 Jul 2021 15:54:26 +0000
Message-ID: <7F1B7734-6CC2-4BDB-B4E9-67E846197387@ll.mit.edu>
References: <CD589623-52EE-4958-80AB-73F0CFB3A36E@vigilsec.com> <CAErg=HF_hcXO=9=KJh5EBEov4ybS_8g4xF=cANL9+83UvP0zvQ@mail.gmail.com> <adf86f46-093f-756f-8292-9b5e088f4344@lear.ch> <CAErg=HEUFV2F8R8g8e6yCDKz_e6RebNyB5Zb2Lvgn4oc3BtE-w@mail.gmail.com> <CO6PR14MB4468A7A5EB138542CEBA5D9CEAE99@CO6PR14MB4468.namprd14.prod.outlook.com> <CAErg=HH4aDgju=8C7Neq_4H19EX8S2inNd9fMAMYH3h95S48Rg@mail.gmail.com> <CO6PR14MB44688BC4188063BCA54E80C4EAE99@CO6PR14MB4468.namprd14.prod.outlook.com> <CAErg=HGDA+16N4xhgMvuQz25DqD+_nkiFC+OuAJMkFzYYqFV0w@mail.gmail.com> <2550c1c3-1400-b380-c9ad-dad59286feee@lear.ch> <CAErg=HGnKMNNyaf-=w+DmqfXg7XYbKD2Ah-WUxf96xNN5Ecikg@mail.gmail.com> <CAErg=HFVx5JTog5_aWOrx3vAm5o=LxHfwxEqkVM8FifYCm2P+A@mail.gmail.com> <CAGgd1OdcLujCJQOaTGvS_Hkqg1=pUP-5Mu=06kqkrgFU3fVG5g@mail.gmail.com> <CAErg=HGL-s2v9=5J64GnaaFxWN4QYWMUnDRPcpC0DN5XgM1-yw@mail.gmail.com> <CAGgd1OemU0qX1Wsmx7YPMTiexKz9hmhKj3c89iT3BcrahiUP8A@mail.gmail.com>
In-Reply-To: <CAGgd1OemU0qX1Wsmx7YPMTiexKz9hmhKj3c89iT3BcrahiUP8A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.50.21061301
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ll.mit.edu;
x-originating-ip: [129.55.200.20]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f301a100-6913-4770-8761-08d952a924ec
x-ms-traffictypediagnostic: DM3P110MB0571:
x-microsoft-antispam-prvs: <DM3P110MB05718680C71618E6D93C6CE790EB9@DM3P110MB0571.NAMP110.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: gCd1FJxjNK2kaSVUD1pAdjeQL+B7vThDqt0MAQFpwINMuI97xHqdrZOnjfrn7GA9XCtTR5DpsDnDdSCt4HH79I/+PtRQQz2QSITzGsQq+Gctnc9yxHEip2bqa95zrC8nnmVdj/E5OQXq0ToE2gJf4MarWWyD/VLjZxrMxwFZI2+W9vdfZrbQxicOfDy5hBdGl50qRan+Y6J5mRNQ7MFMRX2z/QaURJkKMbA5EW0pF4+nP4VHDsz7uxlMLgXkAZoMa5+TB2Ohji1iujkcf5o6SaKViYxCE5SMIYice5EcgIpdaMA1mou55ljN1/+hEsmJwhhWCnd2L//fKrdm3gCkvT+uz7+GMss4GKGqXXdrsjKa8PqXUzVufEwBVvPeGrsgKCSOYI7Bcml5zWjCJgwIlao8jJG7dvWqln87ZPFlBJrqshkVpiwjQYyOLAlui5ABWZCydqteK+yhEAf+0KhQl149D5IIA9tXT7ap7T7cweepO34kr0nARXr+3V8W/sl9OHl0AnyerdW00kfMlDHjNKHQxsxBi3tLQgj7pj83J4Xg1diLe02cCp1nwICtCbtQGjW53suXvtILWlmKZM8tby8rPF9NxBoeTMOnw+b37mOoCWpXKd5TZIB5ZJHe37slVIKHPn3x0w9o/wi3EGl+qdFg6KCFqmyS5lBNAkkUKAF46QuoyNEYOiGf6oiZeKU6n6VMf8Co/LKA/asC24CyznHOwu4finu1giZ3O2BCYgs=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM3P110MB0556.NAMP110.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(396003)(39850400004)(346002)(376002)(26005)(478600001)(6512007)(186003)(38100700002)(6486002)(122000001)(71200400001)(966005)(86362001)(316002)(45080400002)(66574015)(66616009)(2906002)(21615005)(38070700005)(4326008)(2616005)(75432002)(83380400001)(66476007)(66446008)(8936002)(64756008)(66556008)(8676002)(66946007)(53546011)(54906003)(166002)(110136005)(99936003)(6506007)(33656002)(5660300002)(76116006)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: SgM0FrXufx0UJv0LNVRN2OK843ajlXv2hQHVJYecb5YykOf2MKd0kuy4xFbZG9yhQ/vjdgu7iTkQjA0830Yj7KxBrtfL8nxWPgTowW+q5a+yi/sAbzsLu4cPLJMTHRZEC9g/sLflUQNDIBVMN03G+KaQ5FzH39wTMRoVyGi0R7PQq7KsjTfHgkH9IZwFOaIb/ibTQmTh8y7UcxtBcQKBuvnhZJr8FGgHw5MWK5uKxqYxAD7v993pH3HPqV0HPu9ruy+h1+SOurmf5/PiFlyFzwCcTC2l2w21MctqlgTcz2NrCwfj5PYPDBzcn69cF5Jher0bIL2RpweVpI7+gluANnubEHCrOqUt9ecoUyyTWlRjqCatWEt74vV2iTx8qYEJDky3JldDIR9eXu2DFBS8ICkTwQKzWGN4pTZCIr2xKwgMcjG5rO3QlR2ItHYWZCykpWDc47qXhgzJsHk8In5ECM6a9k0/WGdvCR8/DRvWoGaKa4dbNFWgnvLYi364t2HmbGZElsGEXHT/rNaAhQDumnoWtPYseoifa/9GbZt/ABGA6HyQQClsYJVzZ+/v7kgPWjtvHMsgQ6btxQl6/MO7JnRLd/xYJleX6X8sj+GS8ju8BILIi7tOll+ZqCOryWU4iRS9HVGR8/1pFWrDCZL9d+wIkjbpjtMNFkZFsvINWe8K8zVAt+f5x9hATfBQksLx5JX3dnQvh8K825lj++pk+g==
x-ms-exchange-transport-forked: True
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha256"; boundary="B_3710404466_1338443238"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM3P110MB0556.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: f301a100-6913-4770-8761-08d952a924ec
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jul 2021 15:54:27.0218 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 83d1efe3-698e-4819-911b-0a8fbe79d01c
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3P110MB0571
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.790 definitions=2021-07-29_10:2021-07-29, 2021-07-29 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2103310000 definitions=main-2107290098
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/jZYEnaWZXVPNer28xrpnRCD2Qmw>
Subject: Re: [lamps] Call for adoption for draft-ito-documentsigning-eku
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Jul 2021 15:54:49 -0000

Thanks for that. I'd be lying if I said I'd read all the references....

 

Youā€™re in a very good company! šŸ˜‰

 

What I'd really like to avoid is to have to add a bazillion EKUs to a signing certificate just to handle Adobe, or whatever the application is du jour.  I know that some people like to make this complicated, but I'd really like it to be easy to understand (I know, stop laughing, we are well past that point).

 

I think adding ā€œtoo manyā€ EKUs is the surest road to disaster, far worse than any potential ā€œcross-format riskā€.

 

I guess that makes two things that worry me - 

1.  mis-use of the code signing EKU (which certainly doesn't have a working group or RFC to define it either) and

2.  having to deal w/ a bazillion EKUs because US DOD uses every blasted application in the world (maybe I'll retire before then). 

 

I concur, though Iā€™m not as worried about code signing EKU misuse. After all, if an authority does not want a particular class of certificates used for code signing ā€“ donā€™t add the code-signing EKU to its template. Sounds fairly simple.

 

ā€œA bazillion of EKUsā€ is a much greater risk, in my opinion. Which Iā€™d like to avoid at all costs. 

 

Thanks

 

 

 

On Wed, Jul 28, 2021 at 3:40 PM Ryan Sleevi <ryan-ietf@sleevi.com> wrote:

 

 

On Wed, Jul 28, 2021 at 2:53 PM Deb Cooley <debcooley1@gmail.com> wrote:

Just to push on this a little more (apologies).  What do you believe is the correct path forward?  Abuse of the code signing EKU is worrying.

 

The context behind this request is the CA/Browser Forum is working to specify S/MIME policies, and are similarly interested in fixing these abuses. I am, without a doubt, 100% on board with this. I just see it as a matter of domain-specific policy, rather than IETF coordination.

 

Concretely: I would see vendors that are targeting specific signature protocols to have EKUs for those protocols. For example, ETSI ESI TC has a suite of specifications that the European Union has granted the presumption of legal recognition (in certain cases) or mandatory-to-implement/interoperate assumptions (e.g. for public services). These are PAdES, CAdES, XAdES, and collectively describe signature requirements for PDF, CMS, and XML. Nothing would prevent ETSI ESI from using its OID arc (0.4) to assign an EKU to indicate "Used in conjunction with the ETSI ESI document signing specifications" - with the assumption here is that ETSI ESI TC will ensure that these distinct formats do not permit cross-format attacks that allow for confused deputy (of which there have been many [1]).

 

In implementation practice, EKUs effectively operate as substitutes for certificatePolicies. Whether we hate that or not - and the past debate has been clear there's folks in both camps - that's the implementation reality. For example, to have a certificate successfully validate with 'id-kp-serverAuth' on a macOS system, you need to comply with Apple's certificate policies. This doesn't matter whether you're a CA included by default in the OS, or something locally configured in the Enterprise: any application using Apple's cryptographic libraries has to comply with the policies if they assert the particular EKU, that EKU is required to use their TLS client libraries, and that's a net-positive for users. [2]. Sometimes, these changes only apply to CAs included in their software by default [3], but other times, it's system wide.

 

In practice, the EKU is used to indicate compliance, or non-compliance, to a particular certificate profile, defined by the vendor of the relying party application. This is true for major trust store vendors like Microsoft, Apple, Google, Mozilla, and across different protocols: Google's GMail has its policies [4], just like Adobe has their AATL [5]. The EKU is enforced at the protocol level, but equally, it implies and reflects compliance with policy.

 

In the browser space, the CA/Browser Forum exists to help coordinate the interpretation of 'id-kp-serverAuth' as it applies to browsers, and to reduce the risk of conflicts in those profile requirements. There's nothing preventing similar groups - such as ETSI (in the case of the *AdES family) or the CA/Browser Forum (in a hypothetical document signing chartered working group) to do the same, with an EKU specific to their constituency to reflect the "I intend to use it with this {protocol}, which has {these policy assumptions in the PKI design}". Yes, in a perfect world, this would have used certificatePolicies, with client libraries requiring end-entity certificates asserting a particular policy, and validating that policy is in the effective policy set, and that EKU is purely a protocol indicator: but that's not the world we ended up at.

 

The issue with the IETF defining a generic EKU here is that we don't have a "Document Signing Protocol WG" that defines the format and semantics of what a signed document is, in the way we have a TLS WG or an IPSEC WG or a Kerberos WG. Within those WGs, we do see efforts at preventing cross-protocol and cross-format confusion, and we also see the use of multiple certificates and keys when appropriate, and including new EKUs as needed, when possible. For example, TLS Delegated Credentials work proposes... an additional certificate for servers to obtain to express further restrictions on private key usage [6]. This was due to needing to work around the fact that few TLS client implementations outside of browsers robustly support features like those in RFC 4158 [7], and the TLS WG had to work around that legacy, as otherwise, EKU would have been appropriate.

 

Concretely: ETSI could easily allocate OIDs for PAdES, CAdES, and XADeS. I haven't done the protocol analysis to know if there's cross-format attacks, so it could be three OIDs, or it could be a singular OID if they are robustly secured, indicating compliance with the ETSI specifications and the eIDAS policy framework. Adobe could similarly take a lead here, with respect to PDF signing, and say "This EKU is used for PDFs according to this {Adobe, ISO} specification and the AATL policy". If the CA/Browser Forum was chartered for this (it presently is not, but that, like all charters, is changable), it could also define an EKU to say "This EKU is used in conjunction with {these document signing protocols} and the CA/Browser Forum policy". CAs that, say, meet the requirements of all three organizations, could easily assert all three EKUs in a single certificate, provided that they (and relying parties) have analyzed for cross-protocol/cross-format attacks. But we can't pretend they're the same constituencies: even where there's overlap (and there's plenty of 2-of-3 and 3-of-3 overlap in these examples), they are still fundamentally different use cases and policy authorities.

 

[1] https://pdf-insecurity.org/index.html

[2] https://support.apple.com/en-us/HT210176

[3] https://support.apple.com/en-us/HT211025

[4] https://support.google.com/a/answer/7300887?hl=en

[5] https://helpx.adobe.com/acrobat/kb/approved-trust-list2.html

[6] https://datatracker.ietf.org/doc/html/draft-ietf-tls-subcerts-10#section-4.2

[7] https://datatracker.ietf.org/doc/html/rfc4158