4.4.2. Base de données des associations de sécurité (Security Association Database, SAD)
Dans chaque implémentation IPsec, il existe une base de données des associations de sécurité (Security Association Database, SAD) nominale, dans laquelle chaque entrée définit les paramètres associés à une SA. Chaque SA a une entrée dans la SAD.
Mécanismes de recherche SAD
Traitement sortant (Outbound Processing)
Pour le traitement sortant, chaque entrée SAD est pointée par des entrées dans la partie SPD-S du cache SPD.
Traitement entrant (Inbound Processing)
- Pour les SA unicast : Le SPI est utilisé soit seul pour rechercher une SA, soit en conjonction avec le type de protocole IPsec.
- Si une implémentation IPsec prend en charge le multicast : Le SPI plus l'adresse de destination, ou le SPI plus l'adresse de destination et l'adresse source sont utilisés pour rechercher la SA.
(Voir la Section 4.1 pour les détails sur l'algorithme qui DOIT être utilisé pour mapper les datagrammes IPsec entrants aux SA.)
Paramètres d'entrée SAD
Les paramètres suivants sont associés à chaque entrée dans la SAD. Ils doivent tous être présents sauf indication contraire, par exemple, l'algorithme d'authentification AH. Cette description ne prétend pas être une MIB, seulement une spécification des éléments de données minimaux requis pour prendre en charge une SA dans une implémentation IPsec.
Population des sélecteurs (Selector Population)
Pour chacun des sélecteurs définis dans la Section 4.4.1.1, l'entrée pour une SA entrante dans la SAD DOIT être initialement remplie avec la ou les valeurs négociées au moment de la création de la SA. (Voir le paragraphe de la Section 4.4.1 sous "Gestion des changements de SPD pendant que le système est en cours d'exécution" pour des conseils sur l'effet des changements de SPD sur les SA existantes.)
Pour un récepteur, ces valeurs sont utilisées pour vérifier que les champs d'en-tête d'un paquet entrant (après traitement IPsec) correspondent aux valeurs de sélecteur négociées pour la SA. Ainsi, la SAD agit comme un cache pour vérifier les sélecteurs du trafic entrant arrivant sur les SA. Pour le récepteur, cela fait partie de la vérification qu'un paquet arrivant sur une SA est cohérent avec la politique pour la SA. (Voir la Section 6 pour les règles concernant les messages ICMP.)
Ces champs peuvent avoir la forme de valeurs spécifiques, de plages, de ANY ou de OPAQUE, comme décrit dans la Section 4.4.1.1, "Sélecteurs".
Entrées SAD sans correspondance SPD
Notez également qu'il existe quelques situations dans lesquelles la SAD peut avoir des entrées pour des SA qui n'ont pas d'entrées correspondantes dans la SPD :
- Comme ce document n'exige pas que la SAD soit effacée de manière sélective lorsque la SPD est modifiée, les entrées SAD peuvent rester lorsque les entrées SPD qui les ont créées sont modifiées ou supprimées.
- Si une SA à clé manuelle est créée, il pourrait y avoir une entrée SAD pour cette SA qui ne correspond à aucune entrée SPD.
Support des SA multicast
Note : La SAD peut prendre en charge les SA multicast, si elles sont configurées manuellement.
SA multicast sortante (Outbound Multicast SA)
Une SA multicast sortante a la même structure qu'une SA unicast. L'adresse source est celle de l'expéditeur, et l'adresse de destination est l'adresse du groupe multicast.
SA multicast entrante (Inbound Multicast SA)
Une SA multicast entrante doit être configurée avec les adresses source de chaque pair autorisé à transmettre à la SA multicast en question. La valeur SPI pour une SA multicast est fournie par un contrôleur de groupe multicast, et non par le récepteur, comme pour une SA unicast.
Parce qu'une entrée SAD peut être requise pour accueillir plusieurs adresses IP source individuelles qui faisaient partie d'une entrée SPD (pour les SA unicast), la fonctionnalité requise pour les SA multicast entrantes est une fonctionnalité déjà présente dans une implémentation IPsec. Cependant, comme la SPD n'a pas de dispositions pour accueillir les entrées multicast, ce document ne spécifie pas de moyen automatisé pour créer une entrée SAD pour une SA multicast entrante. Seules les entrées SAD configurées manuellement peuvent être créées pour accueillir le trafic multicast entrant.
Guide d'implémentation : Liaison SPD-S vers SAD
Ce document ne spécifie pas comment une entrée SPD-S fait référence à l'entrée SAD correspondante, car il s'agit d'un détail spécifique à l'implémentation. Cependant, certaines implémentations (basées sur l'expérience de la RFC 2401) sont connues pour avoir des problèmes à cet égard.
Problème : Le simple stockage de la paire (adresse IP d'en-tête de tunnel distant, SPI distant) dans le cache SPD n'est pas suffisant, car la paire n'identifie pas toujours de manière unique une seule entrée SAD.
Exemples de non-unicité :
- Deux hôtes derrière le même NAT pourraient choisir la même valeur SPI.
- Un hôte se voit attribuer une adresse IP (par exemple, via DHCP) précédemment utilisée par un autre hôte, et les SA associées à l'ancien hôte n'ont pas encore été supprimées via des mécanismes de détection de pair mort.
Conséquence : Cela peut conduire à l'envoi de paquets sur la mauvaise SA ou, si la gestion des clés garantit que la paire est unique, au refus de la création de SA autrement valides.
Recommandation : Les implémenteurs doivent implémenter des liens entre le cache SPD et la SAD d'une manière qui n'engendre pas de tels problèmes.