[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Remove tunnel mode from ipsec-tunnels-02?
On Sep 7, 2006, at 3:57 PM, Pekka Savola wrote:
On Wed, 6 Sep 2006, Fred Baker wrote:
given that there are significant networks that operate in tunnel
mode, including both corporate VPNs and military networks that use
tunnel mode between encryption devices with a specific view to
hiding interior addressing and therefore military asset
distribution from prying eyes, this proposal seem profoundly silly.
Our assumption has been that transport mode is applied to a tunnel
interface (such as IPv6-in-IPv4, GRE etc). That hides the inner
addresses from those observers that would have been on-path in the
tunnel.
well, yes, that's one way that tunnel mode is often implemented. It's
hardly the only way.
When IPsec tunnel mode is _NOT_ modelled as an interface, then this
is OK though IMHO suboptimal because you cannot in practice run
neighbor discovery, routing protocols, multicast etc. over such
tunnels. Due to the link-local issues mentioned previously, tunnel
mode is not something we can recommend when it's modelled as an
interface.
I'm not entirely sure what the modeling question means to you. Are
you objecting to the use of a tunnel header, or the configuration of
an interface to do this?
Good grief.
So I'm sitting on a computer. I'm located, at this instant, in
Shanghai, and in the morning will be visiting a professor from the
Chinese Academy of Sciences. While I slept, this computer has been
downloading email, and I am right now replying to one of yours.
The computer's connection to Cisco, where my mail services are at, is
over the wild and woolly internet, and uses an IPSEC VPN. This
particular VPN runs over TCP, like this:
+-----------+-----+------+-----------------------------+
| IP host |IPSEC| | +----+----------------------+
| to | ESP | TCP | | IP | |
| decryptor | | | +----+----------------------+
+-----------+-----+------+-----------------------------+
My VPN software could just as easily run it over UDP. The point is
that I have a security association from my host to a firewall device,
and the datagrams I send contain an interior header that is used
within Cisco's network and uses addressing that is not advertised to
the world outside.
There are numerous military encryptors, some of them manufactured in
the US for US customers and some manufactured in other places for
NATO customers and countries that use NATO specifications, and yes,
if you go to the right web site you can find a Cisco-manufactured
device of this type. The description of "tunnel mode" in RFCs 4303,
2709, and 3456 is pretty much motivated by this particular usage. In
these devices, there is a "red" or plaintext interface and a "black"
or ciphertext interface. Packets handed to the device on the red side
are correlated with one of a potentially large number of security
associations, encrypted, an IPSEC ESP or IPSEC-like header and an IP
header added to get the thing to its decryptor, and it is fired out
the black side. At the remote end, the payload is decrypted and
forwarded to a red side device such as a router.
+-----------+-----+-----------------------------+
| IP host |IPSEC| +----+----------------------+
| to | ESP | | IP | |
| decryptor | | +----+----------------------+
+-----------+-----+-----------------------------+
And Oh yes, the router at my home office runs essentially the same
model using civilian encryption technologies and connects me to Cisco
when I am at home. As you say, in this case a GRE tunnel is
configured on a virtual interface:
+-----------+-----+-----+-----+-----------------------------+
| IP host |IPSEC| UDP | GRE | +----+----------------------+
| to | ESP | | | | IP | |
| decryptor | | | | +----+----------------------+
+-----------+-----+-----+-----+-----------------------------+
These are each instances of a tunnel mode VPN; the "military" one is
specifically the one recommended in RFC 4303.
Now, I will agree with you that the military version uses less bits
and accomplishes the same thing that the two civilian versions do. If
that's your complaint, then please state your complaint. But
recommending against the use of tunnel mode as a class (including the
version defined in RFC 4303) and saying that people should always use
transport mode limits the utility of your document. The simple fact
is that folks are going to run all of the above for a long time to
come in both IPv4 and IPv6, sometimes because they choose to hide the
content of the encrypted datagram, and sometimes because they by
policy choose to run their networks in a manner in which not only the
end systems are responsible for the security of the inter-system
exchange, but the network administration is responsible for the
admission of traffic to the network. Telling people that the only
security that matters is host-to-host, and that the security of the
network itself is irrelevant, is a good way to get laughed at.