Re: [secdir] Éric Vyncke's Discuss on draft-ietf-6lo-ap-nd-13: (with DISCUSS and COMMENT)

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Wed, 29 January 2020 16:51 UTC

Return-Path: <pthubert@cisco.com>
X-Original-To: secdir@ietfa.amsl.com
Delivered-To: secdir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 83E061201B7; Wed, 29 Jan 2020 08:51:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Level:
X-Spam-Status: No, score=-14.5 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, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=QzhppUv2; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=rENiX4zC
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 70S_osx6jnWO; Wed, 29 Jan 2020 08:51:52 -0800 (PST)
Received: from alln-iport-6.cisco.com (alln-iport-6.cisco.com [173.37.142.93]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6458412009C; Wed, 29 Jan 2020 08:51:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=10146; q=dns/txt; s=iport; t=1580316712; x=1581526312; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=oqdILpxp/pxFuPdR4ddQXByNJX4qKUN6q9EGCCwCcrI=; b=QzhppUv2IdDIGGGOcKVxcVHxu4J3S3ts8pF28LBD+nj1rCZdjCRhGT+D 8RZhE9nppVYOdqKmm5VWmgwyT8SnY2JqzlPLqddjcERW/EwtgXdROZI4F lMkOVni/jkGz9GYbKxqF87YGAURiulohlhNu6SY2NsXeLynHJlVlCa5pv I=;
IronPort-PHdr: 9a23:1G33ABLBIUasdrA0otmcpTVXNCE6p7X5OBIU4ZM7irVIN76u5InmIFeBvKd2lFGcW4Ld5roEkOfQv636EU04qZea+DFnEtRXUgMdz8AfngguGsmAXFXnLOPgYjYmNM9DT1RiuXq8NBsdFQ==
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CxAAATtzFe/4MNJK1mGgEBAQEBAQEBAQMBAQEBEQEBAQICAQEBAYF7gVQkLAVsWCAECyqEFINGA4pygl+YD4JSA1QJAQEBDAEBIwoCAQGEQAIXghMkOBMCAw0BAQQBAQECAQUEbYU3DIVeAQEBAQMSEREMAQE3AQsEAgEGAhEEAQEBAgImAgICMBUFAwgCBAENBQgagwWCSgMuAQIMkUmQZgKBOYhidYEygn8BAQWEfRiCDAMGgQ4qhR6FP4FDGoFBP4ERR4FOfj6CZAEBAQKBTBYVgnkygiyNYII6O54RBnAKgjmHQo8QgkiICoRHhyGERYNJixeIZJIpAgQCBAUCDgEBBYFpIoFYcBWDJ1AYDY4dCQMXFYM7hRSFP3QCgSeKXAEmB4IUAQE
X-IronPort-AV: E=Sophos;i="5.70,378,1574121600"; d="scan'208";a="438907994"
Received: from alln-core-1.cisco.com ([173.36.13.131]) by alln-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 29 Jan 2020 16:51:51 +0000
Received: from XCH-RCD-001.cisco.com (xch-rcd-001.cisco.com [173.37.102.11]) by alln-core-1.cisco.com (8.15.2/8.15.2) with ESMTPS id 00TGppIZ023254 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 29 Jan 2020 16:51:51 GMT
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by XCH-RCD-001.cisco.com (173.37.102.11) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 29 Jan 2020 10:51:50 -0600
Received: from xhs-rcd-001.cisco.com (173.37.227.246) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 29 Jan 2020 10:51:49 -0600
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (72.163.14.9) by xhs-rcd-001.cisco.com (173.37.227.246) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Wed, 29 Jan 2020 10:51:49 -0600
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c5nzbyFyCZpy2dSt9CIJ0XKv1/ywsz30M49DtKOT1OVBopC2WWfVSj55t8d04nlDWPgijqKB/dbRXyBUfQBdltIJEX+w4VAJkw6IiORjD57IjLq1yz+9zW9qspyu8+XcVrdyKJyM12kkReaymt1nbbFNsBqiTcaWMypLPYR1icu9LtzJEkdzPX/ecxFCpbjYPUczHRg927R/vjc58dKWVzy1eagQlRkoLr8w5YrogbqcII+Gwql9I7DcP8IRQODb/RdZ35l7N3xJSEfc1vV/KRqWzUiapKTXRI3DLxfG0G4lDeHNF7fAtJDiaYzHDJ4AABCE5dcsoAkffR7aXD7QdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oqdILpxp/pxFuPdR4ddQXByNJX4qKUN6q9EGCCwCcrI=; b=D7aXbuMAun2/Id2r69fTLR+lqVOFhnc+QQz+EnLFWSjC/zYUWIEuH0etcJu0lSZyxa8+LhD7qY/ENEBelrsC2UZG8VHhu3h39hlj8DR3lrdRWu6hijftEYpv5705huLjkvbJJ1nLrfX13XXMpgnolv/al1i3bNbPdfvBQTDDrL5231muaFKzgKtLRKju/WoslPK/m+AnL4eVp4QaYS2iHN11n+HUcr/80QScSZbI0SadejqP+E0aSHkuA4mZMINNKNEOOuz87sEMD7Y+THS0oTwlrR15YYvumjPmleZqXGf04MWPAvHD4C3vtOL2NS7hppsB+Vy0ymPozbb4KXcx8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oqdILpxp/pxFuPdR4ddQXByNJX4qKUN6q9EGCCwCcrI=; b=rENiX4zC7N3DSRdSGmVMFFDZmNW/R8F0QWwt3bWCjlXo0dDPkuHsHx7XGgb64QMeDYoAdEMMuaxMM0UQGCe/9un9cpNTIETFVJmz6f2N5iGR91C56WGK8qlgalHluCQ+98AK5IRWM1zW/AfYOns9WO2fO7lotiXuBIkTPXibdDs=
Received: from MN2PR11MB3565.namprd11.prod.outlook.com (20.178.250.159) by MN2PR11MB4478.namprd11.prod.outlook.com (52.135.36.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2665.23; Wed, 29 Jan 2020 16:51:48 +0000
Received: from MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::fd76:1534:4f9a:452a]) by MN2PR11MB3565.namprd11.prod.outlook.com ([fe80::fd76:1534:4f9a:452a%3]) with mapi id 15.20.2665.027; Wed, 29 Jan 2020 16:51:48 +0000
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: "Eric Vyncke (evyncke)" <evyncke@cisco.com>, The IESG <iesg@ietf.org>
CC: "draft-ietf-6lo-ap-nd@ietf.org" <draft-ietf-6lo-ap-nd@ietf.org>, "Shwetha Bhandari (shwethab)" <shwethab@cisco.com>, "6lo-chairs@ietf.org" <6lo-chairs@ietf.org>, "6lo@ietf.org" <6lo@ietf.org>, "secdir@ietf.org" <secdir@ietf.org>
Thread-Topic: Éric Vyncke's Discuss on draft-ietf-6lo-ap-nd-13: (with DISCUSS and COMMENT)
Thread-Index: AQHV1q8ObZjsSNLsNE+ME5HgTzGBvKgBtsSwgAASbYCAAAcrkA==
Date: Wed, 29 Jan 2020 16:51:36 +0000
Deferred-Delivery: Wed, 29 Jan 2020 16:50:44 +0000
Message-ID: <MN2PR11MB3565A8CDA1E18801CD9F5CC7D8050@MN2PR11MB3565.namprd11.prod.outlook.com>
References: <158030752268.2728.2544838912831012540.idtracker@ietfa.amsl.com> <MN2PR11MB35655FBDC33DE5AB90253643D8050@MN2PR11MB3565.namprd11.prod.outlook.com> <AED6BD10-1EDE-4BF3-A63F-0B81A516E246@cisco.com>
In-Reply-To: <AED6BD10-1EDE-4BF3-A63F-0B81A516E246@cisco.com>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=pthubert@cisco.com;
x-originating-ip: [2001:420:44f3:1300:41e7:7725:e525:b2e8]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1d344c20-abd5-45f1-e2ee-08d7a4db87d7
x-ms-traffictypediagnostic: MN2PR11MB4478:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <MN2PR11MB447846B6E2C360DA77391537D8050@MN2PR11MB4478.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 02973C87BC
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(39860400002)(346002)(136003)(366004)(376002)(189003)(199004)(71200400001)(224303003)(81156014)(81166006)(9686003)(33656002)(86362001)(55016002)(6666004)(7696005)(2906002)(8936002)(316002)(54906003)(52536014)(5660300002)(110136005)(4326008)(66476007)(76116006)(66946007)(66446008)(53546011)(450100002)(186003)(6506007)(64756008)(66556008)(966005)(478600001); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB4478; H:MN2PR11MB3565.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: hotXcDCJp5rTidZYErPN4waT0xqbOyic32WrENEG2u6fSse/4EJ13GDDfBUUBpHWvVDerEBPjqh96ZACGeTF65YsVR+C44Yq7AOEVXGThIy9WN87VatNNdxtnjTTn6Qcaj9On4wHQmIdmgbWB2dMh18H42hc32SEJedFpTn6uY9jXmXEw0q400JMnrJ4Un9w6BAYlvhFOFjNbCGfVm3OhlYHWjyAQbwd88WWSZ2jRTdkMVsXFAGlWY3u0h9HjQJYJSf8WPRtbIdXo5kMg64daBTEpvTLQi6VXbtgmumKiPqQZ76Fisp6uCNoY7uffoEzyi0RH/F7EGgId93P86IfOEJl44ocQn8Zxa8VvKonXv8uGfEvouxjo0lOOSQdF4pXHIMOj6dvDF1rAExIntAuK9jpMMig2Uv5YXhvTF9sucxRFMlntLmXcLnXwhQESWoUEhhx1Zxj7nmthITwHiqiYozwOTekzT5RAv6+7mzewQmbXMg+I1zRQ4clQ0IjQItAhB6RoFTI8A5/0ByobmP7Mg==
x-ms-exchange-antispam-messagedata: MliatNI0DT2xpkOf3VgpPfvdcpieFXUhLWWVn9AOaPwpdwJfbo7Abx5ylP8zWGn/2buYpfp940GJNyfA/Y/Mo7AqWluzQU+M51t8mw7gkQlAhU2lZ4m00v0CttQFckbUnxcVQL9OJ3X7q3NA7LIBkRa47+tCvFE/9I7AxdIdnk3J7AWrTHqkCls/oG0ZeH/o4kZLMsgH2Gt2CC/jlVJjQg==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d344c20-abd5-45f1-e2ee-08d7a4db87d7
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2020 16:51:47.8750 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yMy1QNkxQrjr4fJC5/qa+eMX+Mo1Sefj1me9+zyYMhPZGIpldkcrqyWSIM0m2bib70BCEF2DCHwvigapCseRpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4478
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.11, xch-rcd-001.cisco.com
X-Outbound-Node: alln-core-1.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/secdir/8eHcUTbNxoqu7_9Ag4xGy5txpO8>
Subject: Re: [secdir] Éric Vyncke's Discuss on draft-ietf-6lo-ap-nd-13: (with DISCUSS and COMMENT)
X-BeenThere: secdir@ietf.org
X-Mailman-Version: 2.1.29
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, 29 Jan 2020 16:51:59 -0000

Hello Eric:

First of all, " was never used with this device " should really be " was never used with this keypair ". And then we could add "to the extent possible for the implementation". And then I agree, "random" cannot be asserted for "never used".

I did some homework on the nonce but still would prefer to get recommendation by SEC DIR; I'll note that a mote cannot not necessarily produce good randoms easily and that to my best understanding an incrementing number stored with the keys should do as long as the keys are regenerated when the storage is lost.

Based on that homework I suggest:

"
   The Nonce option MUST contain a Nonce value that, to the extent possible
   for the implementation, was never employed in association with the
   key pair used to generate the ROVR.  An implementation may for instance
  use an  unpredictable cryptographically random value [RFC4086], or an
   incrementing value saved in stable storage.
"

What I found is this:

We inherit from RFC 3971 which says:
"
   Nonce

      A field containing a random number selected by the sender of the
      solicitation message.  The length of the random number MUST be at
      least 6 bytes.  The length of the random number MUST be selected
      so that the length of the nonce option is a multiple of 8 octets.

"

Also:

https://tools.ietf.org/html/rfc6744 requires a random nonce and relies on https://tools.ietf.org/html/rfc4086 to define randomness. We could make that an option.
https://www.rfc-editor.org/rfc/rfc7804.html uses SCRAM (https://www.rfc-editor.org/rfc/rfc5802) which generates nonces based on random strings
 An always incrementing value is simpler but requires stable storage. When it wraps the address must be deregistered and reregistered with a new keypair. That's realistically never with current techs, but who knows?.
https://www.rfc-editor.org/rfc/rfc2617.html says "
     The contents of the nonce are implementation dependent. The quality
     of the implementation depends on a good choice. A nonce might, for
     example, be constructed as the base 64 encoding of
         time-stamp H(time-stamp ":" ETag ":" private-key
"

What do you all think?

Pascal

> -----Original Message-----
> From: Eric Vyncke (evyncke) <evyncke@cisco.com>
> Sent: mercredi 29 janvier 2020 16:47
> To: Pascal Thubert (pthubert) <pthubert@cisco.com>; The IESG <iesg@ietf.org>
> Cc: draft-ietf-6lo-ap-nd@ietf.org; Shwetha Bhandari (shwethab)
> <shwethab@cisco.com>; 6lo-chairs@ietf.org; 6lo@ietf.org; secdir@ietf.org
> Subject: Re: Éric Vyncke's Discuss on draft-ietf-6lo-ap-nd-13: (with DISCUSS and
> COMMENT)
> 
> Pascal
> 
> Thank you for your prompt reply. I will clear my DISCUSS in a moment as you
> will change the text.
> 
> Agreed on all the points except for the 'nonce'. I know the concept of course but
> the sentence "was never used with this device" is still too strong IMHO. To
> comply, it would require to keep the history for ever... I would prefer a less
> stringent wording.
> 
> -éric
> 
> On 29/01/2020, 16:38, "Pascal Thubert (pthubert)" <pthubert@cisco.com>
> wrote:
> 
>     Hello Eric : )
> 
>     Many thanks for your review! I cc'ed SEC-DIR because we could really use
> their recommendation to solve some of your questions, more below.
> 
>     Please see below:
> 
>     > == DISCUSS ==
>     >
>     > -- Section 4.4 --
>     > The length of the reserved field is not specified. Or am I missing something
>     > obvious ?
> 
>     I concatenated the reserved fields in the picture and declared it as 40 bits.
>     Also added the number of bits in the reserved fields of other structures.
> 
>     > ----------------------------------------------------------------------
>     > COMMENT:
>     > ----------------------------------------------------------------------
>     >
>     > == COMMENTS ==
>     >
>     > -- Section 4.2 --
>     > While status is set to 0 when sending a NS, what is the expected behavior of
> a
>     > receiver ?
> 
>     Changed to
>     "
>     In NS messages it MUST be set to 0 by the sender and ignored by the receiver.
>     "
> 
>     > -- Section 4.3 and 4.4 --
>     > Why is the Pad Length field a 8-bit field while the actual padding will always
> be
>     > less than 8 bytes. Suggest to make it a 3 or 4 bits field and extend the
> reserved
>     > field.
> 
>     Actually I thought that if we want to extend the option in the future, it is
> better to indicate the length of the public key as follows:
> 
>        |     Type      |    Length     | Reserved|  Public Key Length  |
> 
>     Where:
> 
>     Public Key Length: 13-bit unsigned integer. The length of the Public Key field in
> bytes.
>     Public Key:  A variable-length field, size indicated in the Public Key Length field.
>            	     JWK-Encoded Public Key [RFC7517]
>     >Padding:  A variable-length field completing the Public Key field to align to
> the next 8-bytes boundary.
> 
> 
>     Works?
> 
> 
> 
>     >
>     > -- Section 6.1 --
>     > About "Nonce option MUST contain a random Nonce value that was never
> used
>     > with this device", how can it be done? Keeping a local history? Giving some
>     > operational hints would bee welcome. Especially, when there are multiple
> 6LR in
>     > the LLN: how can they synchronize the nonce?
> 
>     The nonce is used once, so there's no synchronization. A new pair is formed
> and exchanged at each validation.
> 
>     The nonce game used here appear to be common practice. Yes, there's usually
> a need of local history, and the fact that we get a nonce from both side, apart
> from guaranteeing that the result is effectively unique to both parties, also
> makes the chances for history to repeat very low.
> 
>     CC'ing SEC-DIR: Please help: if there is a reference for that practice, what it
> takes to maintain a nonce, and why we have a nonce from both sides? Trying to
> reinvent that text does not look like a good idea for this draft.
> 
> 
> 
>     >
>     > -- References --
>     > Is there a reason why the crypto algorithms RFC 7748 and 8032 are not
>     > normative?
> 
>     Interestingly they are informational. So that would be a downref.
> 
>     CC'ing SEC-DIR: Please help: should we make these refs normative?
> 
> 
>     >
>     > == NITS ==
>     >
>     > -- Section 2.2 --
>     > To be honest, I am not a big fan of simply announcing concepts and
> referring to
>     > many other RFCs. Suggest to mention which terms and concepts are defined
> in
>     > each document. Else, the current section 2.2 mostly forces the readers to
> read
>     > all the references.
> 
>     Yes and they are really there as additional reading, not normative.
>     I changed the text to
>     " The reader may get additional context for this specification from the
> following references"
>     I also moved classical ND and SEND references to informational references.
> 
>     Works?
> 
>     > -- Section 6 --
>     > s/may use a same Crypto-ID/may use the same Crypto-ID/ ?
> 
>     Done
> 
>     Many thanks again Eric!
> 
>     Let's see what SEC-DIR thinks
> 
>     And a very happy new year (in France we have till Jan 31st to send wishes 😉)
> 
>     Pascal
> 
> 
> 
>