Re: [Ntp] NTP Security (was NTPv5: big picture)

FUSTE Emmanuel <emmanuel.fuste@thalesgroup.com> Mon, 18 January 2021 16:04 UTC

Return-Path: <emmanuel.fuste@thalesgroup.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 D3A4E3A0A2D for <ntp@ietfa.amsl.com>; Mon, 18 Jan 2021 08:04:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.632
X-Spam-Level:
X-Spam-Status: No, score=-2.632 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.25, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.262, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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=thalesgroup.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 VxhQC6OCPwwB for <ntp@ietfa.amsl.com>; Mon, 18 Jan 2021 08:04:50 -0800 (PST)
Received: from thsbbfxrt02p.thalesgroup.com (thsbbfxrt02p.thalesgroup.com [192.93.158.29]) (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 D1A053A096C for <ntp@ietf.org>; Mon, 18 Jan 2021 08:04:49 -0800 (PST)
Received: from thsbbfxrt02p.thalesgroup.com (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 4DKGnq1TQxzJpDn for <ntp@ietf.org>; Mon, 18 Jan 2021 17:04:47 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thalesgroup.com; s=xrt20181201; t=1610985887; bh=WFaz5KIj+1L1W/SzyVlI/GeBrqa6PR0vMeVfmr1B2ZA=; h=From:To:Subject:Date:Message-ID:References:In-Reply-To: Content-Transfer-Encoding:MIME-Version:From; b=8aJf/k1rbNY1QSkgbqWizzQtJoghO71McdcZZnVBTJygHfwNxAUirgcIAoIH2JTAR tx4kZWxTDHl4yVoeZS8OlM3t2Tp0EmydEfQbX3vFPB+RExAPzrdGMORdVkL6YpUi2M CEYWruNR1V4vV6i888irHb5zQiD38Ou6EPQib7v99JO+p202BiY1uBUxGn32N9cBFx 3EMhUe9iHiHb17Bic6B26BdrVSXbEOBpD0TC3Ua/bNuag54lBl5kDTqFZ+j0F2Y0QV yxOs0Xopr6dzc1GtRG/p9oOn0ZPHtHD7Ccpy+STolumv0F5AirCYCfbyBJWFx5h+Iw 8Y6+6VCU0bIag==
From: FUSTE Emmanuel <emmanuel.fuste@thalesgroup.com>
To: "ntp@ietf.org" <ntp@ietf.org>
Thread-Topic: [Ntp] NTP Security (was NTPv5: big picture)
Thread-Index: AQHW7Y5jCWcm9A+sZEOhE3CV1WddQKotdkMAgAAFI4A=
Date: Mon, 18 Jan 2021 16:04:46 +0000
Message-ID: <8ad56b92-4e06-74c3-680b-f292470a80e6@thalesgroup.com>
References: <20210118113806.33BBE40605C@ip-64-139-1-69.sjc.megapath.net> <c6fda979-0b3e-99fc-2dc5-25b7cde4c42b@rubidium.se>
In-Reply-To: <c6fda979-0b3e-99fc-2dc5-25b7cde4c42b@rubidium.se>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1
x-pmwin-version: 4.0.3, Antivirus-Engine: 3.79.0, Antivirus-Data: 5.81
Content-Type: text/plain; charset="utf-8"
Content-ID: <698EB798FE914849A5BFF3DA6302BB4B@iris.infra.thales>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/ZtJC6IhAUAYqfsMP6LtSlUxpU24>
Subject: Re: [Ntp] NTP Security (was NTPv5: big picture)
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, 18 Jan 2021 16:04:59 -0000

Le 18/01/2021 à 16:46, Magnus Danielson a écrit :
> Hi,
>
> On 2021-01-18 12:38, Hal Murray wrote:
>> emmanuel.fuste@thalesgroup.com said:
>>> And all bootstrapping problems could be solved with CD / DO flags  controls
>>> and validation back checking with the first returned time of day.
>> How is that back checking going to work?  You don't know the time yet.
>>
>> Sure, it will say "OK" if you are talking to an honest server, but if you are talking to a bad guy, it can lie consistently.  Am I missing something?
> So, you only need to have sufficiently accurate time that DNSSEC will
> give thumbs up.
>
> Also, it only really need to match of that handshake.
>
> So, if you talk to server A, you can query which NTP server A say I
> should be able to trust.
>
> 1) Query A for NTP server B for A.
>
> 2) Query B for NTP time to use in initial exchange.
>
> 3) Query A for DNSSEC verified answer, using the time as initiated from B.
>
> 4) With verified answer, now handshake B using verified DNS records. If
> not verified, it fails.
>
> 5) Query B for NTP time.
>
> 6) If verified time matches that of the initial handshake request (as
> updated using local time progess), then unauthenticated time in step 2
> and 3 was valid, and thus the verification was valid and progress, else
> fail.
>
> So, we see how unauthenticated time can be used to bootstrap the
> handshake. Notice that this is not used to initiate node time, but only
> for that handshake. Only after things is secured, you accept time as
> being secured.
>
> This will work if the DNSSEC part and the consistency check in 6 leave
> enough margin.
>
> If it fails, it fails. This is why you want multiple sources for redundancy.
> mailman/listinfo/ntp
Exactly what I have in mind.
My reference to CD/DO flags are misleading, and is implementation details.
It for the case where your talk to a local DNS Server do do validation 
when you not embed the complete DNSSEC validation in your code (SMTP 
current usage deformation...).
With a proper embedded validation library (as Kurt said) the dependence 
on a local  (or non-local) validating resolver is no longer relevant 
(this library will do the necessary CD/DO flags dance if/as needed).

Emmanuel.