Re: [Ntp] Quick review of WGLC for status change for draft-ietf-ntp-update-registries

Heiko Gerstung <heiko.gerstung@meinberg.de> Mon, 15 August 2022 10:58 UTC

Return-Path: <heiko.gerstung@meinberg.de>
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 73446C14CF08 for <ntp@ietfa.amsl.com>; Mon, 15 Aug 2022 03:58:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=meinberg.de
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 0Y_pcgO3TMJW for <ntp@ietfa.amsl.com>; Mon, 15 Aug 2022 03:58:24 -0700 (PDT)
Received: from server1a.meinberg.de (server1a.meinberg.de [176.9.44.212]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 02007C1522A6 for <ntp@ietf.org>; Mon, 15 Aug 2022 03:58:23 -0700 (PDT)
Received: from seppmail.py.meinberg.de (unknown [193.158.22.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by server1a.meinberg.de (Postfix) with ESMTPSA id 3197171C0151; Mon, 15 Aug 2022 12:58:20 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=meinberg.de; s=d2021; t=1660561100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ljsbyxaxm6uwzCY39eORbzAU1FPWdbAJUx3CCzgUGVE=; b=iH2q6kGC+b6TDvr+0GZOWduMM2z2v70/EKRT+KoXl3JmN9vXCX3hBihOqGdLrABU2BHGPo nRPaMgxJSsEoKJEKzZjkbNRB3BdgZgnINHOiGUOXMvyW2qRw6EGGiNK9Xxwba0Jpz7D+Ea HWi7n/VTaquT46KutrPNwJUwnrCY406+QLfTlCMN2SN1LApGsNduApfjDboZVvzTjf+lfF Jxc6sCFKr3MkW2n57DTy+qMEC/3/s4IcjbPvrykS49FNNoIoVILBXsK1lEhytdK9r3qs7b TnhdoV6Uhbm+x08gRidxLN96KCcS9KSM5bev4XP55Mp8GmbTiRvvOk2O1fePaQ==
Received: from srv-kerioconnect.py.meinberg.de (srv-kerioconnect.py.meinberg.de [172.16.3.65]) (using TLSv1.3 with cipher AEAD-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by seppmail.py.meinberg.de (Postfix) with ESMTPS; Mon, 15 Aug 2022 12:58:19 +0200 (CEST)
X-Footer: bWVpbmJlcmcuZGU=
User-Agent: Microsoft-MacOutlook/16.63.22070801
Date: Mon, 15 Aug 2022 12:58:17 +0200
Message-ID: <133C5633-E4D5-42AF-8215-E3FDE28C5BF9@meinberg.de>
Thread-Topic: [Ntp] Quick review of WGLC for status change for draft-ietf-ntp-update-registries
References: <PH0PR06MB7061FA7A5B338D262B3A2963C2999@PH0PR06MB7061.namprd06.prod.outlook.com> <6a187a2f-9883-2fb5-1f51-1593591ddebb@nwtime.org> <PH0PR06MB706126984E4442EF32F8242AC2999@PH0PR06MB7061.namprd06.prod.outlook.com> <da155c84-2c70-2e3b-59eb-03e380806cf2@nwtime.org> <PH0PR06MB70611F2331D8255F7E2B6604C2999@PH0PR06MB7061.namprd06.prod.outlook.com> <0b4c7efa-3977-b588-0974-33b6a9437e52@nwtime.org> <YvDWC27qKnODlD52@localhost> <0b57b7db-772e-f5e6-e6a0-a433673f3d77@nwtime.org> <YvED7T5R0UsRWbv3@localhost> <b64c6a0a-ea2e-0a19-4bb9-38bfaa2e5032@nwtime.org> <656D355F-E06A-4005-B9D6-90885FA8509D@akamai.com> <1a4bae28-f0f3-e675-899a-bad597b4ee29@nwtime.org> <F74A7B5B-3D77-42AF-BD7E-1A874CCD2D66@akamai.com> <67545c9a-3291-bbe6-c876-4c762c80c710@nwtime.org> <FF22AEFE-ED61-405E-AB40-B7901D0CD588@meinberg.de> <f79cecd6-92b0-595b-e449-6b6f8944ae66@nwtime.org>
In-Reply-To: <f79cecd6-92b0-595b-e449-6b6f8944ae66@nwtime.org>
Importance: Normal
X-Priority: 3
Thread-Index: AZ2x3tU+MGYyODEyMGVhZmM2ZTY1NQ==
From: Heiko Gerstung <heiko.gerstung@meinberg.de>
To: Harlan Stenn <stenn@nwtime.org>, "ntp@ietf.org" <ntp@ietf.org>
X-SM-outgoing: yes
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="----43DD896171A70DA5509E55CDA6446687"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/bA8o_Riiulg1wrueB76cCcEpdlA>
Subject: Re: [Ntp] Quick review of WGLC for status change for draft-ietf-ntp-update-registries
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: Mon, 15 Aug 2022 10:58:29 -0000

Hi Harlan,

thanks for the quick response. As far as I can see, mode 7 is "reserved" in the current version of the RFC for NTP, or did I miss an errata? As far as I can see, an implementation that knows nothing about mode 7 packets (the vast majority of "simpler" implementations and also some of the more common implementations would simply drop such a packet - even if VN=5 would have been ignored by such an implementation (which, IMHO, is a bug in itself because an implementation should never assume that a packet with a version number higher than what it knows - and supports - is compatible). My intention here is that we find a way to extend and expand the NTP packet format for V5 while ensuring that all the NTP stuff out there is not negatively impacted by it (i.e. by assuming that an NTP packet, no matter which version, forever uses the same packet format). Making sure that most/all implementations out there will ignore/drop/reject a V5+ packet should  do the trick here. 

As far as I can see, I-DO is not a solution for this. It depends heavily on the assumption that an implementation is checking the capabilities of a remote device. All existing implementations in the field (I assume this includes all deployed versions of ntpd) are not using this approach today.  Therefore, the protection here can be provided only for new/updated implementations which try to talk to an outdated/older/historic implementation. You can protect V5 NTP clients/servers but not (for example) a V4 client trying to use an (incompatible) V5 server. If that V5 server implementation chooses not to support V4 requests, it can respond with a V5 Mode7 packet which the V4 client will most likely drop/ignore. 

I believe that an interface to the status and configuration of an NTP implementation is very useful and should be mandatory, but for me it makes more sense to set up an interface as an IPC channel (i.e. "locally") and make it easy to use for general purpose management protocols like SNMP or NETCONF etc. instead of allowing to use it over a network connection. That would always requires a lot of security considerations which have been solved already by the general purpose protocols (e.g. SNMPv3 or a REST API using authentication and TLS for example).

Regards,
  Heiko




--
Heiko Gerstung | Managing Director
T: +49 (0)5281 9309-404 | LinkedIn Profile <https://www.linkedin.com/in/heikogerstung/> | Twitter <https://twitter.com/hgerstung>
heiko.gerstung@meinberg.de

MEINBERG® The Synchronization Experts
 
Meinberg Funkuhren GmbH & Co. KG
Lange Wand 9 | 31812 Bad Pyrmont | Germany
Web: http://www.meinberg.de | http://www.meinbergglobal.com | LinkedIn  <https://www.linkedin.com/company/meinberg-funkuhren-gmbh-&-co--kg>

Amtsgericht Hannover 17HRA 100322
Geschäftsführer/Management: Günter Meinberg, Werner Meinberg, Andre Hartmann, Heiko Gerstung

Do not miss our Time Synchronization Blog:
http://blog.meinbergglobal.com
 
 

Am 15.08.22, 09:57 schrieb "Harlan Stenn" <stenn@nwtime.org>:

    Hi Heiko,

    On 8/14/2022 11:59 PM, Heiko Gerstung wrote:
    > Hi all,
    > 
    > quick idea (I know! Those are the best ;-) ..
    > Would it be possible to define mode 7 = version specific? This way all V4 Mode 7 packets would continue to work, and for V5 we could  introduce an additional field in the header that allows for more "modes" (i.e. packet types) in addition to the ones currently defined (and RFC5905 specifies mode 7 = reserved).

    Mode 7 is already "vendor specific" control packets.

     From Dave's POV, mode 6 contained ASCII data, and mode 7 contained 
    binary data.

    We already have a problem with "shifting sands" and both mode 6 and mode 7.

    I've long had an item on my TODO list that would let us "figure out" 
    what command set (for lack of a better word) was supported by v6 and v7.

    I believe your intent could also be satisfied with our I-DO EF proposal.

    I do kinda like that mode 7 is vendor-specific commands.  It leaves a 
    way to do things that stay out of the way of mode 6 commands (which are 
    expected to be "general").

    I also think we would benefit from put time and effort into fleshing out 
    mode 6 commands, and I believe that is an area where we would also want 
    version-specific commands, which would also imply experimental and 
    vendor-specific values.

    We have choices here, and it's not clear to me where it's safe to change 
    things up, and where we need to be more careful.

    It may well be that we would reserve one or more of the current mode 6 
    opcodes to "extend" things, but it's also not yet clear to me that we 
    might need this.  The current opcode list seems pretty complete, and 
    only half of the 32 opcodes are currently assigned.

    I think draft-ietf-ntp-mode-6-cmds needs additional work, but do enough 
    folks here care enough about it?

    > Most things in the wild would not try to decode and (mis)understand such a packet. With this approach we could avoid that a V5 request (with a different packet format) is misunderstood by a V4 server for example (because V5 would always use Mode = 7 and distinguish between client requests, server responses etc. etc. by using a new field - this way we could increase the number of potential packet types and more easily introduce new ones without the risk of breaking an older version implementation misunderstanding a packet).
    > 
    > Best Regards,
    >    Heiko
    > 
    > 
    > 
    > _______________________________________________
    > ntp mailing list
    > ntp@ietf.org
    > https://www.ietf.org/mailman/listinfo/ntp

    -- 
    Harlan Stenn <stenn@nwtime.org>
    http://networktimefoundation.org - be a member!