Hello Tero,

Thank you for your clear answer.
It cleared up my questions.

Thanks,
Naoyoshi Ueda

2009/9/2 Tero Kivinen <kivi...@iki.fi>:
> naoyoshi ueda writes:
>> According to ikev2bis-04 section 2.1:
>> >   A retransmission from the initiator
>> >   MUST be bitwise identical to the original request.  That is,
>> >   everything starting from the IKE Header (the IKE SA Initiator's SPI
>> >   onwards) must be bitwise identical; items before it (such as the IP
>> >   and UDP headers, and the zero non-ESP marker) do not have to be
>> >   identical.
>>
>> So, IV of retransmitted request must be the same as that of original
>> request.
>
> Yes.
>
>> Meanwhile,  ikev2bis-04 section 3.14 says
>> >   o  Initialization Vector - For CBC mode ciphers, the length of the
>> >      initialization vector (IV) is equal to the block length of the
>> >      underlying encryption algorithm.  Senders MUST select a new
>> >      unpredictable IV for every message; recipients MUST accept any
>> >      value.
>>
>> Question 1:
>> Does the statement "recipients MUST accept any value." stay true
>> even if retransmitted IV differs from that of original request?
>
> Most likely, but it does not matter as the packet will fail window
> check, thus will be considered as retransmission or old packet, and
> thrown away (it might trigger retransmission of responders reply in
> case it was packet in the window).
>
> Note, that this can only happen if the other is non-conforming, or
> there is attacker between which modifies the IV. Conforming
> implementation will use same IV all time.
>
>> Question 2:
>> If the answer to Question 1 is no, what should the recipient do?
>> Just ignore it? Abandon the IKE_SA? Or send some Notify?
>
> If recipient has already seen the message before (i.e it has already
> processed it), it can resend its reply. It can also notice that the
> packet is not bitwise-same as previously and the message id is old,
> and silently ignore it. So this is implementation depended what will
> happen.
>
> If it has not seen the message before, then it does not know the IV
> has changed, thus will process the packet normally.
>
>> Question 3:
>> How about IV of retransmitted RESPONSE?
>> Does it need to be identical to the original one too?
>
> The retransmitted response should also be bitwise identical to
> original one.
>
>> It seems to me that the following statement in section 2.1
>> implicitly requires that. But I'm not sure.
>
> I would agree you that it implicitly requires that.
>
>> Actually, I'm now involved in a IKEv2 implementation that
>> sends retransmitted response with different IV from original one
>> and I cannot tell if the behavior is allowed or not.
>
> I would say it is not allowed, but on the other hand, the other end
> should not ever notice this, as it only process one of the responses
> (the first to reach him), and then ignores rest even before decrypting
> them (when it checks its message id). I.e. it ignores further
> responses to requests it has already received response.
>
>> ikev2bis-04 section 2.1:
>> >   The responder MUST remember each
>> >   response until it receives a request whose sequence number is larger
>> >   than or equal to the sequence number in the response plus its window
>> >   size (see Section 2.3).
> --
> kivi...@iki.fi
>
_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to