Zusammenfassung

  • Jede NTS-geschützte Anfrage enthält genau einen, vom Client mit einem kryptographisch sicheren Zufallszahlengenerator erzeugten Unique Identifier von mindestens 32 Oktetten; der Server spiegelt denselben Wert.
  • Der Client verarbeitet die Antwort nur, wenn der Wert zu einer noch offenen Anfrage passt und das Paket unter dem zugehörigen Server-zu-Client-Schlüssel authentisch ist.
  • Das ist eine starke Wiedergabeerkennung und Zuordnung eines Austauschs, aber keine stabile Identität, kein NTS Cookie und kein Beleg dafür, dass die übermittelte Zeit stimmt.

Die Marke einer noch offenen Frage

Zwei formal gültige Zeitantworten treffen ein. Die eine wurde gerade für die ausstehende Anfrage erzeugt. Die andere war früher einmal echt, wurde aufgezeichnet und nun erneut zugestellt. Ihre damalige Authentizität sagt noch nicht, ob sie die Frage beantwortet, die der Client heute auf seinem Tisch hat.

RFC 8915 gibt dem Client deshalb eine selbst erzeugte Marke. Jede geschützte Anfrage führt genau ein Unique-Identifier-Erweiterungsfeld. Dessen Inhalt muss aus einem kryptographisch sicheren Zufallszahlengenerator stammen und mindestens 32 Oktette lang sein. Hat der Server die Anfrage validiert, nimmt er genau ein entsprechendes Feld in die Antwort auf und kopiert die Oktettfolge unverändert.

Beim Empfang bilden zwei Prüfungen eine gemeinsame Annahmebedingung. Die Kennung muss zu einer ausstehenden Anfrage passen, und das Paket muss sich mit dem für diese Anfrage geltenden S2C-Schlüssel authentisieren lassen. Scheitert nur eine Prüfung, wird das Paket ohne weitere Verarbeitung verworfen. Eine alte echte Antwort kann so nicht die Stelle einer aktuellen einnehmen.

Das Feld darf nicht verschlüsselt werden, muss aber authentisiert sein. Es gehört zu den Daten, deren Integrität durch AEAD geschützt wird, obwohl es außerhalb des Chiffretexts lesbar bleibt. Ein Beobachter kann den Wert sehen, ihn jedoch nicht austauschen und ohne den richtigen Schlüssel eine gültige Antwort erzeugen. Vertraulichkeit und Unverändertheit sind verschiedene Zusagen.

In diesem engen Rahmen ist „Unique“ ein treffender Name. Die Kennung unterscheidet für den Client einen offenen Vorgang von anderen Vorgängen. Sie wird nicht vom Server als Kontonummer vergeben, ist keine Berechtigung und bezeichnet weder Mensch noch Gerät hinter dem Paket. Mit Annahme oder Ablauf der Anfrage endet ihre Beweisaufgabe.

Warum ein Zeitstempel kein guter Zufallswert ist

NTP besaß bereits eine Zuordnung. RFC 5905 definiert den 64 Bit langen Origin Timestamp als die Zeit auf dem Client, zu der die Anfrage abgesendet wurde. Der Server gibt diesen Wert zurück; der Client vergleicht ihn mit seinem Sendezustand, um falsche, doppelte oder wiedergegebene Pakete zu erkennen.

RFC 8915 verwirft diese Geschichte nicht, sondern benennt ihre kryptographische Grenze. 64 Bit bilden einen kleineren Raum, und je nach Implementierung können die meisten Bits vorhersehbar sein. Ein Zeitstempel ordnet Vorgänge und dient der Laufzeitberechnung, ist aber nicht automatisch eine schwer erratbare Herausforderung.

Das neue Feld trennt beide Aufgaben. Sein Inhalt umfasst mindestens 32 Oktette und stammt aus einer sicheren Zufallsquelle. Das ermöglicht eine für Kryptographie passendere Unvorhersagbarkeit und Kollisionsfestigkeit. RFC 4086 mahnt jedoch, Länge nicht mit Entropie gleichzusetzen: Eine 256 Bit lange Ausgabe kann aus einem kleinen, durchsuchbaren Zustand entstehen. Auch Quelle, Initialisierung und Gesundheit des Generators gehören deshalb zum Nachweis.

RFC 8915 erlaubt das Feld auch ohne NTS, um gefälschte Pakete eines Angreifers abseits des Übertragungswegs besser zu erkennen. Innerhalb von NTS beruht die stärkere Aussage auf dem Paar: Das zufällige Echo zeigt auf die offene Anfrage, die S2C-Authentisierung auf den kryptographischen Kontext. Keine der beiden Prüfungen ist allein der ganze Beleg.

TLS, Cookie und Echo auseinanderhalten

Zuerst läuft NTS-KE über TLS. Dort finden anfängliche Serverauthentisierung, Aushandlung und Schlüsselableitung statt; anschließend wird die TLS-Verbindung geschlossen. Der Unique Identifier einer späteren NTP-Anfrage ist weder Zertifikat noch neue TLS-Identität.

Das NTS Cookie transportiert einen anderen Beleg. Der Client gibt ein zuvor erhaltenes undurchsichtiges Cookie zurück, aus dem der Server AEAD-Verfahren und Richtungsschlüssel wiederherstellt, ohne Client-Zustand zu speichern. Ein früherer Beitrag von Sofia Ren über Dieter Sibold verfolgte genau diesen Zustand über das Ende der TLS-Verbindung hinweg. Das Cookie stellt den Zusammenhang wieder her; der Unique Identifier ordnet eine Antwort einer offenen Anfrage zu.

Der Authenticator erfüllt die dritte Aufgabe. In der Anfrage sind Cookie und Kennung authentisiert, aber nicht verschlüsselt. In der Antwort bleibt die Kennung sichtbar, während neue Cookies im verschlüsselten und authentisierten Bereich liegen. Wer diese Objekte zusammenfasst, verwischt bewusst verschiedene Grenzen von Geheimhaltung und Lebensdauer.

Auch die Datenschutzfrage braucht diese Trennung. Eine dauerhafte Kennung könnte Aktivitäten über längere Zeit verbinden. Dieser Wert soll pro Anfrage frisch und unvorhersagbar sein. Wiederverwendung, Kollisionen oder endlose Aufbewahrung im Protokoll wären betriebliche Abweichungen, nicht die vom Standard vorgesehene Client-Identität.

Eine echte Antwort kann eine falsche Zeit tragen

Wiedergabeschutz verhindert, dass eine alte geschützte Antwort eine neue Anfrage erfüllt. Er schließt nicht alle Ursachen falscher Zeit. RFC 7384 unterscheidet Wiedergabe, Veränderung, Vortäuschung, Verzögerungsmanipulation und Angriffe auf die externe Quelle einer Hauptuhr. Ein Server kann eine aktuelle, authentische Antwort liefern und dennoch von einer fehlerhaften Quelle gespeist werden; auch der Pfad kann böswillig verzögert sein.

RFC 8633 behandelt daher Anzahl, Vielfalt und Überwachung der Zeitquellen als eigene Betriebsaufgaben. Bei nur einer Quelle erreicht deren Fehler unmittelbar den Client. Der Unique Identifier belegt: „Diese geschützte Antwort gehört zu dieser offenen Anfrage.“ Für die Richtigkeit der Zeit braucht es andere Belege.

Quellen