[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
draft-ietf-v6ops-ipsec-tunnels-02 review
FYI, as a co-author, I solicited one extra IPsec expert review from
Pasi Eronen for draft-ietf-v6ops-ipsec-tunnels-02. Unfortanately,
the document still needs a bit of work.
---------- Forwarded message ----------
I have three major comments (which I believe require significant
further work), and a couple of minor comments (that should be easy
to address). The major ones first:
1) I found it very difficult to reconcile the "generic SPD" described
in this document with the IPsec architecture in RFC4301.
An SPD is an ordered database, so having one SPD contain multiple
entries with just "match everything" selectors doesn't seem to make
much sense. So it looks like either we have to consider each
interface (IPv6-in-IPv4 tunnel) having its own SPD, or the
interface is used as a selector in the SPD. There's nothing wrong
with this -- and I guess it can be made to work if the IPsec SAs
are configured manually -- but it does cause complications with
IKE.
In particular, when the IKE responder receives a request to create
a new IPsec SA, how does it know which interface this corresponds
to? For "real" interfaces, an obvious answer would be "the
interface where the IKE packets came from" -- but I guess in this
case, the IKE packets are sent using the normal IPv4 interface, not
the tunnel "pseudo-interface".
I guess there are ways how this can be handled, especially if the
host/gateway has only a single IPv6-in-IPv4 tunnel. But the
document needs much more text about this.
2) Section 8 and Security Considerations: Simply knowing the tunnel
endpoint's IP address is not sufficient: the initiator also needs
to know how it should authenticate itself to the remote peer, and
what kind of authentication to expect from the remote peer. For
example, if the responder is authenticated using certificates,
the initiator has to know what the right subject name is. In
other words: how do we discover the PAD identities and peer
authentication data?
3) PAD "Child SA Authorization Data" needs to be described, for
all three cases (transport, tunnel with specific SPD, tunnel
with SPD).
Minor comments:
4) Section 4: "[RFC2401] does not support transport mode SAs
between hosts and security gateways."
This is a misunderstanding of RFC2401: these IP packets are
destined to the "gateway" (they have the gateway's IP address as
the destination IP address), so at the point where this SA is
relevant, it's acting as a host, and using transport mode is
allowed. Decapsulating the IP-in-IP packet happens higher up in
the stack (and for this purpose, it doesn't matter whether the
tunneling protocol is IP-in-IP or GRE or MIP-over-UDP or SOCKS
or something else).
5) Section 7: "IKEv2 can detect the presence of a NAT automatically
by sending an Informational exchange with NAT_DETECTION_SOURCE_IP
and NAT_DETECTION_DESTINATION_IP payloads before establishing an
IPsec SA."
No such functionality is described in RFC4306; the NAT detection
notifications are always placed in IKE_SA_INIT exchange, not
INFORMATIONAL (MOBIKE adds this functionality, though).
6) Section 7: "The IETF MOBIKE working group is looking into providing
a solution for IKEv2 but the work is still in progress". MOBIKE WG
has been closed (the document is in RFC editor's queue).
7) I'd suggest using RFC4301's bi-directional SPD notation instead
of the separate SPD-in and SPD-out.
Best regards,
Pasi