Re: [Secdispatch] Controller-IKE

Benjamin Kaduk <> Mon, 22 July 2019 18:19 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 707CE1200CC for <>; Mon, 22 Jul 2019 11:19:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Status: No, score=-4.2 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] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 5FRIBKRmyjFd for <>; Mon, 22 Jul 2019 11:19:06 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id B4F41120089 for <>; Mon, 22 Jul 2019 11:19:06 -0700 (PDT)
Received: from ([]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by (8.14.7/8.12.4) with ESMTP id x6MIJ0U9000940 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 Jul 2019 14:19:02 -0400
Date: Mon, 22 Jul 2019 13:18:59 -0500
From: Benjamin Kaduk <>
To: Eric Rescorla <>
Cc: "David Carrel (carrel)" <>, "" <>
Message-ID: <>
References: <> <> <> <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <>
Subject: Re: [Secdispatch] Controller-IKE
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Security Dispatch <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 22 Jul 2019 18:19:09 -0000

On Mon, Jul 22, 2019 at 11:13:24AM -0700, Eric Rescorla wrote:
> David,
> At the mic today, you said that C-IKE was 2N complexity rather than N^2
> complexity in terms of messages. Here's what confuses me.
> Just for simplicity, imagine that we do this in two phases: everyone
> registers their key with the controller and then the controller
> disseminates them. At this point, the controller has N keys and it needs to
> send them to N endpoints. If you are able to broadcast to all the nodes at
> once, then the controller will send N keys, so the total overhead is 2N (N
> uploads + N downloads). However, if the controller has point to point
> links, then the controller has to send ~N^2 keys (N-1 keys down N links).
> So those might be bundled into a single message, but you still have to send
> N^2 keys. Or am I missing something?

I'm p robably missing something too, but there's a couple potential
differences from what you describe -- the flow down from the controller to
the endpoints can be a P2MP flow, and also if the controller knows the
overlay network, it knows that it only has to send each endpoint (a specific)
10 keys for that endpoint to talk to the other endpoints it needs to.  That
is, each endpoint may not need (or be able to!) store the keys for all N