Subject: [Ntp] Publication has been requested for draft-ietf-ntp-using-nts-for-ntp-20

From: Karen O'Donoghue via Datatracker <[email-masked]>
Date: Thu, 07 Nov 2019 07:02:55 -0800

Karen O&#39;Donoghue has requested publication of draft-ietf-ntp-using-nts-for-ntp-20 as Proposed Standard on behalf of the NTP working group.

Please verify the document's state at https://datatracker.ietf.org/doc/draft-ietf-ntp-using-nts-for-ntp/

---

From: Daniel Lublin <[email-masked]>
Date: Wed, 13 Nov 2019 12:48:25 +0100

> Please verify the document's state at https://datatracker.ietf.org/doc/draft-ietf-ntp-using-nts-for-ntp/

As was mentioned on the list in July, section "1.2. Protocol Overview" is
outdated. It says, wrongly:

   with a list of one or more IP addresses to NTP servers for which the cookies

but should say:

   with an address to the NTP server for which the cookies

Or something similar, in singular!

For reference, see "4.1.7. NTPv4 Server Negotiation":

   Its body consists of an ASCII-encoded [ANSI.X3-4.1986] string. The
   contents of the string SHALL be either an IPv4 address in dotted decimal
   notation, an IPv6 address, or a fully qualified domain name (FQDN).

---

From: Dieter Sibold <[email-masked]>
Date: Wed, 13 Nov 2019 15:35:19 +0000

Hi Daniel,
thanks for the pointing to this issue. We will check and correct accordingly.
Dieter 

Am 13.11.19, 12:48 schrieb "Daniel Lublin" <[email-masked]>:

    
    
    but should say:

---

From: Miroslav Lichvar <[email-masked]>
Date: Wed, 13 Nov 2019 17:07:10 +0100

>    with a list of one or more IP addresses to NTP servers for which the cookies

Is it wrong to interpret a FQDN as a list of addresses?

>    with an address to the NTP server for which the cookies

Or maybe "with an address or name"?

-- 
Miroslav Lichvar

---

From: Hal Murray <[email-masked]>
Date: Thu, 14 Nov 2019 01:38:53 -0800

> Is it wrong to interpret a FQDN as a list of addresses? 

Good question.

I vote we add something like "use only one address, but the client gets to 
pick which one".

Our code processes the list in order, using the first one that isn't already 
in use.  Thus
  server foo.example.com nts
  server foo.example.com nts
Will get 2 connnections to the same server in the typical case where the 
server has both an IPv4 address and a IPv6 address.

Suppose we want to use more than one address.

Plan A would be to use all the addresses, starting each address with all 8 
cookies.  That would use the first 8 cookies multiple times and use the same 
C2S and S2C keys on multiple connections.  Hopefully, the crypto we are using 
will survive an attack using that info.  It seems appropriate not to push 
things unless we want to do a serious analysis.

Plan B would be to split the 8 cookies over several addresses.  That still 
leaves reusing C2S and S2C.  I think we have calculations on how much traffic 
a key is good for.  I didn't find anything with a quick scan of the draft.  
Did I miss it?  Should we add it?  Is a factor of 8 interesting?

Should we add a section about C2S and S2C lifetime, even if the result is off 
scale so we know how far off scale it is?

-- 
These are my opinions.  I hate spam.

---

From: Miroslav Lichvar <[email-masked]>
Date: Thu, 14 Nov 2019 11:39:15 +0100

> I vote we add something like "use only one address, but the client gets to 

I think it should prefer the address family (IPv4/IPv6) it used to
connect NTS-KE. Wasn't that the original reason for allowing hostnames
in the NTS-KE record, that some servers behind NAT may not know the
address of the client and cannot respond with the corresponding
address?

Should multiple addresses per IPv4/IPv6 be expected and what does that
mean? Are they different addresses of the same server, or different
servers? There is only one "Server Negotiation" record allowed in the
NTS-KE response, so I think that suggests it's supposed to be only one
server.

Another question is what should happen when a client runs out of
cookies, starts a new NTS-KE exchange, and gets a different address or
hostname than before. Is it ok to continue using the old address for
as long as it responds?

> server has both an IPv4 address and a IPv6 address.

I guess if you specified the same server twice, you would expect to
have two associations with that server.

What about "pool"? Does it create multiple associations if the
negotiated "hostname" resolved to multiple addresses?

In my implementation I'm currently going with the "single server"
interpretation and won't be using multiple addresses.

-- 
Miroslav Lichvar