2.3. Time Synchronization (Synchronisation temporelle)
2.3. Time Synchronization (Synchronisation temporelle)
La synchronisation temporelle entre les moteurs SNMP est essentielle pour que le mécanisme de protection contre la relecture fonctionne efficacement. Le modèle de sécurité basé sur l'utilisateur utilise un protocole de synchronisation temporelle qui permet à un moteur SNMP non autorisé d'apprendre les valeurs temporelles actuelles d'un moteur SNMP autorisé.
Time Synchronization Process (Processus de synchronisation temporelle)
-
Initial State (État initial): Lorsqu'un moteur SNMP non autorisé communique pour la première fois avec un moteur SNMP autorisé, il ne connaît pas les valeurs temporelles actuelles du moteur autorisé.
-
Discovery (Découverte): Le moteur non autorisé envoie un message au moteur autorisé. Ce message peut être:
- Un message non authentifié (securityLevel = noAuthNoPriv) avec msgUserName de longueur zéro, ou
- Un message authentifié avec un userName qui est inconnu du moteur autorisé
-
Response (Réponse): Le moteur autorisé répond avec un message de rapport contenant:
- msgAuthoritativeEngineID
- msgAuthoritativeEngineBoots
- msgAuthoritativeEngineTime
-
Synchronization (Synchronisation): Le moteur non autorisé stocke ces valeurs et les utilise pour les échanges de messages authentifiés ultérieurs avec ce moteur autorisé.
Time Updates (Mises à jour temporelles)
Le moteur SNMP non autorisé met à jour sa notion du temps du moteur autorisé chaque fois qu'il reçoit un message authentifié de ce moteur. Le processus de mise à jour est:
- Calculer la différence temporelle entre le msgAuthoritativeEngineTime reçu et le temps stocké localement.
- Si la différence est dans des limites acceptables (< 150 secondes), mettre à jour la notion locale du temps du moteur autorisé.
- Si la différence est trop grande, le message est considéré comme étant en dehors de la fenêtre temporelle et est rejeté.
Time Window Considerations (Considérations sur la fenêtre temporelle)
La fenêtre temporelle de 150 secondes a été choisie pour:
- Permettre une dérive d'horloge raisonnable entre les moteurs SNMP
- Limiter la fenêtre d'opportunité pour les attaques de relecture de messages
- Accommoder les délais réseau typiques et les temps de traitement
Cette fenêtre temporelle signifie que les messages authentifiés ne sont considérés comme valides que s'ils arrivent dans les 150 secondes suivant leur génération.