Re: [Ntp] I-D Action: draft-ietf-ntp-ntpv5-requirements-00.txt

Danny Mayer <mayer@pdmconsulting.net> Sat, 30 July 2022 22:04 UTC

Return-Path: <mayer@pdmconsulting.net>
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 11515C15948F for <ntp@ietfa.amsl.com>; Sat, 30 Jul 2022 15:04:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.108
X-Spam-Level:
X-Spam-Status: No, score=-6.108 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, RDNS_NONE=0.793, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_HELO_TEMPERROR=0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6GNgv6FGWqJF for <ntp@ietfa.amsl.com>; Sat, 30 Jul 2022 15:04:21 -0700 (PDT)
Received: from chessie.everett.org (unknown [IPv6:2001:470:1:205::234]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 50209C157B4B for <ntp@ietf.org>; Sat, 30 Jul 2022 15:04:19 -0700 (PDT)
Received: from [10.10.10.101] (pool-71-174-223-124.bstnma.east.verizon.net [71.174.223.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by chessie.everett.org (Postfix) with ESMTPSA id 4LwJM16dFGzMP0F; Sat, 30 Jul 2022 22:04:13 +0000 (UTC)
Message-ID: <d7dd38af-3787-5e42-9f84-2d674a8c2d71@pdmconsulting.net>
Date: Sat, 30 Jul 2022 18:04:12 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.11.0
Content-Language: en-US
To: James <james.ietf@gmail.com>, David Venhoek <david@venhoek.nl>
Cc: ntp@ietf.org
References: <165876285947.22203.11524063568909924568@ietfa.amsl.com> <CAPz_-SXK3aGA+dTLy5AtZzYfHykVKf9K4EVnwF2jMkebvkKUYg@mail.gmail.com> <CB90EBD2-18E2-4379-AC14-F006553A7D2A@gmail.com>
From: Danny Mayer <mayer@pdmconsulting.net>
In-Reply-To: <CB90EBD2-18E2-4379-AC14-F006553A7D2A@gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/N5LE45NAJxNhUHO7EwgZYq-9pd8>
Subject: Re: [Ntp] I-D Action: draft-ietf-ntp-ntpv5-requirements-00.txt
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Network Time Protocol <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: Sat, 30 Jul 2022 22:04:28 -0000

On 7/26/22 5:52 AM, James wrote:
> David,
> Thanks for taking a look, you're definitely asking in the right place.
>
> Answers in-line.
>
>> On 26 Jul 2022, at 10:50, David Venhoek <david@venhoek.nl> wrote:
>>
>> Dear James, All,
>>
>> Having taken a look through this latest draft, I have several
>> questions regarding some of the proposed requirements:
>>
>> Regarding the server identifiers for use by the peer identified as
>> needed in section 3.1, what would the purpose of these identifiers be?
> JG: The purpose is to have capability to identify servers without tightly coupling to their FDQN/IP address(es) etc, allowing clients to implement allow/deny lists, logging/monitoring etc. One of NTPv4's flaws is the tight coupling of refid to host, which in part leads to traffic management issues.

No, it has nothing to do with that. This is needed for loop detection 
and prevention. The refid is actually rather loosely coupled to a host. 
Currently the refid in the packet is basically the IP address the packet 
that the upstratum server used was sent out on that the server receiving 
it saw. With multiple IP addresses and broadcast and multicast packets 
being sent from the same system this is a poor way to detect loops.

>> With respect to provisions for NAT, what specifically are the issues
>> that NAT is causing with current NTPv4 deployments?
> JG: Not all requirements are based on known existing problems with NTPv4. Some requirements in the document (like this and the one below) are explicitly mentioned to remind us that they should be covered. NTPv5 should not incidentally make things worse for deployments, and NAT in general doesn't make things easier :(
It's not clear from your statement what you think that the protocol can 
do about NAT's. They're opaque and the clients behind the NAT won't have 
unique post-NAT addresses.
>> What is the reason for wanting a larger rollover timescale for NTPv5?
>> I have done a number of tests with rollover scenarios recently with
>> NTPd and a new implementation, and when implementing the wrapping
>> arithmetic as specified rollover seems to me a non-issue. It didn't
>> cause any issues as far as I could tell in the NTP client/server.
> JG: If we're changing the data model that represents time within NTP to support things like linear timescales (and possibly even changing things like epoch) then this is another explicit requirement to cover. You're right the current data model is good for a long time (provided implementations don't skip over implementing era numbers).
You shouldn't be changing the data model. Changing the timescale does 
not change that and would only affect the calculations in how you do 
arithmetic on the timestamps.
>> Finally, in section 3.7, the requirement of injectable hardware
>> timestamps without modification of authentication/confidentiality
>> seems at odds to me with the larger security goals, as in such a
>> scenario the hardware timestamper is acting exactly as a man in the
>> middle. Do we have any ideas on how that could be achieved in a secure
>> way?
> JG: The point is that middleboxes must not overwrite authenticated data in a packet as the trust is between the client and server, not the box in between. If middleboxes want to include authenticated timestamps and provide the information to verify them, then the protocol should probably support that - but from what I've heard so far folks don't seem to be interested in it as middleboxes are more common in protected private networks than on "big I" internet.
Hardware timestamps cannot be authenticated since they won't be able to 
fix up a MAC or other authentication mechanism. Tal and I had a 
discussion on this when he wrote RFC7821, which you should read.

Danny