Re: [OPSAWG] [Mud] Declaring something to be a controller in MUD

Michael Richardson <> Wed, 26 June 2019 15:34 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id F2C5D1201DC; Wed, 26 Jun 2019 08:34:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id SQhCHwJbzC17; Wed, 26 Jun 2019 08:34:37 -0700 (PDT)
Received: from ( [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 3958712014E; Wed, 26 Jun 2019 08:34:36 -0700 (PDT)
Received: from (unknown [IPv6:2607:f0b0:f:2:56b2:3ff:fe0b:d84]) by (Postfix) with ESMTP id 44EA838183; Wed, 26 Jun 2019 11:32:52 -0400 (EDT)
Received: by (Postfix, from userid 179) id BF5CFE68; Wed, 26 Jun 2019 11:34:35 -0400 (EDT)
Received: from (localhost []) by (Postfix) with ESMTP id BD76FE37; Wed, 26 Jun 2019 11:34:35 -0400 (EDT)
From: Michael Richardson <>
To: Eliot Lear <>
In-Reply-To: <>
References: <> <1547.1561492346@localhost> <>
X-Mailer: MH-E 8.6; nmh 1.7+dev; GNU Emacs 24.5.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature"
Date: Wed, 26 Jun 2019 11:34:35 -0400
Message-ID: <11505.1561563275@localhost>
Archived-At: <>
Subject: Re: [OPSAWG] [Mud] Declaring something to be a controller in MUD
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OPSA Working Group Mail List <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 26 Jun 2019 15:34:40 -0000

Eliot Lear <> wrote:
    >>> In either case, right now the administrator has to manually know and
    >>> populate information, to say - some device is a controller,
    >>> either for MUD URL <> or
    >>> a class <>.
    >>> That can be laborious.  To assist, we are examining ways to have a
    >>> controller declare itself as a candidate controller.  That at least
    >>> provides a hint to the administrator that this particular device is
    >>> capable of serving in a particular role.
    >> I think that anything that requires administrator activity to be a fail for
    >> residential use.  It's too complex.

    > There will ALWAYS be a need for an administrator in the enterprise
    > case.  But maybe with the options above we can ease the consumer burden
    > over time.  In the consumer case, you might want an app for initial
    > device admission control anyway, no?  Can we not rely on that
    > interaction as an approval step in this instance?

I think we'd all like to have a generic app (with an RFC standard API) that
can onboard any device and can do admission control for any controller.
I think this is what you are saying as well.

    >>> One possibility to address this is to incorporate the new RESTful
    >>> endpoint into an ANIMA BRSKI join registrar, which may already be
    >>> exposed.  But that requires that ANIMA BRSKI be in play, which it may
    >>> not.

    >> It is, however, a really good idea for the case where it is in play.
    >>> My thinking is that we do this work in two stages.  First handle the
    >>> easy case, which is the MUD file extension, and then figure out how to
    >>> do the app version of this.
    >>> Thoughts?
    >> yes.

    > Was that “yes” to the two stage approach?

"Yes"   :-)

Eliot Lear <> wrote:
    >> 1) insist that to user the my-controller connections that the two devices
    >> have to be signed by the "same" entity.  ["same" could mean literal the
    >> same key, the same certificate Issuer/DN,  or something more complex]
    >> 2) we could have devices declare in an MUD extension the
    >> DN/certificate/entity which must sign their controller device.
    >> 3) (2) above, but with some level of indirection through some URL.

    > Another thought here:

    > We could provide a level of dereference for authorized controllers in
    > the device’s MUD file, in the form of a URL list that would look
    > something like:

    > {  [
    > “controller” : “controller-name"
    > “mud-urls” : [ some mud urls of valid controllers here ]
    > “include” : “” that points to a file that contains a JSON serialization of this grouping
    > }

yes, this is exactly what I was thinking about.

Would "mud-urls" / "include" be mutually exclusive?

]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]        |   ruby on rails    [

Michael Richardson <>ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-