2. SOMMAIRE
- Qu’est ce qu’OpenSSL ?
- Le protocole SSL
- La ligne de commande openssl
- La bibliothèque OpenSSL
- Avantages et inconvénients avec OpenSSL
- Résumé
- Références
3. Qu’est OpenSSL ?
- Le projet OpenSSL est un le fruit d’un travail collectif qui a pour but de
développer une boîte à outils libre d’accès, gratuite, puissante, riche en
fonctionnalités et de qualité commercial, implémentant les protocoles SSL et
TLS ainsi qu’une interface en ligne de commande.
- Cette boîte à outils comprend une bibliothèque puissante de cryptographie.
- Le projet est géré par une communauté mondiale de volontaire qui utilise
internet pour communiquer, planifier et développer la boîte à outils OpenSSL.
4. Le protocole SSL
Le protocole SSL (Secure Sockets Layer) a été développé par la société
Netscape Communications Corporations pour permettre la sécurisation
des échanges sur Internet.
L’IETF qui produit la plupart des nouveaux standards d’Internet a continué
le développement de SSL en le renommant TLS (Transport Layer Security).
SSL/TLS fonctionne en deux temps selon un mode client-serveur :
Une phase de poignée de mains (handshake) durant laquelle le client et le
serveur s'identifient, conviennent du système de chiffrement et d'une clé qu'ils
utiliseront par la suite.
Une phase de communication proprement dite durant laquelle les données
échangées sont compressées, chiffrées et signées.
5. La ligne de commande openssl
La ligne de commande openssl permet d’utiliser les différentes fonctions
cryptographiques de la bibliothèque openssl :
La création de paramètres des clefs de type publique RSA, DH et DSA
La création de certificats X.509, CSRs et CRLs
Le calcul d'empreintes (MD5, SHA, RIPEMD160, ...)
Le chiffrement et déchiffrement (DES, IDEA, RC2, RC4, Blowfish, ...)
Le test de clients et serveurs SSL/TLS
La signature et le chiffrement de courriers (S/MIME)
La syntaxe de la commande est : opennssl <commande> <options>
6. La bibliothèque OpenSSL
OpenSSL est Basé sur la bibliothèque SSLeay de Eric A. Young et Tim J.
Hudson. Il s’agit d’une bibliothèque logicielle qui contient une collection
de fonctions prêtent à être utilisé par le programme OpenSSL.
OpenSSL fournit deux bibliothèques primaires : Libssl & libcrypto.
Libssl & libcrypto sont des API ou Interface de programmation :
Libssl implémente SSL/TLS
Libcrypto s’occupe du chiffrement symétrique, cryptographie à clé publique et un accord
clé, la gestion des certificats, fonctions de hachage cryptographique et un générateur de
nombres pseudo-aléatoire cryptographique
7. Avantages et Inconvénients d’OpenSSL
Avantages Inconvénients
- Outil puissant
- Incontournable pour le chiffrement
et le hachage
- Opensource
- Portabilité
- Massivement utilisé
- Pas simple à utiliser
- Documentation pas toujours claires
- Soucis de compatibilité des
librairies sur certaines plateformes
- Des failles de +/- importantes ont
été découvertes
8. Résumé
OpenSSL est une boîte à outils cryptographiques, implémentant les
protocoles SSL et TLS, qui avec sa bibliothèque de cryptographie permet
aux applications client/serveur de communiquer de façon sécurisé
OpenSSL est une librairie incontournable pour le chiffrement et le
hachage, disponible sous Linux mais également sous Windows
OpenSSL est géré par une communauté mondiale
Malgré quelques soucis de sécurité rencontrés récemment OpenSSL reste
massivement utilisé