Pendulum

Bereitstellung und Synchronisierung präziser Echtzeitangaben für Millionen von Geräten und Netzen, die für das Internet und andere kritische Infrastrukturen von grundlegender Bedeutung sind.

Eckdaten

Status:
Laufend
Investition
449.850,00 €
Investitionsjahr(e)
2023, 2024

Das Network Time Protocol (NTP) und das Precision Time Protocol (PTP) sorgen bei Millionen von Telefonen, PCs und Servern für eine genaue und zuverlässige Zeitmessung. Diese beiden Protokolle sind wichtige Bausteine des Internets und anderer entscheidender Infrastrukturen. Sie werden überall verwendet, sind aber besonders wichtig im Finanzwesen und im Rundfunk, in unseren Stromnetzen und in der Telekommunikation sowie in Sicherheitsprotokollen.

Das Projekt Pendulum, eine Initiative von Tweede golf, entwickelt moderne, Open-Source Implementierungen von NTP und PTP. Die Software ntpd-rs ist eine in Rust geschriebene NTP-Implementierung mit dem Schwerpunkt auf Sicherheit und Stabilität. Sie umfasst Client- und Serverfunktionen und unterstützt Network Time Security (NTS). Statime zielt darauf ab, eine speichersichere Implementierung von PTP in Rust bereitzustellen.

Warum ist das wichtig?

Präzise Uhrzeiten und Synchronisierung sind das Herzstück jeder Maschinen- oder Netzwerkkommunikation. Anwendungen und Tools von der Datensicherung bis zum Messaging oder Videokonferenzen sind auf präzise Zeitangaben angewiesen, sowohl zwischen Servern als auch über mehrere Netzwerke hinweg. Die Erstellung sicherer Implementierungen des Network Time Protocol (NTP) und des Precision Time Protocol (PTP) ist von kritischer Bedeutung. Eine unpräzise und ungenaue Zeitangabe kann zu Sicherheits-, Leistungs- und Verfügbarkeitsproblemen führen.

Derzeit gibt es nur drei vollständige Open-Source-Implementierungen von NTP und nur eine für PTP. Diese Implementierungen werden von einzelnen Personen oder kleinen Gruppen gewartet. Die Entwicklung neuer NTP- und PTP-Implementierungen im Rahmen des Projekts Pendulum bietet solide Alternativen, falls die anderen Implementierungen nicht mehr sicher sind.

Für das Internet ist NTP besonders wichtig. Es sorgt dafür, dass die Zeit in (öffentlichen) Netzen synchronisiert wird, und untermauert Sicherheitsprotokolle. Ein bekannter Anwendungsfall für Privatpersonen ist die Zwei-Faktor-Authentifizierung, bei der einmalige Codes nur eine bestimmte Zeit lang gültig sind.

Ein kürzlich erschienener Artikel „An open infrastructure for sub-millisecond internet time“ von SIDN Labs erklärt:

“Die Zeit ist für eine wachsende Zahl von Internetanwendungen und -diensten entscheidend. So können beispielsweise Internet-Sicherheitsprotokolle wie TLS (zur Sicherung der End-zu-End-Kommunikation), DNSSEC (zur Sicherung der Zuordnung von Domain-Namen zu IP-Adressen) und RPKI (zur Sicherung von Routen im Internet) ohne genaue Zeit nicht funktionieren, ebenso wenig wie eine Funktion wie die Registrierung von Domain-Namen. Die Zeit spielt auch eine entscheidende Rolle bei kritischen Infrastrukturen, die zunehmend das Internet und seine Protokolle für ihre Kommunikation nutzen.”

Neben dem Nutzen für einzelne Nutzer:innen haben auch einige öffentliche Einrichtungen ihre Unterstützung für diese Arbeit bekundet: das interdisziplinäre Zentrum für Sicherheit, Datenschutz und Data Governance an der Radboud-Universität und das niederländische Meteorologieinstitut VSL (das für den nationalen Zeitstandard in den Niederlanden zuständig ist). Die Linux-Distributionen Fedora und Debian sind an der Verwendung von ntpd-rs ebenfalls interessiert. Darüber hinaus planen auch industrielle Akteur:innen die Übernahme von ntpd-rs, der speichersicheren Open-Source-Implementierung von NTP. Dazu gehört Let’s Encrypt, dessen 250 Millionen digitale Zertifikate, die HTTPS auf Websites ermöglichen, von der Zeitsynchronisation über die Server von Let’s Encrypt abhängen. Cloud-Anbieter:innen wie Cloudflare, Automattic und AWS haben ihr Interesse bekundet.

Was unterstützen wir?

  1. Entwicklung und Stabilisierung:
    • Veröffentlichung einer benutzerfreundlichen Version von ntpd-rs mit verbesserter Stabilität, Überprüfbarkeit und Konfiguration.
    • Veröffentlichung der PTP-Funktionalität für Linux durch Statime.
    • Beitrag zum NTPv5-Standard, Implementierung der Entwurfsspezifikation und Verbesserung des benutzerdefinierten Uhr-Algorithmus auf der Grundlage von Kalman-Filtern.
  2. Verbreitung und Sichtbarkeit:
    • Förderung der Akzeptanz durch Verbesserung der Packages und Dokumentation, Durchführung von Marktforschung und Präsentation von Leistung und Statistiken.
    • Blogbeiträge, Vorträge und Dokumentation über die Vorteile der Verwendung von speichersicheren Versionen von PTP und NTP.
    • Prüfung der Einrichtung eines NTS-Pools (Network Time Security), um die Einführung von NTS zu erleichtern.
  3. Wartung und Community-Unterstützung:
    • Sicherstellung der fortlaufenden Wartung von Statime und ntpd-rs durch Reaktion auf Probleme, Aktualisierung der Dokumentation und Durchführung regelmäßiger Updates.
    • Wissenstransfer an Mitwirkende und Förderung des Engagements der Community.
    • Suche nach langfristiger finanzieller Unterstützung durch Industrieunternehmen, um die Projekte langfristig aufrechtzuerhalten.

Diese Arbeitsbereiche umfassen verschiedene Aspekte der Softwareentwicklung, der Verbreitung, der Wartung und der Unterstützung der Community, die für den Erfolg und die Stabilität von ntpd-rs und Statime notwendig sind.

More technologies

Alle Technologien