> On Apr 26, 2017, at 2:58 PM, Spencer Dawkins at IETF > <spencerdawkins.i...@gmail.com> wrote: > > Hi, Ben and Tommy, > > On Wed, Apr 26, 2017 at 1:36 PM, Ben Campbell <b...@nostrum.com> wrote: > > > On Apr 26, 2017, at 12:50 PM, Tommy Pauly <tpa...@apple.com> wrote: > > > > Hi Ben, > > > > Thanks for the comments! Your point about the line in Section 6 not making > > sense is definitely a good point. How about this text (changes in bold): > > > > If a TCP connection is being used to resume a previous IKE session, > > the TCP Responder can recognize the session using either the IKE SPI > > from an encapsulated IKE message or the ESP SPI from an encapsulated > > ESP message. If the session had been fully established previously, > > it is suggested that the TCP Originator send an UPDATE_SA_ADDRESSES > > message if MOBIKE is supported, or an INFORMATIONAL message (a > > keepalive) otherwise. [The TCP Responder MUST NOT accept any messages > > for the existing IKE session on new an incoming connection unless that > > connection > > begins with the stream prefix. If either the TCP Originator or TCP > > Responder > > cannot parse valid IKE or ESP messages on a TCP encapsulation connection > > that was started with a valid stream prefix, it MUST close the TCP > > connection.] > > If there is instead a syntax issue within an IKE > > message, an implementation MUST send the INVALID_SYNTAX notify > > payload and tear down the IKE SA as usual, rather than tearing down > > the TCP connection directly. > > > > Thanks, > > Tommy > > That looks good to me. I will clear, with the assumption this or similar > edits will make it into the draft. > > Does > > The TCP Responder MUST NOT accept any messages > for the existing IKE session on new an incoming connection unless that > connection > begins with the stream prefix. > > parse for you guys? I get stuck at "on new an incoming”.
I’m guessing that’s an edit-o from. Maybe it should be “on a new incoming”? > > Spencer > > > Thanks! > > Ben. > > > > > >> On Apr 26, 2017, at 8:35 AM, Ben Campbell <b...@nostrum.com> wrote: > >> > >> By the way, the DISCUSS vs COMMENT framing has gotten lost from the > >> thread. Only the first point was part of the DISCUSS, the rest are > >> non-binding comments. And I think the DISCUSS point is moving in the right > >> direction, pending a text proposal. > >> > >> Thanks! > >> > >> Ben. > >> > >>> On Apr 26, 2017, at 8:57 AM, Kathleen Moriarty > >>> <kathleen.moriarty.i...@gmail.com> wrote: > >>> > >>> On Tue, Apr 25, 2017 at 11:54 PM, Ben Campbell <b...@nostrum.com> wrote: > >>>> > >>>>> On Apr 25, 2017, at 9:38 PM, Kathleen Moriarty > >>>>> <kathleen.moriarty.i...@gmail.com> wrote: > >>>>> > >>>>> Thanks for the quick response Paul, a few questions... > >>>>> > >>>>> On Tue, Apr 25, 2017 at 10:18 PM, Paul Wouters <p...@nohats.ca> wrote: > >>>>>> On Tue, 25 Apr 2017, Kathleen Moriarty wrote: > >>>>>> > >>>>>>>> IIUC, the entire point of having the stream prefix is to allow the > >>>>>>>> TCP > >>>>>>>> responder to demux between this protocol, and some other protocol > >>>>>>>> that > >>>>>>>> would normally run on that port. Saying it MUST close the TCP session > >>>>>>>> seems to completely remove that value. I assume people meant to > >>>>>>>> allow the > >>>>>>>> respondent to delegate a stream out to some other protocol handler > >>>>>>>> if the > >>>>>>>> prefix is not present? > >>>>>>>> > >>>>>>> > >>>>>>> I believe that this is because there is presumed to be no other > >>>>>>> service operating on the listening port (assuming a VPN concentrator), > >>>>>>> but that's not explicitly stated either. > >>>>>> > >>>>>> > >>>>>> Vendors tend to run TLS on the IKE/IPsec machine, either to offer one > >>>>>> of > >>>>>> the other kinds of SSL VPNs or as the administration interface or > >>>>>> user interface. > >>>>> > >>>>> OK, sounds like I didn't help here, so the editors should propose text > >>>>> to address this gap. > >>>> > >>>> I think we are on the right track here, pending proposed text. > >>>> > >>>>> > >>>>>> > >>>>>>>> -- 2nd to last paragraph: "This document leaves the selection of TCP > >>>>>>>> ports up to implementations." > >>>>>>>> I suspect "configurable local policy" would make more sense. Leaving > >>>>>>>> it > >>>>>>>> up to "implementations" leaves open the chance of different > >>>>>>>> implementations making non-intersecting port choices, which doesn't > >>>>>>>> help > >>>>>>>> interoperability. > >>>>>>> > >>>>>>> > >>>>>>> This may go more into unexplained assumptions... the clients > >>>>>>> authorized to connect to the server would need to know the correct > >>>>>>> port to establish a session and would be given that information > >>>>>>> specific to the implementation. With this assumption, the above > >>>>>>> should be fine... but editors/AD/WG, please correct me if I am wrong. > >>>>>> > >>>>>> > >>>>>> I am pretty sure what is meant is "configuration" and not > >>>>>> "implementation". > >>>>> > >>>>> Is that in response to me being wrong in my assumption or the draft > >>>>> should say configuration (I think it's the latter, but important to > >>>>> check)? > >>>> > >>>> We are probably splitting hairs on the meaning of “implementation” vs > >>>> “configuration”. (and maybe “deployment”). I was thinking of > >>>> “implementation” as being what developers do, and > >>>> “configuring/deploying” as what operators do. But I am aware that > >>>> operators sometimes talk about “implementing” a system. > >>>> > >>>> So my point was that I assume for purposes of interoperability that a > >>>> general purpose client or server would allow the port to be changed in > >>>> the field. > >>>> > >>>>> > >>>>>> > >>>>>>>> -4, first paragraph: What is the expected behavior from a peers that > >>>>>>>> do > >>>>>>>> not support this spec when they receive a TCP stream with the magic > >>>>>>>> number on a port for some other protocol? > >>>>>>> > >>>>>>> > >>>>>>> Maybe listing assumptions up front in the draft would help _IF_ the > >>>>>>> assumption is that the listening server is a VPN concentrator that > >>>>>>> wouldn't be listening for other services. > >>>>>> > >>>>>> > >>>>>> Support for TCP would be based on preconfiguration, so the client knows > >>>>>> this out-of-band. It cannot be discovered during negotiation, because > >>>>>> it is assumed the regular UDP ports are blocked, which is the only > >>>>>> reason to attempt TCP to begin with. > >>>>> > >>>>> I read the draft with this assumption in mind (see above), but this > >>>>> should be clarified in the document to address this question from Ben. > >>>> > >>>> Imagine a misconfigured client opening a connection to an web server on > >>>> port 80, expecting to find a VPN service. What happens? I think that a > >>>> consequence of the design approach to allow this to run over ports > >>>> assigned to other protocols is that you need to consider that sort of > >>>> thing. > >>>> > >>>>>> > >>>>>>>> - Appendix A: Doesn't the use of the NULL cipher invalidate one of > >>>>>>>> the > >>>>>>>> primary reasons to use TLS? (Namely to obscure the fact that this is > >>>>>>>> not > >>>>>>>> HTTP, or whatever other protocol is assigned to the port?) > >>>>>>> > >>>>>>> > >>>>>>> Editors/AD correct me if I am wrong, but... > >>>>>>> No, if TLS is used with a NULL cipher, it'll pass inspection of a > >>>>>>> middle box validating the protocol. This doesn't need to use the > >>>>>>> cipher as it's negotiating the IPsec connection. > >>>>>> > >>>>>> > >>>>>> right, TLS happens to use encryption to get out, but it is not the > >>>>>> encryption of the actual IKE/IPsec protocols, which keep using their > >>>>>> own channel negotiations. > >>>>> > >>>>> I think clarifying this further in the draft would be helpful. > >>>> > >>>> I agree, because I’m still confused :-) > >>>> > >>>> To clarify my question: Assuming the case of TLS encapsulation to the > >>>> HTTPS port across a DPI middle-box that hates that sort of thing. If TLS > >>>> uses the NULL cipher, can the middlebox not tell that the protocol over > >>>> TLS is not HTTP? (I will defer to the experts.) > >>> > >>> IPsec WG participants should chime in here, Yoav may know for sure > >>> with his background, I'm sure others too. > >>> > >>> I'd guess that a DPI would not pick it up as the protocol inspection > >>> most likely assumes when it sees TLS, that the traffic is encrypted > >>> and looks no further for inspection/blocking purposes. The > >>> middleboxes that do some protocol inspection aren't like the ones from > >>> 15-20 years ago that dug into the protocol (blocking FTP commands, > >>> etc.). > >>> > >>> The use of TCP 443 for this has been in place for a decade or two, > >>> Google QUIC also uses TCP 443, and I'm sure other services do too. So > >>> tunneling does work. > >>> > >>> For purity, are we worried if this is TLS or HTTP/TLS (as the port > >>> usage specifies) or does that matter? > >>> > >>>> > >>>> > >>> > >>> > >>> > >>> -- > >>> > >>> Best regards, > >>> Kathleen > >> > > _______________________________________________ IPsec mailing list IPsec@ietf.org https://www.ietf.org/mailman/listinfo/ipsec