Nonce-Definition
Ein Nonce ist eine Zufallszahl, die von einem Authentifizierungsprotokoll nur einmal in einer bestimmten Kommunikation verwendet wird. Nonces werden häufig verwendet, um Replay-Angriffe zu vereiteln.
Der Begriff "nonce" ist eine Abkürzung für "number only used once". Nonce-Werte werden in der Regel mit Hilfe von Zufallszahlengeneratoren (oder anderen Algorithmen, die auf der Grundlage verschiedener Systemparameter eindeutige Werte erzeugen können) erstellt.
Wie Nonces Replay-Angriffe verhindern
In einem Replay-Angriff fängt der Angreifer eine gültige Nachricht ab und verwendet sie erneut, um sich als der rechtmäßige Benutzer auszugeben. Das Hinzufügen einer Nonce zu jeder Nachricht hilft, diese Angriffe zu verhindern - wenn die Hacker versuchen, eine abgefangene Nachricht wiederzugeben, kann das Empfangssystem die Nonce erkennen und den Versuch automatisch abwehren.
Echte Nonce-Verwendungsbeispiele
- Dreiseitiger Handshake: Bei einem Drei-Wege-Handshake enthält jede Nachricht im Authentifizierungsaustausch (die SYN-Nachricht der Quelle, die ACK-Nachricht des Empfängers und die abschließende SYN-ACK-Antwort) eine Nonce, um zu verhindern, dass Dritte den Authentifizierungsprozess missbrauchen und sich sich unbefugten Zugriff zu verschaffen.
- Vierfacher Handshake: Wie bei einem Drei-Wege-Handshake enthält jede Nachricht in einem Vier-Wege-Handshake zwischen dem drahtlosen Zugangspunkt und dem Client eine Nonce zur Sicherheit.
- Proof-of-Work (POW)-Systeme: Nonces werden in verschiedenen POW-Systemen (z. B. Kryptowährungs-Blockchains) verwendet, um deren Schwierigkeit anzupassen.