La sincronizzazione NTP in modalità autenticata garantisce ai client di comunicare con il server desiderato e impedisce l'eventuale intromissione di un estraneo che potrebbe mascherarsi da server ed alterare l'informazione di sincronizzazione originale.
La versione 4 del software NTP utilizza due diversi metodi di autenticazione:
I server NTP dell'I.N.RI.M. sono in grado di supportare entrambi i metodi sopra citati, anche se viene consigliato il secondo per la maggior praticità nella gestione delle chiavi assegnate agli utenti e per la sua maggior sicurezza contro le intromissioni di estranei e l'alterazione del messaggio di sincronizzazione.
È la modalità di autenticazione originaria del software NTPv3 ed è definita nella specifica RFC-1305. Essa si basa su una coppia di parametri (una chiave e il suo identificativo numerico) che devono essere noti al server ed al client.
L'autenticazione avviene per mezzo di un impronta, ovvero una sequenza di bit ottenuta applicando una funzione di hash con l'algoritmo MD5 al contenuto di ciascun pacchetto di sincronizzazione, che viene allegata al pacchetto stesso assieme all identificativo della chiave che è stata utilizzata. Il server è in grado di verificare se una richiesta di sincronizzazione è autentica, e di conseguenza rispondere al client con l'informazione di sincronizzazione oppure con un messaggio di errore nel caso in cui la verifica sull'impronta abbia avuto un esito negativo. Analogamente il client potrà verificare l'autenticità e l'integrità del pacchetto di sincronizzazione ricevuto dal server.
Per motivi di sicurezza si deve assegnare un identificativo ed una chiave a ciascun utente;
questi parametri devono essere conservati sul server in un
apposito file protetto, che di norma viene chiamato ntp.keys, e devono essere trasmessi
ai client in modo sicuro.
Ciascuna chiave viene attivata utilizzando la direttiva trusted key ID
nel file di configurazione del daemon ntpd (ntp.conf).
Il client deve inoltre associare ciascuna chiave
ad un server inserendo la direttiva key key ID nel comando server
all'interno del file di configurazione di ntpd.
Il server è in grado di revocare le eventuali chiavi che fossero state compromesse e quindi insicure
semplicemente rimuovendole dalla lista delle chiavi attivate.
Nella pagina http://www.inrim.it/ntp/config_i.shtml potete trovare le istruzioni per utilizzare questa modalità di autenticazione.
La crittografia a chiave pubblica, chiamata anche Autokey 2, verifica l'integrità dei dati contenuti nell'informazione di sincronizzazione utilizzando una funzione di hash con l'algoritmo MD5. L'identità del server viene invece verificata per mezzo di una firma elettronica con un certificato X.509v3.
Per usufruire di questa funzione è necessario installare le librerie di crittografia contenute
nel software OpenSSL. Queste librerie possono essere prelevate liberamente dal sito
www.openssl.org.
Dopo averle installate sul proprio sistema si potrà procedere con la compilazione e l'installazione
del software ntpd.
Tra i vari schemi di crittografia (cryptosystems) disponibili per l'NTP, i server NTP
dell'I.N.RI.M. utilizzano l'algoritmo di Schnorr (schema IFF).
I file crittografici (chiavi e certificati) necessari al daemon ntpd per operare in questa
modalità sono ottenuti da un apposito programma ntp-keygen che fa parte del software
NTP; ad eccezione dei parametri IFF che vengono comunicati, su
richiesta, dall'I.N.RI.M. all'utente.
La crittografia a chiave pubblica è considerata più sicura rispetto a quella a chiave simmetrica in quanto essa si basa su una coppia di chiavi distinte: una pubblica e una privata. Entrambe le chiavi vengono generate sul server ed in particolare quella privata non viene rivelata a nessuno. Mediante la chiave pubblica, che è strettamente correlata a quella privata, i client possono verificare l'autenticità dei dati ricevuti dal server NTP ma non sono in grado di risalire alla corrispondente chiave privata del server.
Per un esempio di configurazione ed istruzioni su come utilizzare questo servizio:
http://www.inrim.it/ntp/config_i.shtml
Ulteriori informazioni su questo argomento si trovano su:
http://www.eecis.udel.edu/~mills/ntp/html/authopt.html
e http://twiki.ntp.org/bin/view/Support/ConfiguringAutokey#Section_5.6.2.
PAGINE COLLEGATE: