OpenSSL

Un article de Wikipédia, l'encyclopédie libre.
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.3.0 ()[1]Voir et modifier les données sur Wikidata
Dépôt git://git.openssl.org/openssl.gitVoir 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 version 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

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é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 | modifier le code]

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 | modifier le code]

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 | modifier le code]

À 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 | modifier le code]

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 | modifier le code]

  1. « OpenSSL version 3.3.0 published », (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 | modifier le code]

Sur les autres projets Wikimedia :

Bibliographie[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]