Re: [OPSAWG] [Mud] Declaring something to be a controller in MUD
Eliot Lear <lear@cisco.com> Wed, 26 June 2019 11:15 UTC
Return-Path: <lear@cisco.com>
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 2211912025D; Wed, 26 Jun 2019 04:15:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.501
X-Spam-Level:
X-Spam-Status: No, score=-14.501 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 jxjot-QYKnSQ; Wed, 26 Jun 2019 04:15:48 -0700 (PDT)
Received: from aer-iport-3.cisco.com (aer-iport-3.cisco.com [173.38.203.53]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C3438120253; Wed, 26 Jun 2019 04:15:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6302; q=dns/txt; s=iport; t=1561547748; x=1562757348; h=from:message-id:mime-version:subject:date:in-reply-to:cc: to:references; bh=bfDVLIcicq9dEsMtQ4ZGpOrc4coIgKS5K43wXEj2y9w=; b=HtmHZTjPAgYWktzLTHWlG8Qkzwxrf2goDiuLRMnlQYyQ8oXKwo+cB/L/ IpVc7R3okU3cMAVnNGQt7m8Y9YrNZLLi3Z/TK8n206+xZoJ4+n9hNeWaF WUM259rcrxn2T8LaBggRLnip8Uk0saT6q6VjIK/3sAQmLGy9u0uvnzE56 U=;
X-Files: signature.asc : 195
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0A+AAB4UxNd/xbLJq1kGQEBAQEBAQEBAQEBAQcBAQEBAQGBZ4MBUQEyIQeEFYh7i18lmmcCBwEBAQkDAQEjDAEBgUuCdQKDIDgTAQMBAQQBAQIBBW2KNwyFSgEBAQMBI0kIAgMFCwsYKgICVwYTgyIBgXsPCAelMIExhUeEYBCBNIFRh0SCYIF/gREnDBOCHi4+glaEeDKCJgSMARqHVVqVUAmCGIIegQqDKIRkiDsbgxaKCoo0lAhYgXeCU4gNgwkCBAYFAhWBZyGBWDMaCBsVOyoBgkEJNYIKBReDTYpVPQMwjysBAQ
X-IronPort-AV: E=Sophos;i="5.63,419,1557187200"; d="asc'?scan'208";a="13551023"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 26 Jun 2019 11:15:45 +0000
Received: from [10.61.211.92] ([10.61.211.92]) by aer-core-3.cisco.com (8.15.2/8.15.2) with ESMTPS id x5QBFiSM015121 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 26 Jun 2019 11:15:44 GMT
From: Eliot Lear <lear@cisco.com>
Message-Id: <14059460-C481-4E4C-977B-135F9F45C5D9@cisco.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_87042D5B-63C4-44C2-88C4-190EB8743177"; protocol="application/pgp-signature"; micalg="pgp-sha1"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Wed, 26 Jun 2019 13:15:41 +0200
In-Reply-To: <1547.1561492346@localhost>
Cc: opsawg@ietf.org, mud@ietf.org
To: Michael Richardson <mcr+ietf@sandelman.ca>
References: <1FDE5A58-569B-47FD-8C24-435D78F8A3B2@cisco.com> <1547.1561492346@localhost>
X-Mailer: Apple Mail (2.3445.104.11)
X-Outbound-SMTP-Client: 10.61.211.92, [10.61.211.92]
X-Outbound-Node: aer-core-3.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/opsawg/46etNpPBaDshBsJi7vN_0iprFtg>
Subject: Re: [OPSAWG] [Mud] 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: Wed, 26 Jun 2019 11:15:51 -0000
> On 25 Jun 2019, at 21:52, Michael Richardson <mcr+ietf@sandelman.ca> wrote: > > Signed PGP part > > 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. 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” : “https://levelofindirection.example.com” that points to a file that contains a JSON serialization of this grouping } Whether you trust that mud-url without a cert is up to you. Eliot > >> 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