Re: [Anima-bootstrap] anima-bootstrap: Bootstrap proxy discovery options

Toerless Eckert <eckert@cisco.com> Thu, 10 December 2015 02:29 UTC

Return-Path: <eckert@cisco.com>
X-Original-To: anima-bootstrap@ietfa.amsl.com
Delivered-To: anima-bootstrap@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 72A891ACCE8 for <anima-bootstrap@ietfa.amsl.com>; Wed, 9 Dec 2015 18:29:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.91
X-Spam-Level:
X-Spam-Status: No, score=-13.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, J_CHICKENPOX_32=0.6, RCVD_IN_DNSWL_HI=-5, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 ogH9yD0q9BWB for <anima-bootstrap@ietfa.amsl.com>; Wed, 9 Dec 2015 18:28:56 -0800 (PST)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DA80B1ACCF0 for <anima-bootstrap@ietf.org>; Wed, 9 Dec 2015 18:28:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6350; q=dns/txt; s=iport; t=1449714535; x=1450924135; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=h2I32O6JxRyMfWkyGdAAWrDGjJYIfk49AOLhTkuNxZk=; b=imkqIWTFrwkzl+sL2M5nuLnx+6Gl/dw4m233ZxKzwptVgC6uHYEdsMWQ 35Mlaw9aWnsxHx2Y+p1EFX+33v1xk/2v+7z2rM+pdF12Gn4gluJwWjTVm XICqv3/GFhXk34OJwVrzirdeb0iZl9Ix+n6qIDNpVzUaAtNzCISvLibDl 0=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BQAgAZ4mhW/51dJa1egzpTbr0vAQ2BYhcKgj2DMQKBKzgUAQEBAQEBAYEKhDQBAQEDAQEBATc0CwULCxgJJQ8FEzYTiCcIDb9lAQEBAQEBAQEBAQEBAQEBAQEBAQEBFASLU4QhAySEeAWHUQiFVHY9hByDbY05CZ0EHwEBQoQlHTSEEiWBIwEBAQ
X-IronPort-AV: E=Sophos;i="5.20,406,1444694400"; d="scan'208";a="57864936"
Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Dec 2015 02:28:54 +0000
Received: from mcast-linux1.cisco.com (mcast-linux1.cisco.com [172.27.244.121]) by rcdn-core-6.cisco.com (8.14.5/8.14.5) with ESMTP id tBA2Sspi021393 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 10 Dec 2015 02:28:54 GMT
Received: from mcast-linux1.cisco.com (localhost.cisco.com [127.0.0.1]) by mcast-linux1.cisco.com (8.13.8/8.13.8) with ESMTP id tBA2SrZh009965; Wed, 9 Dec 2015 18:28:53 -0800
Received: (from eckert@localhost) by mcast-linux1.cisco.com (8.13.8/8.13.8/Submit) id tBA2SqHJ009964; Wed, 9 Dec 2015 18:28:52 -0800
Date: Wed, 09 Dec 2015 18:28:52 -0800
From: Toerless Eckert <eckert@cisco.com>
To: Michael Richardson <mcr+ietf@sandelman.ca>
Message-ID: <20151210022852.GS29056@cisco.com>
References: <A4DCBB7E-A722-4AC1-A7B7-BD185ABEBF7F@cisco.com> <13379.1449515233@dooku.sandelman.ca> <20D831CB-5075-4899-9C4F-D3D04334B1CF@cisco.com> <2495.1449614267@dooku.sandelman.ca> <43C69994-D02E-44A0-A739-4A6E45A3CE8C@cisco.com> <566776A4.4080804@gmail.com> <20151209131234.GN29056@cisco.com> <56687A15.7070305@gmail.com> <20151209192313.GR29056@cisco.com> <25760.1449704977@sandelman.ca>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <25760.1449704977@sandelman.ca>
User-Agent: Mutt/1.4.2.2i
Archived-At: <http://mailarchive.ietf.org/arch/msg/anima-bootstrap/Lnl4sn5--nC2hwVZ1sCDG79oxkw>
Cc: "anima-bootstrap@ietf.org" <anima-bootstrap@ietf.org>
Subject: Re: [Anima-bootstrap] anima-bootstrap: Bootstrap proxy discovery options
X-BeenThere: anima-bootstrap@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Mailing list for the bootstrap design team of the ANIMA WG <anima-bootstrap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima-bootstrap>, <mailto:anima-bootstrap-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima-bootstrap/>
List-Post: <mailto:anima-bootstrap@ietf.org>
List-Help: <mailto:anima-bootstrap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima-bootstrap>, <mailto:anima-bootstrap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 10 Dec 2015 02:29:04 -0000

Inline.

On Wed, Dec 09, 2015 at 06:49:37PM -0500, Michael Richardson wrote:
> 
> Toerless Eckert (eckert) <eckert@cisco.com> wrote:
> 
>     > a) Lets assume we're talking bout announcements by Bob/Eve to connect to their ACP.
> 
>     > Minimally, Alice has no idea whom it wants to connect to. So it simply starts
>     > let's say dTLS to Bob and Eve. Alice will then figure out whether Bob and.or
>     > Eve have domain certs for the same domain Alice is in. If not, Alice (or Bob/Eve)
>     > will drop the dTLS connection.
> 
> I don't know why you write *TLS here. There is no specification for running
> IPv6 over TLS.

This is in the realm of ACP spec to resolve i think. Let me just remove this discussion
from this thread here by saying we firsst set up a TLS connection for GRASP, then
GRASP negotiates the secure transport for ACP packets, eg: MTI is IPsec. (I prefer
dTLS for ACP packets because of code size, but that's yet another derailing discussion).

It is now the TLS security exchange that will make Alice trust Bob/Eve and vice versa. Or
not, in which case the connection would be dropped. 

And, oh, by the way. Here is more generically how i think of "optional" parameters
for the discovery:

There are things that would make the TLS connection setup fail. Alice vs. Bob/Eve
could be in different domains. Or Bob/Eve certificate might have changed, or
Bob/Eve had a broken clock backup battery and thinks its 1990. Or there was an
internal redundancy failover that was not completely stateful, so Bob/Eve would like
connections rebuilt. If any of this gets fixed/changed, Bob/Eve would hope that Alice
will try to reconnect periodically after it failed.

Now, if Bob/Eve want to be friendly, they could
try to figure out if any relevant elements for the successfull mutual TLS set have
changed (such as above), and if they have changed, they will signal in their discovery that
there was change. In Multicast PIM we call this parameter of discovery (Hello) a GenID. 
There it was pec'ed only for internal redundancy failover or reboot, but IMHO its a more
generally applicable concept.  It's just a number thats changed. Eg: Timestamp of 
relevant last change.

In result, Alice would not need to periodically try to reconnect, but only when there is a 
GenID change. And of course we would need to specify a minimum interval for reconnection 
attempts in case Bob/Eve are evil and continuosly change change GenID. Maybe Alice wants 
to even do backoff in case a candidate neighbor connection fails, its GenID changes,
connection attempt still fails. And maybe still do a periodic re-connection attempt
after a longer period even if GenID has not changed.

Instead of letting the sending node figure out itself all the possible changes
it has had into a single GenID, it could also explicitly announce those parameter
values, like explicitly announcing domain name into discovery. But the goal would just
be to further optimize the non-need for another TLS connection attempt by Alice. SO
we can discuss if thats worth it.

In summary: I think what we put as parameters into the discovery only serves to
manage how to do re-connects of the following (TLS) security association. 

>     > b) Lets assume we're talking about announcements by Bob/Eve to be enrollment proxies.
> 
>     > So now Alice is not in a domain and will set up ESP "randomnly" to Bob and/or Eve.
> 
> I think you mean, EST?

ETYPO. Thanks.

>     > If we do not have a MASA, then Alice is really at the mercy of
>     > The guy who plugs Alice's cable into some network connection.
>     > "Do not plug into an untusty socket".
> 
> We can do things without a MASA, but the certificate validation chain is more complex.

Well, lets not call it MASA for a second but let me just generalize the two
conditions:

Alice was sold to some owner X. IN general, it can not have a trust point for
an arbitrary owner X. Instead it can only have trust-points for eg: its manufacturer
and whatever trusted third-parties the manufacturer burned trustpoints into Alice's firmware.

In the "insecure" case, the manufacturer and its trusted third-parties are too lazy to
set up any backend functions to make Alice confident that it belongs to X (which in
Max'es definition really is "Alice feels confident that its manufacturer or one of
its trusted henchmen will remember that Bob/Eves domain claims to own Alice). In the
"secure" case, they do this. These backend functions could be a MASA or maybe something
else. But i thought the way Max has defined MASA it should be a good superset of
any possible ways to give Alice this confidence. Not sure though. Hopefully Max will
chime in.

>     > Aka: Both Bob and Eve belong to friendly domains only accepting devices
>     > they know they own.
> 
>     > If we do have a MASA, Alice can feel more secure. So it connects to Eve,
>     > and Eve 's domain registrar wants to have Alice - even thoug alice doesn't below
>     > to Eves domain, but Eve is evil in this case. Alice will only accept enrollment
>     > when Eve is producing to Alice a ticket from the MASA stating that Alice belongs
>     > to Alices domain. And Alice trusts this ticket because it ultimately came from
> 
> Here, where you write "Alices domain", you mean "Eve's domain"

Right.

>     > I can't see how Bob/Eve announcing their certs here would help Alice at all
>     > before establishing the EST connection.
> 
> It could help if both Bob and Eve are part of the same domain, and so after a
> failure with Bob, Alice would know to go on to Frank, skipping Eve.

There are probably like for ACP also for bootstrap reasons for it to fail via Bob
that would not apply to Eve even if Bob/Eve are in the same domain.

> But, I agree that it doesn't in general help, because neither Bob nor Eve's
> certificate has any verifiable meaning to Alice.

Right.

Cheers
    Toerless

> --
> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
>  -= IPv6 IoT consulting =-
> 
> 
> 



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


-- 
---
Toerless Eckert, eckert@cisco.com