Re: [secdir] FW: secdir review of draft-ietf-dane-srv-12

Peter Saint-Andre - &yet <peter@andyet.net> Mon, 13 April 2015 20:10 UTC

Return-Path: <peter@andyet.net>
X-Original-To: secdir@ietfa.amsl.com
Delivered-To: secdir@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 406E71A1BA4 for <secdir@ietfa.amsl.com>; Mon, 13 Apr 2015 13:10:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 qdIqvkrPuUHb for <secdir@ietfa.amsl.com>; Mon, 13 Apr 2015 13:10:22 -0700 (PDT)
Received: from mail-ie0-f180.google.com (mail-ie0-f180.google.com [209.85.223.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6FCD71A1BCF for <secdir@ietf.org>; Mon, 13 Apr 2015 13:10:06 -0700 (PDT)
Received: by iedfl3 with SMTP id fl3so85040326ied.1 for <secdir@ietf.org>; Mon, 13 Apr 2015 13:10:06 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=JunaEgw6vSLGVgaDEpxxkXeOUJb7fHn4WquPZtxy1zY=; b=Xfj2QosuGnRRIwxtAeCQSZsWZJo2Du0yj6sKBILWjgMl6hxRH5ts1lSuLAfKjN+Sze nCGSRaKPlnYE1LZsljFTmV+rbt6No8ALV8ska261IbvP07FtQ0dldZUnshCl2v93/chI 0zZrGvHRxIqrjKi5Q6s6y5cHBmfAf35wjUPutQxv2tsuOpD9ch8bSanEQSvMrSL/pNI8 HUvHvqH9k4wO8xMRXrPP00yZsp7zx3oNmgK3l4dADdPTCtwA0joOliYncdoNBUFknsZP EMXb2YKzHVWoSAB8n/XzFspZ9auAy6Hjq0aQb/SfDVrV4JgxXb4EvmDrk1ILUfmTst3R 0cPQ==
X-Gm-Message-State: ALoCoQnkj3BSE7UiK4BpueEjszu7ACsAUo19oA4/8BFaxhVljRNLnJDp9qjS3ciR/IQco3DsPxl4
X-Received: by 10.42.226.69 with SMTP id iv5mr21361355icb.58.1428955805899; Mon, 13 Apr 2015 13:10:05 -0700 (PDT)
Received: from aither.local (c-73-34-202-214.hsd1.co.comcast.net. [73.34.202.214]) by mx.google.com with ESMTPSA id g187sm5510119ioe.30.2015.04.13.13.10.04 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 Apr 2015 13:10:05 -0700 (PDT)
Message-ID: <552C229C.1030701@andyet.net>
Date: Mon, 13 Apr 2015 14:10:04 -0600
From: Peter Saint-Andre - &yet <peter@andyet.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
MIME-Version: 1.0
To: Carl Wallace <carl@redhoundsoftware.com>, mamille2@cisco.com, dot@dotat.at
References: <D1517899.32B98%carl@redhoundsoftware.com> <D15178CF.32BA3%carl@redhoundsoftware.com>
In-Reply-To: <D15178CF.32BA3%carl@redhoundsoftware.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/secdir/L2au3hUrpju2F9DNZHDsTm2J3pU>
Cc: The IESG <iesg@ietf.org>, "secdir@ietf.org" <secdir@ietf.org>
Subject: Re: [secdir] FW: secdir review of draft-ietf-dane-srv-12
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Security Area Directorate <secdir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdir>, <mailto:secdir-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/secdir/>
List-Post: <mailto:secdir@ietf.org>
List-Help: <mailto:secdir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdir>, <mailto:secdir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Apr 2015 20:10:24 -0000

Hi Carl,

Thanks for your review and sorry about the trouble with the email 
aliases. (Please note that I have not checked any of the proposed text 
with my co-authors, so this is all provisional.)

On 4/13/15 11:46 AM, Carl Wallace wrote:
> My attempt at using the tools address for all document authors failed,
> hence sending it directly. Please add secdir@ietf.org and iesg@ietf.org
> back to any reply.
>
> On 4/13/15, 1:43 PM, "Carl Wallace" <carl@redhoundsoftware.com> wrote:
>
>> I have reviewed this document as part of the security directorate's
>> ongoing effort to review all IETF documents being processed by the IESG.
>> These comments were written primarily for the benefit of the security
>> area
>> directors. Document editors and WG chairs should treat these comments
>> just
>> like any other last call comments.
>>
>> The document is basically ready. A few minor nits are below. The primary
>> comment is that there are a few instances where abbreviated certificate
>> checks are cited and potentially mask a need to do full certification
>> path
>> validation.
>>
>> Therefore this document provides guidelines that enable protocols that
>> rely on SRV lookups to locate and use TLSA records.
>>
>> In section 1
>> - May be worth adding a note to the third bullet to clarify that multiple
>> target endpoints may be defined for a given service domain, including a
>> mix of endpoints that have and do not have TLSA records.

IMHO that's implicit, but maybe it would be clearer if we say something 
like this:

OLD
    o  When DNSSEC-validated TLSA records are published for a particular
       connection endpoint, clients always use TLS when connecting (even
       if the connection endpoint supports cleartext communication).

NEW
    o  When DNSSEC-validated TLSA records are published for a particular
       connection endpoint, clients always use TLS when connecting (even
       if the connection endpoint supports cleartext communication
       or some SRV records for the service domain map to connection
       endpoints that do not support TLS).

Is that what you had in mind? Do you feel it's helpful? I'm not so sure, 
myself. Instead, I wonder if the point would be better handled by adding 
another bullet point, such as:

    o  Although in accordance with [RFC2782] a service domain can
       advertise a number of SRV records (some of which might map to
       connection endpoints that do not support TLS), the intent of this
       specification is for an endpoint to securely discover connection
       endpoints that support TLS.

Does that capture your suggestion?

>> - Should the "always use" in the third bullet be "MUST use"?

There is no normative text in the introduction. All of the normative 
rules are contained in the body of the document. I'd prefer to keep it 
that way.

>> - May be worth clarifying in the fifth bullet that no usable TLSA records
>> for one target endpoint does not mean there are no usable TLSA records
>> for
>> another target endpoint. The security considerations address this point
>> and the point in the first bullet above, but it seems worth reenforcing
>> in
>> the body as well.
>>
>> - Bullet 5 should reference RFC5280 alongside RFC6125 and/or reference
>> "non-DANE behavior" a la section 3.1 (but using the target server
>> hostname).

Probably all of the bullet points in the introduction need to say 
"usable TLSA record *for a given connection endpoint*" and then have a 
bullet point at the end that says something like this:

    o  If there are no usable TLSA records for any connection endpoint
       (and thus the client cannot securely discover a connection
       endpoint that supports TLS), the client's behavior is a matter
       for the application protocol or client implementation; this might
       involve a fallback to non-DANE behavior using the public key
       infrastructure [RFC5280].

>> In Section 4.2
>> - Should this reference RFC6698 section 2.1 or section 4? Section 4 seems
>> like a better target to me.

That does seem better.

>> - Replace reference to "expiration checks from RFC5280" with "validation
>> checks from RFC5280" unless you mean for some forms of 5280 checks to be
>> honored here. Current wording could create a misimpression that only
>> expiration checks need be performed.

Good point.

>> In section 10.2
>> - In the last sentence, clients must also validate the certificate back
>> to
>> the designated trust anchor, not just check the reference identifiers.

In RFC 6125 we had this paragraph:

    This document does not supersede the rules for certificate issuance
    or validation provided in [PKIX].  Therefore, [PKIX] is authoritative
    on any point that might also be discussed in this document.
    Furthermore, [PKIX] also governs any certificate-related topic on
    which this document is silent, including but not limited to
    certificate syntax, certificate extensions such as name constraints
    and extended key usage, and handling of certification paths.

Even though there's no reason why anyone should expect this document to 
override RFC 5280 (and Section 10.2 is about matching of subject names 
only), it can't hurt to reinforce the point...

OLD
    Otherwise, while DNSSEC provides a secure binding between the server
    name and the TLSA record, and the TLSA record provides a binding to a
    certificate, this latter step can be indirect via a chain of
    certificates.  For example, a Certificate Usage "PKIX-TA" TLSA record
    only authenticates the CA that issued the certificate, and third
    parties can obtain certificates from the same CA.  Therefore, clients
    need to check whether the server's certificate matches one of the
    expected reference identifiers to ensure that the certificate was
    issued by the CA to the server the client expects.

NEW
    Otherwise, while DNSSEC provides a secure binding between the server
    name and the TLSA record, and the TLSA record provides a binding to a
    certificate, this latter step can be indirect via a chain of
    certificates.  For example, a Certificate Usage "PKIX-TA" TLSA record
    only authenticates the CA that issued the certificate, and third
    parties can obtain certificates from the same CA.  Therefore, clients
    need to check whether the server's certificate matches one of the
    expected reference identifiers to ensure that the certificate was
    issued by the CA to the server the client expects (naturally, this
    is in addition to standard certificate-related checks as specified
    in [RFC5280], including but not limited to certificate syntax,
    certificate extensions such as name constraints and extended key
    usage, and handling of certification paths).

Peter

-- 
Peter Saint-Andre
https://andyet.com/