Re: [Anima] representing ACP info in X.509 certs

Eliot Lear <lear@cisco.com> Wed, 24 June 2020 07:05 UTC

Return-Path: <lear@cisco.com>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1B44E3A0C1F for <anima@ietfa.amsl.com>; Wed, 24 Jun 2020 00:05:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.6
X-Spam-Level:
X-Spam-Status: No, score=-9.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 GtpGVwrk0SuY for <anima@ietfa.amsl.com>; Wed, 24 Jun 2020 00:05:18 -0700 (PDT)
Received: from aer-iport-3.cisco.com (aer-iport-3.cisco.com [173.38.203.53]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 063F73A0CE5 for <anima@ietf.org>; Wed, 24 Jun 2020 00:05:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9416; q=dns/txt; s=iport; t=1592982306; x=1594191906; h=from:message-id:mime-version:subject:date:in-reply-to:cc: to:references; bh=59iBREKEQHRLxX1+R8mfCLNUDzwBziuyOMCub4hHD7o=; b=NcD2cpejb9zGPAxnPJvJjpMUhM0Zu8zhhatsK6M/Kk7vEThSHkLq3OYT x3idqSEbqt/Sctj9Sft6XidkhyfdA5CJbV1F0kWPpvR1lRFpA6aF63xwR g4yeFDGfOR/UquSb9QURLEVtZM+J90uf8nSxWj+JxDpJx0jRRZsHNUxOK U=;
X-Files: signature.asc : 488
X-IPAS-Result: A0B6AAA8+vJe/xbLJq1mGgEBAQEBAQEBAQEDAQEBARIBAQEBAgIBAQEBggoCg2sBIBIshCSJAYgRk22GLIFoBAcBAQEJAwEBLwQBAYRHAoIUJTgTAgMBAQEDAgMBAQEBBQEBAQIBBgRthWdCARABhR4BAQEBAgEjVgULCxgnAwICRhEGEx+DBwGCXCC2R3aBMoVRhQUQgTgBgVKIRYJlggCBOByCHy4+glwEgSgBEQIBVoJeM4ItBI9KiUSBEZpFgmSDA4EmlQUDHZENjXSsM4NPAgQGBQIVgWoiZnAzGggbFWUBgj4+EhkNjioXjiY/AzACNQIGAQcBAQMJhiKKfQEB
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.75,274,1589241600"; d="asc'?scan'208,217";a="24959434"
Received: from aer-iport-nat.cisco.com (HELO aer-core-2.cisco.com) ([173.38.203.22]) by aer-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 24 Jun 2020 07:05:01 +0000
Received: from [10.61.241.223] ([10.61.241.223]) by aer-core-2.cisco.com (8.15.2/8.15.2) with ESMTPS id 05O750VR029763 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 24 Jun 2020 07:05:01 GMT
From: Eliot Lear <lear@cisco.com>
Message-Id: <9AF4DB48-EAB5-4BFB-8FF1-E55EF0F59140@cisco.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_12948B6D-8173-4928-94E2-7073EB0FC089"; protocol="application/pgp-signature"; micalg="pgp-sha256"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\))
Date: Wed, 24 Jun 2020 09:04:59 +0200
In-Reply-To: <15951.1592960140@localhost>
Cc: Anima WG <anima@ietf.org>, Eric Rescorla <ekr@rtfm.com>, Stephen Kent <stkent=40verizon.net@dmarc.ietf.org>
To: Michael Richardson <mcr+ietf@sandelman.ca>
References: <ece7aed3-ede3-5546-4586-1d98d3f71183.ref@verizon.net> <ece7aed3-ede3-5546-4586-1d98d3f71183@verizon.net> <CABcZeBMncZSQOfYsoVS-ZZoSbqZGOg+vQ41OdzAejrRfVozhyQ@mail.gmail.com> <MN2PR11MB3901DD5D6176FEEA43EB9D72DB940@MN2PR11MB3901.namprd11.prod.outlook.com> <6981a76f-76f1-e9b2-319d-473c7a4bc847@verizon.net> <6c4e402f-cce6-daff-aa16-6159340f0802@gmail.com> <9c09debe-3463-a574-46cf-cee86a2c68af@verizon.net> <15951.1592960140@localhost>
X-Mailer: Apple Mail (2.3608.80.23.2.2)
X-Outbound-SMTP-Client: 10.61.241.223, [10.61.241.223]
X-Outbound-Node: aer-core-2.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/xJ31uL9cCWVBOia3n1-RkH34Zjc>
Subject: Re: [Anima] representing ACP info in X.509 certs
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Jun 2020 07:05:27 -0000

Hi there,

> On 24 Jun 2020, at 02:55, Michael Richardson <mcr+ietf@sandelman.ca> wrote:
> 
> Signed PGP part
> 
> Stephen Kent <stkent=40verizon.net@dmarc.ietf.org> wrote:
>> The simple answer is that when, in the past, developers have chosen to abuse
>> the semantics of subject name fields in certs, the result shave been VERY
>> long lasting, and embarrassing. Long ago, Netscape chose to shove a DNS name
>> into the DN common name filed because it was an easy fix for their
>> problem. As a result, we still have browsers and CAs that misuse that
>> field. At least that egregious behavior was not the result of an IETF
>> WG. Let's not screw this up in the name of expediency!
> 
> Yes, I remember that.
> Why do you think Netscape did that?
> What should they have done instead?
> 

Going further, sometimes expedients are appropriate.

With the benefit of hindsight of nearly 30 years of experience, there’s a lot that Netscape did in its first years that we wouldn’t do today, but had they not done those things, field delivery could have been delayed by years, probably the worst example being the User-Agent header.  We can say, “they never should have done that”, but it was what people deemed necessary and expedient for a number of reasons, not least of which was product differentiation and market maturity.

Here we have a situation where the public CA offerings have been made quite brittle. The ability to add either an otherName or a URI requires CAs to modify their code and create alternative roots.    We all know that won’t happen, and so that leads to whether an expedient is appropriate.  Worse, as I have demonstrated, submitting otherName to public CAs produces garbage in certs (very bad, but there it is).  They not only aren’t ready, but they may have potential exploits lingering.

Is an expedient appropriate?

With ACP it’s clear they are overloading semantics of an rfc822name, and from an application standpoint we don’t like that because it is possible that different subsystems may have different uncoordinated allocation methods.  That is- someone may be able to nab an email address via the mail subsystem a la rfcSELF+fd89b714F3db00000200000064000000+area51.research@acp.example.com <mailto:rfcSELF+fd89b714F3db00000200000064000000+area51.research@acp.example.com>, get a cert for that address, and masquerade as an AN or an AN could start sending email as a user that has such an address.  Let’s agree that the latter is so minimal a risk as to not warrant further discussion.  It’s only the former that’s really of concern.  That can be mitigated through operational guidance, a’la “don’t allow email addresses in your domain that begin with rfcSELF+”.

It’s not perfect.  That’s the nature of an expedient.  But it’s probably Good Enough for now.  For the eventuality that another name could be used over time, it’s probably worth getting an OID and using otherName where possible, but we shouldn’t hold this work up over a highly theoretical attack.

Eliot