Re: [secdir] review of draft-ietf-6man-predictable-fragment-id-09

"Klaas Wierenga (kwiereng)" <kwiereng@cisco.com> Wed, 09 September 2015 12:02 UTC

Return-Path: <kwiereng@cisco.com>
X-Original-To: secdir@ietfa.amsl.com
Delivered-To: secdir@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BCDBA1B375B; Wed, 9 Sep 2015 05:02:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] 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 8_HnkOfoCg43; Wed, 9 Sep 2015 05:02:42 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 556041A8924; Wed, 9 Sep 2015 05:02:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4208; q=dns/txt; s=iport; t=1441800162; x=1443009762; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=IaX2+5yf3y6x6YAN4X4ixbEpB0zm9SfQPKZJMca/RRU=; b=ht6LGRO6ssLiOCFTB365plF6o/FWwFecwNXyqa27WYrm+/Z8+Wus8Hp7 uzCiHfGvZXYOL9IiD+Pno03NKZ3QH2OMiH9sLYDflloXs9oYKG7uTyrDu xWdNFGE53TT40kh/hccvGSFTBCsWw6STg44yp4wxOtMOACXsYTMy8OzY1 w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0A8AgBIH/BV/4wNJK1dgyOBPQaDHroAAQmHcAIcgRo4FAEBAQEBAQGBCoQjAQEBAwEjETcOBQsCAQgOCgICJgICAjAVEAIEDgWIJgi1XZQ9AQEBAQEBAQEBAQEBAQEBAQEBARmBIoVRgg+BZ4EFhFkYGweCaS+BFAWVVgGMeYFMhDODH41ug2wmgg8dgVRxh0SBBQEBAQ
X-IronPort-AV: E=Sophos;i="5.17,496,1437436800"; d="scan'208";a="25526276"
Received: from alln-core-7.cisco.com ([173.36.13.140]) by rcdn-iport-7.cisco.com with ESMTP; 09 Sep 2015 12:02:40 +0000
Received: from XCH-RCD-020.cisco.com (xch-rcd-020.cisco.com [173.37.102.30]) by alln-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id t89C2dNT028494 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 9 Sep 2015 12:02:39 GMT
Received: from xch-rcd-020.cisco.com (173.37.102.30) by XCH-RCD-020.cisco.com (173.37.102.30) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Wed, 9 Sep 2015 07:02:38 -0500
Received: from xhc-aln-x12.cisco.com (173.36.12.86) by xch-rcd-020.cisco.com (173.37.102.30) with Microsoft SMTP Server (TLS) id 15.0.1104.5 via Frontend Transport; Wed, 9 Sep 2015 07:02:38 -0500
Received: from xmb-aln-x12.cisco.com ([169.254.7.226]) by xhc-aln-x12.cisco.com ([173.36.12.86]) with mapi id 14.03.0248.002; Wed, 9 Sep 2015 07:02:38 -0500
From: "Klaas Wierenga (kwiereng)" <kwiereng@cisco.com>
To: Fernando Gont <fgont@si6networks.com>
Thread-Topic: review of draft-ietf-6man-predictable-fragment-id-09
Thread-Index: AQHQ6ugR9MLjo76fAkCOSBalQ1WSJJ40WwSAgAAR0YA=
Date: Wed, 9 Sep 2015 12:02:37 +0000
Message-ID: <9566C08E-D9B5-4C34-888D-F8D77335B5E3@cisco.com>
References: <4F5FD3E9-B5A3-4AAB-A089-61B674B59ECC@cisco.com> <55F010E9.2060606@si6networks.com>
In-Reply-To: <55F010E9.2060606@si6networks.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [64.101.220.141]
Content-Type: text/plain; charset="utf-8"
Content-ID: <B2261D576EB43C4D86B6D6F2101B08E8@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/secdir/IcJaxqzd-Pv-WMuIkPuaWWRpIGI>
Cc: "iesg@ietf.org" <iesg@ietf.org>, "draft-ietf-6man-predictable-fragment-id.all@tools.ietf.org" <draft-ietf-6man-predictable-fragment-id.all@tools.ietf.org>, "secdir@ietf.org" <secdir@ietf.org>
Subject: Re: [secdir] review of draft-ietf-6man-predictable-fragment-id-09
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Security Area Directorate <secdir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdir>, <mailto:secdir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/secdir/>
List-Post: <mailto:secdir@ietf.org>
List-Help: <mailto:secdir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdir>, <mailto:secdir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 Sep 2015 12:02:43 -0000

Hola Fernando,

> Thanks so much for your feedback! -- Please find my responses in-line...
> 
> On 09/09/2015 07:12 AM, Klaas Wierenga (kwiereng) wrote:
>> I believe the document has some issues, see below.
>> 
>> The document does an analysis of the security implications of
>> predictable identification fields and I believe (not being an IPv6
>> expert) that it does a good job at that. The analysis of the
>> potential exploits is convincing. Where I am struggling a bit is the
>> algorithms for selecting fragment identification values (5).
>> 
>> The intro text states that there are ‘a number of algorithms', but
>> really there are only 3: 1- per destination counter random
>> initialised 2- random value 3- hash over source, destination, secret
>> with a counter
> 
> FWIW, these are three concrete algorithms, but that doesn't mean they
> are the only possible ones…

Sure, I understand that. It is just when I read it I was preparing for a long list to come, so I think it would be good to state something like:

OLD

This section specifies a number of algorithms that may be used for
   selecting Fragment Identification values.

NEW

There are a number of algorithms that may be used for selecting Fragment Identification values. This section presents three of those.

--

> 
> 
> 
>> 1 and 3 are essentially the same, the hash function in 3 performs the
>> same function as the pseudo random generated initial value in 1 if I
>> am not mistaken.
> 
> Yes and no. 1 requires state, but 3 doesn't. That means that, e.g., if
> you have lot's of flows to many different destinations, you may need to
> remove some entries from the Dest Cache (and then you run the risk of
> Frag ID collisions). However, this is not the case with algorithm #3.

good point, so is there any compelling reason to select 1 over 3?

>> So really the choice is between a random value for
>> every datagram or a random value at initialisation of a connection
>> and increasing by 1 for every subsequent datagram.
>> 
>> I’d really like to see some quantitative analysis as to the impact of
>> a random value per packet as well as between 1 and 3.
> 
> Impact in terms of what?

Well, as an implementer I want to choose between one of the algorithms you propose. But since I have no clue what the penalty is for doing per packet randomisation as opposed to per flow that is hard. If the cost of a pseudorandom operation is outweighed by other factors involved in sending a packet I would probably choose option 2. My gut feeling says however that it is a pretty expensive operation to do on a per packet basis, so I would expect the advise  to be “use 1 or 3” unless…..  And similarly, what is the cost of the hash versus the prg? If they are comparable would option 3 not be better?

Does that make sense?

Klaas

> 
> Thanks!
> 
> Best regards,
> -- 
> Fernando Gont
> SI6 Networks
> e-mail: fgont@si6networks.com
> PGP Fingerprint: 6666 31C6 D484 63B2 8FB1 E3C4 AE25 0D55 1D4E 7492
> 
> 
> 
>