Fiche technique | |
---|---|
Type de produit : | Bibliothèque |
Langage de programmation : | C |
Auteur : | |
Licence : | Apache 2.0 |
Date de publication : | 2014 à maintenant |
Site Web : | https://boringssl.googlesource.com/boringssl/ |
Introduction
BoringSSL est une bibliothèque cryptographique développée par Google. Elle est une dérivation (ou fork) d'OpenSSL, avec des modifications visant à répondre aux besoins spécifiques des projets de Google. Voici les points clefs pour comprendre ce qu'est BoringSSL :
Origine
- BoringSSL est basé sur OpenSSL, une bibliothèque populaire et open source utilisée pour la cryptographie et les protocoles de communication sécurisés comme TLS/SSL.
- Google a forké OpenSSL en 2014 pour avoir un meilleur contrôle sur la sécurité, la maintenance, et les fonctionnalités spécifiques requises pour ses produits.
Objectifs
- Simplicité : Google a supprimé des fonctionnalités qu'il considérait inutiles ou obsolètes pour ses besoins.
- Sécurité renforcée : Certaines améliorations ont été introduites pour limiter les erreurs humaines dans l'utilisation de la bibliothèque.
- Compatibilité avec Google : Optimisé pour les projets comme Android, Chromium, et d'autres infrastructures internes.
Différences avec OpenSSL
- BoringSSL n'est pas un remplacement direct d'OpenSSL pour des projets tiers. Contrairement à OpenSSL, il n'est pas conçu pour être utilisé comme une bibliothèque standard par d'autres développeurs.
- BoringSSL ne garantit pas de stabilité API/ABI, ce qui signifie que son interface peut changer fréquemment.
- Plusieurs fonctionnalités d'OpenSSL, comme les protocoles plus anciens (SSLv2, SSLv3) ou certains algorithmes désuets, ont été supprimées.
Usage
- BoringSSL est utilisé principalement par Google pour ses propres projets, notamment : Android, Chrome, les services d'infrastructure de Google.
- Il est également adopté par d'autres projets, comme Envoy, mais son usage en dehors de Google est limité car il n'a pas vocation à être une solution universelle.
Avantages
- Meilleure intégration pour les projets spécifiques de Google.
- Plus léger, avec un code réduit et simplifié par rapport à OpenSSL.
- Haut niveau de sécurité grâce à un audit constant et à des pratiques modernes de développement.
Inconvénients
- Pas destiné à un usage général pour des applications externes.
- API/ABI instables, nécessitant des mises à jour fréquentes.
Dernière mise à jour : Mardi, le 8 octobre 2024