Re: [Ntp] NTPv5 draft

Philip Prindeville <philipp@redfish-solutions.com> Mon, 07 December 2020 21:36 UTC

Return-Path: <philipp@redfish-solutions.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 BE55C3A0B35; Mon, 7 Dec 2020 13:36:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 yfkK8f99Pbia; Mon, 7 Dec 2020 13:36:22 -0800 (PST)
Received: from mail.redfish-solutions.com (mail.redfish-solutions.com [45.33.216.244]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AEA953A0C29; Mon, 7 Dec 2020 13:36:16 -0800 (PST)
Received: from [192.168.3.4] ([192.168.3.4]) (authenticated bits=0) by mail.redfish-solutions.com (8.16.1/8.16.1) with ESMTPSA id 0B7LaEDR118543 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 7 Dec 2020 14:36:14 -0700
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.20.0.2.21\))
From: Philip Prindeville <philipp@redfish-solutions.com>
In-Reply-To: <20201207211958.511E240605C@ip-64-139-1-69.sjc.megapath.net>
Date: Mon, 07 Dec 2020 14:36:14 -0700
Cc: "Salz, Rich" <rsalz=40akamai.com@dmarc.ietf.org>, "ntp@ietf.org" <ntp@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <A6098FBA-E388-4102-859D-EFF633610ED7@redfish-solutions.com>
References: <20201207211958.511E240605C@ip-64-139-1-69.sjc.megapath.net>
To: Hal Murray <hmurray@megapathdsl.net>
X-Mailer: Apple Mail (2.3654.20.0.2.21)
X-Scanned-By: MIMEDefang 2.84 on 192.168.1.3
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/fdZ1b5fWjNVcDo_RWNNqXPiEfp8>
Subject: Re: [Ntp] NTPv5 draft
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: Mon, 07 Dec 2020 21:36:24 -0000


> On Dec 7, 2020, at 2:19 PM, Hal Murray <hmurray@megapathdsl.net> wrote:
> 
> 
> Salz, Rich said:
>> My view is that it is no longer acceptable to design a protocol for
>> deployment on the open Internet that has no authentication or message
>> integrity and that people who disagree are out of consensus.
> 
> That seems like a good general principle, but doesn't seen to fit this example 
> very well.
> 
> What do you mean by "has no authentication"?  Do you mean supports 
> authentication or requires it?  I'll agree if you mean supports, but I assume 
> you mean requires since otherwise we wouldn't be having this discussion.
> 
> Assuming you do mean requires, I'll pay a lot more attention to your argument if you outline a plan for getting the existing user base to demand authenticated time.
> 
> The complexity ratio between a simple non-authenticated NTP client and a client with authentication is enormous.
> 
> With HTTP to HTTPS, there was a lot of incentive for users and servers to upgrade.  Many did financial transactions over the web.  What's the equivalent for NTP?


The 3 principles of Security are CIA: Confidentiality, Integrity, Availability.

How do these apply to NTPv5?  Some examples:

Confidentiality might be making client/server or peering connections unlinked outside of the (binary) relationship.  That was one of the issues with NTPv4; you could query a client to see what server it was talking to, and then spoof that server.

Integrity is protection from mangling packets in-flight, i.e. MITM attacks.  It might also be a chain-of-trust for time source hierarchy going back to a well-known (and explicitly trusted) group of servers who are authentic, which is often called “data pedigree”.

Availability is what it sounds like: the resilience of the service to interruptions, either by being resistant to denial-of-service attacks and single-point-of-failure disruptions, to geographical disruption to harden against network partitioning failures, to simplicity of correct configuration out-of-the-box, etc.

One of the golden objectives of security is “secure by default”: that is, things should be secure as installed by default, and it takes willful action by the administrator or user to explicitly disable this (aka “let him hang himself”).  I don’t see a reason for us to abandon this ideal.

"The complexity ratio between a simple non-authenticated NTP client and a client with authentication is enormous.”

What are you basing that assertion on?

And what about the flip-side of that argument?  What is the opportunity cost of not having that?  Where else does the mitigation end up instead?  Firewalling?  Sanity checking clocks against multiple sources?  Inability to have boot-time PKI integrity because of not being able to check X.509 validity intervals (and the obvious ripple-effect of PKI through other services)?