ntp_auth(5)


Unix Man Pages patrocinadas por Marco Aldany


ntp_auth(5)                                                        ntp_auth(5)


NAME

       ntp_auth - Authentication Options


AUTHENTICATION SUPPORT

       Authentication  support allows the NTP client to verify that the server
       is in fact known and trusted and not an intruder intending accidentally
       or  on  purpose  to  masquerade as that server. The NTPv3 specification
       RFC-1305 defines a scheme which provides  cryptographic  authentication
       of  received  NTP  packets.  Originally,  this  was done using the Data
       Encryption Standard (DES) algorithm operating in Cipher Block  Chaining
       (CBC) mode, commonly called DES-CBC. Subsequently, this was replaced by
       the RSA Message Digest 5 (MD5) algorithm using a private key,  commonly
       called  keyed-MD5.  Either algorithm computes a message digest, or one-
       way hash, which can be used to verify the server has the  correct  pri-
       vate key and key identifier.

       NTPv4  retains  the  NTPv3  scheme, properly described as symmetric key
       cryptography, and, in addition, provides a new Autokey scheme based  on
       public  key  cryptography. Public key cryptography is generally consid-
       ered more secure than symmetric key cryptography, since the security is
       based  on  a  private  value  which is generated by each host and never
       revealed. With the exception of the group key described later, all  key
       distribution and management functions involve only public values, which
       considerably simplifies key distribution and storage. Public  key  man-
       agement  is  based on X.509 certificates, which can be provided by com-
       mercial services or produced by utility programs in the  OpenSSL  soft-
       ware library or the NTPv4 distribution.

       While the algorithms for symmetric key cryptography are included in the
       NTPv4 distribution, public key cryptography requires the OpenSSL  soft-
       ware library to be installed before building the NTP distribution. This
       library is available from http://www.openssl.org and can  be  installed
       using  the  procedures outlined in the Building and Installing the Dis-
       tribution page. Once installed, the configure and build  process  auto-
       matically  detects the library and links the library routines required.

       Authentication is configured separately for each association using  the
       key  or autokey subcommand on the peer, server, broadcast and manycast-
       client configuration commands as described in the Configuration Options
       page.  The authentication options described below specify the locations
       of the key files, if other  than  default,  which  symmetric  keys  are
       trusted  and  the  interval  between  various operations, if other than
       default.

       Authentication is always enabled, although ineffective if  not  config-
       ured  as  described  below. If a NTP packet arrives including a message
       authentication code (MAC), it is accepted only if it passes all crypto-
       graphic  checks.  The checks require correct key ID, key value and mes-
       sage digest. If the packet has been modified in any way or replayed  by
       an intruder, it will fail one or more of these checks and be discarded.
       Furthermore,  the  Autokey  scheme  requires  a  preliminary   protocol
       exchange  to  obtain the server certificate, verify its credentials and
       initialize the protocol

       The auth flag controls whether new associations or remote configuration
       commands  require cryptographic authentication. This flag can be set or
       reset by the enable and disable commands and also by remote  configura-
       tion  commands  sent  by a ntpdc program running on another machine. If
       this flag is enabled, which is the default case, new broadcast/manycast
       client and symmetric passive associations and remote configuration com-
       mands must be cryptographically authenticated  using  either  symmetric
       key  or public key cryptography. If this flag is disabled, these opera-
       tions are effective even if not cryptographic authenticated. It  should
       be understood that operating with the auth flag disabled invites a sig-
       nificant vulnerability  where  a  rogue  hacker  can  masquerade  as  a
       truechimer and seriously disrupt system timekeeping. It is important to
       note that this flag has no purpose other than to allow  or  disallow  a
       new  association in response to new broadcast and symmetric active mes-
       sages and remote configuration commands and, in  particular,  the  flag
       has no effect on the authentication process itself.

       The security model and protocol schemes for both symmetric key and pub-
       lic key cryptography are summarized below; further details are  in  the
       briefings,  papers  and  reports  at  the  NTP project page linked from
       www.ntp.org.


SYMMETRIC KEY CRYPTOGRAPHY

       The original RFC-1305 specification allows any one of  possibly  65,534
       keys, each distinguished by a 32-bit key identifier, to authenticate an
       association. The servers and clients involved must agree on the key and
       key  identifier  to authenticate NTP packets. Keys and related informa-
       tion are specified in a key file, usually called ntp.keys,  which  must
       be  distributed  and  stored using secure means beyond the scope of the
       NTP protocol itself. Besides the keys used for  ordinary  NTP  associa-
       tions,  additional keys can be used as passwords for the ntpq and ntpdc
       utility programs. Ordinarily, the ntp.keys file  is  generated  by  the
       ntp-keygen  program.  When ntpd is first started, it reads the key file
       specified in the keys configuration command and installs  the  keys  in
       the  key  cache.  However,  individual  keys must be activated with the
       trustedkey command before use. This allows, for instance, the installa-
       tion of possibly several batches of keys and then activating or deacti-
       vating each batch remotely using ntpdc. This also provides a revocation
       capability  that  can  be  used  if  a  key  becomes  compromised.  The
       requestkey command selects the key used as the password for  the  ntpdc
       utility, while the controlkey command selects the key used as the pass-
       word for the ntpq utility.


PUBLIC KEY CRYPTOGRAPHY

       NTPv4 supports the original NTPv3 symmetric  key  scheme  described  in
       RFC-1305 and in addition the Autokey protocol, which is based on public
       key cryptography. The Autokey  Version  2  protocol  described  on  the
       Autokey  Protocol  page  verifies  packet  integrity  using MD5 message
       digests and verifies the source with digital signatures and any of sev-
       eral  digest/signature  schemes. Optional identity schemes described on
       the Identity Schemes page and based on cryptographic challenge/response
       algorithms  are  also  available.  Using  these schemes provides strong
       security against replay with or without  modification,  spoofing,  mas-
       querade and most forms of clogging attacks.

       The  Autokey  protocol  has several modes of operation corresponding to
       the various NTP modes supported. Most modes use a special cookie  which
       can  be  computed independently by the client and server, but encrypted
       in transmission. All modes use in  addition  a  variant  of  the  S-KEY
       scheme,  in  which  a  pseudo-random  key list is generated and used in
       reverse order. These schemes are described along with an executive sum-
       mary,   current  status,  briefing  slides  and  reading  list  on  the
       Autonomous Authentication page.

       The specific cryptographic environment  used  by  Autokey  servers  and
       clients is determined by a set of files and soft links generated by the
       ntp-keygen program. This includes a required host  key  file,  required
       host  certificate  file and optional sign key file, leapsecond file and
       identity scheme files. The digest/signature scheme is specified in  the
       X.509  certificate  along with the matching sign key. There are several
       schemes available in the OpenSSL software library, each identified by a
       specific  string such as md5WithRSAEncryption, which stands for the MD5
       message digest with RSA encryption scheme. The current NTP distribution
       supports  all the schemes in the OpenSSL library, including those based
       on RSA and DSA digital signatures.

       NTP secure groups can be used to define cryptographic compartments  and
       security  hierarchies.  It is important that every host in the group be
       able to construct a certificate trail to one or more trusted  hosts  in
       the same group. Each group host runs the Autokey protocol to obtain the
       certificates for all hosts along the  trail  to  one  or  more  trusted
       hosts.  This  requires  the configuration file in all hosts to be engi-
       neered so that, even under anticipated failure conditions, the NTP sub-
       net  will  form such that every group host can find a trail to at least
       one trusted host.


NAMING AND ADDRESSING

       It is important to note that  Autokey  does  not  use  DNS  to  resolve
       addresses, since DNS can't be completely trusted until the name servers
       have synchronized clocks. The cryptographic name  used  by  Autokey  to
       bind  the  host  identity  credentials and cryptographic values must be
       independent of interface, network and any other naming convention.  The
       name  appears in the host certificate in either or both the subject and
       issuer fields, so protection against DNS compromise is essential.

       By convention, the name of an Autokey host is the name returned by  the
       Unix  gethostname()  system call or equivalent in other systems. By the
       system design model, there are no provisions to allow  alternate  names
       or  aliases.  However,  this  is not to say that DNS aliases, different
       names for each interface, etc., are constrained in any way.

       It is also important to note that Autokey verifies  authenticity  using
       the  host name, network address and public keys, all of which are bound
       together by the protocol specifically to  deflect  masquerade  attacks.
       For  this  reason  Autokey  includes  the  source  and  destinatino  IP
       addresses in message digest computations and so the same addresses must
       be  available  at both the server and client. For this reason operation
       with network address translation schemes is not possible. This reflects
       the  intended  robust security model where government and corporate NTP
       servers are operated outside firewall perimeters.


CONFIGURATION

       Autokey has an intimidating number of options, most of  which  are  not
       necessary  in typical scenarios. The simplest configuration consists of
       a subnet with one or more servers at the same  low  stratum  acting  as
       trusted hosts and with dependent clients at higher strata and sharing a
       single secure group and identity scheme. Each trusted host generates  a
       host  key,  trusted  certificate and group key. Each client generates a
       host key, normal certificate and installs the group key of each trusted
       host using secure means and renames it as the name of the trusted host.

       For example, trusted host Alice generates keys using

       ntp-keygen -H -T -I -p xyz

       where H specifies a new host key, T the trusted certificate, I the  IFF
       identity  scheme  and  p  the  password used to encrypt the private key
       files. The  group  key  file  is  ntpkey_IFFpar_alice.filestamp,  where
       filestamp  represents  the NTP time in seconds when the file was gener-
       ated.

       Host Bob generate keys using

       ntp-keygen -H -p abc

       where abc is different for each group host. The trusted host  generates
       a password-protected group key using

       ntp-keygen -q xyz -p abc -e >temp

       where xyz is the trusted host password, abc is the password supplied by
       the client and temp is a temporary file. This file  is  transmitted  to
       Bob using secure means and renamed to the fully qualified host name for
       Alice preceded by the string ntpkey_iff_.


OPERATION

       A specific combination of authentication scheme (none,  symmetric  key,
       public  key)  and  identity scheme is called a cryptotype, although not
       all combinations are compatible. There may be management configurations
       where the clients, servers and peers may not all support the same cryp-
       totypes. A secure NTPv4 subnet can be configured  in  many  ways  while
       keeping  in  mind  the  principles explained above and in this section.
       Note however that some cryptotype combinations may successfully  inter-
       operate  with each other, but may not represent good security practice.

       The cryptotype of an association is determined at the time of mobiliza-
       tion, either at configuration time or some time later when a message of
       appropriate cryptotype arrives. When mobilized by a server or peer con-
       figuration  command  and no key or autokey subcommands are present, the
       association is not authenticated; if the key subcommand is present, the
       association  is  authenticated using the symmetric key ID specified; if
       the autokey subcommand is present,  the  association  is  authenticated
       using Autokey.


KEY MANAGEMENT

       The  cryptographic values used by the Autokey protocol are incorporated
       as a set of files generated by the ntp-keygen utility program,  includ-
       ing  symmetric  key,  host key and public certificate files, as well as
       sign key, identity parameters  and  leapseconds  files.  Alternatively,
       host  and  sign  keys  and  certificate  files  can be generated by the
       OpenSSL utilities and certificates can be imported from public certifi-
       cate  authorities.  Note that symmetric keys are necessary for the ntpq
       and ntpdc utility programs. The remaining files are necessary only  for
       the Autokey protocol.

       Certificates  imported  from  OpenSSL or public certificate authorities
       have certian limitations. The certificate should be  in  ASN.1  syntax,
       X.509  Version  3  format  and encoded in PEM, which is the same format
       used by OpenSSL. The overall length of the certificate encoded in ASN.1
       must  not  exceed 1024 bytes. The subject distinguished name field (CN)
       is the fully qualified name of the  host  on  which  it  is  used;  the
       remaining  subject fields are ignored. The certificate extension fields
       must not contain either a subject key identifier or a issuer key  iden-
       tifier  field;  however, an extended key usage field for a trusted host
       must contain the value trustRoot;. Other extension fields are  ignored.


AUTHENTICATION COMMANDS

       autokey [logsec]
               Specifies the interval between regenerations of the session key
               list used with the Autokey protocol. Note that the size of  the
               key  list for each association depends on this interval and the
               current poll interval. The default value is 12 (4096 s or about
               1.1  hours). For poll intervals above the specified interval, a
               session key list with a single entry will  be  regenerated  for
               every message sent.

       controlkey key
               Specifies  the  key  identifier  to  use with the ntpq utility,
               which uses the standard protocol defined in RFC-1305.  The  key
               argument  is  the  key  identifier for a trusted key, where the
               value can be in the range 1 to 65,534, inclusive.

       crypto [cert file] [leap file] [randfile file] [host file] [sign  file]
       [ident scheme] [iffpar file] [gqpar file] [mvpar file] [pw password]
               This command requires the OpenSSL library. It activates  public
               key  cryptography,  selects  the  message  digest and signature
               encryption scheme and loads the  required  private  and  public
               values  described above. If one or more files are left unspeci-
               fied, the default names are used as described above. Unless the
               complete  path and name of the file are specified, the location
               of a file is relative to the keys directory  specified  in  the
               keysdir  command or default /etc/ntp. Following are the subcom-
               mands:

               cert file
                       Specifies the location of the required host public cer-
                       tificate   file.   This   overrides   the   link   ntp-
                       key_cert_hostname in the keys directory.

               gqpar file
                       Specifies the location  of  the  client  GQ  parameters
                       file. This overrides the link ntpkey_gq_hostname in the
                       keys directory.

               host file
                       Specifies the location of the required host  key  file.
                       This overrides the link ntpkey_key_hostname in the keys
                       directory.

               ident scheme
                       Requests the server identity scheme, which can be  IFF,
                       GQ  or  MV.  This  is  used when the host will not be a
                       server for a dependent client.

               iffpar file
                       Specifies the location of the optional  IFF  parameters
                       file.This overrides the link ntpkey_iff_hostname in the
                       keys directory.

               leap file
                       Specifies the location of the client  leapsecond  file.
                       This  overrides the link ntpkey_leap in the keys direc-
                       tory.

               mv      Requests the MV server identity scheme.

               mvpar file
                       Specifies the location  of  the  client  MV  parameters
                       file. This overrides the link ntpkey_mv_hostname in the
                       keys directory.

               pw password
                       Specifies the password to decrypt files containing pri-
                       vate  keys  and  identity  parameters. This is required
                       only if these files have been encrypted.

               randfile file
                       Specifies the location of the random seed file used  by
                       the  OpenSSL library. The defaults are described in the
                       main text above.

               sign file
                       Specifies the location of the optional sign  key  file.
                       This  overrides  the  link  ntpkey_sign_hostname in the
                       keys directory. If this file is not found, the host key
                       is also the sign key.

       keys keyfile
               Specifies  the  complete  path and location of the MD5 key file
               containing the keys and key identifiers used by ntpd, ntpq  and
               ntpdc  when  operating with symmetric key cryptography. This is
               the same operation as the -k command line option.

       keysdir path
               This command specifies the default directory path  for  crypto-
               graphic  keys,  parameters  and  certificates.  The  default is
               /etc/ntp.

       requestkey key
               Specifies the key identifier to use with the ntpdc utility pro-
               gram, which uses a proprietary protocol specific to this imple-
               mentation of ntpd. The key argument is a key identifier for the
               trusted  key,  where the value can be in the range 1 to 65,534,
               inclusive.

       revoke [logsec]
               Specifies the  interval  between  re-randomization  of  certain
               cryptographic  values used by the Autokey scheme, as a power of
               2 in seconds. These values need to  be  updated  frequently  in
               order  to  deflect brute-force attacks on the algorithms of the
               scheme; however, updating some values is a relatively expensive
               operation.  The  default  interval  is 16 (65,536 s or about 18
               hours). For poll intervals above the  specified  interval,  the
               values will be updated for every message sent.

       trustedkey key [...]
               Specifies  the  key  identifiers which are trusted for the pur-
               poses of authenticating peers with symmetric key  cryptography,
               as  well  as  keys  used  by  the  ntpq and ntpdc programs. The
               authentication procedures  require  that  both  the  local  and
               remote  servers  share the same key and key identifier for this
               purpose, although different keys can  be  used  with  different
               servers.  The  key  arguments are 32-bit unsigned integers with
               values from 1 to 65,534.


ERROR CODES

       Errors can occur due to mismatched configurations, unexpected restarts,
       expired  certificates and unfriendly people. In most cases the protocol
       state machine recovers automatically  by  retransmission,  timeout  and
       restart,  where  necessary.  Some  errors  are  due to mismatched keys,
       digest schemes or identity schemes and must be corrected by  installing
       the  correct media and/or correcting the configuration file. One of the
       most common errrors is expired certificates, which must be  regenerated
       and signed at least once per year using the ntp-keygen program.

       The following error codes are reported via the NTP control and monitor-
       ing protocol trap mechanism.

       101 (bad field format or length)
               The packet has invalid version, length or format.

       102 (bad timestamp)
               The packet timestamp is the same or older than the most  recent
               received.  This could be due to a replay or a server clock time
               step.

       103 (bad filestamp)
               The packet filestamp is the same or older than the most  recent
               received.  This  could be due to a replay or a key file genera-
               tion error.

       104 (bad or missing public key)
               The public key is missing, has incorrect format or is an unsup-
               ported type.

       105 (unsupported digest type)
               The server requires an unsupported digest/signature scheme.

       106 (unsupported identity type)
               The client or server has requested an identity scheme the other
               does not support.

       107 (bad signature length)
               The signature length does not match the current public key.

       108 (signature not verified)
               The message fails the signature check. It  could  be  bogus  or
               signed by a different private key.

       109 (certificate not verified)
               The certificate is invalid or signed with the wrong key.

       110 (host certificate expired)
               The old server certificate has expired.

       111 (bad or missing cookie)
               The cookie is missing, corrupted or bogus.

       112 (bad or missing leapseconds table)
               The leapseconds table is missing, corrupted or bogus.

       113 (bad or missing certificate)
               The certificate is missing, corrupted or bogus.

       114 (bad or missing group key)
               The identity key is missing, corrupt or bogus.

       115 (protocol error)
               The protocol state machine has wedged due to unexpected restart

       116 (server certificate expired)
               The old server certificate has expired.


FILES

       See the ntp-keygen page.


LEAPSECONDS TABLE

       The NIST provides a file documenting the epoch for all  historic  occa-
       sions  of  leap second insertion since 1972. The leapsecond table shows
       each epoch of insertion along with the offset of  International  Atomic
       Time (TAI) with respect to Coordinated Universal Time (UTC), as dissem-
       inated by NTP. The table can be obtained directly  from  NIST  national
       time servers using ftp as the ASCII file pub/leap-seconds.

       While  not  strictly a security function, the Autokey protocol provides
       means to securely retrieve the leapsecond table from a server or  peer.
       Servers  load  the leapsecond table directly from the file specified in
       the crypto command, with default ntpkey_leap, while clients can  obtain
       the  table indirectly from the servers using the Autokey protocol. Once
       loaded, the table can be provided  on  request  to  other  clients  and
       servers.


SEE ALSO

       ntp.conf(5), ntpd(8)

       Primary source of documentation: /usr/share/doc/ntp-*

       This file was automatically generated from HTML source.

                                                                   ntp_auth(5)

Esta página está a su disposición por cortesía de Marco Aldany, la primera cadena de peluquería y estética de España.
Si está interesado en ser franquiciado, puede ver la página MARCO ALDANY - MundoFranquicia, en donde se presenta la empresa.
También puede ver un Videochat de Marco Aldany publicado en ABC.es