4.4.2. Database delle associazioni di sicurezza (Security Association Database, SAD)
In ogni implementazione IPsec, esiste un database delle associazioni di sicurezza (Security Association Database, SAD) nominale, in cui ogni voce definisce i parametri associati a una SA. Ogni SA ha una voce nella SAD.
Meccanismi di ricerca SAD
Elaborazione in uscita (Outbound Processing)
Per l'elaborazione in uscita, ogni voce SAD è puntata da voci nella parte SPD-S della cache SPD.
Elaborazione in entrata (Inbound Processing)
- Per le SA unicast: Il SPI viene utilizzato da solo per cercare una SA o in combinazione con il tipo di protocollo IPsec.
- Se un'implementazione IPsec supporta il multicast: Il SPI più l'indirizzo di destinazione, o SPI più gli indirizzi di destinazione e sorgente vengono utilizzati per cercare la SA.
(Vedere la Sezione 4.1 per i dettagli sull'algoritmo che DEVE essere utilizzato per mappare i datagrammi IPsec in entrata alle SA.)
Parametri delle voci SAD
I seguenti parametri sono associati a ciascuna voce nella SAD. Dovrebbero essere tutti presenti tranne dove diversamente indicato, ad esempio, l'algoritmo di autenticazione AH. Questa descrizione non pretende di essere una MIB, solo una specifica degli elementi dati minimi richiesti per supportare una SA in un'implementazione IPsec.
Popolazione dei selettori (Selector Population)
Per ciascuno dei selettori definiti nella Sezione 4.4.1.1, la voce per una SA in entrata nella SAD DEVE essere inizialmente popolata con il valore o i valori negoziati al momento della creazione della SA. (Vedere il paragrafo nella Sezione 4.4.1 sotto "Gestione delle modifiche alla SPD mentre il sistema è in esecuzione" per indicazioni sull'effetto delle modifiche SPD sulle SA esistenti.)
Per un ricevitore, questi valori vengono utilizzati per verificare che i campi di intestazione di un pacchetto in entrata (dopo l'elaborazione IPsec) corrispondano ai valori del selettore negoziati per la SA. Pertanto, la SAD funge da cache per il controllo dei selettori del traffico in entrata che arriva sulle SA. Per il ricevitore, questo fa parte della verifica che un pacchetto che arriva su una SA sia coerente con la politica per la SA. (Vedere la Sezione 6 per le regole sui messaggi ICMP.)
Questi campi possono avere la forma di valori specifici, intervalli, ANY o OPAQUE, come descritto nella Sezione 4.4.1.1, "Selettori".
Voci SAD senza corrispondenza SPD
Si noti anche che ci sono un paio di situazioni in cui la SAD può avere voci per SA che non hanno voci corrispondenti nella SPD:
- Poiché questo documento non impone che la SAD venga cancellata selettivamente quando la SPD viene modificata, le voci SAD possono rimanere quando le voci SPD che le hanno create vengono modificate o eliminate.
- Se viene creata una SA con chiave manuale, potrebbe esserci una voce SAD per questa SA che non corrisponde a nessuna voce SPD.
Supporto SA multicast
Nota: La SAD può supportare le SA multicast, se configurate manualmente.
SA multicast in uscita (Outbound Multicast SA)
Una SA multicast in uscita ha la stessa struttura di una SA unicast. L'indirizzo sorgente è quello del mittente e l'indirizzo di destinazione è l'indirizzo del gruppo multicast.
SA multicast in entrata (Inbound Multicast SA)
Una SA multicast in entrata deve essere configurata con gli indirizzi sorgente di ogni peer autorizzato a trasmettere alla SA multicast in questione. Il valore SPI per una SA multicast è fornito da un controller di gruppo multicast, non dal ricevitore, come per una SA unicast.
Poiché una voce SAD potrebbe essere richiesta per accogliere più indirizzi IP sorgente individuali che facevano parte di una voce SPD (per le SA unicast), la funzionalità richiesta per le SA multicast in entrata è una funzionalità già presente in un'implementazione IPsec. Tuttavia, poiché la SPD non ha disposizioni per accogliere voci multicast, questo documento non specifica un modo automatizzato per creare una voce SAD per una SA multicast in entrata. Solo le voci SAD configurate manualmente possono essere create per accogliere il traffico multicast in entrata.
Guida all'implementazione: collegamento SPD-S a SAD
Questo documento non specifica come una voce SPD-S fa riferimento alla voce SAD corrispondente, poiché si tratta di un dettaglio specifico dell'implementazione. Tuttavia, è noto che alcune implementazioni (basate sull'esperienza della RFC 2401) hanno problemi in questo senso.
Problema: La semplice memorizzazione della coppia (indirizzo IP dell'intestazione del tunnel remoto, SPI remoto) nella cache SPD non è sufficiente, poiché la coppia non identifica sempre in modo univoco una singola voce SAD.
Esempi di non univocità:
- Due host dietro lo stesso NAT potrebbero scegliere lo stesso valore SPI.
- A un host viene assegnato un indirizzo IP (ad esempio, tramite DHCP) precedentemente utilizzato da un altro host, e le SA associate al vecchio host non sono ancora state eliminate tramite meccanismi di rilevamento peer morti.
Conseguenza: Ciò può portare all'invio di pacchetti sulla SA errata o, se la gestione delle chiavi garantisce che la coppia sia univoca, al rifiuto della creazione di SA altrimenti valide.
Raccomandazione: Gli implementatori dovrebbero implementare collegamenti tra la cache SPD e la SAD in modo da non generare tali problemi.