4.4.1.2. Struttura di una voce SPD (Structure of an SPD Entry)
Questa sezione contiene una descrizione in prosa di una voce SPD. Inoltre, l'Appendice C fornisce un esempio di definizione ASN.1 di una voce SPD.
Considerazioni sulla compatibilità IKE
Questo testo descrive la SPD in modo tale da mappare direttamente nei payload IKE per garantire che la politica richiesta dalle voci SPD possa essere negoziata tramite IKE. Sfortunatamente, la semantica della versione di IKEv2 pubblicata contemporaneamente a questo documento [Kau05] non si allinea precisamente con quelle definite per la SPD. In particolare, IKEv2 non consente la negoziazione di una singola SA che lega più coppie di indirizzi e porte locali e remote a una singola SA. Invece, quando più indirizzi e porte locali e remote sono negoziate per una SA, IKEv2 le tratta non come coppie, ma come insiemi (non ordinati) di valori locali e remoti che possono essere accoppiati arbitrariamente.
IMPORTANTE: Fino a quando IKE non fornirà una funzionalità che trasmette la semantica espressa nella SPD tramite insiemi di selettori (come descritto di seguito), gli utenti NON DEVONO (MUST NOT) includere più insiemi di selettori in una singola voce SPD, a meno che l'intento di controllo degli accessi non sia allineato con la semantica "mix and match" di IKE. Un'implementazione PUÒ (MAY) avvisare gli utenti, per avvertirli di questo problema se gli utenti creano voci SPD con più insiemi di selettori, la cui sintassi indica possibili conflitti con la semantica IKE corrente.
Considerazioni sull'interfaccia di gestione
L'interfaccia di gestione può offrire all'utente altre forme di inserimento e visualizzazione dati, ad esempio, l'opzione di utilizzare prefissi di indirizzo oltre a intervalli e nomi simbolici per protocolli, porte, ecc. (Non confondere l'uso di nomi simbolici in un'interfaccia di gestione con il selettore SPD "Nome".)
Nota: Remoto/Locale si applicano solo agli indirizzi IP e alle porte, non al tipo/codice di messaggio ICMP o al tipo di intestazione di mobilità. Inoltre, se il valore di selettore simbolico riservato OPAQUE o ANY è impiegato per un determinato tipo di selettore, solo quel valore può apparire nell'elenco per quel selettore, e deve apparire solo una volta nell'elenco per quel selettore.
Nota: ANY e OPAQUE sono convenzioni di sintassi locali —— IKEv2 negozia questi valori tramite gli intervalli indicati di seguito:
ANY: start = 0 end = <max>
OPAQUE: start = <max> end = 0
Campi di una voce SPD
Una SPD è un elenco ordinato di voci, ciascuna delle quali contiene i seguenti campi.
o Nome (Name)
Un elenco di ID. Questo quasi-selettore è opzionale. Le forme che DEVONO essere supportate sono descritte sopra nella Sezione 4.4.1.1 sotto "Nome".
o Flag PFP (PFP flags)
Uno per selettore di traffico. Un dato flag, ad esempio, per il protocollo di livello successivo, si applica al selettore rilevante in tutti gli "insiemi di selettori" (vedi sotto) contenuti in una voce SPD. Durante la creazione di una SA, ogni flag specifica per il selettore di traffico corrispondente se istanziare il selettore dal campo corrispondente nel pacchetto che ha attivato la creazione della SA o dal/dai valore/i nella voce SPD corrispondente (vedere Sezione 4.4.1, "Come derivare i valori per una voce SAD"). Se viene utilizzato un singolo flag per, ad esempio, porta sorgente, tipo/codice ICMP e tipo MH, o se viene utilizzato un flag separato per ciascuno, è una questione locale.
Ci sono flag PFP per:
- Indirizzo locale (Local Address)
- Indirizzo remoto (Remote Address)
- Protocollo di livello successivo (Next Layer Protocol)
- Porta locale, o tipo/codice di messaggio ICMP o tipo di intestazione di mobilità (a seconda del protocollo di livello successivo)
- Porta remota, o tipo/codice di messaggio ICMP o tipo di intestazione di mobilità (a seconda del protocollo di livello successivo)
o Da uno a N insiemi di selettori (One to N selector sets)
Questi corrispondono alla "condizione" per applicare una particolare azione IPsec. Ogni insieme di selettori contiene:
- Indirizzo locale (Local Address)
- Indirizzo remoto (Remote Address)
- Protocollo di livello successivo (Next Layer Protocol)
- Porta locale, o tipo/codice di messaggio ICMP o tipo di intestazione di mobilità (a seconda del protocollo di livello successivo)
- Porta remota, o tipo/codice di messaggio ICMP o tipo di intestazione di mobilità (a seconda del protocollo di livello successivo)
Nota: Il selettore "next protocol" è un valore individuale (a differenza degli indirizzi IP locali e remoti) in una voce di insieme di selettori. Questo è coerente con il modo in cui IKEv2 negozia i valori del selettore di traffico (TS) per una SA. Ha anche senso perché potrebbe essere necessario associare diversi campi porta a protocolli diversi. È possibile associare più protocolli (e porte) a una singola SA specificando più insiemi di selettori per quella SA.
o Informazioni di elaborazione (Processing info)
Quale azione è richiesta —— PROTECT (proteggere), BYPASS (bypassare) o DISCARD (scartare). C'è solo un'azione che va con tutti gli insiemi di selettori, non un'azione separata per ogni insieme. Se l'elaborazione richiesta è PROTECT, la voce contiene le seguenti informazioni.
Campi delle informazioni di elaborazione (per PROTECT):
-
Modalità IPsec (IPsec mode) —— modalità tunnel o modalità transport
-
(se modalità tunnel) indirizzo tunnel locale (local tunnel address) —— Per un host non mobile, se c'è solo un'interfaccia, questo è semplice; se ci sono più interfacce, questo deve essere configurato staticamente. Per un host mobile, la specifica dell'indirizzo locale è gestita esternamente a IPsec.
-
(se modalità tunnel) indirizzo tunnel remoto (remote tunnel address) —— Non esiste un modo standard per determinare questo. Vedere 4.5.3, "Localizzazione di un gateway di sicurezza".
-
Numero di sequenza esteso (Extended Sequence Number) —— Questa SA utilizza numeri di sequenza estesi?
-
Controllo frammenti con stato (stateful fragment checking) —— Questa SA utilizza il controllo frammenti con stato? (Vedere Sezione 7 per maggiori dettagli.)
-
Ignora bit DF (Bypass DF bit) (T/F) —— applicabile alle SA in modalità tunnel
-
Ignora DSCP (Bypass DSCP) (T/F) o mappa su valori DSCP non protetti (array) se necessario per limitare l'esclusione dei valori DSCP —— applicabile alle SA in modalità tunnel
-
Protocollo IPsec (IPsec protocol) —— AH o ESP
-
Algoritmi (algorithms) —— quali utilizzare per AH, quali utilizzare per ESP, quali utilizzare per la modalità combinata, ordinati per priorità decrescente
Nota: È una questione locale quali informazioni vengono conservate per quanto riguarda la gestione delle SA esistenti quando la SPD viene modificata.