Re: [Secdispatch] [saag] The Mathematical Mesh

Nico Williams <nico@cryptonector.com> Mon, 22 April 2019 20:38 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: secdispatch@ietfa.amsl.com
Delivered-To: secdispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A44341203AF; Mon, 22 Apr 2019 13:38:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001] 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 S95WiB6Nsmth; Mon, 22 Apr 2019 13:38:27 -0700 (PDT)
Received: from orchid.birch.relay.mailchannels.net (orchid.birch.relay.mailchannels.net [23.83.209.137]) (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 05E311203A3; Mon, 22 Apr 2019 13:38:24 -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 E709F5E19C2; Mon, 22 Apr 2019 20:38:23 +0000 (UTC)
Received: from pdx1-sub0-mail-a17.g.dreamhost.com (100-96-2-149.trex.outbound.svc.cluster.local [100.96.2.149]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 054285E17DD; Mon, 22 Apr 2019 20:38:22 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com
Received: from pdx1-sub0-mail-a17.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.17.2); Mon, 22 Apr 2019 20:38:23 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|nico@cryptonector.com
X-MailChannels-Auth-Id: dreamhost
X-Battle-Stretch: 3c1105ee7658ad00_1555965503764_1072370635
X-MC-Loop-Signature: 1555965503764:3972106718
X-MC-Ingress-Time: 1555965503763
Received: from pdx1-sub0-mail-a17.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a17.g.dreamhost.com (Postfix) with ESMTP id A42297F6CD; Mon, 22 Apr 2019 13:38:17 -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; s=cryptonector.com; bh=94TykgqELZq3nI B6AsLc5rQ+SOw=; b=b9kbsijjNZafTwo7uzO+NHKV9t+5pBxJCQmsueok+/6ysR 9eP5TrLk/bdcdwufYPhHR3MrcR8mVpIRnZHAN8uG+k1eWFuDJ7lN3gvAz1U13YcT VKnPx49mjzh2Mmt1izuPyHYPlc4x5/2RA+t0t5wOru3I9I0pG9FL0O1DK2VAY=
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-a17.g.dreamhost.com (Postfix) with ESMTPSA id 861F07F6EA; Mon, 22 Apr 2019 13:38:16 -0700 (PDT)
Date: Mon, 22 Apr 2019 15:38:13 -0500
X-DH-BACKEND: pdx1-sub0-mail-a17
From: Nico Williams <nico@cryptonector.com>
To: Phillip Hallam-Baker <phill@hallambaker.com>
Cc: secdispatch@ietf.org, IETF SAAG <saag@ietf.org>
Message-ID: <20190422203812.GB3137@localhost>
References: <CAMm+LwiF3iGiRO5reW4KCgf8vp=Kv=+4pD+_rGOcxEsD1Hxk4g@mail.gmail.com> <20190422190302.GA3137@localhost> <CAMm+Lwj1BV1=UQwE8-5tPO_mxOVixfkiUjXvu+U_AgnSzzkjvg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAMm+Lwj1BV1=UQwE8-5tPO_mxOVixfkiUjXvu+U_AgnSzzkjvg@mail.gmail.com>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-VR-OUT-STATUS: OK
X-VR-OUT-SCORE: -100
X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduuddrgeeigddugeegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepfffhvffukfhfgggtuggjfgesthdtredttdervdenucfhrhhomheppfhitghoucghihhllhhirghmshcuoehnihgtohestghrhihpthhonhgvtghtohhrrdgtohhmqeenucfkphepvdegrddvkedruddtkedrudekfeenucfrrghrrghmpehmohguvgepshhmthhppdhhvghloheplhhotggrlhhhohhsthdpihhnvghtpedvgedrvdekrddutdekrddukeefpdhrvghtuhhrnhdqphgrthhhpefpihgtohcuhghilhhlihgrmhhsuceonhhitghosegtrhihphhtohhnvggtthhorhdrtghomheqpdhmrghilhhfrhhomhepnhhitghosegtrhihphhtohhnvggtthhorhdrtghomhdpnhhrtghpthhtohepnhhitghosegtrhihphhtohhnvggtthhorhdrtghomhenucevlhhushhtvghrufhiiigvpedt
Archived-At: <https://mailarchive.ietf.org/arch/msg/secdispatch/-23rmKuz1mDXTSfJLRldEb5Kj_E>
Subject: Re: [Secdispatch] [saag] The Mathematical Mesh
X-BeenThere: secdispatch@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Security Dispatch <secdispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdispatch>, <mailto:secdispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/secdispatch/>
List-Post: <mailto:secdispatch@ietf.org>
List-Help: <mailto:secdispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdispatch>, <mailto:secdispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 Apr 2019 20:38:30 -0000

On Mon, Apr 22, 2019 at 03:33:22PM -0400, Phillip Hallam-Baker wrote:
> On Mon, Apr 22, 2019 at 3:03 PM Nico Williams <nico@cryptonector.com> wrote:
> > Is it fair to characterize this as something of a PGP trust mesh on
> > steroids?  If not, how does it differ?
> >
> > (Yes, I do see that your scheme has decentralized device management for
> > individuals, which is a bit of a new thing and very welcome.)
> 
> The objective is to give users the power to control their own security
> environment.
> 
> This includes but is not limited to the ability to make use of Web-of-Trust
> approaches or delegated trust, delegated distrust or a combination of all
> three which is actually the approach I think works best.

OK, so, all-of-the-above trust?

But there's nothing new yet, besides hierarchical[0], and
web-of-trust[1], TOFU, and things in between[2] right?

Just a new way of doing all-of-the-above?

This is not a critique.  I think a simple characterization will help.

"All of the above on steroids" seems fair.

But I do feel that the device management part is separable, even though
it's certainly critical for the UX.

[0] E.g., PKI, DNSSEC, Kerberos.
[1] E.g., PGP.
[2] E.g., WebPKI, which isn't exactly hierarchical, and definitely isn't
    webby as to trust.

> The primary focus is enabling real users to manage public key pairs on
> their devices without being aware that they are doing it. Securely
> establishing a set of public key pairs on each device and providing a
> validation path to the user's personal axiom of trust is the main idea
> here. Because if we achieve that, we are 80% of the way to securing almost
> any communication pattern.

Agreed.

Vendors will (already do) gladly help you do this within their walled
garden, natch.  The result is... a bit lame.

> Trust topology is something I think we should be opportunistic on and use
> every available option. For example:

Ah, "opportunistic".  TOFU.  Sure.

> * We meet at an IETF and exchange our master profile fingerprint directly
> using the QR code exchange.
> * You meet Alice at another meeting and directly exchange credentials using
> the QR code exchange.
> * I add Alice to the GitHub repo for the project based on your
> recommendation.
> 
> * I add my personal banker to my account based on an Extended Validation
> certificate authenticating his bank and an assertion issued by the bank
> credentialing him as a current employee.

OK, so WebPKI, PKI (if we had it, which, well, we do, since DNSSEC is a
PKI).

> Right now, I am doing everything in JSON and the Mesh Assertion
> infrastructure. It is pretty obvious that some of this is SAML territory.
> But where should the boundary be and should we make use of the XML SAML
> binding or switch it to a JSON encoding? I don't know what the right
> decision is there or have time to think about it.

It's always tempting to start from scratch...  But it's already been
done via OAuth/JWT.  Don't feel bad for not using SAML/XML.  Just make
the right choice.

Nico
--