Re: [Geopriv] Security considerations for LIS discovery

"Thomson, Martin" <Martin.Thomson@andrew.com> Mon, 24 May 2010 23:33 UTC

Return-Path: <Martin.Thomson@andrew.com>
X-Original-To: geopriv@core3.amsl.com
Delivered-To: geopriv@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E73CF3A6889 for <geopriv@core3.amsl.com>; Mon, 24 May 2010 16:33:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.25
X-Spam-Level:
X-Spam-Status: No, score=-2.25 tagged_above=-999 required=5 tests=[AWL=0.348, BAYES_00=-2.599, HTML_MESSAGE=0.001]
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 o+nTN1xMc0s3 for <geopriv@core3.amsl.com>; Mon, 24 May 2010 16:33:07 -0700 (PDT)
Received: from csmailgw1.commscope.com (csmailgw1.commscope.com [198.135.207.244]) by core3.amsl.com (Postfix) with ESMTP id 8CB7F3A6B17 for <geopriv@ietf.org>; Mon, 24 May 2010 16:33:07 -0700 (PDT)
Received: from [10.86.20.103] ([10.86.20.103]:28217 "EHLO ACDCE7HC2.commscope.com") by csmailgw1.commscope.com with ESMTP id S22554104Ab0EXXc7 (ORCPT <rfc822; geopriv@ietf.org>); Mon, 24 May 2010 18:32:59 -0500
Received: from SISPE7HC1.commscope.com (10.97.4.12) by ACDCE7HC2.commscope.com (10.86.20.103) with Microsoft SMTP Server (TLS) id 8.1.436.0; Mon, 24 May 2010 18:32:58 -0500
Received: from SISPE7MB1.commscope.com ([fe80::9d82:a492:85e3:a293]) by SISPE7HC1.commscope.com ([fe80::8a9:4724:f6bb:3cdf%10]) with mapi; Tue, 25 May 2010 07:32:54 +0800
From: "Thomson, Martin" <Martin.Thomson@andrew.com>
To: Bernard Aboba <bernard_aboba@hotmail.com>, "acooper@cdt.org" <acooper@cdt.org>, "geopriv@ietf.org" <geopriv@ietf.org>
Date: Tue, 25 May 2010 07:34:42 +0800
Thread-Topic: [Geopriv] Security considerations for LIS discovery
Thread-Index: Acr7mAB3Tm70bIlsScO4oxR1QrT1GwAAVKSA
Message-ID: <8B0A9FCBB9832F43971E38010638454F03E7EBF234@SISPE7MB1.commscope.com>
References: <BC142422-3306-4F24-A1D7-17CF7609E8FD@cdt.org>, <BLU137-W8BBF6EBC345F2A76C1B2893E70@phx.gbl>, <8B0A9FCBB9832F43971E38010638454F03E7EBF228@SISPE7MB1.commscope.com> <BLU137-W135A6697ABBDDE5CC663FA93E70@phx.gbl>
In-Reply-To: <BLU137-W135A6697ABBDDE5CC663FA93E70@phx.gbl>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_8B0A9FCBB9832F43971E38010638454F03E7EBF234SISPE7MB1comm_"
MIME-Version: 1.0
X-BCN: Meridius 1000 Version 3.4 on csmailgw1.commscope.com
X-BCN-Sender: Martin.Thomson@andrew.com
Subject: Re: [Geopriv] Security considerations for LIS discovery
X-BeenThere: geopriv@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Geographic Location/Privacy <geopriv.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/geopriv>, <mailto:geopriv-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/geopriv>
List-Post: <mailto:geopriv@ietf.org>
List-Help: <mailto:geopriv-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/geopriv>, <mailto:geopriv-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 May 2010 23:33:10 -0000

I think that the integrity risks inherent to DHCP are acceptable, even with 3118 (which is, as you note, effectively non-existent).  The current and former security area directors were concerned with the integrity of the DNS.  With or without DNSSEC.

--Martin

From: Bernard Aboba [mailto:bernard_aboba@hotmail.com]
Sent: Tuesday, 25 May 2010 9:23 AM
To: Thomson, Martin; acooper@cdt.org; geopriv@ietf.org
Subject: RE: [Geopriv] Security considerations for LIS discovery

Giving up on U-NAPTR doesn't necessarily make the problem any easier, since it would still be faced with securing an alternative delegation mechanism (e.g. SRV RRs).   It's also important to understand that the DHCP option can't really be trusted since RFC 3118 has never been deployed (or even implemented, as I understand it).

This leaves only the following mechanisms to secure LIS discovery:

a. Out-of-band configuration of the discovery domain (which probably shouldn't be over-ridden by the insecure DHCP option)
b. DNSSEC (to securely provide a hostname to connect to)
c. SSL/TLS (to securely connect to the hostname)
d. User input (if the certificate name obtained via c) differs from the discovery domain sufficiently).

Note that this problem has been encountered by other WGs (e.g. TLS, SIP & XMPP) so it might make sense to reuse some of the existing text.
________________________________
From: Martin.Thomson@andrew.com
To: bernard_aboba@hotmail.com; acooper@cdt.org; geopriv@ietf.org
Date: Tue, 25 May 2010 07:04:18 +0800
Subject: RE: [Geopriv] Security considerations for LIS discovery
In short, it’s really hard to implement otherwise.

The IESG were not comfortable with the idea that we were relying on the integrity of the DNS.  The exception granted to LoST was only acceptable because of the deployment model.  Implementation challenges were insufficient justification for another such exception.

--
DHCP returns “example.net”; UNAPTR leads to “lis.example.com”.  RFC 3958 says that you authenticate the server at “lis.example.com” and ensure that its certificate says “example.net”.  Sounds easy.  In practice it isn’t.

This leads to an implementation/deployment deadlock.  Ideally, a deployment can use different domains, and a client is able to authenticate those domains.  In practice, that’s not feasible.

HTTP implementations (and even TLS implementations) struggle to correctly authenticate a domain based on the hostname used to reach it.  A number of implementations that support TLS ignore the authentication part entirely.  Some HTTP/TLS implementations are flexible enough to allow a user access to the parts that would let them roll their own authentication, but others do not.  Even if there is the possibility, implementing authentication as described in RFC 3958 is a non-trivial exercise.

Furthermore, there are complications that make this even more uncertain.  For a LIS that serves multiple domains, the easiest way to address this is to add multiple domain names into subjectAltName.  However, that doesn’t scale well, and it certainly isn’t a cheap option, particularly when you need to add domains.

A more flexible approach would be to rely on the TLS server name indication, but it’s unclear what the implications are.  Furthermore, the implementation problems above extend to server name indication support.  Few enough implementations support server name indication, and even fewer could resolve one DNS name and authenticate on a different name.

--
We chose to allow implementations to ignore all this complexity and in doing so, constrain how networks are deployed.

The alternative is to give up on U-NAPTR.  And that’s why Richard is bringing this back here.  I’d personally prefer not to.

There’s also a hope that we can resolve this problem in another way.  The problem is an old one, and one that we should be able to solve without all this complexity and mess.  I hear that there’s a BoF being prepared on a very similar subject.

--Martin

From: geopriv-bounces@ietf.org [mailto:geopriv-bounces@ietf.org] On Behalf Of Bernard Aboba
Sent: Tuesday, 25 May 2010 3:35 AM
To: acooper@cdt.org; geopriv@ietf.org
Subject: Re: [Geopriv] Security considerations for LIS discovery

"

To avoid having to authenticate the LIS with a domain name that is different to



the one used to identify it, a client MAY choose to reject URIs that



contain a domain name that is different to the U-NAPTR input. To



support endpoints that enforce the above restriction on URIs, network



administrators SHOULD ensure that the domain name in the DHCP option is



the same as the one contained in the resulting URI.
"

Isn't this overly restrictive?  If this constraint were always to be enforced, why would we need U-NAPTR in the first place?

> From: acooper@cdt.org
> To: geopriv@ietf.org
> Date: Mon, 24 May 2010 18:24:33 +0100
> Subject: [Geopriv] Security considerations for LIS discovery
>
> [Sending on behalf of Richard whose email is down.]
>
> Hi all,
>
> In response to some feedback from the Security area during IESG
> review, the
> authors of draft-ietf-geopriv-lis-discovery have proposed a
> modification to
> the recommended authentication techniques. This email is soliciting
> feedback from the working group on whether there are any objections to
> the
> proposed change.
>
> Recall that a client discovers a LIS by getting a domain name from
> DHCP and
> finding a URI via a U-NAPTR lookup for that name. The question is: If
> that
> URI is HTTPS, what name should be checked against the name in the
> certificate, the name from DHCP or the domain name in the URI? Prior
> versions had recommended checking the name in the certificate against
> the
> name in the URI, i.e., the *output* of the U-NAPTR process. This
> recommendation is counter to the advice in RFC 3958.
>
> The authors' proposal is to change the document so that the
> recommendation
> is to check the authenticated name against the DHCP name (in accordance
> with RFC 3958), and to provide some guidance for clients and networks in
> how to make this process implementable with current libraries (many of
> which only check the name in the URI). Detailed text is below.
> If you have any comments on this proposal, please send them to the
> list no
> later than 09:00 US EST (GMT-4) on Thursday, 27 May 2010.
>
> Thanks,
> --Richard
>
> OLD:
> U-NAPTR is entirely dependent on its inputs. In falsifying a domain
> name, an attacker avoids any later protections, bypassing them entirely.
> To ensure that the access network domain name DHCP option can be relied
> upon, preventing DHCP messages from being modified or spoofed by
> attackers is necessary. Physical or link layer security are commonplace
> methods that can reduce the possibility of such an attack within an
> access network; alternatively, DHCP authentication [RFC3118] can provide
> a degree of protection against modification or spoofing.
>
> The domain name that is used to authenticated the LIS is the domain name
> in the URI that is the result of the U-NAPTR resolution. Therefore, if
> an attacker were able to modify or spoof any of the DNS records used in
> the DDDS resolution, this URI could be replaced by an invalid URI. The
> application of DNS security (DNSSEC) [RFC4033] provides a means to limit
> attacks that rely on modification of the DNS records used in U-NAPTR
> resolution. Security considerations specific to U-NAPTR are described
> in more detail in [RFC4848].
>
> An "https:" URI is authenticated using the method described in Section
> 3.1 of [RFC2818]. The domain name used for this authentication is the
> domain name in the URI resulting from U-NAPTR resolution, not the input
> domain name as in [RFC3958]. Using the domain name in the URI is more
> compatible with existing HTTP client software, which authenticate
> servers based on the domain name in the URI.
>
> NEW:
> The domain name that used to authenticate the LIS is the domain name
> input to the U-NAPTR process, not the output of that process [RFC3958],
> [RFC4848]. As a result, the results of DNS queries do not need
> integrity protection.
>
> An "https:" URI is authenticated using the method described in Section
> 3.1 of [RFC2818]. HTTP client implementations frequently do not provide
> a means to authenticate a based on a domain name other than the one
> indicated in the request URI, namely the U-NAPTR output. To avoid
> having to authenticate the LIS with a domain name that is different to
> the one used to identify it, a client MAY choose to reject URIs that
> contain a domain name that is different to the U-NAPTR input. To
> support endpoints that enforce the above restriction on URIs, network
> administrators SHOULD ensure that the domain name in the DHCP option is
> the same as the one contained in the resulting URI.
>
> Authentication of a LIS relies on the integrity of the domain name
> acquired from DHCP. An attacker that is able to falsify a domain name
> circumvents the protections provided. To ensure that the access network
> domain name DHCP option can be relied upon, preventing DHCP messages
> from being modified or spoofed by attackers is necessary. Physical or
> link layer security are commonplace methods that can reduce the
> possibility of such an attack within an access network. DHCP
> authentication [RFC3118] might also provide a degree of protection
> against modification or spoofing.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Geopriv mailing list
> Geopriv@ietf.org
> https://www.ietf.org/mailman/listinfo/geopriv