Subject: Re: [ntpwg] [TICTOC] WGLC on NTS: Server seed key refresh

From: Hal Murray <[email-masked]>
Date: Wed, 06 Apr 2016 16:51:02 -0700

[email-masked] said:
> Yes, the staggering would be desirable. I've discussed this with Kristof so=
> me time ago. The problem with this is - as far as I remember - that the ser=
> ver would have to save state, because if the server re-generates the cookie=
>  upon a client request the choice of the server seed would be a function of=
>  the provided KIV. This would have violated the paradigm to have the the pr=
> otocol stateless on the server-side. However, if the advantages in introduc=
> ing state at the server-side outweighs the disadvantage, we might change th=
> is paradigm. 

There are two levels of "state".

You could save a seed per-client.  That looks expensive, but may still be 
practical with modern hardware.

You could also batch things, say by hashing the client's IP Address to access 
a table of seeds.  The size of the table would determine the reduction in 
peak load.

There is probably a maximum useful size of such a table.  I think we could 
calculate it if we had good statistics.

-- 
These are my opinions.  I hate spam.

_______________________________________________
ntpwg mailing list
[email-masked]
http://lists.ntp.org/listinfo/ntpwg

---

From: Miroslav Lichvar <[email-masked]>
Date: Thu, 7 Apr 2016 09:16:20 +0200

> calculate it if we had good statistics.

That could work.

Another option is to use just two seeds and slowly pull the clients
from one seed to another using a threshold for the hash of the
client's address. The refreshing operation could be something like:

- all clients are using seed 1
- seed 2 is generated
- set the threshold to 0
- slowly increment the threshold, clients with their hash below the
  threshold are using seed 2
- all clients are using seed 2
- copy seed 2 to seed 1 and start the process again

The server could increment the threshold as slowly as needed and it
requires only constant memory.

-- 
Miroslav Lichvar

---

From: Hal Murray <[email-masked]>
Date: Thu, 07 Apr 2016 00:36:39 -0700

[email-masked] said:
> Another option is to use just two seeds and slowly pull the clients from one
> seed to another using a threshold for the hash of the client's address.

I like that.  Thanks.