Re: [dispatch] Review of draft-bhjl-x509-srv-02
"John Levine" <johnl@taugh.com> Mon, 15 August 2016 22:29 UTC
Return-Path: <johnl@taugh.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B5FD612D776 for <dispatch@ietfa.amsl.com>; Mon, 15 Aug 2016 15:29:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-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 rcJnY1S2GVhY for <dispatch@ietfa.amsl.com>; Mon, 15 Aug 2016 15:29:25 -0700 (PDT)
Received: from miucha.iecc.com (abusenet-1-pt.tunnel.tserv4.nyc4.ipv6.he.net [IPv6:2001:470:1f06:1126::2]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 197C212D759 for <dispatch@ietf.org>; Mon, 15 Aug 2016 15:29:25 -0700 (PDT)
Received: (qmail 71945 invoked from network); 15 Aug 2016 22:29:24 -0000
Received: from unknown (64.57.183.18) by mail1.iecc.com with QMQP; 15 Aug 2016 22:29:24 -0000
Date: Mon, 15 Aug 2016 22:29:01 -0000
Message-ID: <20160815222901.10364.qmail@ary.lan>
From: John Levine <johnl@taugh.com>
To: dispatch@ietf.org
In-Reply-To: <CABkgnnUxE94YHBsJWBWEgV75cGD_U-JY6N_82S7k+0eZr3Kp1Q@mail.gmail.com>
Organization:
X-Headerized: yes
Mime-Version: 1.0
Content-type: text/plain; charset="utf-8"
Content-transfer-encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/k8HKXLZQGBK5y7TurK5qqmV9OKA>
Subject: Re: [dispatch] Review of draft-bhjl-x509-srv-02
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Aug 2016 22:29:26 -0000
Thanks for the review. I can see this draft needs a lot more explanatory material for the benefit of people who aren't familiar with all the ways that mail is not like the web, or who don't understand the idea of a server that returns certificates for e-mail addresses. Specific points: >The document never actually says how an implementation might choose >the domain name to attach the _tcp to. That needs to be written down. It's the domain name in the e-mail address. I thought that was obvious, but I can try to make it clearer. >This looks very similar to draft-miller-saag-key-discovery-00. That >uses webfinger. I would encourage the authors to talk to Matt and >Suhas to see if they have any input on these designs. >That this is a service discovered via SRV alleviates some of the >pressure on servers, but I think that a better approach would be to >use .well-known URIs and avoid SRV. ... Unfortunately, unless I seriously misunderstand webfinger, it is a non-starter here. If you want to do a webfinger lookup for, say, bob@example.com, you look up the A or AAAA record for example.com and send an https request to a web server at that address. Domains in e-mail addresses have MX records, not A records. There are many e-mail domains with MX records but no A or AAAA. Even if there is an A or AAAA, there's no reason to expect to find a server listening on port 443, and if there is something listening, no reason to expect that whoever runs that server has anything to do with the mail system. (I provide mail for a whole bunch of domains whose web service is somewhere else and whose web managers I do not know and do not want to know.) RFC 7033 section 7 says that you can sort of get the same effect of MX records by using web redirects, but of course that only works if you have a web server in the first place, which we don't. SRV records were invented exactly to provide MX-style redirection for other services. If you think that SRV is too hard (which I don't, see below) the options are not great. The STS effort to provide cert pinning for mail servers has run into the same problem, and the least awful alternative is fixed host name prefixes which gives stomache aches to DNS types. So the Miller draft couldn't be used without some serious surgery to the discovery part, and if we need to do that, I'd rather use an existing standards track spec. >I don't see much information in the document about how this might be >deployed. Both SRV and DNSSEC have some deployment challenges. I had a long talk with some people from Gmail at the Berlin IETF. They didn't see any great problems. This is not a design that's likely to be implemented in web browsers; it's for mail clients (Outlook, Apple Mail, etc.) and within the servers of webmail providers. MUAs already do all sorts of things that web browsers don't, and I don't see a SRV lookup as a problem. >The document needs to be a lot clearer about where trust comes from. > ...: this is just a way >to find certificates and whether those certificates are trusted or not >will be determined based solely on their contents and any configured >trust anchors (or the equivalent of that for PGP). Quite right. For 20 years the trust models for PGP and S/MIME have been vague and I don't see that changing. >What value does DNSSEC provide here? If you believe that DNSSEC provides a chain of trust from the domain name to the SRV record to the TLSA for cert in the web server the SRV points to, that's what if provides. I am not wedded to it, which is why there's no MUST for the DNSSEC stuff. >Is bob@example.com an email address? Um, yes. This whole draft is about finding certs for e-mail addresses. >Section 4: > >This seems a bit odd way of approaching the problem. You could just >say that if FOO@example.com and f.o.o@example.com are considered >equivalent by example.com then the same answer should be provided to >requests for both names. There is no such thing as "equivalent" e-mail addresses. RFC 5321 and its predecessors are carefully written that way. Only the mail server that receives the mail gets to interpret the local part of an address, and I'm trying hard not to change that. >Section 5: > > The domain MAY publish validation certificates using TLSA > records at the name _smimeca._tcp. > >This little throwaway line really needs its own section. The two >sentences in the doc aren't nearly enough detail to produce an >implementation. What do these certificates contain? Not trust >anchors, I hope. Yes, they're trust anchors. They sign the S/MIME certificates the server returns, if your model is that the domain is authoritative for its mail users' certs. If that's not your model, you don't. >What if a user wanted to only make their certificate available to a >certain subset of requesters? Is that possible? I suppose if you wanted a private server, you could stick one of the usual web login protocols in front of the requests. But it's not a problem this draft tries to solve. R's, John
- Re: [dispatch] Review of draft-bhjl-x509-srv-02 John Levine
- [dispatch] Review of draft-bhjl-x509-srv-02 Martin Thomson