4
However,  there was  still  the  need to authenticate  NTP
packets  in  the  export  version.  Louis  Mamakos  of  U
Maryland  adapted  the  MD5  message  digest  algorithm
for NTP. This algorithm is specifically designed for the
same function as the DES-CBC algorithm, but is free of
ITAR restrictions. In NTP Version 4 the export distribu-
tion  has  been  discontinued  and  the  DES  source  code
deleted; however, the algorithm interface is compatible
with  widely  available  cryptographic  libraries,  such  as
rsaref2.0  from  RSA  Laboratories.  If  needed,  there  are
numerous sources of the DES source code from foreign
archive  sites,  so  it  is  readily  possible  to  obtain  it  and
install in the standard distribution.
While  MD5-based  source  authentication  has  worked
well, it requires secret keys, which complicates key dis-
tribution  and,  especially  for  multicast-based  modes,  is
vulnerable  to  compromise.  Public-key  cryptography
simplifies  key  distribution,  but  can  severely  degrade
timekeeping  quality.  The  Internet  Engineering  Task
Force  (IETF)  has  defined  several  cryptographic  algo-
rithms and  protocols, but these require  persistent  state,
which is not possible in some NTP modes. Some appre-
ciation of the problems is apparent from the observation
that  secure  timekeeping  requires  secure  cryptographic
media,  but  secure  media  require  reliable  lifetime
enforcement [4]. The implied circularity applies to any
secure time synchronization service, including NTP.
These problems were addressed in NTP Version 4 with a
new  security  model  and  protocol  called  Autokey.
Autokey uses a combination of public-key cryptography
and  a  pseudo-random  keystream  [1].  Since  public-key
cryptography  hungers  for  large  chunks  of  processor
resources and can degrade timekeeping quality, the algo-
rithms are used sparingly in an offline mode to sign and
verify  time values,  while  the much  less expensive  key-
stream is used to authenticate the packets relative to the
signed values. Furthermore, Autokey is completely self-
configuring, so that servers and clients can be deployed
and  redeployed  in  an  arbitrary  topology  and  automati-
cally exchange signed values without  manual  interven-
tion.  Further  information  is  available  at
www.eecid.udel.edu/~mills/autokey.htm.
The flip side of autonomous deployment is how a ragtag
bunch of servers and clients randomly deployed in a net-
work  substrate  can  find  each  other  and  automatically
configure  which  servers  directly  exchange  time  values
and which depend on intervening servers. The technol-
ogy which supports this feature is called Autoconfigure
and has evolved as follows.
In the beginning, almost all NTP servers operated in cli-
ent/server mode, where a client sends requests at inter-
vals  ranging  from  one  minute  to  tens  of  minutes,
depending on accuracy requirements. In this mode time
values  flow  outward  from  the  primary  servers  through
possibly  several layers of secondary  servers to the cli-
ents. In some cases involving multiply redundant serv-
ers,  peers  operate  in  symmetric  mode  and  values  can
flow from one peer to the other or vice versa, depending
on which one is closest to the primary source according
to a defined metric. Some institutions like U Delaware
and GTE, for example, operate multiple primary servers,
each connected to one or more redundant radio and sat-
ellite  receivers  using  different  dissemination  services.
This  forms  an  exceptionally  robust  synchronization
source  for  both  on-campus  and  off-campus  public
access.
In  NTP  Version  3,  configuration  files  had  to  be  con-
structed manually using information found in the lists of
public servers at www.ntp.org, although some sites par-
tially automated the process using crafted DNS records.
Where very large numbers of clients are involved, such
as in large corporations with hundreds and thousands of
personal  computers  and  workstations,  the  method  of
choice is broadcast mode, which was added in NTP Ver-
sion 3, or multicast mode, which was added in NTP Ver-
sion 4.
However, since clients to not send to servers, there was
no  way  to  calibrate  and  correct  for  the  server-client
propagation delay in NTP Version 3. This is provided in
NTP Version 4 by a protocol modification in which the
client,  once  receiving  the  first  broadcast  packet,  exe-
cutes a volley of client/server exchanges in order to cali-
brate  the  delay  and  then  reverted  to  listen-only  mode.
Coincidentally,  this  initial  exchange  is  used  by  the
Autokey protocol to retrieve the server  credentials  and
verify its authenticity.
Notwithstanding  the  progress  toward  a  truly  autono-
mous deployment  capability  described  here,  there  still
remains work to be  done. The current research project
funded by DARPA under the Next Generation  Internet
program is actively pursuing this goal, as discussed in a
following section.
4.  Radios, we have Radios
For as many years as NTP has ticked on this planet, the
definitive source for public NTP servers has been a set
of tables, one for primary servers and the other for sec-
ondary servers, maintained at www.ntp.org. Each server
in those tables is operated as a public service and main-
tained by a volunteer staff. Primary (stratum 1) servers
have up to several hundred clients and a few operated by
NIST and USNO may have several times that number. A