4.4. Principali database IPsec (Major IPsec Databases)
Molti dei dettagli associati all'elaborazione del traffico IP in un'implementazione IPsec sono in gran parte una questione locale, non soggetta a standardizzazione. Tuttavia, alcuni aspetti esterni dell'elaborazione devono essere standardizzati per garantire l'interoperabilità e fornire una capacità di gestione minima essenziale per l'uso produttivo di IPsec. Questa sezione descrive un modello generale per l'elaborazione del traffico IP relativo alla funzionalità IPsec, a supporto di questi obiettivi di interoperabilità e funzionalità. Il modello descritto di seguito è nominale; le implementazioni non devono corrispondere ai dettagli di questo modello come presentato, ma il comportamento esterno delle implementazioni DEVE corrispondere alle caratteristiche osservabili dall'esterno di questo modello per essere conformi.
Ci sono tre database nominali in questo modello: il database delle politiche di sicurezza (Security Policy Database, SPD), il database delle associazioni di sicurezza (Security Association Database, SAD) e il database di autorizzazione dei peer (Peer Authorization Database, PAD). Il primo specifica le politiche che determinano la disposizione di tutto il traffico IP in entrata o in uscita da un host o gateway di sicurezza (sezione 4.4.1). Il secondo database contiene parametri associati a ciascuna SA stabilita (con chiave) (sezione 4.4.2). Il terzo database, il PAD, fornisce un collegamento tra un protocollo di gestione SA (come IKE) e la SPD (sezione 4.4.3).
Contesti IPsec separati multipli
Se un'implementazione IPsec agisce come gateway di sicurezza per più abbonati, PUÒ implementare più contesti IPsec separati. Ogni contesto PUÒ avere e PUÒ utilizzare identità, politiche, SA di gestione delle chiavi e/o SA IPsec completamente indipendenti. Questo è per la maggior parte una questione di implementazione locale. Tuttavia, è richiesto un mezzo per associare le proposte (SA) in entrata con i contesti locali. A tal fine, se supportato dal protocollo di gestione delle chiavi in uso, gli identificatori di contesto POSSONO essere trasmessi dall'iniziatore al risponditore nei messaggi di segnalazione, con il risultato che le SA IPsec vengono create con un binding a un contesto particolare. Ad esempio, un gateway di sicurezza che fornisce servizi VPN a più clienti sarà in grado di associare il traffico di ciascun cliente alla VPN corretta.
Decisioni di inoltro vs decisioni di sicurezza
Il modello IPsec descritto qui incarna una chiara separazione tra decisioni di inoltro (routing) e decisioni di sicurezza, per accogliere un'ampia gamma di contesti in cui IPsec può essere impiegato. L'inoltro può essere banale, nel caso in cui ci siano solo due interfacce, o può essere complesso, ad esempio, se il contesto in cui IPsec è implementato utilizza una funzione di inoltro sofisticata. IPsec assume solo che il traffico in uscita e in entrata che ha superato l'elaborazione IPsec sia inoltrato in modo coerente con il contesto in cui IPsec è implementato. Il supporto per le SA nidificate è opzionale; se richiesto, richiede il coordinamento tra le tabelle di inoltro e le voci SPD per far attraversare a un pacchetto il confine IPsec più di una volta.
"Locale" vs "Remoto"
In questo documento, rispetto agli indirizzi IP e alle porte, i termini "Locale" e "Remoto" sono usati per le regole di politica. "Locale" si riferisce all'entità protetta da un'implementazione IPsec, cioè l'indirizzo/porta "sorgente" dei pacchetti in uscita o l'indirizzo/porta "destinazione" dei pacchetti in entrata. "Remoto" si riferisce a un'entità peer o entità peer. I termini "sorgente" e "destinazione" sono usati per i campi dell'intestazione del pacchetto.
Frammenti "non iniziali" vs "iniziali"
In tutto questo documento, la frase "frammenti non iniziali" è usata per indicare i frammenti che non contengono tutti i valori del selettore che potrebbero essere necessari per il controllo degli accessi (ad esempio, potrebbero non contenere il protocollo di livello successivo, le porte sorgente e destinazione, il tipo/codice del messaggio ICMP, il tipo di intestazione di mobilità). E la frase "frammento iniziale" è usata per indicare un frammento che contiene tutti i valori del selettore necessari per il controllo degli accessi. Tuttavia, va notato che per IPv6, quale frammento contiene il protocollo di livello successivo e le porte (o tipo/codice del messaggio ICMP o tipo di intestazione di mobilità) dipenderà dal tipo e dal numero di intestazioni di estensione presenti. Il "frammento iniziale" potrebbe non essere il primo frammento, in questo contesto.