l'horloge
Logiciel Sécurité

Les mystères du temps système perdu dans Windows

Pourquoi l’heure système dans Windows peut-elle changer soudainement et comment faire en sorte que cela ne se produise pas

De temps à autre, les utilisateurs et les administrateurs de Windows 10 se retrouvent perplexes face à une énigme : pourquoi leur horloge système a-t-elle soudainement avancé ou reculé de plusieurs semaines, mois, voire années? Ce phénomène peut se produire de manière imprévisible, faisant passer l’heure du système tantôt en avant, tantôt en arrière.

Alors, quelle est la cause de ces changements intempestifs de l’heure système dans Windows ? Les enquêteurs d’Ars Technica se sont penchés sur la question et ont mis en lumière une hypothèse plausible : la fonctionnalité Secure Time Seeding. Dans cet article, nous explorons son fonctionnement présumé et les mesures à prendre pour éviter ces sauts temporels inattendus.

 

Qu’est-ce que Secure Time Seeding

 

La fonctionnalité Secure Time Seeding a été ajoutée à Windows 10 en 2015. Cette fonctionnalité a pour but de corriger de très grandes divergences entre l’heure définie dans le système et l’heure réelle. Cela se produit principalement dans les cas où la pile de la batterie alimentant l’horloge interne s’épuise, entraînant une déviation importante de l’heure. L’aspect principal de Secure Time Seeding, selon ses créateurs, est la capacité de corriger l’heure du système sans avoir besoin de se connecter aux serveurs de temps actuel.

Pourquoi est-ce nécessaire? Étrangement, c’est lié à la sécurité. Habituellement, l’échange de données entre le client et le serveur (y compris la connexion du système aux serveurs de temps actuel) est protégé par des protocoles de cryptographie SSL et TLS. Pour établir une telle connexion avec le serveur, le client doit d’abord vérifier son certificat numérique, qui a une durée de validité définie. Par conséquent, si l’heure dans le système est définie avec une erreur significative, le certificat peut être considéré comme expiré, et une connexion sécurisée ne sera pas établie.

Cela crée un cercle vicieux : pour connaître l’heure actuelle, l’ordinateur doit connaître l’heure actuelle. Il n’est pas nécessaire que ce soit précisément exact, une estimation approximative suffit. Cependant, plus la différence entre l’heure du système et l’heure réelle est grande, plus il est probable que le certificat soit considéré comme expiré.

Ainsi, Secure Time Seeding, selon la vision des développeurs, ajoute un moyen au système pour détecter et corriger automatiquement des divergences importantes, même lorsque la connexion sécurisée à un serveur est impossible. Cela se fait en utilisant des horodatages actuels ainsi que la durée de validité du certificat numérique contenue dans les données envoyées par les serveurs au client lors de la procédure initiale de création de la connexion sécurisée (les soi-disant poignées de main SSL et TLS).

L’algorithme exact de fonctionnement de Secure Time Seeding est inconnu. Cependant, l’idée générale est que sur la base des données obtenues lors de la poignée de main SSL, Windows calcule un intervalle probable de l’heure actuelle et lui attribue une certaine probabilité. À mesure que de nouvelles données sont obtenues, cette probabilité peut augmenter progressivement.

Lorsqu’un certain niveau est atteint, la fonction Secure Time Seeding décide de modifier l’heure du système pour la régler sur la valeur moyenne de l’intervalle qu’elle a jugé probable. En théorie, cette précision devrait suffire pour établir une connexion sécurisée, se connecter au serveur de temps actuel et obtenir une heure précise.

 

Pourquoi désactiver Secure Time Seeding ?

 

Le problème principal est que Secure Time Seeding est activé par défaut dans Windows 10 et fonctionne en permanence, que les horloges internes de l’ordinateur aient été déréglées ou non. Par conséquent, cette fonction peut modifier l’heure à tout moment, lorsque les algorithmes mystérieux de Microsoft décident que suffisamment d’indices suggèrent un mauvais réglage de l’horloge et qu’il est temps de résoudre ce problème.

La raison de ces échecs dans le fonctionnement de Secure Time Seeding n’est pas entièrement comprise. Il est supposé que cela est lié à la popularité croissante des implémentations des protocoles SSL et TLS, qui envoient une horodatage incorrecte lors de la poignée de main. L’une des principales suspects est la bibliothèque OpenSSL souvent utilisée (elle remplace l’heure actuelle du serveur par des valeurs aléatoires).

De plus, un tel échec peut se produire dans les versions serveur de ce système d’exploitation, telles que Windows Server 2016, Windows Server 2019 et Windows Server 2022. Si pour un utilisateur ordinaire d’ordinateur, il ne s’agit que d’une nuisance frustrante, pour un serveur, cela peut être une catastrophe, car la fiabilité de son fonctionnement dépend souvent de l’heure correctement réglée.

À ce sujet, un conseil non officiel d’un employé haut placé du support technique de Microsoft aux administrateurs de contrôleurs de domaine Active Directory :

« Salut tout le monde, si vous gérez des contrôleurs de domaine Active Directory, je tiens à vous donner un CONSEIL NON OFFICIEL qui reflète uniquement mon opinion personnelle : désactivez la fonction Secure Time Seeding pour w32time sur vos contrôleurs de domaine. »

 

Comment désactiver Secure Time Seeding sous Windows

 

Pour désactiver Secure Time Seeding, recherchez la clé de registre suivante dans Windows :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

Vous y trouverez la valeur UtilizeSslTimeData. Réglez-la sur 0.

regedit windows

En alternative, vous pouvez exécuter la commande suivante en tant qu’administrateur dans l’invite de commande (CMD) :

REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Config /v UtilizeSslTimeData /t REG_DWORD /d 0 /f

Une fois la valeur modifiée, redémarrez le système. Si cela est difficile ou impossible à faire, vous devrez appliquer manuellement la modification au service de temps Windows à l’aide de la commande suivante :

W32tm.exe /config /update

Et voilà, après cela, Secure Time Seeding ne vous dérangera plus. Maintenant, il ne vous reste plus qu’à vous assurer que l’horloge système reste toujours précise.

Share via
Call Now Button
Send this to a friend