Hello,

I've posted a new draft with a fix for the TCP Originator vs Original Initiator 
explanation, and a couple typos.

https://tools.ietf.org/html/draft-ietf-ipsecme-tcp-encaps-07

I believe this addresses all outstanding comments!

Thanks,
Tommy

> On Feb 7, 2017, at 9:44 AM, Tommy Pauly <tpa...@apple.com> wrote:
> 
> Hi Valery,
> 
> Thanks for the feedback! I'll clarify that the TCP Originator is the same as 
> the original initiator of the first IKE SA, as well as fixing the 
> typographical errors.
> 
> If anyone else has more feedback, please chime in! I'll wait a day or so 
> before updating the draft, to batch any other changes that should be made.
> 
> Thanks,
> Tommy
> 
>> On Feb 7, 2017, at 5:54 AM, Valery Smyslov <sva...@gmail.com> wrote:
>> 
>> Hi Tommy,
>> 
>> thank you for the quick update. A couple nits:
>> 
>> 1. Section 1.2:
>> s/the the/the
>> 
>> 2. Section 1.2:
>>      The TCP  
>>      Originator MUST be the same as the "Original Initiator", or the  
>>      Initiator of the first IKE SA exchange for a given IKE session.
>> 
>> Again, this is confusing. In RFC7296 the term " Original Initiator" is 
>> defined as:
>>   The "original initiator
>>    always refers to the party who initiated the exchange that resulted
>>    in the current IKE SA.  In other words, if the "original responder"
>>    starts rekeying the IKE SA, that party becomes the "original
>>    initiator" of the new IKE SA."
>> 
>> "the Initiator of the first IKE SA exchange for a given IKE session" is also
>> wrong, since IKE session means IKE SA and it can be a rekey of previous
>> IKE SA when entities swap their original roles.
>> 
>> This is now what we want it to mean, so an additional clarification is 
>> needed.
>> Something along the lines:
>> 
>>   The TCP Originator MUST be the same as the entity who originally
>>   initiated the first IKE SA (in a series of possibly several rekeyed
>>   IKE SAs).
>> 
>> Otherwise it looks good.
>> 
>> Regards,
>> Valery.
>> 
>>> Hi Valery,
>>> 
>>> Thanks so much for your comments! I have posted a new version of the draft 
>>> here:
>>> https://tools.ietf.org/html/draft-ietf-ipsecme-tcp-encaps-06
>>> 
>>> Responses inline.
>>> 
>>> Best,
>>> Tommy
>>> 
>>>> On Feb 2, 2017, at 4:13 AM, Valery Smyslov <sva...@gmail.com> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> here is my review of draft-ietf-ipsecme-tcp-encaps-05.
>>>> The draft is in a good shape, but a bit of final polishing is required.
>>>> 
>>>> 1. The terms "tunnel", "tunneled" are used throughout the document
>>>>  when referring to ESP SA. I think it is technically incorrect, since
>>>>  ESP supports both tunnel and transport modes, so the document
>>>>  should use more appropriate terms like "IPsec SA", "ESP packets" etc.
>>> 
>>> Great point. I have removed the references to tunnel, and replaced with SA, 
>>> generally.
>>> 
>>>> 
>>>> 2. Section 4.
>>>>  This value is
>>>> only sent once, by the Initiator only, at the beginning of any stream
>>>> of IKE and ESP messages.
>>>> 
>>>> If other framing protocols are used within TCP to further encapsulate
>>>> or encrypt the stream of IKE and ESP messages, the Stream Prefix must
>>>> be at the start of the Initiator's IKE and ESP message stream within
>>>> the added protocol layer [Appendix A].
>>>> 
>>>> Using "Initiator" is wrong here, since the TCP stream may be re-established
>>>> after the peers rekeyed IKE SA and changed their roles (so that original
>>>> Initiator becomes Responder). It either must be "original Initiator"
>>>> (with all explanations who it is, as in Section 6) or, preferably,
>>>> "originator of TCP stream" (or smth like that).
>>>> 
>>>> Actually, "Initiator" is used in a lot of places throughout the document
>>>> and in most cases it means "original Initiator of the first IKE SA in a 
>>>> series
>>>> of possible successive rekeys of this SA". It is good to look through
>>>> all these uses and either clarify this term in all places it is used, or 
>>>> add
>>>> some para in the beginning of the draft, e.g. like it is done in RFC4555:
>>>> 
>>>> In this document, the term "initiator" means the party who originally
>>>> initiated the first IKE_SA (in a series of possibly several rekeyed
>>>> IKE_SAs); "responder" is the other peer.  During the lifetime of the
>>>> IKE_SA, both parties may initiate INFORMATIONAL or CREATE_CHILD_SA
>>>> exchanges; in this case, the terms "exchange initiator" and "exchange
>>>> responder" are used.  The term "original initiator" (which in [IKEv2]
>>>> refers to the party who started the latest IKE_SA rekeying) is not
>>>> used in this document.
>>>> 
>>>> I also noticed that both "Initiator" and "initiator" are used in the 
>>>> document
>>>> (as well as "Responder" and "responder"). It's better to use one form
>>>> (preferably with capital letter, like in RFC7296). RFC Editor will change
>>>> them to one form in any case, so you can ease her work a bit.
>>> 
>>> I've switched to use the capitalized version of Initiator and Responder.
>>> 
>>>> 
>>>> I'd also suggest to introduce some term for the party, that creates
>>>> TCP session (e.g. "TCP originator") and use it where appropriate,
>>>> so that IKE roles are clearly distinct from TCP roles. In this case
>>>> you can get rid of "Initiator" in most places replacing it with "TCP 
>>>> originator".
>>> 
>>> I added the terms "TCP Originator" and "TCP Responder" in the terminology 
>>> section, with an
>> explanation of
>>> this distinction. I've used the new terms where appropriate throughout the 
>>> document.
>>> 
>>>> 
>>>> 3. Section 6.
>>>> When the IKE initiator uses TCP encapsulation for its negotiation,...
>>>> 
>>>> "its negotiation" is confusing here, since TCP encapsulation is not 
>>>> negotiated.
>>>> I suggest removing "for its negotiation" completely (or change to "for IKE 
>>>> SA negotiation").
>>> 
>>> Removed the phrase.
>>> 
>>>> 
>>>> 4. Section 6.
>>>> Once all
>>>> SAs have been deleted,...
>>>> 
>>>> "all SAs" is confusing. Later in this section it is stated that multiple 
>>>> IKE SAs
>>>> MUST NOT share a single TCP connection. Is this a leftover from an early 
>>>> design?
>>> 
>>> Switched to "Once the SA has been..."
>>> 
>>>> 
>>>> 5. Section 6.
>>>> If the connection is being used to resume a previous IKE session...
>>>> 
>>>> For clarity:  s/connection/TCP connection
>>> 
>>> Switched to "if a TCP connection".
>>> 
>>>> 
>>>> 6. Section 6.
>>>> A responder SHOULD at any given time send packets for an IKE SA and
>>>> its Child SAs over only one TCP connection.
>>>> 
>>>> Why only Responder? What about Initiator? I think this requirement
>>>> is valid for both.
>>> 
>>> Slightly modified the phrasing. The paragraph above describes the 
>>> Initiator/Originator behavior.
>>> 
>>>> 
>>>> 7. Section 6.
>>>> In order to be considered valid for choosing a TCP
>>>> connection, an IKE message successfully decrypt and be authenticated,
>>>> not be a retransmission of a previously received message, and be
>>>> within the expected window for IKE message IDs.  Similarly, an ESP
>>>> message must pass authentication checks and be decrypted, not be a
>>>> replay of a previous message.
>>>> 
>>>> "an IKE message successfully decrypt" - is it OK with the grammar?
>>>> Shouldn't it be: "an IKE message must be successfully decrypted"?
>>> 
>>> Thanks for catching! Fixed.
>>> 
>>>> 
>>>> What about ES, I think that it is a good thing to add
>>>> a requirement, that ESP window size MUST be set to 1 if TCP
>>>> encapsulation is in use. Larger windows are useless with TCP,
>>>> since there is no packet reordering. On the other hand, setting
>>>> window size to 1 will effectively block an attack vector that was described
>>>> by Tero, when an attacker sends old packet with fake TCP header.
>>>> If window size is 1, then this packet will be dropped immediately
>>>> without any changes in the ESP logic.
>>> 
>>> Added this recommendation to the security considerations.
>>> 
>>>> 
>>>> 8. Section 6.
>>>>  Multiple IKE SAs MUST NOT share a single TCP connection.
>>>> 
>>>> Please add clarification: "unless one of them is a rekey of another,
>>>> in which case two SAs sharing a single TCP connection coexist for
>>>> a short period of time" (or smth similar).
>>> 
>>> Added the clarification.
>>> 
>>>> 
>>>> Regards,
>>>> Valery.
>>>> 
>> 
>> _______________________________________________
>> IPsec mailing list
>> IPsec@ietf.org
>> https://www.ietf.org/mailman/listinfo/ipsec
> 
> _______________________________________________
> IPsec mailing list
> IPsec@ietf.org
> https://www.ietf.org/mailman/listinfo/ipsec

_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to