Subject: [Spud] questions we need a prototype for

From: Brian Trammell <[email-masked]>
Date: Tue, 14 Apr 2015 15:27:05 +0200

Greetings, all,

Following a discussion of the BoF proponents and chairs, we wanted to address the fact that many of the concerns raised at the BoF focused on the prototype itself: its current lack of anything that looks like security, the danger of it becoming The Spud Protocol, etc... So we thought it would be useful to ask, why do we want a prototype?

The discussion on this list of the threat models a substrate protocol must face has been useful, as have the discussions on what might be useful to expose -- it's clear even among people who think something like SPUD is a good idea that we have somewhat different visions and assumptions about this, and these discussions can get us closer to consensus on these questions. But we think the most direct way to answer these questions is to actually put packets on the MAC layer of your choice and see what happens.

Hence a prototype.

The first few questions we want answers to seem to be the following:

- What current transport-and-payload-inspecting-middlebox features can be replaced by the selective exposure of which data by the endpoints when the application and transport information is encrypted, and we presume protection against MITM and cleartext fallback?

- What declarations (from applications, and from the path) are most useful from the application's point of view?

- What declarations (from applications, and potentially other path elements) are most useful from the point of view of devices on path?

- What are the incentives to deploy on both sides?

- What kinds of cooperation can we engender in an untrusted environment composed of path and application?

- What are the implicit trust relationships between endpoints and on-path devices now, and can making these explicit improve cooperation at all?

- Are explicit trust relationships even possible without significant latency, management overhead, and other costs?

- Are there mitigations for attacks on that cooperation?

From there we'll need to answer questions about the abstract interfaces among the layers and interlayers, but these "how" questions are a bit more fluid than the "what" questions. The http://github.com/iptube/SPUDlib is the start of one codebase we can use to set up experiments to try to answer these questions. My question to the list: what other questions can experimentation help answer?

Thanks, cheers,

Brian