2.3. Payload Data (Dati del payload)
Payload Data è un campo di lunghezza variabile contenente dati (dal pacchetto IP originale) descritti dal campo Next Header. Il campo Payload Data è obbligatorio e ha una lunghezza in numero intero di byte. Se l'algoritmo utilizzato per crittografare il payload richiede dati di sincronizzazione crittografica, ad esempio un vettore di inizializzazione (IV), allora questi dati vengono trasportati esplicitamente nel campo Payload, ma non vengono identificati come campo separato in ESP, ovvero la trasmissione di un IV esplicito è invisibile a ESP. (Vedere figura 2.) Qualsiasi algoritmo di crittografia che richiede tali dati di sincronizzazione espliciti per pacchetto DEVE indicare la lunghezza, qualsiasi struttura per tali dati e la posizione di questi dati come parte di un RFC che specifica come l'algoritmo viene utilizzato con ESP. (Tipicamente, l'IV precede immediatamente il testo cifrato. Vedere figura 2.) Se tali dati di sincronizzazione sono impliciti, l'algoritmo per derivare i dati DEVE essere parte dell'RFC di definizione dell'algoritmo. (Se inclusi nel campo Payload, i dati di sincronizzazione crittografica, ad esempio un vettore di inizializzazione (IV), solitamente non sono crittografati di per sé (vedere tabelle 1 e 2), sebbene talvolta vengano indicati come parte del testo cifrato.)
Si noti che l'inizio dell'header del protocollo del livello successivo DEVE essere allineato rispetto all'inizio dell'header ESP come segue. Per IPv4, questo allineamento è un multiplo di 4 byte. Per IPv6, l'allineamento è un multiplo di 8 byte.
Per quanto riguarda la garanzia dell'allineamento del testo cifrato (reale) in presenza di un IV, notare quanto segue:
-
Per alcune modalità di funzionamento basate su IV, il ricevitore tratta l'IV come l'inizio del testo cifrato, alimentandolo direttamente nell'algoritmo. In queste modalità, l'allineamento dell'inizio del testo cifrato (reale) non è un problema per il ricevitore.
-
In alcuni casi, il ricevitore legge l'IV separatamente dal testo cifrato. In questi casi, la specifica dell'algoritmo DEVE affrontare come deve essere ottenuto l'allineamento del testo cifrato (reale).