ntp-keygen - phpMan

Command: man perldoc info search(apropos)  


ntp-keygen(1)                                                    ntp-keygen(1)



NAME
       ntp-keygen - generate public and private keys


SYNOPSIS
       ntp-keygen  [ -deGgHIMnPT ] [ -c [RSA-MD2 | RSA-MD5 | RSA-SHA | RSA-SHA1 | RSA-MDC2
       | RSA-RIPEMD160 | DSA-SHA | DSA-SHA1 ] ] [ -i name ] [ -p password ] [ -S [  RSA  |
       DSA ] ] [ -s name ] [ -v nkeys ]


DESCRIPTION
       This  program  generates  cryptographic data files used by the NTPv4 authentication
       and identification schemes. It generates MD5 key files used in symmetric key  cryp-
       tography.  In addition, if the OpenSSL software library has been installed, it gen-
       erates keys, certificate and identity files used in public key cryptography.  These
       files  are  used  for  cookie  encryption, digital signature and challenge/response
       identification algorithms compatible with the Internet  standard  security  infras-
       tructure.

       All  files  are  in  PEM-encoded printable ASCII format, so they can be embedded as
       MIME attachments in mail to other sites and certificate  authorities.  By  default,
       files are not encrypted. The -p password option specifies the write password and -q
       password option the read password for previously encrypted  files.  The  ntp-keygen
       program  prompts for the password if it reads an encrypted file and the password is
       missing or incorrect. If an encrypted file is read successfully and no write  pass-
       word is specified, the read password is used as the write password by default.

       The  ntpd  configuration command crypto pw password specifies the read password for
       previously encrypted files. The daemon expires on the spot if the password is miss-
       ing  or  incorrect.  For  convenience, if a file has been previously encrypted, the
       default read password is the name of the host running the program. If the  previous
       write  password is specified as the host name, these files can be read by that host
       with no explicit password.

       File names  begin  with  the  prefix  ntpkey_  and  end  with  the  postfix  _host-
       name.filestamp,  where  hostname  is the owner name, usually the string returned by
       the Unix gethostname() routine, and filestamp is the NTP seconds when the file  was
       generated,  in decimal digits. This both guarantees uniqueness and simplifies main-
       tenance procedures, since all files can be quickly removed by a rm ntpkey*  command
       or  all  files  generated at a specific time can be removed by a rm *filestamp com-
       mand. To further reduce the risk of misconfiguration, the first two lines of a file
       contain the file name and generation date and time as comments.

       All files are installed by default in the keys directory /etc/ntp. The actual loca-
       tion of the keys directory and each file can be overridden  by  configuration  com-
       mands, but this is not recommended. Normally, the files for each host are generated
       by that host and used only by that host, although exceptions exist as  noted  later
       on this page.

       Normally,  files  containing  private  values, including the host key, sign key and
       identification parameters, are permitted root read/write-only;  while  others  con-
       taining public values are permitted world readable. Alternatively, files containing
       private values can be encrypted and these files  permitted  world  readable,  which
       simplifies  maintenance  in shared file systems. Since uniqueness is insured by the
       hostname and file name extensions, the files for a NFS server and dependent clients
       can all be installed in the same shared directory.

       The recommended practice is to keep the file name extensions when installing a file
       and to install a soft link from the generic names specified elsewhere on this  page
       to  the generated files. This allows new file generations to be activated simply by
       changing the link. If a link is present, ntpd  follows  it  to  the  file  name  to
       extract  the  filestamp. If a link is not present, ntpd extracts the filestamp from
       the file itself. This allows clients to verify that the file and  generation  times
       are  always  current.  The ntp-keygen program uses the same timestamp extension for
       all files generated at one time, so each generation is distinct and can be  readily
       recognized in monitoring data.


RUNNING THE PROGRAM
       The  safest  way  to  run the ntp-keygen program is logged in directly as root. The
       recommended procedure is change to the keys directory, usually /etc/ntp,  then  run
       the program. When run for the first time, or if all ntpkey files have been removed,
       the program generates a RSA host key file and matching  RSA-MD5  certificate  file,
       which is all that is necessary in many cases. The program also generates soft links
       from the generic names to the respective files. If run again, the program uses  the
       same host key file, but generates a new certificate file and link.

       The  host  key is used to encrypt the cookie when required and so must be RSA type.
       By default, the host key is also the sign key used  to  encrypt  signatures.   When
       necessary,  a different sign key can be specified and this can be either RSA or DSA
       type. By default, the message digest type is MD5, but any combination of  sign  key
       type  and  message  digest  type supported by the OpenSSL library can be specified,
       including those using the MD2, MD5, SHA, SHA1,  MDC2  and  RIPE160  message  digest
       algorithms.  However,  the  scheme  specified in the certificate must be compatible
       with the sign key. Certificates using any digest algorithm are compatible with  RSA
       sign  keys;  however,  only  SHA and SHA1 certificates are compatible with DSA sign
       keys.

       Private/public key files and certificates are compatible with other OpenSSL  appli-
       cations  and  very  likely  other  libraries  as  well. Certificates or certificate
       requests derived from them should be  compatible  with  extant  industry  practice,
       although  some users might find the interpretation of X509v3 extension fields some-
       what liberal. However, the identification parameter files, although encoded as  the
       other files, are probably not compatible with anything other than Autokey.

       Running the program as other than root and using the Unix su command to assume root
       may not work properly, since by default the OpenSSL library looks  for  the  random
       seed  file .rnd in the user home directory. However, there should be only one .rnd,
       most conveniently in the root directory, so it is convenient to define  the  $RAND-
       FILE environment variable used by the OpenSSL library as the path to /.rnd.

       Installing  the  keys as root might not work in NFS-mounted shared file systems, as
       NFS clients may not be able to write to the shared keys directory, even as root. In
       this  case,  NFS  clients  can  specify the files in another directory such as /etc
       using the keysdir command. There is no need for one client to  read  the  keys  and
       certificates  of other clients or servers, as these data are obtained automatically
       by the Autokey protocol.

       Ordinarily, cryptographic files are generated by the host that uses them, but it is
       possible for a trusted agent (TA) to generate these files for other hosts; however,
       in such cases files should always be encrypted. The subject name and  trusted  name
       default  to  the  hostname  of the host generating the files, but can be changed by
       command line options. It is convenient to designate the owner name and trusted name
       as  the subject and issuer fields, respectively, of the certificate. The owner name
       is also used for the host and sign key files, while the trusted name  is  used  for
       the identity files.


TRUSTED HOSTS AND GROUPS
       Each cryptographic configuration involves selection of a signature scheme and iden-
       tification scheme, called a cryptotype, as explained in the Authentication  Options
       page. The default cryptotype uses RSA encryption, MD5 message digest and TC identi-
       fication. First, configure a NTP subnet including one or more  low-stratum  trusted
       hosts  from  which  all  other hosts derive synchronization directly or indirectly.
       Trusted hosts have trusted certificates; all other hosts have  nontrusted  certifi-
       cates.  These hosts will automatically and dynamically build authoritative certifi-
       cate trails to one or more trusted hosts. A trusted group is the set of  all  hosts
       that  have,  directly  or indirectly, a certificate trail ending at a trusted host.
       The trail is  defined  by  static  configuration  file  entries  or  dynamic  means
       described on the Automatic NTP Configuration Options page.

       On each trusted host as root, change to the keys directory. To insure a fresh file-
       set, remove all ntpkey files. Then run ntp-keygen -T to generate keys and a trusted
       certificate.  On all other hosts do the same, but leave off the -T flag to generate
       keys and nontrusted certificates. When complete, start the NTP daemons beginning at
       the  lowest  stratum  and working up the tree. It may take some time for Autokey to
       instantiate the certificate trails throughout the subnet, but setting up the  envi-
       ronment is completely automatic.

       If it is necessary to use a different sign key or different digest/signature scheme
       than the default, run ntp-keygen with the -S type option, where type is either  RSA
       or  DSA.   The most often need to do this is when a DSA-signed certificate is used.
       If it is necessary to use a different certificate scheme than the default, run ntp-
       keygen  with  the  -c scheme option and selected scheme as needed. If ntp-keygen is
       run again without these options, it generates a  new  certificate  using  the  same
       scheme and sign key.

       After  setting  up the environment it is advisable to update certificates from time
       to time, if only to extend the validity interval. Simply run  ntp-keygen  with  the
       same  flags as before to generate new certificates using existing keys. However, if
       the host or sign key is changed, ntpd should be restarted. When ntpd is  restarted,
       it  loads  any new files and restarts the protocol. Other dependent hosts will con-
       tinue as usual until signatures are  refreshed,  at  which  time  the  protocol  is
       restarted.


IDENTITY SCHEMES
       As  mentioned on the Autonomous Authentication page, the default TC identity scheme
       is vulnerable to a middleman  attack.  However,  there  are  more  secure  identity
       schemes  available,  including  PC,  IFF, GQ and MV described on the Identification
       Schemes page. These schemes are based on a TA, one or more trusted hosts  and  some
       number  of  nontrusted hosts. Trusted hosts prove identity using values provided by
       the TA, while the remaining hosts prove identity using values provided by a trusted
       host  and  certificate trails that end on that host.  The name of a trusted host is
       also the name of its sugroup and also the subject and issuer name  on  its  trusted
       certificate.  The TA is not necessarily a trusted host in this sense, but often is.

       In some schemes there are separate keys for servers and clients. A server can  also
       be  a  client  of  another  server,  but a client can never be a server for another
       client. In general, trusted hosts and nontrusted hosts that operate as both  server
       and  client  have  parameter  files that contain both server and client keys. Hosts
       that operate only as clients have key files that contain only client keys.

       The PC scheme supports only one trusted host in the group. On  trusted  host  alice
       run   ntp-keygen   -P   -p   password   to   generate   the   host  key  file  ntp-
       key_RSAkey_alice.filestamp  and  trusted  private  certificate   file   ntpkey_RSA-
       MD5_cert_alice.filestamp.  Copy  both  files  to  all group hosts; they replace the
       files which would be generated in other schemes.  On each host bob install  a  soft
       link  from the generic name ntpkey_host_bob to the host key file and soft link ntp-
       key_cert_bob to the private certificate file. Note the generic links  are  on  bob,
       but point to files generated by trusted host alice. In this scheme it is not possi-
       ble to refresh either the keys or certificates without copying them  to  all  other
       hosts in the group.

       For  the  IFF  scheme proceed as in the TC scheme to generate keys and certificates
       for all group hosts, then for every trusted host in the  group,  generate  the  IFF
       parameter  file.  On trusted host alice run ntp-keygen -T -I -p password to produce
       her parameter file ntpkey_IFFpar_alice.filestamp, which includes  both  server  and
       client  keys.  Copy  this  file to all group hosts that operate as both servers and
       clients and install a soft link from the generic ntpkey_iff_alice to this file.  If
       there  are no hosts restricted to operate only as clients, there is nothing further
       to do. As the IFF scheme is independent of keys and certificates, these  files  can
       be refreshed as needed.

       If  a  rogue  client  has  the  parameter file, it could masquerade as a legitimate
       server and present a middleman threat. To eliminate this threat,  the  client  keys
       can be extracted from the parameter file and distributed to all restricted clients.
       After generating the parameter file, on alice run ntp-keygen -e and pipe the output
       to  a  file  or mail program. Copy or mail this file to all restricted clients.  On
       these clients install a soft link from the generic ntpkey_iff_alice to  this  file.
       To  further  protect  the  integrity of the keys, each file can be encrypted with a
       secret password.

       For the GQ scheme proceed as in the TC scheme to generate keys and certificates for
       all group hosts, then for every trusted host in the group, generate the IFF parame-
       ter file. On trusted host alice run ntp-keygen -T -G -p  password  to  produce  her
       parameter  file ntpkey_GQpar_alice.filestamp, which includes both server and client
       keys. Copy this file to all group hosts and install a soft link  from  the  generic
       ntpkey_gq_alice  to  this  file.  In addition, on each host bob install a soft link
       from generic ntpkey_gq_bob to this file. As the GQ scheme updates the GQ parameters
       file  and certificate at the same time, keys and certificates can be regenerated as
       needed.

       For the MV scheme, proceed as in the TC scheme to generate  keys  and  certificates
       for  all group hosts. For illustration assume trish is the TA, alice one of several
       trusted hosts and bob one of her clients.  On TA trish run ntp-keygen -V n -p pass-
       word,  where n is the number of revokable keys (typically 5) to produce the parame-
       ter   file   ntpkeys_MVpar_trish.filestamp    and    client    key    files    ntp-
       keys_MVkeyd_trish.filestamp where d is the key number (0 < d < n). Copy the parame-
       ter file to alice and install a soft link from the generic ntpkey_mv_alice to  this
       file.  Copy  one  of  the  client  key files to alice for later distribution to her
       clients. It doesn’t matter which client key file goes to alice, since they all work
       the same way.  Alice copies the client key file to all of her cliens. On client bob
       install a soft link from generic ntpkey_mvkey_bob to the client key file. As the MV
       scheme  is  independent  of  keys and certificates, these files can be refreshed as
       needed.


COMMAND LINE OPTIONS
       -c [ RSA-MD2 |  RSA-MD5 | RSA-SHA | RSA-SHA1 | RSA-MDC2 | RSA-RIPEMD160 | DSA-SHA |
       DSA-SHA1 ]
               Select certificate message digest/signature encryption  scheme.  Note  that
               RSA  schemes  must be used with a RSA sign key and DSA schemes must be used
               with a DSA sign key. The default without this option is RSA-MD5.

       -d      Enable debugging. This option displays the cryptographic data  produced  in
               eye-friendly billboards.

       -e      Write  the   IFF  client  keys to the standard output. This is intended for
               automatic key distribution by mail.

       -G      Generate parameters and keys for the GQ identification  scheme,  obsoleting
               any that may exist.

       -g      Generate keys for the GQ identification scheme using the existing GQ param-
               eters. If the GQ parameters do not yet exist, create them first.

       -H      Generate new host keys, obsoleting any that  may exist.

       -I      Generate parameters for the IFF identification scheme, obsoleting any  that
               may exist.

       -i name Set  the suject name to name. This is used as the subject field in certifi-
               cates and in the file name for host and sign keys.

       -M      Generate MD5 keys, obsoleting any that may exist.

       -P      Generate a private certificate. By default, the  program  generates  public
               certificates.

       -p password
               Encrypt  generated files containing private data with password and the DES-
               CBC algorithm.

       -q      Set the password for reading files to password.

       -S [ RSA | DSA ]
               Generate a new sign key of the designated type,  obsoleting  any  that  may
               exist.  By default, the program uses the host key as the sign  key.

       -s name Set  the issuer name to name. This is used for the issuer field in certifi-
               cates and in the file name for identity files.

       -T      Generate a trusted certificate. By default, the program  generates  a  non-
               trusted certificate.

       -V nkeys
               Generate  parameters  and  keys for the Mu-Varadharajan (MV) identification
               scheme.


RANDOM SEED FILE
       All cryptographically sound key generation schemes must have means to randomize the
       entropy seed used to initialize the internal pseudo-random number generator used by
       the library routines. The OpenSSL library uses a designated random  seed  file  for
       this  purpose. The file must be available when starting the NTP daemon and ntp-key-
       gen program. If a site supports OpenSSL or its companion OpenSSH, it is very likely
       that means to do this are already available.

       It is important to understand that entropy must be evolved for each generation, for
       otherwise the random number sequence would be predictable. Various means  dependent
       on  external  events,  such as keystroke intervals, can be used to do this and some
       systems have built-in entropy sources. Suitable means are described in the  OpenSSL
       software documentation, but are outside the scope of this page.

       The entropy seed used by the OpenSSL library is contained in a file, usually called
       .rnd, which must be available when starting the NTP daemon or the  ntp-keygen  pro-
       gram.  The  NTP daemon will first look for the file using the path specified by the
       randfile subcommand of the crypto configuration command. If not specified  in  this
       way, or when starting the ntp-keygen program, the OpenSSL library will look for the
       file using the path specified by the RANDFILE environment variable in the user home
       directory, whether root or some other user. If the RANDFILE environment variable is
       not present, the library will look for the .rnd file in the user home directory. If
       the  file is not available or cannot be written, the daemon exits with a message to
       the system log and the program exits with a suitable error message.


CRYPTOGRAPHIC DATA FILES
       All other file formats begin with two lines. The  first  contains  the  file  name,
       including  the generated host name and filestamp. The second contains the datestamp
       in conventional Unix date format. Lines beginning with #  are  considered  comments
       and  ignored  by  the  ntp-keygen program and ntpd daemon. Cryptographic values are
       encoded first using ASN.1 rules, then encrypted if necessary, and  finally  written
       PEM-encoded printable ASCII format preceded and followed by MIME content identifier
       lines.

       The format of the symmetric keys file is somewhat different than the other files in
       the  interest  of backward compatibility. Since DES-CBC is deprecated in NTPv4, the
       only key format of interest is MD5 alphanumeric strings. Following  hte  heard  the
       keys are entered one per line in the format

       keyno type key

       where  keyno  is  a  positive integer in the range 1-65,535, type is the string MD5
       defining the key format and key is the key  itself,  which  is  a  printable  ASCII
       string  16  characters  or  less  in  length.  Each character is chosen from the 93
       printable characters in the range 0x21 through 0x7f excluding  space  and  the  ’#’
       character.

       Note  that  the  keys used by the ntpq and ntpdc programs are checked against pass-
       words requested by the programs and entered by hand, so it is generally appropriate
       to specify these keys in human readable ASCII format.

       The  ntp-keygen  program  generates  a  MD5 symmetric keys file ntpkey_MD5key_host-
       name.filestamp. Since the file contains private shared keys, it should  be  visible
       only  to root and distributed by secure means to other subnet hosts. The NTP daemon
       loads the file ntp.keys, so ntp-keygen installs a soft link from this name  to  the
       generated  file.   Subsequently,  similar soft links must be installed by manual or
       automated means on the other subnet hosts. While this file is  not  used  with  the
       Autokey  Version 2 protocol, it is needed to authenticate some remote configuration
       commands used by the ntpq and ntpdc utilities.


BUGS
       It can take quite a while to generate some cryptographic values, from one  to  sev-
       eral minutes with modern architectures such as UltraSPARC and up to tens of minutes
       to an hour with older architectures such as SPARC IPC.


SEE ALSO
       Primary source of documentation: /usr/share/doc/ntp-*/ntpd.html


AUTHOR
       David L. Mills <mills AT udel.edu>



                                                                 ntp-keygen(1)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2008-11-21 23:01 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!