Aller au contenu principal

19. Considérations de sécurité

19.1. Aperçu

D'un point de vue de la sécurité, les réseaux RPL ne sont pas différents de tout autre réseau. Ils sont vulnérables aux attaques d'écoute passive et, potentiellement, même à une falsification active lorsque l'accès physique à un fil n'est pas nécessaire pour participer aux communications. La nature même des réseaux ad hoc et leurs objectifs de coût imposent des contraintes de sécurité supplémentaires, qui font peut-être de ces réseaux les environnements les plus difficiles à sécuriser. Les appareils sont peu coûteux et ont des capacités limitées en termes de puissance de calcul, de stockage disponible et de consommation d'énergie ; on ne peut pas toujours supposer qu'ils disposent d'une base informatique de confiance ou d'un générateur de nombres aléatoires de haute qualité à bord.

Les communications ne peuvent pas reposer sur la disponibilité en ligne d'une infrastructure fixe et peuvent impliquer des relations à court terme entre des appareils qui n'ont peut-être jamais communiqué auparavant. Ces contraintes peuvent limiter sévèrement le choix des algorithmes et protocoles cryptographiques et influencer la conception de l'architecture de sécurité car l'établissement et le maintien de relations de confiance entre les appareils doivent être traités avec soin. De plus, la durée de vie de la batterie et les contraintes de coût imposent des limites sévères aux frais généraux de sécurité que ces réseaux peuvent tolérer, ce qui est beaucoup moins préoccupant avec les réseaux à bande passante plus élevée. La plupart de ces éléments architecturaux de sécurité peuvent être mis en œuvre à des couches supérieures et peuvent donc être considérés comme hors de portée de cette spécification. Une attention particulière doit cependant être exercée en ce qui concerne les interfaces avec ces couches supérieures.

Les mécanismes de sécurité de cette norme sont basés sur la cryptographie à clé symétrique et à clé publique et utilisent des clés qui doivent être fournies par des processus de couche supérieure. L'établissement et le maintien de ces clés sont hors de portée de cette spécification. Les mécanismes supposent une mise en œuvre sécurisée des opérations cryptographiques et un stockage sécurisé et authentique du matériel de clé.

Les mécanismes de sécurité spécifiés fournissent des combinaisons particulières des services de sécurité suivants :

Confidentialité des données (Data confidentiality) : : Assurance que les informations transmises ne sont divulguées qu'aux parties auxquelles elles sont destinées.

Authenticité des données (Data authenticity) : : Assurance de la source des informations transmises (et, par la présente, que les informations n'ont pas été modifiées en transit).

Protection contre la relecture (Replay protection) : : Assurance qu'un duplicata des informations transmises est détecté.

Rapidité (protection contre les retards) (Timeliness (delay protection)) : : Assurance que les informations transmises ont été reçues en temps opportun.

La protection réelle fournie peut être adaptée paquet par paquet et permet différents niveaux d'authenticité des données (pour minimiser les frais généraux de sécurité dans les paquets transmis si nécessaire) et une confidentialité des données facultative. Lorsqu'une protection non triviale est requise, une protection contre la relecture est toujours fournie.

La protection contre la relecture est fournie via l'utilisation d'une valeur non répétitive (nonce CCM) dans le processus de protection des paquets et le stockage de certaines informations d'état (appareil d'origine et le compteur de nonce CCM reçu en dernier de cet appareil), ce qui permet de détecter si cette valeur de nonce CCM particulière a été utilisée précédemment par l'appareil d'origine. De plus, une protection dite contre les retards est fournie parmi les appareils qui ont une horloge lâchement synchronisée à bord. Le délai acceptable peut être adapté paquet par paquet et permet des latences variables (pour faciliter des latences plus longues dans les paquets transmis sur un chemin de communication à sauts multiples).

La protection cryptographique peut utiliser une clé partagée entre deux appareils pairs (clé de liaison) ou une clé partagée entre un groupe d'appareils (clé de groupe), permettant ainsi une certaine flexibilité et des compromis spécifiques à l'application entre le stockage des clés et les coûts de maintenance des clés par rapport à la protection cryptographique fournie. Si une clé de groupe est utilisée pour la communication peer-to-peer, la protection n'est fournie que contre les appareils extérieurs et non contre les appareils malveillants potentiels dans le groupe de partage de clés.

L'authenticité des données peut être fournie à l'aide de techniques basées sur des clés symétriques ou des clés publiques. Avec les techniques basées sur des clés publiques (via des signatures), on corrobore les preuves quant à l'initiateur unique des informations transmises, tandis qu'avec les techniques basées sur des clés symétriques, l'authenticité des données n'est fournie que par rapport aux appareils d'un groupe de partage de clés. Ainsi, l'authentification basée sur une clé publique peut être utile dans des scénarios qui nécessitent une authentification plus fine que celle qui peut être fournie avec des techniques d'authentification basées sur des clés symétriques seules, comme avec les communications de groupe (diffusion, multidiffusion) ou dans des scénarios qui nécessitent la non-répudiation.