Re: Self-service tooling requires fine-grained authz -- it's NOT about the application protocol (was Re: (internal) DNS dysfunction is enterprise settings)

Nico Williams <nico@cryptonector.com> Tue, 12 March 2019 03:48 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 49BC4131257 for <ietf@ietfa.amsl.com>; Mon, 11 Mar 2019 20:48:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cryptonector.com
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 0wO3UjUWjFkw for <ietf@ietfa.amsl.com>; Mon, 11 Mar 2019 20:48:11 -0700 (PDT)
Received: from ostrich.birch.relay.mailchannels.net (ostrich.birch.relay.mailchannels.net [23.83.209.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 972B2131256 for <ietf@ietf.org>; Mon, 11 Mar 2019 20:48:11 -0700 (PDT)
X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com
Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id D375A2C1198; Tue, 12 Mar 2019 03:48:10 +0000 (UTC)
Received: from pdx1-sub0-mail-a13.g.dreamhost.com (100-96-7-25.trex.outbound.svc.cluster.local [100.96.7.25]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 510902C0D18; Tue, 12 Mar 2019 03:48:10 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com
Received: from pdx1-sub0-mail-a13.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.3); Tue, 12 Mar 2019 03:48:10 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|nico@cryptonector.com
X-MailChannels-Auth-Id: dreamhost
X-Eyes-Eyes: 08586d62411b9598_1552362490655_162978879
X-MC-Loop-Signature: 1552362490655:4212363571
X-MC-Ingress-Time: 1552362490654
Received: from pdx1-sub0-mail-a13.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a13.g.dreamhost.com (Postfix) with ESMTP id BEDCA81F8A; Mon, 11 Mar 2019 20:48:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to:content-transfer-encoding; s= cryptonector.com; bh=/aqK70RJChcvOVp62uea/M3pRFw=; b=sMgx8Bf0OoT 5iL7u+EWIiHUz5H7Oo+nWHdBn/Dlmw3yHXjpVgu9QfNLWBbbhTtB1HiQ/V7WWuVh S6EHMpu4Da/vl5KRXX1BdkHIwrHxkLoBXzti9njLQ2HYeltv9uAVH2213WJZQ1iH rYQtTbGYMEqrGUR1VKU6mm8BbqPUdlyM=
Received: from localhost (unknown [24.28.108.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by pdx1-sub0-mail-a13.g.dreamhost.com (Postfix) with ESMTPSA id 0A05981F7C; Mon, 11 Mar 2019 20:48:03 -0700 (PDT)
Date: Mon, 11 Mar 2019 22:48:01 -0500
X-DH-BACKEND: pdx1-sub0-mail-a13
From: Nico Williams <nico@cryptonector.com>
To: Keith Moore <moore@network-heretics.com>
Cc: Michael Richardson <mcr+ietf@sandelman.ca>, ietf@ietf.org
Subject: Re: Self-service tooling requires fine-grained authz -- it's NOT about the application protocol (was Re: (internal) DNS dysfunction is enterprise settings)
Message-ID: <20190312034800.GH4211@localhost>
References: <32348.1552066998@localhost> <20190311231034.GF4211@localhost> <5b2656ef-51fe-467b-f524-0fee9a46e7a2@network-heretics.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
In-Reply-To: <5b2656ef-51fe-467b-f524-0fee9a46e7a2@network-heretics.com>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-VR-OUT-STATUS: OK
X-VR-OUT-SCORE: -100
X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedutddrgeejgdeitdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpeffhffvuffkfhggtggugfgjfgesthekredttderudenucfhrhhomheppfhitghoucghihhllhhirghmshcuoehnihgtohestghrhihpthhonhgvtghtohhrrdgtohhmqeenucfkphepvdegrddvkedruddtkedrudekfeenucfrrghrrghmpehmohguvgepshhmthhppdhhvghloheplhhotggrlhhhohhsthdpihhnvghtpedvgedrvdekrddutdekrddukeefpdhrvghtuhhrnhdqphgrthhhpefpihgtohcuhghilhhlihgrmhhsuceonhhitghosegtrhihphhtohhnvggtthhorhdrtghomheqpdhmrghilhhfrhhomhepnhhitghosegtrhihphhtohhnvggtthhorhdrtghomhdpnhhrtghpthhtohepnhhitghosegtrhihphhtohhnvggtthhorhdrtghomhenucevlhhushhtvghrufhiiigvpedt
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/EBOFc1LXM9fd4xdjlS6JsXQzRgI>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Mar 2019 03:48:13 -0000

On Mon, Mar 11, 2019 at 07:34:57PM -0400, Keith Moore wrote:
> On 3/11/19 7:10 PM, Nico Williams wrote:
> >     Self-service tooling requires fine-grained authz -- it's NOT about
> >     the application protocol.
> 
> Unless, of course, the application protocol constrains the granularity of
> authentication.   But I don't think that's the case for DNS update.

Authorization presupposes authentication (not necessarily to the RP;
perhaps the RP doesn't get to learn the client's identity).

If your application doesn't give you a way to authenticate, you have a
bigger problem than how to do authorization!

> > If someone says "let's put this config data in DNS" and someone responds
> > "DNS is too difficult to manage", the answer isn't necessarily "let's
> > invent a new protocol".
> 
> Agree in principle.  But while authentication granularity isn't really a
> problem with DNS update (as far as I know), there are other problems with
> DNS update that might best be fixed by protocol tweaks.   Separately from
> that, there are other reasons why it might be appropriate to consider
> migrating to a "DNS next generation" protocol.    Arguably this is already
> happening whether we want it or not.

I agree that DNS Update is not a very good protocol.  I would support a
replacement.

But DNS as a protocol for *reading* configuration?  That's another story.

DNS may or may not be good for reading configuration for some app, but
if one would say it's not good because "DNS is hard to manage", well,
that's just because there's no self-service support for DNS management,
and anything that would replace it would absolutely need it.

It's ironic that there are DNS appliance products out there that do not
provide self-service admin interfaces.  I've seen customers write
proxies of sorts to provide the missing self-service layer!

> There are several problems, some of which are interrelated.   I am not
> insistent that any of them be fixed by protocol changes, though I suspect
> that some changes and/or new protocol work would be desirable.  I also
> suspect that some new tooling is desirable.   I also suspect that some
> policy changes might be appropriate.   And perhaps some operational
> recommendations.

The IETF doesn't build tooling.  Just protocols (and APIs, though some
will nay-say that in 3, 2, ...).

We should consider building authz protocols -- something a wee bit more
generic than OAuth, perhaps -- that provide just the right level of
granularity *.

* too much granularity can == unmanageable mess.  The right level of
  granularity is for the customer to determine.

> There's a danger of trying to boil the ocean.  There's also a danger of
> thinking that some new tool will solve the problem, and scoping the effort
> narrowly in terms of creating that new tool, when the new tool that emerges
> years later only has the effect of moving the problem and adding additional
> complexity to what's already Pandora's box.

Indeed, let's not boil the oceans, but let's not reinvent the wheel and
miss the one thing that was critical.

> At the moment I'm just trying to wrap my head around the problem, or to put
> it another way, to discover what scope for the problem could result in less
> overall complexity rather than more.

Ah, well, right at this moment I am proposing nothing in particular.
Just making an observation that I hope will resonate.

I do have proposals in mind, but that can wait.

> p.s. agree with your summary of self-service tooling requirements.

Recognizing the problem is a good step on the way to making progress.

Nico
--