Re: [MEXT] Review of draft draft-patil-mext-mip6issueswithipsec-01

jouni korhonen <jouni.nospam@gmail.com> Tue, 28 July 2009 09:16 UTC

Return-Path: <jouni.nospam@gmail.com>
X-Original-To: mext@core3.amsl.com
Delivered-To: mext@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 874F03A6CED for <mext@core3.amsl.com>; Tue, 28 Jul 2009 02:16:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, J_CHICKENPOX_33=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zsJid7MGPDXh for <mext@core3.amsl.com>; Tue, 28 Jul 2009 02:16:23 -0700 (PDT)
Received: from ey-out-2122.google.com (ey-out-2122.google.com [74.125.78.25]) by core3.amsl.com (Postfix) with ESMTP id E04C73A6E5B for <mext@ietf.org>; Tue, 28 Jul 2009 02:16:22 -0700 (PDT)
Received: by ey-out-2122.google.com with SMTP id 22so923876eye.31 for <mext@ietf.org>; Tue, 28 Jul 2009 02:16:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:cc:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:mime-version :subject:date:references:x-mailer; bh=dw+PMcr+RnzhfehdLoIV55p0jxV8hsroXuBhpZFr5oE=; b=VIvSTvI1juT95oMWhi4CO7yH25MLdEcOkxd0S1R4IDnX5Fw+BGZ4KzufpwEJbYG+Ff 3hHzhs2ZANmWMw5Jcp1GIftHtaXv/ESOCOyuoESMZSEZ04+fi1m4XbZonX0rL7tu3VG8 +bLCtz06A7iUzipG9m8GNSuAgR+pNg+jbElyY=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=cc:message-id:from:to:in-reply-to:content-type :content-transfer-encoding:mime-version:subject:date:references :x-mailer; b=AkYYQPDQpqrs903YFmS1rPWQhfJmSwYWcM9SPCfX4Qr8E1p30GFp3vgkaIwfq8aq67 x2zO8kd4L3Hua709FZKueYNPK3iv9Q2Rl64yDD/36XXxePdLagBycmLOM9wm4kBLkNj2 fyZx8FzBcUddPLdxElw/c0SVEUtnRILYKa5MY=
Received: by 10.210.57.3 with SMTP id f3mr6352788eba.94.1248772577125; Tue, 28 Jul 2009 02:16:17 -0700 (PDT)
Received: from retrace-ap15.americas.nokia.com ([130.129.7.129]) by mx.google.com with ESMTPS id 5sm1543738eyf.44.2009.07.28.02.16.15 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 28 Jul 2009 02:16:16 -0700 (PDT)
Message-Id: <BCAD518D-3EC6-493B-AC68-824B391FDB68@gmail.com>
From: jouni korhonen <jouni.nospam@gmail.com>
To: Arnaud Ebalard <arno@natisbad.org>
In-Reply-To: <871vo18ccf.fsf@small.ssi.corp>
Content-Type: text/plain; charset="US-ASCII"; format="flowed"; delsp="yes"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v935.3)
Date: Tue, 28 Jul 2009 12:16:14 +0300
References: <C68F84FA.2B9FF%basavaraj.patil@nokia.com> <87tz0xkjps.fsf@small.ssi.corp> <9F72E813-4169-44E4-BA07-D70DC1C7070C@gmail.com> <871vo18ccf.fsf@small.ssi.corp>
X-Mailer: Apple Mail (2.935.3)
Cc: mext@ietf.org, Basavaraj.Patil@nokia.com
Subject: Re: [MEXT] Review of draft draft-patil-mext-mip6issueswithipsec-01
X-BeenThere: mext@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Mobile IPv6 EXTensions WG <mext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mext>, <mailto:mext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mext>
List-Post: <mailto:mext@ietf.org>
List-Help: <mailto:mext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mext>, <mailto:mext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Jul 2009 09:16:24 -0000

Hi Arnaud,

Thanks for another round of questions & comments. See my answers inline.

On Jul 28, 2009, at 11:02 AM, Arnaud Ebalard wrote:

> Hi Jouni,
>
> jouni korhonen <jouni.nospam@gmail.com> writes:
>
>> [snip] relying on TLS (or even DTLS) for MIPv6 is IMHO a bad design
>> idea.
>>
>> Looks bad why? Please, list the points that lead to this  
>> conclusion. I
>> would help us greatly.
>
> - Because TLS has been designed to secure transport streams ..

Ok.

> - ... not as a key exchange mechanism for L3

Do you have a better candidate if IKE is out of question?

> - Because you map TLS ciphersuites to some enc and hash algs to be
>  used with IPsec.

Hmm.. Didn't we agree already that there is no IPsec per se?

> - Because, pratically, you create yet another variation of what EAP- 
> TLS
>  does, but using HTTP and without reusing the guaranteed key material
>  generated by TLS.

OK. I don't understand what do you mean by "without reusing the  
guaranteed key material generated by TLS"?

>
> Again, can you argue why you don't directly use DTLS instead of some
> TLS+ESP headers variations?

I don't have a good answer to this. Basically, we do not want to run  
the TLS handshake between the MN and the HA. That would have undesired  
implications during the handover.

>
>>> o In 5.4.2, "The MN or the HA MAY switch between the encryption and
>>>  plain text at any time based on local policies": what if an  
>>> attacker
>>>  knows the SPI and the sequence number. Can she start sending
>>>  plaintext packets to one or another endpoint just by changing the
>>>  ptype?
>>
>> Anyone who gets on the link between the MN and the HA, could inject
>> false packets if payload protection is not used. This would be true
>> for plain MIP6 as well when IPsec is not used.
>
> Sure. But my concern is about the reverse scenario. Protection of data
> is used.

If protection of reverse tunneled traffic is used, then any  
modification of UDP encapsulated payload will be detected. Of course  
this requires that integrity check is done.

>
>> If user payload protection (as per I-D) is used, then the change of
>> PType will be noticed and those forged packets get dropped.
>
> How? As pointed previously, there is nothing about the equivalent of
> Security Policies discussed in the draft and you have that sentence:
> "The MN or the HA MAY switch between the encryption and plain text at
> any time based on local policies". IMHO, this is unclear to say the
> least.

You do integrity verification? The integrity check also covers the  
PType. That is "described" (cough) in section 5.5. I admit that the I- 
D need much more details and clarifications in the next revisions  
regarding these details, but going for +100 pages in the first  
revisions was not that appealing ;) Point taken though.

>
>>> At some point, considering you drop RO, I wonder why not going for  
>>> one
>>> of the following solutions instead of keeping MIPv6 in the picture:
>>
>> No one so far (from the MIP6 point of view) I have worked with has
>> seriously requested it. Anyway, with the solution the I-D proposes,  
>> if
>> the CN also implements the HAC functionality, the MN could  
>> bootstrap a
>> security context with the CN and talk directly to the CN.
>>
>> RO can be brought in, but I am not sure if it is worth the effort in
>> this particular I-D.
>
> Maybe it is just me but without RO, mobility can be provided to  
> clients
> by a common VPN software.

Well, that is true. However, MOBIKE has not been out that long yet (it  
is getting deployed now though). Again, the experience with  
interfacing with folks deploying mobility & VPN services is that they  
don't like the idea of protecting everything due for whatever reason.  
That usually kills the argument of using mobile VPNs for consumers.

>
>>>> We believe that it does not require changes to the security  
>>>> engine on
>>>> the host. It is a solution which uses the APIs and libraries of TLS
>>>> on
>>>> the host without having to modify them.
>>>> The problem with IPsec/IKEv2 and MIP6 is that we end up having to
>>>> modify the security subsystem to make it work and this is not a
>>>> feasible option in all instances.
>>>
>>> One of the problem you have with MIPv6 are the required interactions
>>> with IPsec/IKE, for instance in order to update the SA endpoints. In
>>> draft-korhonen-mext-mip6-altsec-01.txt, you skip this point and do  
>>> not
>>> explain how the interactions with the IPsec stack are done. Can you
>>> clarify?
>>
>> There is no interaction with IPsec stack.
>
> So you reuse ESP format but have no interaction with the IPsec  
> stack. Am
> I correct on the following: you reimplement in userland all the ESP
> related parsing which is available in the kernel stack.

Parsing is no brainer tbh. But yes, you more or less replicate the  
encapsulation parsing.

>
>>>> The number of messages exchanged to setup the IPsec SA is an
>>>> issue. Especially when you compare it with the registration process
>>>> required for MIP4. So if you compare the number of steps for
>>>> registration of an MN for MIP6 vs MIP4, you would see the  
>>>> difference.
>>>
>>> Can you compare the amount of traffic exchanged between a MN and a  
>>> HA
>>> using IKEv2 to setup the SA with the traffic exchanged in an  
>>> alternate
>>> solution, say draft-korhonen-mext-mip6-altsec-01.txt?
>>
>> You mean the IKEv2 generated traffic between MN and HA versus TLS-
>> based generated traffic between the MN and the HAC? We could provide
>> such.
>
> Yes. Thanks.
>
>>>> I think we can do simpler security solution than IPsec/IKEv2 which
>>>> would simplify the implementation vastly while preserving the
>>>> security
>>>> aspects of the MN-HA communications.
>>>
>>> At the moment, draft-korhonen-mext-mip6-altsec-01 relies on TLS,
>>> IPsec,
>>> HTTP, BNF, RFC3948, ... and an additional box.
>>
>> TLS and HTTP. BNF processing is part of HTTP parsing anyway.
>>
>> From Section 5.4.
>> "Actually, when data protection is used, the construction of the
>> packet on the wire is the same as an UDP encapsulated ESP packet in a
>> tunnel mode as defined in [RFC3948]."
>>
>> This does not mandate anything. It is an example. Will be removed to
>> avoid the confusion.
>
> Ack. But I think you should clarify what (from the IPsec stack)  
> needs to
> be reimplemented in userland (ESP parsing, SADB?, SPD?, ...).

Point taken. We'll add more clarification about this. Currently only  
the parsing of encapsulation is needed.

>
> BTW, I think my question on how movement is handled (what needs to be
> done on HA and MN) was worth asking. It was skipped in your reply.

Hm. I seem to have missed it. I'll check that.

Cheers,
	Jouni


>
> Cheers,
>
> a+