Re: [OPSAWG] Declaring something to be a controller in MUD
Michael Richardson <mcr+ietf@sandelman.ca> Tue, 25 June 2019 19:52 UTC
Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: opsawg@ietfa.amsl.com
Delivered-To: opsawg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B014A1202B5; Tue, 25 Jun 2019 12:52:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
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 mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wT_FLF1Vhm82; Tue, 25 Jun 2019 12:52:31 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [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 ietfa.amsl.com (Postfix) with ESMTPS id B2C6A120044; Tue, 25 Jun 2019 12:52:30 -0700 (PDT)
Received: from sandelman.ca (unknown [IPv6:2607:f0b0:f:2:56b2:3ff:fe0b:d84]) by tuna.sandelman.ca (Postfix) with ESMTP id 8546D380BE; Tue, 25 Jun 2019 15:50:45 -0400 (EDT)
Received: by sandelman.ca (Postfix, from userid 179) id 7F4C0109C; Tue, 25 Jun 2019 15:52:26 -0400 (EDT)
Received: from sandelman.ca (localhost [127.0.0.1]) by sandelman.ca (Postfix) with ESMTP id 7CE22E8C; Tue, 25 Jun 2019 15:52:26 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Eliot Lear <lear@cisco.com>
cc: opsawg@ietf.org, mud@ietf.org
In-Reply-To: <1FDE5A58-569B-47FD-8C24-435D78F8A3B2@cisco.com>
References: <1FDE5A58-569B-47FD-8C24-435D78F8A3B2@cisco.com>
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: Tue, 25 Jun 2019 15:52:26 -0400
Message-ID: <1547.1561492346@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/opsawg/yHCbPksEKqei3hWGc_7Yjp05xTY>
Subject: Re: [OPSAWG] Declaring something to be a controller in MUD
X-BeenThere: opsawg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OPSA Working Group Mail List <opsawg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/opsawg>, <mailto:opsawg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/opsawg/>
List-Post: <mailto:opsawg@ietf.org>
List-Help: <mailto:opsawg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsawg>, <mailto:opsawg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Jun 2019 19:52:34 -0000
Eliot Lear <lear@cisco.com> wrote: > A few of us are just trying to put out an initial draft that addresses > one gap in MUD (there are several). > In a MUD file one can say that one > wants to access a controller in two ways: either "my-controller” > meaning a controller that services devices of a particular MUD URL or a > “controller” class that services devices based on a particular class > name of controller. I think that we have two potential avenues for security attacks here: 1) a device that claims to be a controller in order to gain access to devices. 2) devices that claim to be belong to a controller in order to attack controllers. To my mind there are some different things we could do: 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. > In either case, right now the administrator has to manually know and > populate information, to say - some device 1.2.3.4 is a controller, > either for MUD URL https://example.com/mud <https://example.com/mud> or > a class http://example.com/mudclass1 <http://example.com/mudclass1>. > 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. > To make that declaration, the device must- Form the declaration; Find > the MUD manager; and Send it. > Finding the MUD manager depends on one question: Was the device built > to be a controller or is it a general purpose device that has an app > that is intended to be a controller? > If the device was built to be a controller, we can simply cram the > declaration into that devices own MUD file as an extension. If the > device is a general purpose computer, things get a bit more > interesting. Yes... but I think that we have to solve the multi-purpose computer MUD anyway. The intelligent speakers (Echo,Home,Mycroft,etc.) need to gain new MUD definitions as they gain "skills", and I think that we can treat a smartphone in a similar way. This might be a place where IPv6 wins, if we can split off each skill into a new provisioning domain, giving it a new IPv6 IID. I was thinking that maybe we can associate the private key that signed the MUD file to the IID via something like SEND/CGA, but I'm not sure how many private keys we have (one for the app developer, or one per app installed on each device). > In this case we have two choices: > Either create a MUD file that points somewhere internally - this > doesn’t seem very plug and play. Make the declaration directly to the > MUD manager. > I’m going to focus on the latter for the moment. It is easy enough to > create a RESTful interface for this purpose, but it requires a > mechanism to discovered the MUD manager, which up until now has been an > internal part of the network infrastructure. > Let me call this out plainly: letting the app itself directly call the > MUD manager requires that the MUD manager itself become exposed to the > user infrastructure, which is a change. Agreed. And that the MUD manager have some reason to trust the device is not p0wned, and sending a bogus MUD file up. A certificate chain back to the manufacturer is not enough, it has to be signed by a key that an attacker can't get access to. So that requires attested keys if they are "local", or for the signature to be done elsewhere. > 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. -- Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works -= IPv6 IoT consulting =-
- [OPSAWG] Declaring something to be a controller i… Eliot Lear
- Re: [OPSAWG] Declaring something to be a controll… M. Ranganathan
- Re: [OPSAWG] Declaring something to be a controll… Michael Richardson
- Re: [OPSAWG] [Mud] Declaring something to be a co… Eliot Lear
- Re: [OPSAWG] [Mud] Declaring something to be a co… Eliot Lear
- Re: [OPSAWG] [Mud] Declaring something to be a co… M. Ranganathan
- Re: [OPSAWG] [Mud] Declaring something to be a co… Michael Richardson
- Re: [OPSAWG] [Mud] Declaring something to be a co… Eliot Lear
- Re: [OPSAWG] [Mud] Declaring something to be a co… Michael Richardson
- Re: [OPSAWG] [Mud] Declaring something to be a co… Eliot Lear
- Re: [OPSAWG] Declaring something to be a controll… Qin Wu
- Re: [OPSAWG] Declaring something to be a controll… Eliot Lear
- Re: [OPSAWG] Declaring something to be a controll… Qin Wu
- Re: [OPSAWG] Declaring something to be a controll… Eliot Lear
- Re: [OPSAWG] Declaring something to be a controll… Eliot Lear
- Re: [OPSAWG] [Mud] Declaring something to be a co… M. Ranganathan
- Re: [OPSAWG] Declaring something to be a controll… Qin Wu
- Re: [OPSAWG] Declaring something to be a controll… Qin Wu
- Re: [OPSAWG] [Mud] Declaring something to be a co… Eliot Lear
- Re: [OPSAWG] [Mud] Declaring something to be a co… Eliot Lear
- Re: [OPSAWG] [Mud] Declaring something to be a co… M. Ranganathan