Re: (short version) Re: Last Call: <draft-faltstrom-uri-10.txt> (The Uniform Resource Identifier (URI) DNS Resource Record) to Proposed Standard

Eliot Lear <> Fri, 27 February 2015 16:11 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id A6A401ACD84 for <>; Fri, 27 Feb 2015 08:11:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id e8I8kQMngXej for <>; Fri, 27 Feb 2015 08:11:51 -0800 (PST)
Received: from ( []) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 373341ACD7E for <>; Fri, 27 Feb 2015 08:11:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=4264; q=dns/txt; s=iport; t=1425053509; x=1426263109; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to; bh=YnVm7G87+OWAbd2/OxI3oVR+4aiM2ajoykl5MsFlh6k=; b=Ij3ZlnEurs/4/bECsPZrMQANog+xylkPAaoJBqxRh3NChJWhwN3osI9y HQVRfTMJxVvq5bNXjFi4gGl0PlZWdP+4wJqw/DnT46ZUmPQpr5bpnJxYZ S7mmjNpdm5TOLvmaYvE/8un0V6IVTUkcIM+zbuuSTdOwaP/dfSfOFL8xs 0=;
X-Files: signature.asc : 486
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.09,660,1418083200"; d="asc'?scan'208";a="358405867"
Received: from (HELO ([]) by with ESMTP; 27 Feb 2015 16:11:46 +0000
Received: from [] ([]) by (8.14.5/8.14.5) with ESMTP id t1RGBkeZ012481; Fri, 27 Feb 2015 16:11:46 GMT
Message-ID: <>
Date: Fri, 27 Feb 2015 17:11:44 +0100
From: Eliot Lear <>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.5.0
MIME-Version: 1.0
To: Sam Hartman <>
Subject: Re: (short version) Re: Last Call: <draft-faltstrom-uri-10.txt> (The Uniform Resource Identifier (URI) DNS Resource Record) to Proposed Standard
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="kw6Xfwwxo83T0dL8bbcnsS2J2ueCceKJk"
Archived-At: <>
Cc:, =?UTF-8?B?UGF0cmlrIEbDpGx0c3Ryw7Zt?= <>
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 27 Feb 2015 16:11:52 -0000

Ok, I understand what you are saying.  The changing of the origin that
gets validated is the fundamental no no.


On 2/27/15 4:18 PM, Sam Hartman wrote:
>>>>>> "Eliot" == Eliot Lear <> writes:
> I don't understand your statement.  What's a decision process?
> Your DNS libraries definitely have a different trust validation process
> than your application TLS libraries.
> Your application is probably not entirely aware of its use of DNS;
> that's how we write apps today.
> Let's take a concrete example.
> I felt greate unease when I heard Patrik talk about getting support for
> the URI record added to libcurl.
> Imagine that's done, and by default libcurl will follow a URI RR
> redirection if it's DNSSec validated.
> I am using libcurl to talk to some cloud service.
> I've carefully configured libcurl's TLS parameters because I know
> exactly what I'm expecting.
> Let's say that I've done so in a way that's site specific.
> If libcurl is fetching the URI then my
> validation rules apply.
> (I believe that libcurl has sufficiently rich callback interfaces to
> support this, but I get the various HTTP library capabilities confused)
> I have a fairly strict set of trust anchors for that URI because I know
> exactly what to expect.
> however, an attacker has managed to steal's DNS registry
> account password and has compromised their zone.
> With a version of libcurl that  does not support the URI rr, my
> application is vulnerable to a denial of service attack if they mess up
> the  DNS zone, but I am not vulnerable to an attack on integrity of my
> interactions with the cloud services.
> However, now that libcurl follows the URI RR, since the attacker has
> compromised's DNS zone, they can now redirect me elsewhere.
> And since the URI RR draft specifies we're going to do our TLS
> validation based on the target of the redirection rather than the
> source, my validation rules for no longer apply, and
> so my security is likely weak enough to attack if the attacker can get a
> cert for a domain controlled by the attacker.
> OK, so perhaps libcurl should not default to following URI RR redirects.
> Fine.  But we as standards authors need to help application authors
> understand the implications of turning on the URI RR.  You probably
> don't want to follow URI RR if you're supplying a non-default TLS trust
> anchor set, pinning to a specific certificate or the like unless you're
> somehow supplying specific acceptable DNSSec trust anchors for the zones
> in question and not trusting the root trust anchor.  Note, however that
> application TLS libraries ar much more customizable in their validation
> than application-layer DNSSec libraries.  In practice TLS allows
> application security policy to be specified, but DNSSec seems to use one
> global security policy.  I understand that's not inherent in the
> standards, although the way the two standards are written does
> contribute to it.  It does seem true in the code for TLS and DNSSec I'm
> aware of, and it is to the best of my understanding a practical reality
> for authors of applications.