Die Authentifizierung von DHCP-Nachrichten funktioniert
folgenderweise [#!Dro96a!#]:
Es werden ein Sender S und ein Empfänger R definiert, die einen
geheimen Schlüssel K vereinbart haben, der exklusiv nur für den
Nachrichtenaustausch zwischen S und R dient. S und R sind dabei ein
DHCP-Server und ein DHCP-Client. S bildet einen MAC (Message Authentification
Code), indem es einen Zähler mit K verschlüsselt. Dieser Zähler
sollte monoton wachsen und groß genug sein, um einen
Network Time Protocol-Zeitwert nach RFC 1305 [#!NTP!#]
enthalten zu können. Der MAC sieht also folgendermaßen aus:
MD ist eine Message Digest-Funktion, die noch festgelegt werden muß.
Der MAC ist Bestandteil der DHCP Nachricht, die von S generiert
wird. Die Kodierungsfunktion f muß derart gestaltet sein, daß der
Schlüssel K sich nicht aus dem MAC ableiten lässt und daß
5#5 sich nicht
erraten lässt.
Wenn R die Nachricht empfängt, kann er den Schlüssel K aus
5#5
ableiten um zu verifizieren, daß der Sender der Nachricht K
kennt. Wenn als Zähler die aktuelle Tageszeit verwendet wird, kann man
die Gefahr von Nachrichtenwiederholungsangriffen vermeiden.