Re: [certid] Second Last Call: draft-saintandre-tls-server-id-check (...) to BCP

SM <sm@resistor.net> Fri, 17 December 2010 09:27 UTC

Return-Path: <sm@resistor.net>
X-Original-To: certid@core3.amsl.com
Delivered-To: certid@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4373B3A6A8D; Fri, 17 Dec 2010 01:27:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -104.475
X-Spam-Level:
X-Spam-Status: No, score=-104.475 tagged_above=-999 required=5 tests=[AWL=1.124, BAYES_00=-2.599, GB_I_LETTER=-2, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MIDSg73o6W+y; Fri, 17 Dec 2010 01:27:15 -0800 (PST)
Received: from ns1.qubic.net (ns1.qubic.net [208.69.177.116]) by core3.amsl.com (Postfix) with ESMTP id A22693A6926; Fri, 17 Dec 2010 01:27:15 -0800 (PST)
Received: from SUBMAN.resistor.net ([10.0.0.1]) (authenticated bits=0) by ns1.qubic.net (8.14.5.Alpha0/8.14.5.Alpha0) with ESMTP id oBH9Sl4r013325 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 17 Dec 2010 01:28:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=opendkim.org; s=mail2010; t=1292578139; x=1292664539; bh=rZAUV6sIh4fGnA+1RQEajgKT1OuqzAfAM9FXAci/9ao=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type:Cc; b=xQsPbT5BssCEwFMYKU30Ujgh81OABfgXClMEPb5aBjXoP2PCz/86ue3us79goTiN+ PvfRYyhJ8vV+sn9X5KUnQ7Ae5P0fDOTSbZk29YfLvsIo8mCRnuBoryek7NKwvaN/Qv vkG9q7HEdN88FxHPvhPapehvXHb5T13eiInCvzAE=
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=resistor.net; s=mail; t=1292578139; x=1292664539; bh=rZAUV6sIh4fGnA+1RQEajgKT1OuqzAfAM9FXAci/9ao=; h=Message-Id:Date:To:From:Subject:Cc:In-Reply-To:References: Mime-Version:Content-Type:Cc; b=dR27l4+ZbzpFPydpbCZICUWc5BFl7Bfot2nHL2v+dGonWFneNuqXnwfbagTmS9APR 0sfVTHF/wLqmHi8SAyS2Ale7J0AssAW0pZRoMfjxRVBqIRHnvp8NuCiVRSCzEoKp62 35ucaWpC6rN22WObEwPROsVt2ZLp6+JyTBrameNI=
DomainKey-Signature: a=rsa-sha1; s=mail; d=resistor.net; c=simple; q=dns; b=rgM2sMOQrELKGqSr66YWrB90PjrPyHlxFYs5YU3JqixyPhpnhdB33Yq1CXnQGqIlX vrHeZUq4qmOvu4HxKNuGFvAPiobFflpzCFfYknWAhc5qUfAkVdh9vnLwtu7a/hKzbQF DqzNaCK20Eimn72S7Rnnsk5TZEwG2pC2rVyqomg=
Message-Id: <6.2.5.6.2.20101217000432.0bd6aea8@resistor.net>
X-Mailer: QUALCOMM Windows Eudora Version 6.2.5.6
Date: Fri, 17 Dec 2010 01:28:28 -0800
To: JeffH <Jeff.Hodges@KingsMountain.com>
From: SM <sm@resistor.net>
In-Reply-To: <4CFFD91A.2060808@KingsMountain.com>
References: <4CFFD91A.2060808@KingsMountain.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Cc: draft-saintandre-tls-server-id-check.all@tools.ietf.org, IETF cert-based identity <certid@ietf.org>, IETF Discussion List <ietf@ietf.org>
Subject: Re: [certid] Second Last Call: draft-saintandre-tls-server-id-check (...) to BCP
X-BeenThere: certid@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Representation and verification of identity in certificates <certid.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/certid>, <mailto:certid-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/certid>
List-Post: <mailto:certid@ietf.org>
List-Help: <mailto:certid-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/certid>, <mailto:certid-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Dec 2010 09:27:18 -0000

Hi Jeff,
At 11:14 08-12-10, =JeffH wrote:
>[ adding certid@ list ]

I suggest following up on the certid@ietf.org mailing list and dropping ietf@.

>I looked into this in detail earlier this year -- it was discussed 
>on ietf@ (during the initial IETF LC for this spec), and this 
>particular issue resolution was summarized here (by John Klensin)..
>
>   Re: Last Call: draft-saintandre-tls-server-id-check
>   http://www.ietf.org/mail-archive/web/ietf/current/msg62601.html
>
>In brief summary, RFCs {1034,1035,1123,2181} do not define 
>"letter-digit-hyphen" DNS name labels in a concisely referenceable 
>fashion, nor particularly clearly.

I'll go with John Klensin's argument for simplicity.

>The IDNA specs have done the wider DNS-community a service by doing 
>so, and at present the fashion in which "traditional domain name" is 
>defined and cited is the best we can do. Given that IDNs are a 
>deployed reality, every (new or updated) spec that discusses domain 
>names going forward is going to need to reference the IDNA specs in 
>some fashion, and probably should simply use the LDH-Label, A-Label, 
>and U-Label nomenclature. (IMV)

Agreed (in this context).

>while I agree with your subtle substitution of..
>
>   "fully-qualified DNS domain name portion"
>
>..with..
>
>   "domain name portion"
>
>..however, I disagree with your further simplification of that 
>paragraph because we feel we need to supply the more detailed context.

I'll comment on this below.

>No, that is not the intent. We've further refined that paragraph as 
>a result of a concurrent discussion with Ben Campbell (on certid@) 
>and have this present working text..
>
>    The client might need to extract the source domain and service type
>    from the input(s) it has received.  The extracted data MUST include
>    only information that can be securely parsed out of the inputs (e.g.,
>    extracting the fully-qualified DNS domain name from the "authority"
>    component of a URI or extracting the service type from the scheme of
>    a URI) or information for which the extraction is performed in a
>    manner that is not subject to subversion by network attackers (e.g.,
>    pulling the data from a delegated domain that is explicitly
>    established via client or system configuration, resolving the data
>    via [DNSSEC], or obtaining the data from a third-party domain mapping
>    service in which a human user has explicitly placed trust and with
>    which the client communicates over a connection that provides both
>    mutual authentication and integrity checking).  These considerations
>    apply only to extraction of the source domain from the inputs;
>    naturally, if the inputs themselves are invalid or corrupt (e.g., a
>    user has clicked a link provided by a malicious entity in a phishing
>    attack), then the client might end up communicating with an
>    unexpected application service.

That sound good.

>You mean removing the parenthetical "(following the definition of 
>"label" from [DNS])", yes?
>
>In reviewing RFC 1035 I see your concern, tho we'd like to reference 
>a description of "label". I note that RFC 1034 [S3.1] seems to 
>appropriately supply this, so I propose we keep the parenthetical 
>but alter it to be..
>
>   (following the description of labels and domain names in [DNS-CONCEPTS])

That's fine to me.

>Yes, but that definition (and term) appears to be specific to 
>underlying DNS internals, not to (pseudo) domain names as wielded 
>(or "presented" (eg in certs)) in other protocols.

This brings us to the question of the DNS specific usage of "domain 
names" and when the term is used in an application context.

For example, is the left-most part in "foo*.example.com" ( 
draft-saintandre-tls-server-id-check-12, Section 5.2) acceptable as a label?

I'll react to some comments from Cullen Jennings.

At 23:17 15-12-10, Cullen Jennings wrote:
>So let me start with I think there is great information in here and 
>I think it should be published as a standards track RFC however I do 
>think there are some issues with the relation with this draft and 
>the realities of what would help improve security in deployment of 
>SIP, HTTP, IMAP, XMPP etc.

The information in draft-saintandre-tls-server-id-check is 
helpful.  It's been a mouthful to comment on the draft as it requires 
the reading of several referenced documents first.  This in itself 
gives us an idea of the breath this draft tries to cover.

>process review. Next this draft contradicts the procedures in 
>existing protocols and says that it does not apply to the existing 
>protocols but that it would take precedence over any future updates 
>of existing protocols that use TLS within the scope specified here. I

That begs the question about whether this draft should be a BCP.  I 
would feel more comfortable if such a document is carefully reviewed 
by people from the different application groups it touches on as it 
attempts to shape the future.  This is not to say that there hasn't 
been enough discussion about the draft or that it did not get 
adequate socialization.  If the authors are of the opinion that there 
has been that breath of review, I am fine with that.

>In section 3.2, in the imap example, you are saying that if I 
>configure my imap server to mail.example.com and it presents a 
>certificate with a DNS-ID of example.com that this is OK. That does 
>not sound OK to me but I don't know how IMAP works. In the SIP example, the

Consider an email address of "user@example.com".  The IMAP service is 
discovered by the MUA by doing a DNS SRV lookup on _imaps.example.com 
( draft-daboo-srv-email ) and the target is mail.example.net, i.e 
that's where the IMAP server is running.  The certificate provides a 
SRV-ID of "_imaps.example.com" and a DNS-ID of "example.com".

BTW, the reference to draft-ietf-tls-rfc4366-bis could be normative 
for the reader to understand SNI and not rely on the workaround for 
multiple identifiers.

Regards,
-sm