RE: Issue: NAT-T interaction (#3)

Tero Kivinen <[email protected]>
Newsgroups gmane.ietf.mobike
Message-ID <[email protected]>
Jing Xiang writes:
> I would say any solution we come up MUST work with NAT, maybe not
> all types of NATs but at least basic NAT environment.

The problem is that NAT-T does allow 3rd party bombing, and there is
no way to prevent it, because we cannot authenticate the IP-address.
Actually there is several different levels of 3rd party bombing. The
first is one which can be done from anywhere from the net, simply by
sending few faked packets. This can be prevented by return routability
checks, i.e we verify that sender of the update packet can see packets
destioned to the IP-address he gave.

The next level is where the attacker is along the path to the party to
be bombed. In this case return routability checks will not prevent the
attack, as the attacker can reply to those checks, or forward them to
the correct node, which will then answer to them.

Only way to prevent 3rd party bombing is to require the other party
authenticating the IP-address change, meaning it needs to know the
IP-address seen by the other end and put it inside the payload. In
this case the NAT is considered as an attacker along the path (it
modified the packets), thus the checks will fail, and the address
update is not done.

So if we want to have full protection from 3rd party bombing (also
those attackers who are along the path), we cannot use NAT-T. If we do
not care about the 3rd party bombing, we can use NAT-T all the time. 

> Rather than testing NAT existance after each address change I would
> recommend us consider forcing UDP wrapper on for all mobile cases.

UDP wrapper is not really an issue here. We can negotiate that
separately. The bigger issue is what we do for the 3rd party bombing. 

> The pro is that the connection will be re-established with no
> additional signaling and it will work even if NAT is added after
> address change without peers being aware of it.

I cannot really see how there can be NAT coming along the path unless
the peer notices it. If you had globally routable IP-address, why
would you suddenly start NATing that to some other globally routable
IP-address. In normal cases the peer who moves behind NAT, will notice
that its IP-address change at the same time.

> Of course the drawback is that we add extra 8 bytes to the data.

My proposal would be to keep NAT-T and MOBIKE separate and you use one
of them at time. If you are moved inside the NAT, and your policy
allows NAT-T, then you move from MOBIKE to NAT-T. There is no need to
send any address update notifications etc, as the NAT-T have built-in
automatic IP-address change.
-- 
[email protected]
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.