Subject: [Anima] Magnus Westerlund's Discuss on draft-ietf-anima-bootstrapping-keyinfra-22: (with DISCUSS)

From: Magnus Westerlund via Datatracker <[email-masked]>
Date: Thu, 11 Jul 2019 06:40:38 -0700

Magnus Westerlund has entered the following ballot position for
draft-ietf-anima-bootstrapping-keyinfra-22: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-anima-bootstrapping-keyinfra/

----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

Hi,

A. This is really a discuss discuss. With to little time to dig into the
details it appears that this protocol is making i hack of its interface towards
the its transport. It appears to attempt to use an HTTP rest interface, but
then it is also have a lot of talking about requirement for the TLS connection
underlying the HTTP. So to illustrate the issue I see here is what happens if
one like to use QUIC as the underlying transport for the rest interface rather
than TCP/TLS? So can this document achieve a clearer interface to the lower
layers so that it will be simpler to move the protocol to another underlying
version of the HTTP "transport"?

B. Section 5.6:

 The server MUST answer with a suitable 4xx
   or 5xx HTTP [RFC2616] error code when a problem occurs.

Referencing RFC 2616 that has been obsolete by RFC 7230 and companions. I do
note that there are no normative reference for that part in this document.

---

From: Michael Richardson <[email-masked]>
Date: Sat, 13 Jul 2019 14:41:37 -0400

<#secure method=pgpmime mode=sign>

Magnus Westerlund via Datatracker <[email-masked]> wrote:
    > A. This is really a discuss discuss. With to little time to dig into
    > the details it appears that this protocol is making i hack of its
    > interface towards the its transport. It appears to attempt to use an
    > HTTP rest interface, but then it is also have a lot of talking about
    > requirement for the TLS connection underlying the HTTP. So to
    > illustrate the issue I see here is what happens if one like to use QUIC
    > as the underlying transport for the rest interface rather than TCP/TLS?
    > So can this document achieve a clearer interface to the lower layers so
    > that it will be simpler to move the protocol to another underlying

Between the JRC (Registrar) and the MASA, we can support any HTTPS, including
HTTP/2 with QUIC (with the 'normal' corporate firewall issue with UDP).

Between the Pledge and the Registrar, we support any HTTPS that works over a
single TCP connection.  We can not support QUIC, since the Pledge is behind
an intentionally limited proxy.  We had some discussion about this a year or
so ago, please see:
  https://mailarchive.ietf.org/arch/msg/anima/ml1OSEKhR4-ICS0Bd0zfuzn8uw4

You are certainly right: we have linkage between the TLS layer and the
application layer, and we expect TLSClientCertificates and
TLSServerCertificates to have meaning at the application layer.

None of the connections could go through TLS "forced proxies" of the kind
that are apparently common in Enterprises.

I am open to suggestions on how to make the document clearer about how it
interfaces to TLS.  We have a sections:
    5.1.  BRSKI-EST TLS establishment details . . . . . . . . . . .  36
    5.4.  BRSKI-MASA TLS establishment details  . . . . . . . . . .  38

    >  The server MUST answer with a suitable 4xx or 5xx HTTP [RFC2616] error
    > code when a problem occurs.

    > Referencing RFC 2616 that has been obsolete by RFC 7230 and
    > companions. I do note that there are no normative reference for that
    > part in this document.

Fixed to 7230.
Yes, that wasn't even a real reference, just a literal [RFC2616].

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        | network architect  [
]     [email-masked]  http://www.sandelman.ca/        |   ruby on rails    [

--
Michael Richardson <[email-masked]>, Sandelman Software Works
 -= IPv6 IoT consulting =-

---

From: Eliot Lear <[email-masked]>
Date: Sun, 14 Jul 2019 12:36:40 +0200

Michael, Magnus,

I want to reinforce a point I made in that previous discussion about pledges using BRSKI with H2 (and by extension QUIC).  In this limited case, both present needless overhead both in terms of dev costs and COGS.  H2 in particular, and in this particular case, introduces new dev complexity because the provisional trust model used in BRSKI means that you cannot make use of multiple channels within the transport until at least the BRSKI transaction is complete.  And once it’s complete, and once EST is complete, the session is expected to terminate(*).  When BRSKI is in play, these transactions will happen lock step.

Eliot

(*) Keep in mind these protocols are used to establish network access.  A good analogy is that they are the language used to communicate at the gate with the security guard.  Typically one prefers that conversation to be short and to the point, so that one can get on with the business at hand.

> On 13 Jul 2019, at 20:41, Michael Richardson <[email-masked]> wrote:
> 
> 
> _______________________________________________
> Anima mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/anima

---

From: Magnus Westerlund <[email-masked]>
Date: Mon, 15 Jul 2019 09:41:49 +0000

Hi,

I will remove my discuss. As long as you have good reasons to have
dependenecies on a particular version of HTTP and TLS and transport
protocol that is fine with me. Just ensure that it is clear for the
different type of interactions what is the actual requirement. And if
there are no reason for having a specific dependency, then ensure that
is clear and that you still put in recommended version for
interoperability. 

Cheers

Magnus

On Sun, 2019-07-14 at 12:36 +0200, Eliot Lear wrote:
> Michael, Magnus,
> 
> I want to reinforce a point I made in that previous discussion about
> pledges using BRSKI with H2 (and by extension QUIC).  In this limited
> case, both present needless overhead both in terms of dev costs and
> COGS.  H2 in particular, and in this particular case, introduces new
> dev complexity because the provisional trust model used in BRSKI
> means that you cannot make use of multiple channels within the
> transport until at least the BRSKI transaction is complete.  And once
> it’s complete, and once EST is complete, the session is expected to
> terminate(*).  When BRSKI is in play, these transactions will happen
> lock step.
> 
> Eliot
> 
> (*) Keep in mind these protocols are used to establish network
> access.  A good analogy is that they are the language used to
> communicate at the gate with the security guard.  Typically one
> prefers that conversation to be short and to the point, so that one
> can get on with the business at hand.
> 
> 
> > On 13 Jul 2019, at 20:41, Michael Richardson <[email-masked]
> > > wrote:
> > 
> > 
-- 
Cheers

Magnus Westerlund 

----------------------------------------------------------------------
Network Architecture & Protocols, Ericsson Research
----------------------------------------------------------------------
Ericsson AB                 | Phone  +46 10 7148287
Torshamnsgatan 23           | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: [email-masked]
----------------------------------------------------------------------