OpenSSL

implémentation SSL/TLS
(Redirigé depuis 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.

OpenSSL
Description de l'image OpenSSL logo.svg.
Description de l'image UEFI Secure Boot DB certificate.png.
Informations
Développé par The OpenSSL Project
Première version Voir et modifier les données sur Wikidata
Dernière version 3.4.0 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/openssl/opensslVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en C, assembleur et PerlVoir et modifier les données sur Wikidata
Système d'exploitation GNU/Linux, GNU/Hurd (d), BSD, macOS et Microsoft WindowsVoir et modifier les données sur Wikidata
Formats lus OpenSSL salted format (d)Voir et modifier les données sur Wikidata
Formats écrits OpenSSL salted format (d)Voir et modifier les données sur Wikidata
Type Bibliothèque logicielle
Licence Licence Apache 2.0Voir et modifier les données sur Wikidata
Documentation www.openssl.org/docs/manpages.htmlVoir et modifier les données sur Wikidata
Site web www.openssl.orgVoir et modifier les données sur Wikidata

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

modifier

Basé 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.

Image illustrant la faille de sécurité Heartbleed

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

modifier
Historique des versions majeures de OpenSSL
Version 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 ()
  • Ancienne version, non prise en charge
  • Ancienne version, encore prise en charge
  • Version actuelle
  • Version future

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

modifier

OpenSSL supporte un grand nombre de :

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
RSA, DSA, Diffie-Hellman, courbe elliptique, GOST R 34.10-2001

Notes et références

modifier
  1. « OpenSSL 3.4.0 », (consulté le )
  2. Dan Goodin, « Critical crypto bug in OpenSSL opens two-thirds of the Web to eavesdropping », sur arstechnica.com, Ars Technica, (consulté le )
  3. « About the OpenSSL Project », sur www.openssl.org (consulté le )
  4. (en) « The Heartbleed Bug », sur Heartbleed (consulté le )
  5. (en) « TLS heartbeat read overrun (CVE-2014-0160) », sur Openssl.org, (consulté le )
  6. (en) Zack Whittaker, « Heartbleed bug affects Yahoo, OKCupid sites; users face losing passwords », sur Znet, (consulté le )
  7. Jose Pagliery, « Heartbleed bug: passwords to change right now », sur CNNMoney, (consulté le )
  8. (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 )
  9. Larry Seltzer, « OpenBSD forks, prunes, fixes OpenSSL », sur www.zdnet.com, (consulté le )
  10. Adam Langley, « BoringSSL », sur www.imperialviolet.org, (consulté le )
  11. Dan Goodin, « Google unveils independent “fork” of OpenSSL called “BoringSSL” », sur arstechnica.com, Ars Technica, (consulté le )
  12. (en) Steve Marquess, « [openssl-announce] Akamai sponsors TLS 1.3 », sur mta.openssl.org, (consulté le )
  13. (en) « OpenSSL to fix the second critical flaw ever », sur Sucerity Affairs, (consulté le )
  14. (en) Jai Vijayan, « Prepare Now for Critical Flaw in OpenSSL, Security Experts Warn », sur Darkreading, (consulté le )
  15. « CVE-2022-3786 and CVE-2022-3602: X.509 Email Address Buffer Overflows - OpenSSL Blog », sur www.openssl.org (consulté le )
  16. « Re: [gentoo-dev] [RFC] Discontinuing LibreSSL support? [LWN.net] », sur lwn.net (consulté le )
  17. (en) « LibreSSL enabled by default », sur voidlinux.org, (consulté le )
  18. (en) « Switching back to OpenSSL », sur voidlinux.org, (consulté le )
  19. « Alpine 3.9.0 released | Alpine Linux », sur alpinelinux.org (consulté le )
  20. « [alpine-devel] Proposed change: openssl 1.1 as default system openssl implementation — alpinelinux lists », sur lists.alpinelinux.org (consulté le )
  21. « '[PATCH] libressl: add dummy egd functions' - MARC », sur marc.info (consulté le )
  22. « LibreSSL support discontinued – Gentoo Linux », sur www.gentoo.org (consulté le )
  23. « Changelog — Python 3.4.10 documentation », sur docs.python.org (consulté le )
  24. « PEP 644 – Require OpenSSL 1.1.1 or newer | peps.python.org », sur peps.python.org (consulté le )

Annexes

modifier

Sur les autres projets Wikimedia :

Bibliographie

modifier

Articles connexes

modifier

Liens externes

modifier