OpenSSL Perfect Forward Secrecy

· Fonctionnalités

À partir de sgcWebSockets 4.4.8, de petites modifications ont été apportées à la bibliothèque pour améliorer la sécurité des connexions. L'une d'elles est la Perfect Forward Secrecy.

Quand tu utilises le mécanisme d'échange de clés RSA, il crée un lien entre la paire de clés du serveur et la clé de session créée pour chaque session sécurisée unique. Ainsi, si un attaquant parvient à mettre la main sur la clé privée du serveur, il peut déchiffrer ta session SSL et toutes les sessions SSL sauvegardées.

À l'inverse, lorsque tu actives la Perfect Forward Secrecy (PFS), il n'y a aucun lien entre la clé privée de ton serveur et chaque clé de session. Si un attaquant accède à la clé privée de ton serveur, il ne peut pas l'utiliser pour déchiffrer tes sessions archivées ; c'est pourquoi on parle de « Perfect Forward Secrecy ».


Activer la Perfect Forward Secrecy 

Pour activer la Perfect Forward Secrecy pour les connexions TLS 1.2, active simplement la propriété :

SSLOptions.OpenSSL_Options.ECDHE := True;

Cela active ECDHE pour les connexions TLS 1.2 si tu utilises les bibliothèques openSSL 1.0.2 (pour 1.1.1, ECDHE est activé par défaut). Quand ECDHE est activé, la bibliothèque passe à openSSL une liste de chiffrements à haute sécurité.

Si tu effectues un test de sécurité sur le site https://entrust.ssllabs.com/, tu obtiendras un résultat sécurisé après avoir activé ECDHE sur ton serveur.

Le serveur utilisé pour passer les tests utilisait openSSL 1.1.1 et autorisait TLS 1.2 et TLS 1.3 ; ECDHE était également activé.