Re: issue 11 -- window size

Mohan Parthasarathy <[email protected]>
Newsgroups gmane.ietf.mobike
Message-ID <[email protected]>
Tero,

> > I am not sure i follow this. If i am moving and
> > acquiring a new address, you have to tell the
> other
> > end about the new address securely for detecting
> "NO
> > NAT" securely. This implies that the packets have
> to
> > change in retransmission. You could not have told
> > about the new address beforehand. So, if we want
> to
> > prevent NAT from appearing in the path
> > (NAT_PREVENTION), you still need to add the newly
> > acquired address to the payload.
> 
> If you send separate notification to the other end
> when ever you
> address changes, the responder can check if the
> source address of the
> packet is from that list, and if so it knows there
> is no NAT.
> 
> If the address is not in the list, there is now two
> possible things:
> 
> 1) There is NAT between
> 2) The other end got new address after it started
> this exchange, thus
> it needed to retransmit the packet using this new
> source address
> without telling you. If this is the case, then
> immediately after you
> answer to this the other end will send and address
> list update message
> which should include this address.
> 
The address list update message may not be the next
message as there might be others in the window if
window size is > 1. So, the peer has to wait for a max
of windows worth of messages before it would see the
update with the new address. This could be long if we
have a few addresses to try.

> So temporarely it seems there is NAT between, but as
> soon as the
> window is cleared then there will be new packet that
> will update the
> address lists so that they have all new source
> addresses.
> 
Agreed. Perhaps if we can send the UPDATE message
also outside the normal window, the peer can know
earlier. Not sure whether it is a big advantage or
not.

> I.e. the process flow would be:
> 
> CREATE_SHILD_SA -> (lost)
> 
> CREATE_SHILD_SA retransmit (with other IPs) ->
> (lost)
> 
> getting new IP address A3
> 
> CREATE_SHILD_SA retransmit (with A3) -> (gets
> through)
> 
> <- CREATE_SHILD_SA reply (to A3, notices that A3 is
> not in list of IPs)
> 
> N(UPDATE LIST) (adds A3 to list) ->
> <- ACK (notices now that A3 is again on list, so no
> NAT)
> 
> N(MOVE TRAFFIC) -> (lost)
> 
> N(MOVE TRAFFIC) (with other IPs) -> (lost)
> 
> getting new IP address A4
> 
> N(MOVE TRAFFIC) (with A4) -> (gets through)
> 
> <- N(ERROR-NAT-DETECTED) (returns error as A4 is not
> in the list, and
> nat prevention set)
> 
> N(UPDATE LIST), N(MOVE TRAFFIC) (updates list to
> have A4, moves traffic) ->
> 
> <- ACK (adds A4 to list, moves traffic to new
> address).
> 
Okay, you allow "NAT/attacker" temporarily till the
update message is sent so that you don't have to
modify the retransmitted packet. Can the on-path
attacker (assume that the attacker needs to know the
full message and not just the message-ids),  can
generate lot of packets with bogus address/es and can
cause some meaningful attack ? Anyway, it is required
by IKEv2 today, so we don't worsen the security any
more than what is there today. Will it improve the
current situation if we can update the other end about
the new address before the window clears up ?

-mohan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.