Securing a NTP Time Server Installation

Jun 25
21:21

2007

Dave Evans

Dave Evans

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

This article describes the security aspects of the NTP protocol and specifically using MD5 keys to authenticate a time server.

mediaimage

NTP,Securing a NTP Time Server Installation Articles or Network Time Protocol, was originally developed for ensuring the synchronisation of client machines across the Internet. NTP is one of the oldest Internet protocols still widely used today. The protocol is still widely used to ensure time synchronisation of client machines across the internet and local area networks. The protocol utilises the UDP (User Datagram Protocol) over TCP/IP and implements a hierarchical structure whereby each level serves the level below. This article describes how to implement NTP security features to ensure timestamps are not maliciously altered.

The Network Time Protocol may be used to synchronise many time critical processes on distributed computers across a network. The NTP protocol is therefore a potential security risk. Hackers or malicious users could attempt to disrupt system synchronisation by attempting to modify or replicate NTP time stamps.

Luckily, NTP has an integral security feature to thwart attempts to tamper with system time synchronisation. NTP can use MD5 encrypted keys to authenticate time stamps received from a time server. Network time clients and devices can utilise secure keys to authenticate time stamps and ensure their source of origin.

NTP implements authentication by utilising an agreed set of keys between a server and client that are encrypted in time stamps. A NTP time server passes a timestamp to a client with one of a selection of keys encrypted and appended to the message. On receipt of the timestamp the client un-encrypts the key to ensure it matches one of the agreed keys. In this manner the client can ensure that the received timestamp originated from the expected time source.

The Network Time Protocol utilises MD5 (Message Digest Encryption 5) encrypted keys. MD5 is a widely used secure encryption algorithm that utilises a 128-bit cryptographic hash function. The algorithm outputs a fingerprint of the supplied key, which is appended to the timestamp.

Linux NTP installations store keys in a file 'ntp.keys'. Every line in the file provides a secure key in the format: 'key-number' 'encryption-code' 'key'. The 'key-number' is a reference to the key. The 'encryption code' describes the encryption algorithm in use, usually 'M' for MD5 encryption. The 'key' field is the agreed key that is to be encrypted by the encryption algorithm. A subset of 'trusted keys' may be specified in the NTP configuration file 'ntp.conf'. This allows a reduced subset of keys to be utilised by the server. Allowing compromised keys to be easily excluded from use. Trusted keys are specified using the 'trusted-keys' command followed by a space-delimited list of key references.

Many CISCO routers utilise secure MD5 authentication in the installed implementation of NTP. To enable a Cisco router to perform MD5 authentication you must follow a number of steps. Firstly, enable NTP authentication with the 'ntp authenticate' command. Secondly, define an NTP authentication key using the 'ntp authentication-key' command. A unique reference number identifies each NTP key. The key reference number is supplied as the first paramater to the 'ntp authentication-key' command. Thirdly, use the 'ntp trusted-key' command to tell the router which keys are valid. The command's only argument is the reference number of the key defined in the previous step

The Windows 20002003XP operating systems adopt a SNTP (Simple Network Time Protocol) application for time synchronisation. The implementation used by Microsoft does not include authentication keys.

To summarise, MD5 key authentication can be utilised to overcome potential security risks when implementing the NTP protocol. Network time clients can be sure that timestamps have indeed emanated from the expected time reference and have not been intercepted for malicious purposes.