Zum Hauptinhalt springen

20. Authentifizierung von DHCP-Nachrichten

Dieser Abschnitt bewahrt den RFC-Text zu DHCPv6, einschliesslich Nachrichtenaustausch, Relay-Verhalten, DUIDs, IA_NA, IA_TA, IA_PD, DHCP-Optionen, RKAP-Authentifizierung, IANA-Registern, normativen Anforderungen und der Optionsvorkommensmatrizen im Anhang.

Originaler RFC-Text​

20.  Authentifizierung von DHCP-Nachrichten

   Dieses Dokument definiert zwei Sicherheitsmechanismen fuer die
   Authentifizierung von DHCP-Nachrichten: (1) Authentifizierung (und
   Verschluesselung) von Nachrichten, die zwischen Servern und Relay
   Agents unter Verwendung von IPsec gesendet werden, und (2) Schutz
   gegen Fehlkonfiguration eines Clients, die durch eine von einem
   boesartigen DHCP-Server gesendete Reconfigure-Nachricht verursacht
   wird.

20.1.  Sicherheit von Nachrichten zwischen Servern und Relay Agents

   Relay Agents und Server, die Nachrichten austauschen, koennen IPsec wie
   in [RFC8213] beschrieben verwenden.

20.2.  Zusammenfassung der DHCP-Authentifizierung

   Die Authentifizierung von DHCP-Nachrichten erfolgt durch Verwendung der
   Authentication option (siehe Section 21.11).  Die in der
   Authentication option transportierten Authentifizierungsinformationen
   koennen verwendet werden, um die Quelle einer DHCP-Nachricht
   zuverlaessig zu identifizieren und zu bestaetigen, dass der Inhalt der
   DHCP-Nachricht nicht manipuliert wurde.

   Die Authentication option stellt ein Framework fuer mehrere
   Authentifizierungsprotokolle bereit.  Ein solches Protokoll, RKAP, ist
   in Section 20.4 definiert.  Andere zukuenftig definierte Protokolle
   werden in separaten Dokumenten spezifiziert.

   Jede DHCP-Nachricht MUST NOT mehr als eine Authentication option
   enthalten.

   Das Feld protocol in der Authentication option identifiziert das
   spezifische Protokoll, das zur Erzeugung der in der Option
   transportierten Authentifizierungsinformationen verwendet wird.  Das
   Feld algorithm identifiziert einen spezifischen Algorithmus innerhalb
   des Authentifizierungsprotokolls; beispielsweise gibt das Feld
   algorithm den Hash-Algorithmus an, der zur Erzeugung des Message
   Authentication Code (MAC) in der Authentication option verwendet wird.
   Das Feld RDM gibt die Art der Replay Detection an, die im Feld replay
   detection verwendet wird.

20.3.  Replay Detection

   Das Feld RDM der Authentication option (siehe Section 21.11) bestimmt
   die Art der Replay Detection, die im Feld replay detection verwendet
   wird.

   Wenn das Feld RDM 0x00 enthaelt, MUST das Feld replay detection auf den
   Wert einer streng monoton steigenden vorzeichenlosen 64-Bit-Ganzzahl
   (modulo 2^64) gesetzt werden.  Die Verwendung dieser Technik kann die
   Gefahr von Replay-Angriffen verringern.  Diese Methode MUST von allen
   Authentication-option-Protokollen unterstuetzt werden.  Eine
   Moeglichkeit waere die Verwendung des 64-Bit-NTP-Timestamp-Formats
   [RFC5905]).

   Ein Client, der eine Nachricht mit auf 0x00 gesetztem RDM-Feld
   empfaengt, MUST sein Feld replay detection mit dem vorherigen Wert
   vergleichen, der von demselben Server gesendet wurde (basierend auf der
   Server Identifier option; siehe Section 21.3), und die Nachricht nur
   akzeptieren, wenn der empfangene Wert groesser ist, und diesen als
   neuen Wert speichern.  Wenn ein Client zum ersten Mal eine von einem
   Server gesendete Authentication option verarbeitet, MUST der Client den
   replay-detection-Wert speichern und die Replay-Detection-Pruefung
   ueberspringen.

   Server, die den reconfigure-Mechanismus unterstuetzen, MUST
   sicherstellen, dass der replay-detection-Wert zwischen Neustarts
   erhalten bleibt.  Andernfalls koennen Clients vom Server gesendete
   Reconfigure-Nachrichten ablehnen, wodurch der reconfigure-Mechanismus
   effektiv nutzlos wird.

20.4.  Reconfiguration Key Authentication Protocol (RKAP)

   RKAP bietet Schutz gegen Fehlkonfiguration eines Clients, die durch
   eine von einem boesartigen DHCP-Server gesendete Reconfigure-Nachricht
   verursacht wird.  In diesem Protokoll sendet ein DHCP-Server dem Client
   im initialen Austausch von DHCP-Nachrichten einen reconfigure key.  Der
   Client speichert den reconfigure key, um nachfolgende
   Reconfigure-Nachrichten von diesem Server zu authentifizieren.  Der
   Server nimmt dann in nachfolgende Reconfigure-Nachrichten einen Hashed
   Message Authentication Code (HMAC) auf, der aus dem reconfigure key
   berechnet wurde.

   Sowohl der vom Server an den Client gesendete reconfigure key als auch
   der HMAC in nachfolgenden Reconfigure-Nachrichten werden als
   Authentifizierungsinformationen in einer Authentication option (siehe
   Section 21.11) transportiert.  Das Format der
   Authentifizierungsinformationen ist im folgenden Abschnitt definiert.

   RKAP wird (vom Server initiiert) nur verwendet, wenn Client und Server
   die Verwendung von Reconfigure-Nachrichten ausgehandelt haben.

20.4.1.  Verwendung der Authentication option in RKAP

   Die folgenden Felder werden in einer Authentication option (siehe
   Section 21.11) fuer RKAP gesetzt:

   *  protocol: 3

   *  algorithm: 1

   *  RDM: 0

   The format of the authentication information for RKAP is:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |                 Value (128 bits)              |
   +-+-+-+-+-+-+-+-+                                               |
   .                                                               .
   .                                                               .
   .                                               +-+-+-+-+-+-+-+-+
   |                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Abbildung 11: RKAP-Authentifizierungsinformationen

   Type:  Datentyp im Feld Value, der in dieser Option transportiert wird:

      1  Reconfigure-key-Wert (verwendet in der Reply-Nachricht).

      2  HMAC-MD5-Digest der Nachricht (verwendet in der
         Reconfigure-Nachricht).

      Ein 1-Oktett-Feld.

   Value:  Daten wie durch das Feld Type definiert.  Ein 16-Oktett-Feld.

20.4.2.  Serverueberlegungen fuer RKAP

   Der Server waehlt waehrend des Request/Reply-, Solicit/Reply- oder
   Information-request/Reply-Nachrichtenaustauschs einen reconfigure key
   fuer einen Client aus.  Der Server speichert den reconfigure key und
   uebertraegt diesen Schluessel in der Reply-Nachricht in einer
   Authentication option (siehe Section 21.11) an den Client.

   Der reconfigure key ist 128 Bits lang und MUST eine kryptographisch
   starke Zufalls- oder Pseudozufallszahl sein, die nicht leicht
   vorhergesagt werden kann.

   Um eine Reconfigure-Nachricht zu authentifizieren, waehlt der Server
   einen replay-detection-Wert gemaess dem vom Server ausgewaehlten RDM
   und berechnet ein HMAC-MD5 der Reconfigure-Nachricht unter Verwendung
   des reconfigure key fuer den Client.  Der Server berechnet das HMAC-MD5
   ueber die gesamte DHCP-Reconfigure-Nachricht einschliesslich der
   Authentication option; das HMAC-MD5-Feld in der Authentication option
   wird fuer die HMAC-MD5-Berechnung auf 0 gesetzt.  Der Server nimmt das
   HMAC-MD5 in das Feld authentication information einer Authentication
   option auf, die in der an den Client gesendeten Reconfigure-Nachricht
   enthalten ist.

20.4.3.  Clientueberlegungen fuer RKAP

   Der Client erhaelt vom Server in der initialen Reply-Nachricht eine
   reconfigure key in einer Authentication option (siehe Section 21.11).
   Der Client speichert den reconfigure key zur Authentifizierung
   nachfolgender Reconfigure-Nachrichten.

   Um eine Reconfigure-Nachricht zu authentifizieren, berechnet der Client
   ein HMAC-MD5 ueber die Reconfigure-Nachricht, wobei fuer das
   HMAC-MD5-Feld Nullen eingesetzt werden, unter Verwendung des vom Server
   empfangenen reconfigure key.  Wenn dieses berechnete HMAC-MD5 mit dem
   Wert in der Authentication option uebereinstimmt, akzeptiert der Client
   die Reconfigure-Nachricht.