OpenSSL est un ensemble de bibliothèques et d’outils utilisés pour sécuriser les communications et effectuer des opérations cryptographiques. De nombreux logiciels s’appuient sur ses composants sans que l’utilisateur voie son nom dans leur interface. Son rôle se situe notamment dans les connexions TLS, employées pour protéger les échanges entre un client et un serveur.
Bibliothèques, clés et certificats
La bibliothèque libssl prend en charge les protocoles de communication sécurisée, tandis que libcrypto fournit des primitives de chiffrement, de signature et de calcul d’empreintes.
L’outil en ligne de commande permet aussi de travailler avec des clés et des certificats. Ces objets ont des fonctions différentes : un certificat associe une identité à une clé publique, une signature permet de contrôler l’origine et l’intégrité d’un message, et une empreinte n’est pas un fichier chiffré que l’on pourrait simplement déchiffrer.
L’actualité d’OpenSSL croise celle des serveurs, des systèmes d’exploitation et des applications qui l’intègrent. Lorsqu’une vulnérabilité est corrigée, sa résolution doit parvenir jusqu’au logiciel réellement utilisé. Une version fournie par un système peut recevoir des correctifs spécifiques ; lire uniquement un numéro de version sans consulter les informations de son fournisseur peut donc donner une conclusion incomplète.
Le projet relève de l’open source, mais la disponibilité du code ne supprime ni les erreurs ni la nécessité d’une maintenance. La gestion des clés, les paramètres du service et la vérification des certificats participent aussi à la protection. Une connexion chiffrée protège un trajet de données ; elle ne garantit pas que le site distant est honnête ou que les appareils aux deux extrémités sont exempts de logiciel malveillant.