Optimization of Time Synchronization Techniques on Computer Networks Faten Mkacher
Total Page:16
File Type:pdf, Size:1020Kb
Optimization of Time Synchronization Techniques on Computer Networks Faten Mkacher To cite this version: Faten Mkacher. Optimization of Time Synchronization Techniques on Computer Networks. Operating Systems [cs.OS]. Université Grenoble Alpes [2020-..], 2020. English. NNT : 2020GRALM015. tel- 02988168 HAL Id: tel-02988168 https://tel.archives-ouvertes.fr/tel-02988168 Submitted on 4 Nov 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE Pour obtenir le grade de DOCTEUR DE L’UNIVERSITÉ GRENOBLE ALPES Spécialité : Informatique Arrêté ministériel : 25 mai 2016 Présentée par Faten MKACHER Thèse dirigée par Andrzej DUDA et coencadrée par Fabrice GUERY Préparée au sein du Laboratoire d’Informatique de Grenoble (LIG), dans l’École Doctorale Mathématiques, Sciences et Technologies de l’Information, Informatique (EDMSTII). Optimization of Time Synchronization Techniques on Computer Networks Thèse soutenue publiquement le 02 juin 2020, devant le jury composé de : Noel de Palma Professeur, Université Grenoble Alpes, Président Katia Jaffrés-Runser Maître de conférence, Université de Toulouse, Rapporteur Hervé Rivano Professeur, Université INSA de Lyon, Rapporteur Andrzej Duda Professeur, Grenoble INP, Directeur de thèse Fabrice Guery Responsable Innovation, Gorgy Timing, Invité 2 Abstract Nowadays, as society has become more interconnected, secure and accurate time-keeping be- comes more and more critical for many applications. Computing devices usually use crystal clocks with low precision for local synchronization. These low-quality clocks cause a large drift between machines. The solution to provide precise time synchronization between them is to use a refer- ence clock having an accurate source of time and then disseminate time over a communication network to other devices. One of the protocols that provide time synchronization over packet- switched networks is Network Time Protocol (NTP). Although NTP has operated well for a general- purpose use for many years, both its security and accuracy are ill-suited for future challenges. Many security mechanisms rely on time as part of their operation. For example, before using a digital certificate, it is necessary to confirm its time validity. A machine with an inaccurate clock can accept an expired or revoked certificate. This thesis first provides a background on time synchronization starting with the definition of some fundamental concepts such as the clock model, the problem of clock synchronization, and some notions like accuracy, precision, and stability of clocks. We study the most common time synchronization protocols used in packet-switched networks, and among others NTP. Then, we consider the security of time synchronization by presenting the possible security threats against time synchronization protocols and the security requirements of these protocols. We zoom in on the security of the NTP protocol as described by the standard NTP and other related work that tried to enhance NTP security. We also discuss the importance of having a well-balanced trade-off between security and performance. In our first contribution, we propose to go further in the support of NTP security with Secure Time Synchronization protocol (STS), a new secure authenticated time synchronization protocol suitable for widespread deployments. We describe the operation of STS and prove its design secure with a formal analysis using two security protocol verification tools: Proverif and Tamarin. We present the implementation of STS based on the OpenNTPd project, and evaluate its performance by comparing the STS precision with unauthenticated NTP. We point out the circular dependency between certificate validation and time synchroniza- tion. In fact, reliable time synchronization requires cryptographic materials that are valid only over designated time intervals, but time intervals can be only enforced when participating hosts are reliably synchronized. We present a solution for bootstrapping time synchronization based on the Bitcoin blockchain to break this circular dependency. In our second contribution, we propose a method for improving the accuracy of the NTP pro- tocol by taking into account asymmetric transmission delays due to different bandwidth or routing on the forward and backward paths. In fact, asymmetry is quite prevalent in the Internet, which leads to low accuracy of NTP that relies on the symmetric delay assumption to compute the clock offset. This method builds on using an NTP client synchronized with GPS to measure precisely the one-way transmission delay on the forward and backward path with his time server. In this way, it is possible to calibrate NTP to take into account asymmetry. Keywords time synchronization, Network Time Protocol (NTP), security, accuracy, One-Way-Delay (OWD). 4 Résumé De nos jours, alors que la société est toujours plus interconnectée, une synchronisation tempo- relle sûre et précise devient de plus en plus critique pour de nombreuses applications. Les dispo- sitifs informatiques utilisent souvent des oscillateurs à cristal de faible précision pour conserver le temps en local. Cette imprécision engendre une dérive entre les machines. La solution pour assurer une synchronisation précise de l’heure entre elles est d’utiliser une horloge de référence avec une source précise de temps, puis de diffuser le temps sur le réseau. Un des protocoles qui assurent la synchronisation temporelle est Network Time Protocol (NTP). Bien que NTP ait bien fonctionné pour un usage général pendant de nombreuses années, sa sécurité et sa précision sont mal adaptées aux défis futurs. De nombreux mécanismes de sécurité dépendent du temps dans le cadre de leur fonctionnement. Par exemple, avant d’utiliser un certificat électronique, il est né- cessaire de confirmer sa validité temporelle. Une machine avec une horloge imprécise pourrait accepter des certificats expirés ou révoqués. Cette thèse présente d’abord le contexte de la synchronisation temporelle en commençant par la définition de certains concepts fondamentaux tels que le modèle d’horloge, le problème de la synchronisation d’horloge et certaines notions comme l’exactitude, la précision et la stabilité des horloges. Nous étudions les protocoles de synchronisation temporelle les plus courants des réseaux de communication, et entre autres NTP. Ensuite, nous considérons la sécurité de la synchronisation temporelle en présentant les pos- sibles menaces de sécurité contre les protocoles de synchronisation temporelle et les exigences de sécurité de ces protocoles. Nous nous concentrons sur la sécurité du protocole NTP tel que décrit par le standard, et les travaux connexes qui ont tenté de l’améliorer sur ce point. Nous discutons également de l’importance d’avoir un compromis bien équilibré entre sécurité et performance. Dans notre première contribution, nous proposons d’aller plus loin que NTP avec Secure Time Synchronization Protocol (STS), un nouveau protocole de synchronisation de l’heure, qui est au- thentifié et sécurisé, et adapté aux larges déploiements. Nous décrivons le fonctionnement de STS et prouvons sa conception sécurisée, à l’aide d’une analyse formelle faite par deux outils de véri- fication de protocole de sécurité : Proverif et Tamarin. Nous présentons l’implémentation de STS basée sur le projet OpenNTPd, et évaluons ses performances en comparant la précision de STS avec celle de NTP non authentifié. Nous soulignons la dépendance circulaire entre la validation du certificat et la synchronisation temporelle. En réalité, une synchronisation temporelle fiable nécessite des matériaux cryptogra- phiques qui ne sont valables que sur des intervalles de temps désignés, mais ces intervalles de temps ne peuvent être comparés à l’heure actuelle que lorsque les hôtes participants sont syn- chronisés de manière fiable. Nous présentons une solution qui fournit, lors de l’amorçage, une synchronisation approximative basée sur le blockchain Bitcoin, pour rompre cette dépendance circulaire. Dans notre deuxième contribution, nous proposons une méthode pour améliorer l’exactitude du protocole NTP, en tenant compte des délais de transmission asymétriques dus à une bande passante ou à un routage différent sur le chemin d’aller et de retour. En fait, l’asymétrie est as- sez répandue sur Internet, ce qui dégrade la performance de NTP qui fait l’hypothèse de délais symétriques. Cette méthode s’appuie sur l’utilisation d’un client NTP synchronisé par GPS, pour mesurer le délai unidirectionnel minimal aller et retour jusqu’à son serveur de temps. Ainsi, il est possible de calibrer NTP en prenant en compte cette asymétrie. Mots-clefs synchronisation temporelle, Network Time Protocol (NTP), sécurité, exactitude, précision, délai unidirectionel. 5 6 Contents Contents 7 List of Figures 9 List of Tables 11 List of Acronyms 13 Foreword 15 Introduction 17 I Time Synchronization: State of the Art 25 1 Time Synchronization Concept 27 1.1 Fundamental Concepts of Time Synchronization..................... 28 1.1.1 Time and Clocks.................................... 28 1.1.2 Clocks