Re: [IPsec] Survey for WG interest in adopting draft-mglt-ipsecme-clone-ike-sa (Yaron Sheffer)

Les Leposo <leposo@gmail.com> Wed, 03 December 2014 12:09 UTC

Return-Path: <leposo@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 EEE5C1A1A82 for <ipsec@ietfa.amsl.com>; Wed, 3 Dec 2014 04:09:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.8
X-Spam-Level:
X-Spam-Status: No, score=-0.8 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, J_CHICKENPOX_16=0.6, J_CHICKENPOX_42=0.6, SPF_PASS=-0.001] autolearn=no
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 WZlfr-8Nq0Pn for <ipsec@ietfa.amsl.com>; Wed, 3 Dec 2014 04:09:44 -0800 (PST)
Received: from mail-wg0-x232.google.com (mail-wg0-x232.google.com [IPv6:2a00:1450:400c:c00::232]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BCD3E1A0461 for <ipsec@ietf.org>; Wed, 3 Dec 2014 04:09:43 -0800 (PST)
Received: by mail-wg0-f50.google.com with SMTP id k14so19603652wgh.37 for <ipsec@ietf.org>; Wed, 03 Dec 2014 04:09:42 -0800 (PST)
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 :content-transfer-encoding:message-id:references:to; bh=+hoP+wRHJcD+QCxpk3DudyGBEOJf2pnos0yPulBeQiA=; b=SiBQVMD23EjeofMM0M5dospBSlXuZajlWRRBapwuECOuc77qsLVB9dNVX9Axcu3i3X Om9+djRARqjuLcy65uGJCU4nrgmb2QWEfbiRiyQdH++b5n7FXQ5HBe80GgI/sUCseU56 WlCuRgT0TG0gc5aFLwm6071QePYr49XHj8IwZ9y3U/qyYyryo4nJ9m4moWlN5mh5ChM3 Q8pFPqHjmriYuCNM8YyS1KZc2eWVfbFgmcDXCiZhZj+6zxX0nfJoRSbU+S44G1C423BV dy5TDd9jh04I0NRUn6CgUO0UhEL3uT4ECGDKYG0HpKq+nqaj2Rz/QTQ+qefbUXNvGlo9 ZT2w==
X-Received: by 10.194.20.98 with SMTP id m2mr7025831wje.52.1417608582517; Wed, 03 Dec 2014 04:09:42 -0800 (PST)
Received: from [192.168.0.10] ([41.212.114.217]) by mx.google.com with ESMTPSA id nb8sm79390wic.7.2014.12.03.04.09.39 for <ipsec@ietf.org> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 03 Dec 2014 04:09:41 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Les Leposo <leposo@gmail.com>
In-Reply-To: <mailman.2292.1417562439.2908.ipsec@ietf.org>
Date: Wed, 03 Dec 2014 15:09:35 +0300
Content-Transfer-Encoding: quoted-printable
Message-Id: <881AE47D-154A-4922-8429-0829493E26B0@gmail.com>
References: <mailman.2292.1417562439.2908.ipsec@ietf.org>
To: ipsec@ietf.org
X-Mailer: Apple Mail (2.1993)
Archived-At: http://mailarchive.ietf.org/arch/msg/ipsec/cpn1CA17CIIWN54mtm2M150D-zg
Subject: Re: [IPsec] Survey for WG interest in adopting draft-mglt-ipsecme-clone-ike-sa (Yaron Sheffer)
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: Wed, 03 Dec 2014 12:09:48 -0000

Hi All,

there probably are gateways that currently perform ‘faux-cloning IKE-SAs’ (e.g. through data replication tricks) - if so, they would only have an opportunity to do so upon receiving favourable UPDATE_SA_ADDRESSES notifications. I’m not sure if clients do this sort of thing.

So, I support this draft because it could help standardise how ‘low-cal’ clients & distributed servers hand-over tunnels. It can also be used to improve handovers, but, it potentially introduces some security risks.

This draft is like __builtin_prefetch - it can be great if used effectively, otherwise it could get a little worse.

A few issues:
1) when is the ‘CLONE_IKE_SA’ notification exactly sent - perhaps some examples (e.g. uplink route comes up)?
2) please consider good integration with ‘Session Resumption’. particularly as a ‘low-cal’ extension to section 4.3.3, someone alluded to this earlier.
3) please consider consistency with the ‘ADDITIONAL_IP*_ADDRESS list, someone alluded to this earlier.
4) perhaps, a (configurable) maximum lifetime for the series of cloned IKE_SAs?
5) What should be done for extraneous ‘CLONE_IKE_SA’ notifications?


> On Dec 3, 2014, at 2:20 AM, ipsec-request@ietf.org wrote:
> 
> Send IPsec mailing list submissions to
> 	ipsec@ietf.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://www.ietf.org/mailman/listinfo/ipsec
> or, via email, send a message with subject or body 'help' to
> 	ipsec-request@ietf.org
> 
> You can reach the person managing the list at
> 	ipsec-owner@ietf.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of IPsec digest..."
> 
> 
> Today's Topics:
> 
>   1. Re: Survey for WG interest in adopting
>      draft-nagayama-ipsecme-ipsec-with-qkd (Yaron Sheffer)
>   2. Re: Survey for WG interest in adopting
>      draft-mglt-ipsecme-clone-ike-sa (Yaron Sheffer)
>   3. Re: Survey for WG interest in adopting
>      draft-nagayama-ipsecme-ipsec-with-qkd (Rodney Van Meter)
>   4. Re: Some speculations about puzzles (Graham Bartlett (grbartle))
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Tue, 02 Dec 2014 23:19:39 +0200
> From: Yaron Sheffer <yaronf.ietf@gmail.com>
> To: Paul Hoffman <paul.hoffman@vpnc.org>, IPsecME WG <ipsec@ietf.org>
> Subject: Re: [IPsec] Survey for WG interest in adopting
> 	draft-nagayama-ipsecme-ipsec-with-qkd
> Message-ID: <547E2CEB.3020200@gmail.com>
> Content-Type: text/plain; charset=utf-8; format=flowed
> 
> Here's a quick reminder to speak up if you're interested in this 
> document and are willing to contribute as co-author or reviewer.
> 
> Thanks,
> 	Yaron
> 
> On 11/25/2014 10:06 PM, Paul Hoffman wrote:
>> <chair hats on>
>> 
>> Greetings again. There is a small emerging industry of crypto solutions that transmit keys using Quantum Key Distribution (QKD), and then use those keys for classical high-speed encryption. Several such solutions are using IKE, and there is a perceived need to standardize this usage. If so, that standardization should be done in this Working Group.
>> 
>> If you agree with the need to standardize this usage, and believe that draft-nagayama-ipsecme-ipsec-with-qkd is likely to be a good starting place for that standardization, and are willing to review and contribute text to the document if it is adopted by the WG, please say so on the list. This WG has a history of adopting documents but then not having enough reviewers for us to feel confident that we are making a good standard, so we need to see a reasonable number of actively interested people before we adopt the document. If it is not adopted, the authors can ask for it to be published as an RFC through individual submission or by the Independent Submissions Editor.
>> 
>> Please reply by December 8, 2015.
>> 
>> --Paul Hoffman and Yaron Sheffer
>> _______________________________________________
>> IPsec mailing list
>> IPsec@ietf.org
>> https://www.ietf.org/mailman/listinfo/ipsec
>> 
> 
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Tue, 02 Dec 2014 23:20:33 +0200
> From: Yaron Sheffer <yaronf.ietf@gmail.com>
> To: Paul Hoffman <paul.hoffman@vpnc.org>, IPsecME WG <ipsec@ietf.org>
> Subject: Re: [IPsec] Survey for WG interest in adopting
> 	draft-mglt-ipsecme-clone-ike-sa
> Message-ID: <547E2D21.2070600@gmail.com>
> Content-Type: text/plain; charset=utf-8; format=flowed
> 
> And similarly for this draft: please speak up if you're interested in 
> this document and are willing to contribute as co-author or reviewer.
> 
> Thanks,
> 	Yaron
> 
> On 11/25/2014 10:06 PM, Paul Hoffman wrote:
>> <chair hats on>
>> 
>> Greetings again. The "Clone IKE SA" proposal tries to optimize IKE SA setup in cases where VPN gateways have multiple interfaces and want to establish different SAs on the different interfaces without having to repeat the IKE authentication. Instead, they could clone a single IKE SA multiple times, and then move it to different interfaces using MOBIKE.
>> 
>> If you agree with the need to standardize this usage, and believe that draft-mglt-ipsecme-clone-ike-sa is likely to be a good starting place for that standardization, and are willing to review and contribute text to the document if it is adopted by the WG, please say so on the list. This WG has a history of adopting documents but then not having enough reviewers for us to feel confident that we are making a good standard, so we need to see a reasonable number of actively interested people before we adopt the document. If it is not adopted, the authors can ask for it to be published as an RFC through individual submission or by the Independent Submissions Editor.
>> 
>> Please reply by December 8, 2015.
>> 
>> --Paul Hoffman and Yaron Sheffer
>> _______________________________________________
>> IPsec mailing list
>> IPsec@ietf.org
>> https://www.ietf.org/mailman/listinfo/ipsec
>> 
> 
> 
> 
> ------------------------------
> 
> Message: 3
> Date: Tue, 2 Dec 2014 17:49:58 -0500
> From: Rodney Van Meter <rdv@sfc.wide.ad.jp>
> To: Yaron Sheffer <yaronf.ietf@gmail.com>
> Cc: Rodney Van Meter <rdv@sfc.wide.ad.jp>, IPsecME WG
> 	<ipsec@ietf.org>, Paul Hoffman <paul.hoffman@vpnc.org>
> Subject: Re: [IPsec] Survey for WG interest in adopting
> 	draft-nagayama-ipsecme-ipsec-with-qkd
> Message-ID: <F33B0D44-9229-4A9E-AB81-E506C8D9E15C@sfc.wide.ad.jp>
> Content-Type: text/plain; charset=utf-8
> 
> Hi,
> 
> Sorry to be a little slow to reply.  I was offline over Thanksgiving, just saw the messages yesterday afternoon.
> 
> Of course I favor adoption, and am willing to work with anyone who can contribute to the development of an appropriate protocol.  Momentum seems to be toward a version supporting a variety of out-of-band mechanisms, and I?m willing to work in that direction.
> 
> Shota is looking in to the numerous issues I detailed in the long message right after IETF.
> 
> 		?Rod
> 
>> On Dec 2, 2014, at 4:19 PM, Yaron Sheffer <yaronf.ietf@gmail.com> wrote:
>> 
>> Here's a quick reminder to speak up if you're interested in this document and are willing to contribute as co-author or reviewer.
>> 
>> Thanks,
>> 	Yaron
>> 
>> On 11/25/2014 10:06 PM, Paul Hoffman wrote:
>>> <chair hats on>
>>> 
>>> Greetings again. There is a small emerging industry of crypto solutions that transmit keys using Quantum Key Distribution (QKD), and then use those keys for classical high-speed encryption. Several such solutions are using IKE, and there is a perceived need to standardize this usage. If so, that standardization should be done in this Working Group.
>>> 
>>> If you agree with the need to standardize this usage, and believe that draft-nagayama-ipsecme-ipsec-with-qkd is likely to be a good starting place for that standardization, and are willing to review and contribute text to the document if it is adopted by the WG, please say so on the list. This WG has a history of adopting documents but then not having enough reviewers for us to feel confident that we are making a good standard, so we need to see a reasonable number of actively interested people before we adopt the document. If it is not adopted, the authors can ask for it to be published as an RFC through individual submission or by the Independent Submissions Editor.
>>> 
>>> Please reply by December 8, 2015.
>>> 
>>> --Paul Hoffman and Yaron Sheffer
>>> _______________________________________________
>>> 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
> 
> 
> 
> ------------------------------
> 
> Message: 4
> Date: Tue, 2 Dec 2014 23:20:33 +0000
> From: "Graham Bartlett (grbartle)" <grbartle@cisco.com>
> To: Valery Smyslov <svanru@gmail.com>, Yoav Nir <ynir.ietf@gmail.com>,
> 	ipsec <ipsec@ietf.org>
> Subject: Re: [IPsec] Some speculations about puzzles
> Message-ID: <D0A3F897.34ED3%grbartle@cisco.com>
> Content-Type: text/plain; charset="us-ascii"
> 
> Hi Valery
> 
> Would the Timestamp be generated every time cycle? If this wasn't a static
> figure (per timecycle - maybe when the secret is changed?, but rather a
> rolling unix time), then how would the Responder be able to validate this
> Cookie (without trying every previous timestamp or having the timestamp
> included in the Initiators reply?). Would it not be better to save X
> number of Secrets and just try them instead (assuming that the Secret is
> changing fairly regularly)? The Secret could also be used to tell (approx)
> how old the Cookie is.
> 
> 
> I like the two options of the header in the clear.
> 
> 
> Many thanks
> 
> On 01/12/2014 15:34, "Valery Smyslov" <svanru@gmail.com> wrote:
> 
>> Hi, this is a long message.
>> 
>> First of all I think that the puzzles mechanism is a great tool
>> to make DoS attacks harder for attackers and we should
>> try to incorporate it into IKE. Moreover, I think that
>> the puzzles could be used not only in IKE_SA_INIT, but also
>> to defend against DoS attacks in IKE_AUTH exchange (see below).
>> However, the puzzles mechanism is a controversal thing,
>> since it requires an additional work from legitimate clients.
>> It could be particularly troublesome for small battery-powered wireless
>> devices (smartphones, IoT devices etc) - not only would it delay
>> connection
>> setup, but it also would decrease battery lifetime.
>> 
>> So think that the puzzles mechanism if incorporated into IKE should follow
>> some general principles:
>> 1. Puzzles should be optional. It should be possible for client to just
>> return
>>   cookie even if puzzle is given by SGW).
>> 2. The ultimate decision whether to solve puzzle or ignore it should be
>> made 
>> by client.
>> 3. Those, who ignore puzzles (for any reason - either they are legacy
>> clients
>>   or they decide to save battery) should still have a chance to setup
>> connection
>>   (on "best effort" basis).
>> 
>> In other words, let's consider puzzles mechanizm not as discriminating
>> tool
>> ("those who cannot solve puzzles won't be allowed in"), but as
>> a "first-class ticket" for those, who are ready to pay for it.
>> And the price for the first-class service should be high enough to make it
>> unattractive for attackers.
>> 
>> 
>> Concrete proposals.
>> 
>> 1. Algorithm agility for puzzles. It is relatively easy to achieve. When
>> IKE_SA_INIT request comes from the client, the server could quicly parse
>> it,
>> find SA payload and figure out the list of transforms the client proposes.
>> Then it could select mutually supported PRF and indicate it to the client
>> in response containing puzzle. The puzzle in this case would look like:
>> "please, give me a string of octets such, that if this PRF is applied
>> to that string of octets using supplied cookie as the key, then the
>> result would contain this number of trailing zero bits" (another option -
>> apply PRF to cookie + string of octets using zero key).
>> 
>> Parsing IKE_SA_INIT message is a relatively easy task.
>> The side advantage of this approach is that the server
>> could quickly check the structure of the message and
>> the list of proposed transforms and wouldn't spend more resources
>> in case the initial message is malformed or no proposals are acceptable
>> to the responder.
>> 
>> 2. Cookie generation. Currently RFC7296 suggestd the following
>> formula to compute cookie:
>> 
>>   Cookie = <VersionIDofSecret> | Hash(Ni | IPi | SPIi | <secret>)
>> 
>> With puzzles more information should be present in the cookie
>> to prevent some attacks from initiator. First, when
>> responder asks initiator to solve the puzzle, it sets puzzle
>> difficulty to some level and indicates it in the response message.
>> When the solved puzzle is returned back to the responder,
>> it must know in a stateless manner what level of difficulty
>> it has requested. Otherwise the initiator could cheat. So responder
>> must encode this information into cookie, as the cookie is an entity that
>> initiator cannot forge. Then, it is desirable to also include
>> timestamp into cookie to prevent initiator from re-using solved puzzles
>> and from collecting a lot of puzzles, solving them and then presenting
>> them
>> all at once. Including timestamp allows the responder
>> to determine how old this cookie is and, therefore,
>> how much time it was taken from the initiator to solve the puzzle.
>> If the results are suspicious (an easy puzzle took too long to be solved),
>> then the request should be rejected, even in the case it contains
>> a valid solution for the puzzle. And in case of accepting
>> algorithm agility method described above the selected PRF
>> must also be encoded in cookie.
>> 
>> So, the cookie generation would look like:
>> 
>>   Cookie = <VersionIDofSecret> | <Timestamp> | <PuzzleDifficulty> |
>> <PRF> 
>> |
>>       Hash(Ni | IPi | SPIi | <Timestamp> | <PuzzleDifficulty> | <PRF> |
>> <secret>)
>> 
>> Note, that <PuzzleDifficulty> should be allowed to be zero here -
>> in case it is just a cookie request with no puzzle request.
>> 
>> To summarize here is a possible sequence of messages in IKE_SA_INIT:
>> 
>>  request             --> HDR, SA, KE, Ni,
>>                          [N(NAT_DETECTION_SOURCE_IP)+,
>>                           N(NAT_DETECTION_DESTINATION_IP),]
>>                          [V+][N+]
>> 
>>  response with puzzle    <-- HDR, N(COOKIE), N(PUZZLE, PRF=<X>,
>> DIFFICULTY=<N>)
>>                          [V+][N+]
>> 
>> Legacy client or client that don't want to spend recources on puzzle
>> would ignore N(PUZZLE) and act as if only N(COOKIE) was received.
>> 
>>  request             --> HDR, [N(COOKIE),]
>>                          SA, KE, Ni,
>>                          [N(NAT_DETECTION_SOURCE_IP)+,
>>                           N(NAT_DETECTION_DESTINATION_IP),]
>>                          [V+][N+]
>> 
>> At this point the responder will:
>> - check that the cookie is valid
>> - retrieve timestamp and difficulty level from the cookie and ensures it
>> is
>> fresh for that level
>> - if the level is zero, then it means that no puzzle was requested
>> - if the level is non-zero then it means that the initiator either
>> doesn't support puzzles or is unwilling to solve them; in either
>> case the request is processed on "best effort" basis -
>> it could be served or dropped depending on current resource availability
>> or on some probability (e.g.serve every Nth request in case of attack)
>> 
>> Client, that is solved the puzzle:
>> 
>>  request             --> HDR, [N(COOKIE),], N(PUZZLE_SOLUTION)
>>                          SA, KE, Ni,
>>                          [N(NAT_DETECTION_SOURCE_IP)+,
>>                           N(NAT_DETECTION_DESTINATION_IP),]
>>                          [V+][N+]
>> 
>> 
>> At this point the responder will:
>> - check that the cookie is valid
>> - retrieve timestamp and difficulty level from the cookie and ensures it
>> is
>> fresh for that level
>> - if the level is zero, then it means that no puzzle was requested,
>> but initiator still supplied some solution; in this case
>> N(PUZZLE_SOLUTION)
>> is ignored and the message is processed as described above
>> - if the level is non-zero then responder will retrieve PRF from the
>> cookie
>> and verify the correctness of supplied puzzle solution
>> - if everything is OK then this request is served with higher priority
>> 
>> 
>> 3. Using puzzles in IKE_AUTH exchange. The draft
>> ipsecme-ddos-protection-00
>> describes DoS attack on IKE_AUTH exchange:
>> 
>>      Sending an Authentication request is surprisingly cheap.  It
>> requires
>>      a proper IKE header with the correct IKE SPIs, and it requires a
>>      single encrypted payload.  The content of the payload might as well
>>      be junk.  The responder has to perform the relatively expensive key
>>      derivation, only to find that the Authentication request does not
>> decrypt.
>> 
>> I think that the puzzles could be used to make this attack substantially
>> more expensive for the attacker. The idea is to require the initiator
>> to supply an additional string of octets in IKE_AUTH request such, that
>> applying PRF with the Nr as the key to this string of octets
>> concatenated with the content of the IKE_AUTH message will
>> result in some number of zero trailing bits. In this case if the attacker
>> fills in the content of SK payload with garbage, it will be detected
>> by the responder without performing DH computation. The level of
>> difficulty
>> in this case must be set so, that the time needed to solve the puzzle is
>> by the order of magnitude more, than to compute DH, so that
>> this attack becomes unattractive for potential attacker.
>> 
>> There are some options where to place puzzle solution
>> in IKE_AUTH message.
>> 
>> 1. It could be explicitely present as Notification payload
>>     before Encrypted payload:
>> 
>>      HDR, N(PUZZLE_SOLUTION), SK {IDi, [CERT,] [CERTREQ,]
>>      [IDr,] AUTH, SAi2, TSi, TSr}
>> 
>> 2. It could be placed right after Encrypted payload without
>>     any header. In this case the length indicated in IKE Header
>>     would be greater, than the length indicated in Encrypted payload
>>     header, and the solved puzzle would be placed in this gap.
>> 
>>      HDR, SK {IDi, [CERT,] [CERTREQ,] [IDr,] AUTH, SAi2, TSi, TSr}
>> <solved 
>> puzzle>
>> 
>> In case of IKE fragmentation every fragment should contain
>> its own solution for the puzzle. Note also, that puzzles in IKE_AUTH
>> are mandatory for initiator if they are requested by responder -
>> the request won't be processed untill the initiator provides
>> puzzle solution (this is unlike puzzles in IKE_SA_INIT, where
>> they should be optional).
>> 
>> 
>> Regards,
>> Valery Smyslov. 
>> 
>> _______________________________________________
>> IPsec mailing list
>> IPsec@ietf.org
>> https://www.ietf.org/mailman/listinfo/ipsec
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: smime.p7s
> Type: application/pkcs7-signature
> Size: 3708 bytes
> Desc: not available
> URL: <http://www.ietf.org/mail-archive/web/ipsec/attachments/20141202/b7299f72/attachment.p7s>
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> IPsec mailing list
> IPsec@ietf.org
> https://www.ietf.org/mailman/listinfo/ipsec
> 
> 
> ------------------------------
> 
> End of IPsec Digest, Vol 128, Issue 2
> *************************************