Re: [Ntp] Benjamin Kaduk's No Objection on draft-ietf-ntp-packet-timestamps-08: (with COMMENT)

Tal Mizrahi <tal.mizrahi.phd@gmail.com> Thu, 05 March 2020 06:18 UTC

Return-Path: <tal.mizrahi.phd@gmail.com>
X-Original-To: ntp@ietfa.amsl.com
Delivered-To: ntp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1202C3A0DCE; Wed, 4 Mar 2020 22:18:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 CPwj-ghsiXCu; Wed, 4 Mar 2020 22:18:44 -0800 (PST)
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 00D493A0DCD; Wed, 4 Mar 2020 22:18:43 -0800 (PST)
Received: by mail-wm1-x336.google.com with SMTP id j1so4368188wmi.4; Wed, 04 Mar 2020 22:18:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fRVXlEY0/4N3EsAVgRqDEPVbaDU4AfZdBY4uOv/fvJQ=; b=AFaldU8pZEjURCJyrOLhsHNjciKqe02B13eZPbRa2+uFZ8njuqUJ/eez96oDpjP5oJ kgulGakebtOCIt6NhPam9pf6F7rfm9dWSpsVeTkuULxWXYEQyVIdwjGgxevIej/ihnDi HV20Ch/DStSYK7xS60M+hkBvMu1P8yvmRF1jdcvFfi2XJzEiTR1TaLUmUlO9TmnRYY6u UNLkFGwyahu89VsPytGXfJH/E3CwtQPkmNv3P/0IprNicW3Kc434ep0yMzbYvX7Nb6pt ulMA8VDMR+hA9CZ+dSL8lSUZHtzrwZ8NsVfayVCDPgvinIReWIzIj0Jo+W08xfLtHH0j QWZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fRVXlEY0/4N3EsAVgRqDEPVbaDU4AfZdBY4uOv/fvJQ=; b=YCzG7trIiXzKVmJFWkMoxYZz1GNFKiA+37X2V/B5G/BWGr0h1RYQLT1OHNFt5+JdVn TEBlIxJnel5t81+BKS/0OW/zsHL3NfTWA1kIurFc4vorhOwY04AkX+YLcWY13mCG/NsT Au1YCIRmV3NPKAWl7SDeNKpHNDbSMXixcDUNsWL0Op0odFc67+NFT3LjGgBJJtlu8tbt dwk2X463PPOkW3D47trDsqlP4KtlXWC7sUuJo3tUKCxDmvKs3NfLSfcve5/hA78xdSOp BsVcQ8UuhJTZPI33WHq3i7zSswZdf7JxO7oaY0aNWKIncYYmaK/O4/LjpyLyndC8lKyz w5AA==
X-Gm-Message-State: ANhLgQ1f7xr0JLzI8gztAyZWx1eJKIeo9qXfMvqMIY6TOazu0e3jvq+n vK2IHsjd+7hv7WTXso2HiJXWTVLTCawHjbdkxMI=
X-Google-Smtp-Source: ADFU+vvQDrncKZBVEnefzl1N3XzaaLpr3elYcW5N09QExo4v2Q1m38nvjpWKHohkawvZvJyvme72Ur5U6lNnCbn8jw8=
X-Received: by 2002:a1c:7c05:: with SMTP id x5mr7388451wmc.67.1583389122457; Wed, 04 Mar 2020 22:18:42 -0800 (PST)
MIME-Version: 1.0
References: <158336715573.29467.14533625937371493247@ietfa.amsl.com>
In-Reply-To: <158336715573.29467.14533625937371493247@ietfa.amsl.com>
From: Tal Mizrahi <tal.mizrahi.phd@gmail.com>
Date: Thu, 05 Mar 2020 08:18:25 +0200
Message-ID: <CABUE3XkJpgMwKPyZuGw7Ao9g+1vxLdTN23aBUW-b_4O-4mukzw@mail.gmail.com>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: The IESG <iesg@ietf.org>, draft-ietf-ntp-packet-timestamps@ietf.org, ntp-chairs@ietf.org, ntp@ietf.org, Karen O'Donoghue <odonoghue@isoc.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/_qRreB2Nqn1L47RzsjPkZNpklYY>
Subject: Re: [Ntp] Benjamin Kaduk's No Objection on draft-ietf-ntp-packet-timestamps-08: (with COMMENT)
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <ntp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ntp>, <mailto:ntp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ntp/>
List-Post: <mailto:ntp@ietf.org>
List-Help: <mailto:ntp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ntp>, <mailto:ntp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Mar 2020 06:18:46 -0000

Hi Ben,

Thanks for the detailed comments.
Please see the responses below.

Cheers,
Tal.



On Thu, Mar 5, 2020 at 2:12 AM Benjamin Kaduk via Datatracker
<noreply@ietf.org> wrote:
>
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> Could this go for BCP instead of Informational?  (That would avoid a
> need in the future to get it added to the downref registry.)
>
> When we discuss the NTP timestamp formats, we say that "during and
> possibly after the occurrence of a leap second, the value of the
> timestamp may temporarily be ambiguous, as further discussed in Section
> 5."  But in Section 5 we discuss the possibility of behavior where
> "[t]he clock is slowed down during the leap second and adjacent time
> intervals until the new time value catches up."  These statements seem
> incompatible unless "adjacent time intervals" occur only after the leap
> second, which is not my understanding of how leap-second smearing is
> performed in practice.

Agreed. Proposed text update:
OLD:
during and possibly after the occurrence of a leap second
NEW:
during and possibly before and/or after the occurrence of a leap second

>
> Section 1.1
>
>    Timestamps are widely used in network protocols for various purposes:
>    timestamps are used for logging or reporting the time of an event,
>    delay measurement and clock synchronization protocols both make use
>    of timestamped messages, and in security protocols a timestamp is
>    often used as a value that is unlikely to repeat (nonce).
>
> Some security protocols also use timestamps directly for security
> functionality, e.g., using a replay cache for messages within a certain
> time window of the past and discarding older ones.  That usage is mostly
> unrelated to what is discussed in this document, and I don't really see
> a need to mention it in the document, but will mention it here in case
> opinions differ.
>

Agreed, anti-replay mechanisms may be time-dependent but I agree that
there is no need to mention them in the current document.

> Section 3
>
> When multiple fields are used (with different units), what needs to be
> said about how the two fields are combined and/or any restrctions on the
> allowed range of the fields?  (E.g., for the "joke" timestamp format
> that has a seconds plus centiseconds representation, are values greater
> than or equal to 100 centiseconds forbidden?  Do we envision
> applications other than "convert values to a common unit and add them"
> for multiple fields, such as explicit fields to convey timestamp
> accuracy and/or precision?)
>

A fair point. In some cases a field may be limited to a range of
values, which may affect timestamp arithmetics.
Proposed text update:
OLD:
The units used to represent the timestamp.  If the timestamp is
comprised of more than one field, the units of each field are
specified.
NEW:
The units used to represent the timestamp.  If the timestamp is
comprised of more than one field, the units of each field are
specified. If a field is limited to a specific range of values, this
section specifies the permitted range of values.

> Section 4
>
>    This document defines a set of recommended timestamp formats.
>    Defining a relatively small set of recommended formats enables
>    significant reuse; for example, a network protocol may reuse the NTP
>    or PTP timestamp format, allowing a straightforward integration with
>    an NTP or a PTP-based timer.  Moreover, since accurate timestamping
>    mechanisms are often implemented in hardware, a new network protocol
>    that reuses an existing timestamp format can be quickly deployed
>    using existing hardware timestamping capabilities.
>
> This text feels very familiar by this point in the document...
>

Agreed. Proposed text:
OLD:
   This document defines a set of recommended timestamp formats.
   Defining a relatively small set of recommended formats enables
   significant reuse; for example, a network protocol may reuse the NTP
   or PTP timestamp format, allowing a straightforward integration with
   an NTP or a PTP-based timer.  Moreover, since accurate timestamping
   mechanisms are often implemented in hardware, a new network protocol
   that reuses an existing timestamp format can be quickly deployed
   using existing hardware timestamping capabilities.  This document
   recommends to use one of the timestamp formats specified below.
  Clearly, different network protocols ...
NEW:
   This document defines a set of recommended timestamp formats.
  Clearly, different network protocols ...


> Section 4.2.1
>
> Just to check: we assume by definition that no leap seconds occurred
> prior to the creation of UTC when we say that 2272060800 is the number
> of seconds between 1 Jan 1900 and 1 Jan 1972, right?
>

Right. Not sure we need to explicitly say this, since the number of
leap seconds at any given time is assumed to be "common knowledge".
Please let me know if you think otherwise.

> Section 7
>
> I assume the WG considered whether this content could be spun off into a
> separate document, e.g., one that defines specific timestamp control
> fields, but decided that it is important enough to publish now.
>

Right, that is exactly the intention. We plan to start working on this
document soon.

> Section 9
>
> Is it in scope to discuss considerations relating to applications that
> have an inaccurate sense of the current time, or network packets that
> contain timestamps intended to be synchronized to a reference but in
> fact are not?  (I see a decent argument that it is not in scope, but
> want to check.)

I believe that the scenarios you suggest are somewhat similar (or
related) to "any attack that compromises the synchronization
mechanism" (which is already mentioned in the draft), so I would be
fine with leaving this section as-is, unless you feel otherwise.

>
> Section 11.2
>
> I assume the self-reference will get removed by the RFC Editor.

The self reference is intentional (used in the examples of section 6).
It will be updated by the RFC Editor to the RFC number once it will be
available.