Return-Path: <ynir.ietf@gmail.com>
X-Original-To: ipsec@ietfa.amsl.com
Delivered-To: ipsec@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id CDF581A033C
 for <ipsec@ietfa.amsl.com>; Tue, 19 Aug 2014 07:32:19 -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=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001,
 SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 2ruZ-mylD7i4 for <ipsec@ietfa.amsl.com>;
 Tue, 19 Aug 2014 07:32:16 -0700 (PDT)
Received: from mail-lb0-x231.google.com (mail-lb0-x231.google.com
 [IPv6:2a00:1450:4010:c04::231])
 (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 628A71A037E
 for <ipsec@ietf.org>; Tue, 19 Aug 2014 07:32:15 -0700 (PDT)
Received: by mail-lb0-f177.google.com with SMTP id s7so5623141lbd.36
 for <ipsec@ietf.org>; Tue, 19 Aug 2014 07:32:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; 
 h=content-type:mime-version:subject:from:in-reply-to:date:cc
 :message-id:references:to;
 bh=GYR8c/ZfFUGaldk/LA43/XpCsPvZJ2Gal2ZQg7qEf7M=;
 b=naSufhS1rK4mRzMlXXruR2KrdQ7wYg1z/CV5UqNwN5B3rtsQ401dt/Saa4iNipcuK6
 Vrw9ngrO0QcuUjfSJtXwoL96oDlpouxMFLIpHupuqTfFWOAu5lZr82u9QeBBlPaCxwxm
 sMTCZ5K/m6xfW59sPJHv7hNHQd6gjerjT/VCwfRLR3RZ267Rdq3wSx9/Ql3Ehv7Utgfj
 iVMXzPh+N7Ve15QhHHy4sbNifYSRGHtqMozLOzkdDBNXCzARIDfjV2rkQIkUQQ2TExU6
 LT1yc8ZdmECk9Ysw/8eW5tKMLMg3IVelsVLySqfM69kpDKlrqcTeenMHSeu3UH2/47Kv
 2qng==
X-Received: by 10.112.173.136 with SMTP id bk8mr33218685lbc.88.1408458732500; 
 Tue, 19 Aug 2014 07:32:12 -0700 (PDT)
Received: from [172.24.250.90] (dyn32-131.checkpoint.com. [194.29.32.131])
 by mx.google.com with ESMTPSA id dq2sm32385962lbc.12.2014.08.19.07.32.11
 for <multiple recipients>
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Tue, 19 Aug 2014 07:32:11 -0700 (PDT)
Content-Type: multipart/alternative;
 boundary="Apple-Mail=_F2FCC591-7E5F-413A-82AC-0E2467D93716"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: Yoav Nir <ynir.ietf@gmail.com>
In-Reply-To: <9852A873-1EEA-45EC-AEA3-BA654249A662@gmail.com>
Date: Tue, 19 Aug 2014 17:32:09 +0300
Message-Id: <E3D6D40E-FDFD-443E-BC11-81CF34A5F319@gmail.com>
References: <mailman.4236.1406823571.13632.ipsec@ietf.org>
 <A0463391-0BB4-408F-874B-A6B91ED6D102@gmail.com>
 <21490.4420.127387.489490@fireball.kivinen.iki.fi>
 <9852A873-1EEA-45EC-AEA3-BA654249A662@gmail.com>
To: Les Leposo <leposo@gmail.com>
X-Mailer: Apple Mail (2.1878.6)
Archived-At: http://mailarchive.ietf.org/arch/msg/ipsec/e37voAsaXFrrsbjUsN7nyP8MmME
Cc: ipsec@ietf.org, Tero Kivinen <kivinen@iki.fi>
Subject: Re: [IPsec] IPsec Digest, Vol 123, Issue 21
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipsec>,
 <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipsec/>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>,
 <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 19 Aug 2014 14:32:19 -0000


--Apple-Mail=_F2FCC591-7E5F-413A-82AC-0E2467D93716
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=windows-1252


On Aug 18, 2014, at 8:23 PM, Les Leposo <leposo@gmail.com> wrote:

>=20
> On Aug 18, 2014, at 5:44 PM, Tero Kivinen <kivinen@iki.fi> wrote:
>=20
>> Les Leposo writes:
>>>> The iphone (which is only rumored to do IKEv2 with iOS8 likely to =
be
>>>> released in September this year) currently has a
>>>> terrible record of continuously re-establishing connections. Like
>>>> whenever the screen saver hits it will tear down the tunnel. With
>>>> an always-on profile, that means if I unblanc the screen, it will
>>>> start a new IKE session.
>>>>=20
>>> ikev2 "session resumption" promised some improvements over ikev1 -
>>> frankly that is part of the spec that needs to be 'MUST' and not
>>> 'SHOULD', for all servers.
>>=20
>> You do not need session resumption for that. You just need properly
>> done implementation. Unfortunately lots of IKEv2 implementations use
>> dead peer detection as periodic keepalive messages, instead of just
>> using it to verify whether the other end is alive or not.
>=20
>>=20
>> If dead peer detection is implemented properly, as is described in =
the
>> rfc5996, the device can safely go to sleep if there is no traffic
>> going between the client and server, and when it wakes up from the
>> sleep the IKEv2 connection will still be there, and the other end has
>> not teared down the IKE SA (provided there was nothing that would =
have
>> caused it to try to send traffic to the sleeping node).
>>=20
>> Unfortunately lots of devices send dead peer messages all the time
>> every n seconds, and if device is sleeping during that time, they =
will
>> tear down the IKE SA. This is broken implementation, not problem in
>> the protocol.
>>=20
>> Yes, session resumption is even better, as it will allow telling the
>> other end, that don't even bother trying to send to me anything, I am
>> sleeping, but quite a lot can also be done if the implementations are
>> done properly.
>>=20
>=20
> have you overlooked the issue of nat mappings?
>=20
> ipsec nat keepalives are very useful for keeping nat mappings alive, =
and in a world full of all sorts of nat devices (some behaving reliably =
and others not), one would have to use low keepalive interval... like =
10-60s.
>=20
> Now, today's client devices need to be energy efficient - so the =
device sleeps/hibernates to save battery.
> Sleeping past the nat keepalives is bound to happen (either by design =
or error).
> At some point the device will wake from sleep and need to test =
reachability using dpd.
>=20
> And in some cases (if the sleep was more than a certain threshold), =
rather than wait for dpd to failover, the choice is to go for rekey.

It depends which standards you=92ve implemented. If you=92ve implemented =
QCD (RFC 6290), then DPD fails or succeeds immediately as long as you =
have connectivity, and it doesn=92t make sense to go directly to a new =
Initial exchange.=20

AFAIK racoon doesn=92t have that. Maybe it has session tickets, which =
make the Initial exchange lighter.

Of course, wiping all state every time you blank the screen is (if true) =
a very weird implementation choice.=20

Yoav


--Apple-Mail=_F2FCC591-7E5F-413A-82AC-0E2467D93716
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=windows-1252

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dwindows-1252"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space;"><br><div><div>On Aug 18, 2014, at 8:23 PM, Les =
Leposo &lt;<a href=3D"mailto:leposo@gmail.com">leposo@gmail.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div style=3D"font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px;"><br>On Aug 18, 2014, at 5:44 PM, =
Tero Kivinen &lt;<a href=3D"mailto:kivinen@iki.fi">kivinen@iki.fi</a>&gt; =
wrote:<br><br><blockquote type=3D"cite">Les Leposo =
writes:<br><blockquote type=3D"cite"><blockquote type=3D"cite">The =
iphone (which is only rumored to do IKEv2 with iOS8 likely to =
be<br>released in September this year) currently has a<br>terrible =
record of continuously re-establishing connections. Like<br>whenever the =
screen saver hits it will tear down the tunnel. With<br>an always-on =
profile, that means if I unblanc the screen, it will<br>start a new IKE =
session.<br><br></blockquote>ikev2 "session resumption" promised some =
improvements over ikev1 -<br>frankly that is part of the spec that needs =
to be 'MUST' and not<br>'SHOULD', for all =
servers.<br></blockquote><br>You do not need session resumption for =
that. You just need properly<br>done implementation. Unfortunately lots =
of IKEv2 implementations use<br>dead peer detection as periodic =
keepalive messages, instead of just<br>using it to verify whether the =
other end is alive or not.<br></blockquote><br><blockquote =
type=3D"cite"><br>If dead peer detection is implemented properly, as is =
described in the<br>rfc5996, the device can safely go to sleep if there =
is no traffic<br>going between the client and server, and when it wakes =
up from the<br>sleep the IKEv2 connection will still be there, and the =
other end has<br>not teared down the IKE SA (provided there was nothing =
that would have<br>caused it to try to send traffic to the sleeping =
node).<br><br>Unfortunately lots of devices send dead peer messages all =
the time<br>every n seconds, and if device is sleeping during that time, =
they will<br>tear down the IKE SA. This is broken implementation, not =
problem in<br>the protocol.<br><br>Yes, session resumption is even =
better, as it will allow telling the<br>other end, that don't even =
bother trying to send to me anything, I am<br>sleeping, but quite a lot =
can also be done if the implementations are<br>done =
properly.<br><br></blockquote><br>have you overlooked the issue of nat =
mappings?<br><br>ipsec nat keepalives are very useful for keeping nat =
mappings alive, and in a world full of all sorts of nat devices (some =
behaving reliably and others not), one would have to use low keepalive =
interval... like 10-60s.<br><br>Now, today's client devices need to be =
energy efficient - so the device sleeps/hibernates to save =
battery.<br>Sleeping past the nat keepalives is bound to happen (either =
by design or error).<br>At some point the device will wake from sleep =
and need to test reachability using dpd.<br><br>And in some cases (if =
the sleep was more than a certain threshold), rather than wait for dpd =
to failover, the choice is to go for =
rekey.<br></div></blockquote><div><br></div>It depends which standards =
you=92ve implemented. If you=92ve implemented QCD (RFC 6290), then DPD =
fails or succeeds immediately as long as you have connectivity, and it =
doesn=92t make sense to go directly to a new Initial =
exchange.&nbsp;</div><div><br></div><div>AFAIK racoon doesn=92t have =
that. Maybe it has session tickets, which make the Initial exchange =
lighter.</div><div><br></div><div>Of course, wiping all state every time =
you blank the screen is (if true) a very weird implementation =
choice.&nbsp;</div><div><br></div><div>Yoav</div><div><br></div></body></h=
tml>=

--Apple-Mail=_F2FCC591-7E5F-413A-82AC-0E2467D93716--

