Re: [Ntp] Objections to the current language in draft-ietf-data-minimization

Martin Burnicki <martin.burnicki@meinberg.de> Tue, 26 March 2019 12:30 UTC

Return-Path: <martin.burnicki@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 B12FF1202B0 for <ntp@ietfa.amsl.com>; Tue, 26 Mar 2019 05:30:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.3
X-Spam-Level:
X-Spam-Status: No, score=-4.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=meinberg.de
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 LK6eq7LLTEKL for <ntp@ietfa.amsl.com>; Tue, 26 Mar 2019 05:30:14 -0700 (PDT)
Received: from server1a.meinberg.de (server1a.meinberg.de [176.9.44.212]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D842F12000F for <ntp@ietf.org>; Tue, 26 Mar 2019 05:30:13 -0700 (PDT)
Received: from srv-kerioconnect.py.meinberg.de (unknown [193.158.22.2]) (using TLSv1.1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server1a.meinberg.de (Postfix) with ESMTPSA id E3E4471C033C; Tue, 26 Mar 2019 13:29:35 +0100 (CET)
X-DKIM: Sendmail DKIM Filter v2.8.2 server1a.meinberg.de E3E4471C033C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=meinberg.de; s=mail201101; t=1553603412; bh=oMvuJxn4jY71hSOTHV7C9m56GFXIsFMwhejHLvR2uuE=; h=Subject:To:References:From:Message-ID:Date:MIME-Version: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=RQrpstwPoE6lXBrN7Dld025HvmmPUUki2BGxOPElKmTeni6yT7kg3lzNIKHqe1AfA TMKmsrsXpSqBQp/xpB93YDaGgzazGYVq9OcB8E5k/DYwLZRbFWNIV4nxDH21n3aKoy PnN/hN8XwGI2TSTpwhHCoZgHgLhaiXMY1frIZvkc=
X-Kerio-Anti-Spam: Build: [Engines: 2.15.9.1226, Stamp: 3], Multi: [Enabled, t: (0.000006,0.019536)], BW: [Enabled, t: (0.000007)], RTDA: [Enabled, t: (0.038621), Hit: No, Details: v2.7.31; Id: 15.1i66vfu.1d6svkaui.5a2qq], total: 0(700)
X-Footer: bWVpbmJlcmcuZGU=
Received: from localhost ([127.0.0.1]) by srv-kerioconnect.py.meinberg.de with ESMTPSA (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256 bits)); Tue, 26 Mar 2019 13:29:33 +0100
To: Harlan Stenn <stenn@nwtime.org>, "ntp@ietf.org" <ntp@ietf.org>
References: <8b9e85cb-3d6a-4e71-cbe7-9956e301a22d@nwtime.org> <842ee1b2-25a1-f9b8-a2db-571c4103b386@meinberg.de> <c4800444-5d26-9ba0-c4c7-c7c84235795c@nwtime.org>
From: Martin Burnicki <martin.burnicki@meinberg.de>
Openpgp: preference=signencrypt
Autocrypt: addr=martin.burnicki@meinberg.de; prefer-encrypt=mutual; keydata= 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 ArkcfPTIMcWxGmfGPw==
Organization: Meinberg Funkuhren, Bad Pyrmont, Germany
Message-ID: <abb5c516-d2a1-b43c-4631-3e4d6430987c@meinberg.de>
Date: Tue, 26 Mar 2019 13:29:33 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0
MIME-Version: 1.0
In-Reply-To: <c4800444-5d26-9ba0-c4c7-c7c84235795c@nwtime.org>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.100.2 at server1a
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/qPnBwUisPP_rl6lNP4IP9M8Yt9Y>
Subject: Re: [Ntp] Objections to the current language in draft-ietf-data-minimization
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: Tue, 26 Mar 2019 12:30:18 -0000

Harlan Stenn wrote:
> On 3/26/2019 3:26 AM, Martin Burnicki wrote:
>> Harlan Stenn wrote:
[...]
>>> For better or worse, a noticeable group of time server operators now
>>> offer leap-smeared time in response to NTP mode 3 (client) requests.
>>> Sometimes this is what the clients want, sometimes it is not.
>>
>> The question is whether it is important what the client wants.
> 
> I submit it will be important to the operator of the client, and that
> may or may not be the same organization that operates the servers.
> 
> What would happen if some of the general pool operators decided to offer
> leap smearing?

I think I've read in the advices for pool servers that they should *not
at all* use smeared time, so by definition no pool servers should
provide smeared time.

I also think the pool maintainers pretty much know that this would be
very dangerous, and will not allow for a mixed pool.

In the past it happened that some pool servers were stratum-2 servers
that synchronized to Google's smearing servers. This is clearly a
misconfiguration (intentionally or not), and I think the pool's
monitoring system should try to detect this and kick them out of the pool.

Of course the problem remains for clients which have just recently
received the IP address of affected servers from the pool's DNS system.

> Compare this to the vendors Foo, and Bar, who have separately arranged
> to offer foo.pool.ntp.org and bar.pool.ntp.org.  If Foo decides its
> clients should use correct time, they have their pool servers offer
> correct time.  If Bar decides its clients should use leap smeared time,
> they have their pool servers offer that.

No, if the pool should support leap smearing then an extra pool should
be set up with a different name. In addition, if this happened at all,
vendors Foo, and Bar would have to agree *how* their servers smear the
time: which interval, which shape, only before the LS or symmetrically, ...

Otherwise this would cause even more confusion than it does now.

[...]
>> Agreed. What should the server do if the client doesn't accept a
>> proposed poll interval? There are lots of simple, dump clients out there
>> where I doubt they can and do change the poll interval at all.
> 
> All we can do is make a good-faith offer.  This satisfies our
> responsibility *to* the client.  We are not responsible *for* the
> client's behavior.  If the client doesn't honor our poll request and
> doesn't sync well enough, then if the client doesn't care then ... they
> don't care.  If the clients *do* care they have an opportunity to make a
> different choice.

This is fine since it's optional and compatible with simple client
implementations.

[...]
>>> - Does the client want leap-smeared time?
>>
>> Is it important what the client wants?
>> Or just what the operator has decided to enforce?
> 
> It depends.  I touched on this above.  And sometimes servers will send
> client requests to monitor and track other systems.

This is again a completely different scenario since monitoring results
are normally not used to discipline the own system time.

> One of my goals here is to give the recipient of these responses the
> tools and information that will allow them to make choices that are
> right for them.
> 
>>> - Should the server respond with correct, or leap-smeared time?
>>
>> IMO, if the server has been configured to provide leap-smeared time then
>> it should do so by default, but eventually there may be exceptions. See
>> below.
> 
> :)
> 
> And what happens if a server operator changes their mind about this at
> some point in the future?

Public server shouldn't smear at all, and if the operator of a private
server decides to change this he should know which clients are affected.
It's the same if an operator decides to let his server start smearing
leap seconds.


>>> This leads to the follow-on questions:
>>>
>>> - How can the client know if it's getting correct, or leap-smeared time?
>>
>> If the server supports this (e.g. current ntpd does), the client can
>> *optionally* check the refid received from the server and see that it's
>> the special "smear REFID". This should be just informational.
> 
> Yes.
> 
>>> - How can one tell if a client is following a leap-smearing server?
>>
>> Again, if the client detects the "smear REFID" received from its system
>> peer a monitoring program like ntpq could display the appropriate
>> information.
> 
> This goes to the SUGGESTED-REFID.  Even if it's not used, I currently
> believe that if ntpd in 4.4.0 syncs to a leap-smearing source, even if
> that source does not use SUGGEST-REFID, there will be code to make sure
> that the client's published system peer is a leap-smear REFID, for the
> following reasons:
> 
> - it shows up in ntpq.
> - it allows the 2nd half of the leap smear to be applied as expected.

The question is of legacy NTP clients would put the "smear REFID" into
packets sent to the server. If they don't do so then your proposal will
cause problems.

>>> If the client sends a packet
>>> with LI=0x3, the server SHOULD also respond with correct time with an LI
>>> value of 0x0, 0x1, or 0x2.
>>
>> No, here I disagree. If the client sends leap bits 0x3 this means it is
>> currently not synchronized, and the server may be the only time source
>> the client has. If the server operator has decided to let the server
>> smear the leap second then it should really do so in this case.
> 
> I considered this case, and this is why I made the decision I wrote above.
> 
> If the client is able to handle the leap second then we should give it
> the opportunity to do so.  There's a chance the client will iburst, so
> it will likely sync after 6 of the 8 iburst polls.  In this case, the
> 7th poll will contain either LI=0, meaning it doesn't believe that a
> leap event is pending, or it will send LI=1.  As soon as it sends either
> of these, the server knows how to respond to the client.  And if the
> time is close enough or in the leap smear period, the server may well be
> telling the client to use a shorter poll interval, so even if the client
> went from LI=3 to LI=0 it will continue to use a shorter poll interval
> and shift from correct time to smeared time.

And how do you know from the beginning if a client uses iburst?

What if a simple client always just sends LI 0x03?

> I even think I have a way to help this along even better, with an update
> to the EXTENDED-INFORMATION extension field.
> 
>>> If the client sends its request with an LI value of 0x0 before leap
>>> smearing starts, the server SHOULD respond with correct time with an LI
>>> value of 0x0, 0x1, or 0x2.
>>
>> No. If the server has been configured to smear the time and hide the
>> leap second then it should do so by default, which also means *not* to
>> send a leap second warning to a client unless the client clearly
>> indicates in its request that it anyway knows about the upcoming leap
>> second. Only in this case the server should send the leap second warning
>> flag 0x1 or 0x2 and true UTC instead of smeared time.
> 
> If you want your server to ALWAYS send smeared time, then you are right.

That's the intended behavior when using leap second smearing.

> If you want your server to offer correct time to clients that know how
> to handle the leap second and smeared time to clients that do not state
> they know how to handle a leap second, then I probably disagree with you
> and I'd appreciate our discussing this more so we can come to an agreement.

My main goals would be to not break compatibility with existing clients,
don't make configuration more complex than absolutely necessary, and
only if possible without side affects provide optional ways to improve
the client's behavior and resulting accuracy.

>>> If the client sends its request with an LI
>>> value of 0x0 *during* a leap smear correction, the server SHOULD respond
>>> with leap-smeared time and an LI value of 0x0, and MAY respond with
>>> correct time and an LI value of 0x1 or 0x2.
>>
>> No. IMO, if the client sends leap bits 0x0 or 0x3 then the server MUST
>> NOT respond with correct time and an LI value of 0x1 or 0x2 if it has
>> been configured to smear the leap second.
> 
> I do see your point and I remember thinking about this a lot, and there
> was a reason I wrote what I did.  That reason could be as simple as
> "SHOULD" means "you really really should do this, unless you have a Good
> Reason not to, in which case you MAY respond with LI=[12] and correct
> time." Put another way, I'm leaving an "escape hatch" for the
> possibility that there's a special case that hasn't been considered.
> 
>>> Furthermore, responses containing leap-smeared time SHOULD include a
>>> REFID that identifies the "system peer" as a leap-smeared source.  See
>>> draft-stenn-ntp-leap-smear-refid for more information.  This response
>>> also SHOULD include a SUGGESTED-REFID extension field, as described by
>>> draft-stenn-ntp-suggest-refid, to make it obvious that the system is
>>> following leap-smeared time.  These points address the  two follow-on
>>> questions.
>>
>> This is a good idea, but older clients or other client implementations
>> may not recognize the LEAP-SMEAR-REFID as a special case, and they may
>> not even accept a response from a server that has an extension field
>> they don't expect.
> 
> Agreed, and that's what the I-DO EF is for.  If the client sends this,
> the server knows what the client can accept.
> 
> It's been my experience that we don't want to send unsolicited EFs in
> server responses.

That's what I meant.

>> So eventually extension field handling should be mandatory for v5 of the
>> NTP protocol, and only if a v5 client request is received the server
>> should append that extension field.
> 
> Agreed.
> 
>> BTW, is there a common place to collect suggestions for v5 of the NTP
>> protocol?
> 
> I have a list of our ideas, and I'm happy to set up a place for it.

That would be appreciated.

>>> The LEAP-SMEAR-REFID and SUGGESTED-REFID extensions have another key
>>> role during the application of a leap smear - that of making sure the
>>> system behaves properly during the last half of the 12/12 leap smear
>>> correction.
>>>
>>> Once the leap second has applied, the LI value for correct time reverts
>>> to 0x0.  When a leap smearing client asks for time during the second
>>> phase of this correction, it will be sending its requests with LI=0x0,
>>> as *all* time requests from a leap-smearing client will contain LI=0x0
>>> when a leap event is not pending.  But in this case, how does the server
>>> know it should continue sending leap-smeared time, as opposed to correct
>>> time?  The answer is that the client requests include the client's
>>> REFID, which in this case SHOULD be a LEAP-SMEAR-REFID.
>>>
>>> When a server receives a mode 3 (client) request containing a
>>> LEAP-SMEAR-REFID during the second phase of a leap-smear correction, the
>>> server SHOULD respond with leap-smeared time and a LEAP-SMEAR-REFID as
>>> the SUGGESTED-REFID.
>>
>> Of course, the server should continue to send smeared time and the
>> LEAP-SMEAR-REFID as long as smearing is still in progress, but as I've
>> mentioned before, it should not append an extension field by default if
>> the client request is protocol v3 or v4.
> 
> Certainly not for v3, as EFs didn't exist there.  I'm fine with sending
> known-allowed EFs in v4 responses.

Which EF discussed here is known-allow for all or non-current NTPv4
implementations?

>> However, if the server *only* responds with leap-smeared time if it
>> receives the LEAP-SMEAR-REFID from the client then I'd expect that this
>> *breaks compatibility* with many simple client implementations that are
>> out in the wild. If such clients won't send this special REFID then they
>> would get non-smeared time back from the server after the leap second
>> has occurred, which may cause a 0.5 s time step on the client.
> 
> Yes.  And in that case there are several options to avoid this problem:
> 
> - configure the clients to query servers that will give them the time
> they want (there are several ways to do this),

That's the basic idea. If the client just has to use smeared time I
configure a server that provides it, and if I don#t want this I choose a
"normal" server. This doesn't require any tricks.

> - get motivated to upgrade the client software after the next leap second.

I think you know this is often not possible due to various reasons.

>> I don't think this consistent with the original idea of leap smearing,
>> which should explicitly avoid time steps.
> 
> Yes, but if the client is following a regular server they'll step by a
> second.  If they follow a leap smear server then they won't step.  And
> if they follow a "new style" server that offers smeared time to folks
> who only send a leap smear refid in the last half of the correction then
> they'll step a half-second correction.

Yes, and the operators of the client machine will be happy if they
configured leap smearing to avoid time steps, and now the time sis
stepped in spite of the smearing.

Sorry Harlan, but this sounds pretty error prone.


Martin
-- 
Martin Burnicki

Senior Software Engineer

MEINBERG Funkuhren GmbH & Co. KG
Email: martin.burnicki@meinberg.de
Phone: +49 5281 9309-414
Linkedin: https://www.linkedin.com/in/martinburnicki/

Lange Wand 9, 31812 Bad Pyrmont, Germany
Amtsgericht Hannover 17HRA 100322
Geschäftsführer/Managing Directors: Günter Meinberg, Werner Meinberg,
Andre Hartmann, Heiko Gerstung
Websites: https://www.meinberg.de  https://www.meinbergglobal.com
Training: https://www.meinberg.academy