2.3. Time Synchronization (Sincronizzazione temporale)
2.3. Time Synchronization (Sincronizzazione temporale)
La sincronizzazione temporale tra i motori SNMP è essenziale per il funzionamento efficace del meccanismo di protezione contro la riproduzione. Il modello di sicurezza basato sull'utente utilizza un protocollo di sincronizzazione temporale che consente a un motore SNMP non autorevole di apprendere i valori temporali correnti da un motore SNMP autorevole.
Time Synchronization Process (Processo di sincronizzazione temporale)
-
Initial State (Stato iniziale): Quando un motore SNMP non autorevole comunica per la prima volta con un motore SNMP autorevole, non conosce i valori temporali correnti del motore autorevole.
-
Discovery (Scoperta): Il motore non autorevole invia un messaggio al motore autorevole. Questo messaggio può essere:
- Un messaggio non autenticato (securityLevel = noAuthNoPriv) con msgUserName di lunghezza zero, o
- Un messaggio autenticato con un userName sconosciuto al motore autorevole
-
Response (Risposta): Il motore autorevole risponde con un messaggio di rapporto contenente:
- msgAuthoritativeEngineID
- msgAuthoritativeEngineBoots
- msgAuthoritativeEngineTime
-
Synchronization (Sincronizzazione): Il motore non autorevole memorizza questi valori e li utilizza per successivi scambi di messaggi autenticati con quel motore autorevole.
Time Updates (Aggiornamenti temporali)
Il motore SNMP non autorevole aggiorna la sua nozione del tempo del motore autorevole ogni volta che riceve un messaggio autenticato da quel motore. Il processo di aggiornamento è:
- Calcolare la differenza temporale tra l'msgAuthoritativeEngineTime ricevuto e il tempo memorizzato localmente.
- Se la differenza è entro limiti accettabili (< 150 secondi), aggiornare la nozione locale del tempo del motore autorevole.
- Se la differenza è troppo grande, il messaggio è considerato al di fuori della finestra temporale e viene scartato.
Time Window Considerations (Considerazioni sulla finestra temporale)
La finestra temporale di 150 secondi è stata scelta per:
- Consentire una ragionevole deriva dell'orologio tra i motori SNMP
- Limitare la finestra di opportunità per attacchi di riproduzione dei messaggi
- Accomodare ritardi di rete tipici e tempi di elaborazione
Questa finestra temporale significa che i messaggi autenticati sono considerati validi solo se arrivano entro 150 secondi dalla loro generazione.