Re: [MEXT] Call for WG adoption of I-D: draft-korhonen-mext-mip6-altsec

Julien Laganier <[email protected]>
Newsgroups gmane.ietf.nemo
Message-ID <[email protected]>
Hello Jouni,

Please see inline:

On Mon, Feb 7, 2011 at 2:14 PM, Jouni <[email protected]> wrote:
> Hello Julien,
>
> On Feb 7, 2011, at 11:10 PM, Julien Laganier wrote:
>
>> Hi Jouni,
>>
>> On Sat, Feb 5, 2011 at 1:34 AM, jouni korhonen <[email protected]> wrote:
>>> Hi Julien,
>>>
>>>
>>> On Jan 29, 2011, at 1:10 AM, Laganier, Julien wrote:
>>>
>>>> None of these two points explains to me why you have to duplicate ESP functionality:
>>>>
>>>> 1) You have chosen to handle SPI differently, but I don't know why.
>>>
>>> That was a design decision for easily to detect the type of the UDP payload. In some other cases folks have used algorithms, hash functions and such to encode more information into the SPI but we thought that would an too much. Therefore, we just dedicated few bits of the SPI for additional information.
>>
>> Can't you use some bits at the beginning of the UDP payload instead of
>> overloading the SPI semantic? If so that would remove the different
>> SPI handling point.
>
> Do you mean like RFC3948? And then e.g. reusing the non-esp marker place holder but just in different ports..? That could most likely work.

That's a possibility too.

What I had in mind was that you define a new UDP encapsulation (as is
done in Arnaud's M6t draft) on top of which you have IPsec SAs to
protect DSMIPv6 signaling, and possibly different IPsec SAs to protect
user plane. If user plane needs not to be protected it would just be
layered cleartext on top of the UDP encapsulation. If you need to
indicate which UDP packets contains what for the scheme to work, you
can pick a fixed number of the first bytes of the payload to encode
whatever you need.

Then you define a new key exchange as you've been doing, based on TLS,
but that key exchange establish IPsec SAs in the stack, instead of
your protocol / software duplicating ESP functionality. Security wise
it is safer, and implementation wise it is easier. On Linux, *BSD,
SunOS, PFKEY is there. Having it in Linux already covers Android,
Maemo, Meego, etc.

If we do this, you simplify the interactions between IPsec and
DSMIPv6. You no longer have interactions with IKEv2. Your system is
modular and cleaner. I believe that it would satisfy the goals you set
when working out this approach.

>>>> 2) As to ESP being absent, if the goal is to not protect some of the user-plane traffic, you can use ESP-NULL, or just the UDP encap...
>>>
>>> Well, yes-ish. However, if I decided to send a packet without being protected, then after dispatching the packet (that is based on our SPI with type information) why would I need to do any further processing on it? If you got ESP-NULL, you still need to do additional processing like integrity check (if I were to follow ESP rules). I admit it might be "minor" but still.
>>>
>>> So, I'll just ask once more. If I were to use ESP format laid out in other RFC and reference to them to make sure the format processing goes right, is it OK for me then to go against all MUSTs and SHALLs for the rest of the ESP rules, for example when it comes to handling of ESP-NULL?
>>
>> Forget about ESP-NULL. The solution to pass user-plane traffic
>> unprotected is to pass it clear text over your UDP encapsulation. What
>
> Good.
>
>> is the problem with the rest of the ESP rules?
>
> Not a problem with ESP rules per se but I just want to be sure that using RFC4303 as-is does not imply the rest of the stuff we purposely ran away.

See above. If you provide the UDP encapsulation under IPsec ala M6t,
IPsec processing and DSMIPv6 processing is decoupled to the point that
your DSMIPv6 UDP tunneling code only need to check the CoA in outbound
packets (any address for BU, only registered CoA for data.) There
seems to be nothing left to run away from :-)

Please let me know what you think.

--julien
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.