OpenSSL
OpenSSL est une boîte à outils de chiffrement comportant deux bibliothèques, libcrypto et libssl, fournissant respectivement une implémentation des algorithmes cryptographiques et du protocole de communication SSL/TLS, ainsi qu'une interface en ligne de commande, openssl.
Développé par | The OpenSSL Project |
---|---|
Première version | |
Dernière version | 3.4.0 ()[1] |
Dépôt | github.com/openssl/openssl |
Assurance qualité | Intégration continue |
Écrit en | C, assembleur et Perl |
Système d'exploitation | GNU/Linux, GNU/Hurd (d), BSD, macOS et Microsoft Windows |
Formats lus | OpenSSL salted format (d) |
Formats écrits | OpenSSL salted format (d) |
Type | Bibliothèque logicielle |
Licence | Licence Apache 2.0 |
Documentation | www.openssl.org/docs/manpages.html |
Site web | www.openssl.org |
Développée en C, OpenSSL est disponible sur les principaux systèmes d'exploitation et dispose de nombreux wrappers ce qui la rend utilisable dans une grande variété de langages informatiques. En 2014, deux tiers des sites Web l'utilisaient[2].
Histoire
modifierBasé sur la bibliothèque SSLeay de Eric A. Young et Tim J. Hudson[3], le projet voit le jour en 1998 dans le but de mettre à la disposition de tous les outils libres pour le chiffrement.
Bien que massivement utilisée, la bibliothèque est peu médiatisée en dehors de la communauté informatique. Cela change en avril 2014 à la suite de la révélation d'une vulnérabilité majeure, Heartbleed qui permet de récupérer le contenu de la mémoire du serveur sans laisser aucune trace numérique[4],[5]. Du fait de sa très grande utilisation, de nombreux sites internet grand public, entre autres Wikipédia, Google, Dropbox, Yahoo! et Flickr, sont affectés et recommandent à leurs utilisateurs de ne pas se connecter pendant les quelques jours nécessaires à effectuer les mises à jour puis de changer leur mots de passe[6],[7].
Heartbleed a mis en avant le manque de moyen d'OpenSSL et de nombreux logiciels libres essentiels au bon fonctionnement d'internet et des systèmes de communication. Cette constatation a mené à la création de la Core Infrastructure Initiative soutenu par des entreprises majeures du secteur informatique telles que Google, Microsoft, Facebook ou encore Amazon Web Services[8].
De nouvelles failles, de moindres importances que Heartbleed, sont rendues publiques en juin de la même année. Les annonces et l'importance de ces failles ont permis de révéler plusieurs problèmes dans la qualité du code.
Ces problèmes ont poussé des développeurs du projet OpenBSD à forker OpenSSL en LibreSSL[9]. Quelques mois plus tard, Google annonce avoir également créé son propre fork, mais pour des raisons de facilité de maintenance car elle l'utilise dans ses projets Chrome et Android[10],[11].
Le il a été annoncé que Akamai apporte un soutien financier à la fondation OpenSSL pour accélérer le développement de la version 1.1.1 qui sera la première à inclure la possibilité d’utiliser TLS 1.3[12]. OpenSSL 1.1.1 devait être initialement disponible début avril 2017 mais les spécifications de TLS 1.3 n’étant pas finalisées sa sortie est différée. Une première version beta est finalement apparue le et le la release de la version 1.1.1 LTS (Long Term Support) voit enfin le jour avec le support du TLS 1.3.
Le est annoncé qu’une faille de sécurité critique sur la version 3.0 et son correctif seront publiés le [13],[14]. Finalement ce sont deux failles hautes qui sont publiés[15].
Versions
modifierVersion | Date de sortie | Commentaire | Dernière version mineure |
---|---|---|---|
0.9.1 | Lancement du projet | 0.9.1c () | |
0.9.2 | 0.9.2b () | ||
0.9.3 | 0.9.3a () | ||
0.9.4 | 0.9.4 () | ||
0.9.5 | 0.9.5a () | ||
0.9.6 | 0.9.6m () | ||
0.9.7 | Support des cartes accélératrices matérielles | 0.9.7m () | |
0.9.8 | 0.9.8zh () | ||
1.0.0 | 1.0.0t () | ||
1.0.1 | 1.0.1u () | ||
1.0.2 | Consultez le changelog. | 1.0.2t () | |
1.1.0 | Consultez le changelog. | 1.1.0l () | |
1.1.1 | Consultez le changelog. | 1.1.1u () | |
3.0.0 | Consultez le changelog. | 3.0.9 () | |
|
Abandon pour LibreSSL puis réadoption
modifierÀ la suite de la faille Heartbleed, quelques distributions et logiciels remplacent OpenSSL par son fork LibreSSL. Quelques années plus tard, un retour arrière est réalisé pour des raisons de maintenance, de fonctionnalités et par conséquent de sécurité[16].
Distribution | support LibreSSL | abandon LibreSSL / réadoption OpenSSL |
---|---|---|
Void Linux | 06/08/2014[17] | 05/03/2021[18] |
Alpine Linux | 29/01/2019[19],[20] | |
Gentoo Linux | 11/07/2014[21] | 05/01/2021[22] |
Python | 23/02/2015[23] | 27/08/2020[24] |
Algorithmes
modifierOpenSSL supporte un grand nombre de :
- types de chiffrement :
- AES, Blowfish, Camellia, ChaCha20, SEED, CAST-128, DES, IDEA, RC2, RC4, RC5, Triple DES, GOST 28147-89
- MD5, MD4, MD2, SHA-1, SHA-2, RIPEMD-160, MDC-2, GOST R 34.11-94
- types de cryptographie à clé publique :
Notes et références
modifier- « OpenSSL 3.4.0 », (consulté le )
- Dan Goodin, « Critical crypto bug in OpenSSL opens two-thirds of the Web to eavesdropping », sur arstechnica.com, Ars Technica, (consulté le )
- « About the OpenSSL Project », sur www.openssl.org (consulté le )
- (en) « The Heartbleed Bug », sur Heartbleed (consulté le )
- (en) « TLS heartbeat read overrun (CVE-2014-0160) », sur Openssl.org, (consulté le )
- (en) Zack Whittaker, « Heartbleed bug affects Yahoo, OKCupid sites; users face losing passwords », sur Znet, (consulté le )
- Jose Pagliery, « Heartbleed bug: passwords to change right now », sur CNNMoney, (consulté le )
- (en) « Amazon Web Services, Cisco, Dell, Facebook, Fujitsu, Google, IBM, Intel, Microsoft, NetApp, Rackspace, VMware and The Linux Foundation Form New Initiative to Support Critical Open Source Projects | The Linux Foundation », sur www.linuxfoundation.org (consulté le )
- Larry Seltzer, « OpenBSD forks, prunes, fixes OpenSSL », sur www.zdnet.com, (consulté le )
- Adam Langley, « BoringSSL », sur www.imperialviolet.org, (consulté le )
- Dan Goodin, « Google unveils independent “fork” of OpenSSL called “BoringSSL” », sur arstechnica.com, Ars Technica, (consulté le )
- (en) Steve Marquess, « [openssl-announce] Akamai sponsors TLS 1.3 », sur mta.openssl.org, (consulté le )
- (en) « OpenSSL to fix the second critical flaw ever », sur Sucerity Affairs, (consulté le )
- (en) Jai Vijayan, « Prepare Now for Critical Flaw in OpenSSL, Security Experts Warn », sur Darkreading, (consulté le )
- « CVE-2022-3786 and CVE-2022-3602: X.509 Email Address Buffer Overflows - OpenSSL Blog », sur www.openssl.org (consulté le )
- « Re: [gentoo-dev] [RFC] Discontinuing LibreSSL support? [LWN.net] », sur lwn.net (consulté le )
- (en) « LibreSSL enabled by default », sur voidlinux.org, (consulté le )
- (en) « Switching back to OpenSSL », sur voidlinux.org, (consulté le )
- « Alpine 3.9.0 released | Alpine Linux », sur alpinelinux.org (consulté le )
- « [alpine-devel] Proposed change: openssl 1.1 as default system openssl implementation — alpinelinux lists », sur lists.alpinelinux.org (consulté le )
- « '[PATCH] libressl: add dummy egd functions' - MARC », sur marc.info (consulté le )
- « LibreSSL support discontinued – Gentoo Linux », sur www.gentoo.org (consulté le )
- « Changelog — Python 3.4.10 documentation », sur docs.python.org (consulté le )
- « PEP 644 – Require OpenSSL 1.1.1 or newer | peps.python.org », sur peps.python.org (consulté le )
Annexes
modifierBibliographie
modifier- (en) John Viega, Matt Messier et Pravir Chandra, Network Security with OpenSSL : Cryptography for Secure Communications, Sebastopol, CA, O'Reilly, , 1re éd. (1re éd. 2002), 367 p. (ISBN 0-596-00270-X et 978-0-596-00270-1, OCLC 49959243, LCCN 2002025832)
Articles connexes
modifier- POODLE, faille dans SSL version 3
- Heartbleed
- Suite cryptographique
Liens externes
modifier- (en) Site officiel