Re: [Anima] review of draft-behringer-autonomic-control-plane-00

Dean Bogdanovic <deanb@juniper.net> Tue, 30 September 2014 19:20 UTC

Return-Path: <deanb@juniper.net>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E84EE1A87B8 for <anima@ietfa.amsl.com>; Tue, 30 Sep 2014 12:20:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 az8JKBuq-GBU for <anima@ietfa.amsl.com>; Tue, 30 Sep 2014 12:20:17 -0700 (PDT)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0787.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::1:787]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A471A1A8790 for <anima@ietf.org>; Tue, 30 Sep 2014 12:20:16 -0700 (PDT)
Received: from BN1PR05MB424.namprd05.prod.outlook.com (10.141.58.148) by BN1PR05MB423.namprd05.prod.outlook.com (10.141.58.146) with Microsoft SMTP Server (TLS) id 15.0.1039.15; Tue, 30 Sep 2014 19:19:51 +0000
Received: from BN1PR05MB424.namprd05.prod.outlook.com ([169.254.8.206]) by BN1PR05MB424.namprd05.prod.outlook.com ([169.254.8.206]) with mapi id 15.00.1039.011; Tue, 30 Sep 2014 19:19:51 +0000
From: Dean Bogdanovic <deanb@juniper.net>
To: Rene Struik <rstruik.ext@gmail.com>
Thread-Topic: [Anima] review of draft-behringer-autonomic-control-plane-00
Thread-Index: AQHP0tFueBDgSfGk/0qsh042SIjRaJwaIV6A
Date: Tue, 30 Sep 2014 19:19:51 +0000
Message-ID: <964629C5-64F7-4EE9-8B13-EA4C7A0B682C@juniper.net>
References: <541A1CF2.9050904@gmail.com>
In-Reply-To: <541A1CF2.9050904@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.1510)
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [66.129.241.13]
x-microsoft-antispam: BCL:0;PCL:0;RULEID:;SRVR:BN1PR05MB423;
x-forefront-prvs: 0350D7A55D
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(24454002)(377454003)(189002)(199003)(50986999)(110136001)(77096002)(21056001)(20776003)(89996001)(19580405001)(19580395003)(62966002)(101416001)(76176999)(104166001)(33656002)(64706001)(85306004)(31966008)(10300001)(325944007)(230783001)(76482002)(46102003)(16236675004)(106356001)(92566001)(2656002)(85852003)(86362001)(87936001)(80022003)(83716003)(50226001)(106116001)(105586002)(95666004)(66066001)(36756003)(92726001)(88136002)(99396003)(107046002)(82746002)(87286001)(99286002)(120916001)(93916002)(97736003)(4396001)(77156001)(15975445006)(19617315012)(57306001)(104396001); DIR:OUT; SFP:1102; SCL:1; SRVR:BN1PR05MB423; H:BN1PR05MB424.namprd05.prod.outlook.com; FPR:; MLV:sfv; PTR:InfoNoRecords; MX:3; A:1; LANG:en;
Content-Type: multipart/alternative; boundary="_000_964629C564F74EE98B13EA4C7A0B682Cjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
Archived-At: http://mailarchive.ietf.org/arch/msg/anima/W6gYTWt5wV2KxvZLESt-XjtxTnM
Cc: "anima@ietf.org" <anima@ietf.org>
Subject: Re: [Anima] review of draft-behringer-autonomic-control-plane-00
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 30 Sep 2014 19:20:21 -0000

Rene,

I have another comment to your very detailed review of that draft. This is first bullet in section 6


Secure bootstrap of new devices without requiring any
      configuration.  As explained in Section 3<https://tools.ietf.org/html/draft-behringer-autonomic-control-plane-00#section-3>, a new device will
      automatically be bootstrapped in a secure fashion and be deployed
      with a domain certificate.  This will happen without any
      configuration, allowing a new device to be shipped directly to the
      end-user location without the need for any pre-provisioning.

How is this different from draft-kwatsen-netconf-zerotouch-01?

The zero-touch allows device to be shipped directly from vendor and deployed into the network without any human intervention, except to be installed and wired.

I'm in support of creating autonomic networks, but we have to see what existing mechanisms can be used to that goal and if they need improvements. Would not recommend doing everything from scratch.

Dean

On Sep 17, 2014, at 7:44 PM, Rene Struik <rstruik.ext@gmail.com<mailto:rstruik.ext@gmail.com>> wrote:

Dear colleagues:

Please find below my initial comments on draft-behringer-autonomic-control-plane-00

1. Summary:
The draft discusses a mechanism for networking that presumably can operate in parallel to ordinary network operation and is able to operate without configuration.

2. General comments:
a) The idea of autonomic control plane relies on group membership notions evidenced by a so-called domain certificate. It is unclear what the ramifications of this approach are, in terms of provisioning, coordination, and pre-planning cost, and in terms of deployment flexibility of devices throughout their lifetime. The notion could possibly work with quite static networks; however, the comparison with other mechanisms for implementing group membership notions require consideration. It is hard to see how this notion could work with more dynamic topologies or where flexible deployment is required. Certificate management aspects (e.g., key validity, revocation) also require lots of attention, as well as manufacturing aspects (should certs be generated during manufacturing) {since one should know where a device will be deployed before issuing the cert}.
b) The autonomic control plane concept seems to require adoption of the concepts in another draft (draft-pritikin-bootstrapping-keyinfrastructures-00) to work.

3. Specific comments:

Section 1:
1) Third para (bottom of p. 1): It would help to elaborate on what "independent of configuration, addressing and routing problems" means. Does this mean one wishes the "autonomic contorl plane" (ACP) protocol to be independent of routing addressing schemes that may be topology-dependent and independent of any routing tables? Please elaborate.
2) First para of p. 2: While the cross-referencing to another draft with common authors (draft-pritikin-bootstrapping-keyinfrastructures-00) is given seemingly simply "as an example", it seems hard to evaluate this draft on its own merits without considering that other cross-referenced draft at the same time. This complicates the review and makes the task of seeing whether certain designs all have to be used simultaneously or not at all, or whether these cover modules that are largely independent arduous. I would prefer untangling of lots of the nmrg drafts, which now
often cross-reference each other. To reach an informed opinion, I had to read them all, rather than being able to read these as drafts that mostly stood on their own. I feel this discourages inviting comments from the community at large.
3) The idea of the autonomic control plane seems to be to similar to the "dry run" option expressed in draft-jiang-config-negotiation-ps-03 (see my general review remark #b on that draft), in the sense that one can run the ACP network in an otherwise operational network. This does sound more like a logical flow separation issue, where the operational network and the "ACP network" version run in "different colors". This could be realized if one could have more than one instantiation of a protocol running at the same time, with logical separation being provided by color coding messaging and configuration data. I can see how this could be realized if one deals with direct neighbors in the "ACP color" (since then routing is effectively non-existent), but had trouble to understand if one wishes to communicate with a more remote "ACP node" (or, more precisely, a node that allows ACP-instantiated traffic). At the same time, at the local non-routing level, can't one already communicate on the local direct neighbor level using existing techniques? (If not, one should explain this in the draft.)

Section 2:
4) First bullet: replace "bootstrapping of a device today" by "bootstrapping of a device today typically" (after all, not all existing networks today require execution of network formation in a carefully preplanned order and with lots of coordination [lots of well-designed sensor networks can form in virtually any order, almost without human intervention]).
5) First bullet: do I have to (sadly) conclude there is absolutely no IETF protocol out there where where network formation can happen in a more organic manner? {sorry - I do not know all the zillions of RFCs by heart.} After all, even if a joining device has to authenticate to the network, any public-key based authenticated key agreement scheme can run over any channel (secured or not), so having UDP and a network sink seems to suffice (can't one use DTLS, here?). This makes me wonder (if my sad conclusion actually does hold) what this bottleneck is: addressing scheme, authorization issues, pure insanity? The current draft, unfortunately, does not elaborate on the current show-stoppers, except to suggest that one somehow needs console access. It would be extremely beneficial to give this more elaborate insight. {This makes me wonder how the internet recovers if one blows part of the network away and tries to reform what is left ("survivability", "failure recovery").}
6) Third bullet: add full-stop at the end of the first line.

Section 3:
7) Section 3.2, second para: replace "an globally" by "a globally".
8) Section 3.2, second para: one should add some verbiage re privacy implications of the adjacency discovery mechanism. (Note: on a more general note, it is hard to find any reference to privacy considerations, tracking, traceability, anonymity in any of the nmrg-related drafts.)
9) Section 3.2, bulletized list: I wonder how any automatic mechanism may derive any notion of "trust" and validity hereof. This should be clarified.(Or, does one simply imply that whatever has a certificate issued by a specific CA is automatically "trusted"??)
10) Section 3.3: this section seems to assume that devices that have a "domain" certificate issued by the same CA are to be mutually trusted. While one can indeed use this (very coarse-grained) mechanism for evidencing membership of the same group ("domain"), this is not a priori provide for autonomic networking, at least not without carefully articulating first how these should be issued, what preplanning and coordination this requires and what the impact is on flexibility of deployment. This should then be compared with alternatives, such as the use of group keys in the example of a network with a network manager who keeps a repository of device identifiers and provides triage on network access via, e.g., a white list.
11) Section 3.3: if one where to use domain identities, these could also be realized via attribute certs, rather than device certs. This would have the advantage of separating the CA role from the domain-mapping role (which could be implemented more locally).
12) Section 3.3: domain certificate validation by itself does not establish group membership (since any device can send this publicly known string); use of the private key (aka "key possession") is required too. I suggest making this more clear in the draft.
13) Section 3.3, p. 5 (last bullet): if checking whether a certificate is invalid or expired requires 3rd party assistance (e.g., to implement OCSP, CRL, or securely synchronize time) this protocol may no longer be autonomic. By group membership depend on CA-issued "domain" certificates, one almost automatically forces this scenario, unless one ignores key validity lifetime issues and issues certs with "eternal life".
14) Section 3.4: one should define the concept of GRE tunnels. Moreover, wouldn't one loose potential interoperability and invite configuration issues by suggesting a plethora of options for establishing and maintaining a secure channel here (IPSec, "GRE tunnels", etc.)?
15) Section 3.5: if one does not wish to depend on link configured addresses, can't one use cryptographically generated addresses instead?
16) Section 3.5: as already said before (see remark #3), it is unclear how routing over more than one hop is realized.
17) Section 3.5: one should explain what 802.1q tags are and which useful functions these could provide in the context of ACP networking.
18) Section 3.6: The main benefit of having an ACP networking options (for "emergency" purposes) seems to be that one does not necessarily need to use lots of configuration that, while useful for routing of ordinary traffic, does not really matter too much for non-throughput/non-time latency optimized communications, such as for network diagnostics by qualified personnel. If correct, I would suggest some verbiage explaining this philosophy in more detail. (Even if incorrect, I would still suggest to add more explanation here.)
19) Section 3.7: It is unclear why one needs another address in ACP context: the "domain" is already in the domain certificate; why can't one use a cryptographically generated address? Why does one need to have the same prefix for all domain devices (since ACP networking is defined from scratch and no routing approach is defined, there does not seem to be any need to stick to IPv6 address formats with 64-bit prefixes (which, again, codifies topology dependent information!).
20) Section 3.8: it is unclear who/what has domain control for propagation of routing information.
21) Section 3.8, top of p. 7: it would be good to add some more background as to why RPL as a routing protocol would be a suitable candidate for autonomic networking, what the dependency is on the addressing scheme suggested in Section 3.7 and whether, e.g., different instantiations of RPL can run at the same time (this would be of interest should one wish to use ACP concept in a constrained network setting that already uses RPL for ordinary networking). As an aside: the RPL specification [RFC 6550] does not include key management functionality, so it would be of interest to see whether what this draft proposes can fill in part of this void...

Section 4:
22) First bullet: it would help to have some insight in case of anomalies, such as "what happens if tables are full".
23) Third bullet: this raises the question as to scope and lifecycle aspects of domain certificates (see also remark #13).

Section 5:
24) second line: replace "been authenticated" by "authenticated" (i.e., remove the second occurrence of "been").
25) second para: one should add some verbiage that denial of service attacks are still possible, since any device can present whichever certificate (a public string) to any other device. See also remark #12 above.
26) third para: the use of link local addresses prevents scalability of ACP beyond a specific topology.
27) third para: the use of domain certificates necessitates re-issuance of certificates once a domain changes.
28) third para: Any device can spoof a link-local address, thereby still presenting the potential to execute attacks (use tunnel to compromised domain node and then inject traffic with seemingly okay looking link-local address, etc., etc.)

Section 6:
29) first bullet: As already said, the use of domain certificates to evidence group membership has some hidden cost that should be elaborated upon in greater detail, in terms of preplanning, coordination, etc. See also remark #10 above.
30) first bullet: the suggestion that the use of domain certificates allows shipment of devices without any need for pre-provisioning seems, unfortunately, incorrect. Au contraire: one needs to decide in which domain a new device should be deployed prior to shipping, issue a certificate for that domain, install this into the device, all prior to shipment. In addition, if one wishes to deploy the shipped device with another domain (i.e., one changes one's mind), one has to re-issue a cert for the new domain. With device certs that are not domain specific, one can simply populate a white list table locally at the network manager and use this white list to arbitrage network access.

Section 7:
31) first sentence: the ACP design heavily depends on a CA that can issue domain-specific certificates and, essentially, administers the network

--
email: rstruik.ext@gmail.com<mailto:rstruik.ext@gmail.com> | Skype: rstruik
cell: +1 (647) 867-5658 | US: +1 (415) 690-7363

_______________________________________________
Anima mailing list
Anima@ietf.org<mailto:Anima@ietf.org>
https://www.ietf.org/mailman/listinfo/anima