I agree with Tero that the section is confusing and very difficult to
follow.  I have taken a stab at rewording it.  I think this still
incorporates the blending of the two approaches  that Paul attempted, but
flows better and makes it easier to understand.  I'm not sure it addresses
all of Tero's concerns, but I hope it gets us closer.

A token maker MUST NOT send a QCD token in an unprotected
message for an existing IKE SA.

This requirement is obvious and easy in the case of a single gateway.
However, some implementations use a load balancer to divide the load
between several physical gateways.  In such configuration it MUST NOT
be possible to trick one gateway into sending a QCD token for an
IKE SA which exists on another gateway.  This is true whether the
an attacker uses the token taker's IP address or a different IP
address.

Because it includes the token taker's IP address in the token
generation, the method in Section 5.2 prevents revealing the QCD
token for an existing pair of IKE SPIs to an attacker who is using a
different IP address.  Note that the use of this method causes the
tokens to be invalidated whenever the token taker's address changes.
It is also important to note that this method does not prevent
revealing the QCD token to a man-in-the-middle attacker who is
spoofing the token taker's IP address. Such an attacker may attempt
to direct messages to a cluster member other than the member
responsible for the IKE SA in an attempt to trick that gateway into
sending a QCD token for an existing IKE SA.

IPsec Failure Detection is not applicable to deployments where the QCD
token is shared by multiple gateways and the gateways cannot assess
whether the token can be legitimately sent in the clear while another
gateway may actually still own the SA's. Load balancer configurations
typically fall in this category.  In order for a load balancing
configuration of IPsec gateways to support this specification,
all members MUST be able to tell whether a particular IKE SA is active
anywhere in the cluster.  One way to do it is to synchronize a list of
active IKE SPIs among all the cluster members.




Dave Wierbowski


z/OS Comm Server Developer

 Phone:
    Tie line:   620-4055
    External:  607-429-4055






From:   Tero Kivinen <kivi...@iki.fi>
To:     Paul Hoffman <paul.hoff...@vpnc.org>
Cc:     ipsec@ietf.org
Date:   02/11/2011 06:38 AM
Subject:        Re: [IPsec] Failure Detection - issue #202
Sent by:        ipsec-boun...@ietf.org



Paul Hoffman writes:
> 9.2.  QCD Token Transmission
>
> A token maker MUST NOT send a valid QCD token in an unprotected
> message for an existing IKE SA.
>
> This requirement is obvious and easy in the case of a single gateway.
> However, some implementations use a load balancer to divide the load
> between several physical gateways.  It MUST NOT be possible even in
> such a configuration to trick one gateway into sending a valid QCD
> token for an IKE SA which is valid on another gateway.  This is true
> whether the attempt to trick the gateway uses the token taker's IP
> address or a different IP address.
>
> Because it includes the token taker's IP address in the token
> generation, the method in Section 5.2 prevents revealing the QCD
> token for an existing pair of IKE SPIs to an attacker who is using a
> different IP address.  Note that the use of this method causes the
> tokens to be invalidated whenever the token taker's address changes.
> It is important to note that this method does not prevent revealing
> the QCD token to a man-in-the-middle attacker who is spoofing the
> token taker's IP address, if that attacker is able to direct messages
> to a cluster member other than the member responsible for the IKE SA.
>
> This document does not specify how a load-sharing configuration of
> IPsec gateways would work, but in order to support this
> specification, all members MUST be able to tell whether a particular
> IKE SA is active anywhere in the cluster.  One way to do it is to
> synchronize a list of active IKE SPIs among all the cluster members.
>
> If an attacker can somehow access a QCD token while the SA's are
> still active, this attacker will be able to tear down the sessions at
> will. In particular, avoiding false positives is critical to the
> security of the proposal and a token maker MUST NOT send a QCD token
> in an unprotected message for an existing IKE SA. IPsec Failure
> Detection is thus not applicable to deployments  where the QCD token
> is shared by multiple gateways and the gateways can not assess
> whether the token can be legitimately sent in the clear while another
> gateway may actually still own the SA's. Load balancer designs
> typically fall in this category.

I think the section is bit confusing. It says similar (or perhaps
same, I am not sure) things in different places using different words,
so it is not really clear what it is saying.

In general I think that section needs rewrite, and the problem is that
nobody really has real overall picture what should be in it, so it
is just cut & paste text from different authors with no overall
structure.

For example it says twice that "token maker MUST NOT send a (valid)
QCD token in an unprotected message for an existing IKE SA." The first
uses "valid QCD token", another says "a QCD token", not sure if there
are supposed to be any difference there.
--
kivi...@iki.fi
_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec


_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to