„`html
OpenSSL
OpenSSL to wieloplatformowa, otwarta implementacja protokołów SSL i TLS oraz algorytmów kryptograficznych, dostępna na licencji zbliżonej do Apache. Jest kompatybilna z systemami uniksopodobnymi, OpenVMS oraz Microsoft Windows. Oferuje biblioteki implementujące standardy kryptograficzne oraz zestaw narzędzi do zarządzania kluczami, certyfikatami i szyfrowania danych.
Historia projektu
Projekt OpenSSL rozpoczął się w 1998 roku, mając na celu stworzenie darmowego zestawu narzędzi szyfrujących. Powstał na bazie wcześniejszego projektu, a jego zespół składał się głównie z wolontariuszy. Budżet projektu wynosił około miliona dolarów rocznie, wspierany przez dotacje oraz sponsoring. W 2014 roku OpenSSL było używane na około dwóch trzecich serwerów internetowych.
Algorytmy kryptograficzne
OpenSSL obsługuje różne algorytmy kryptograficzne, w tym:
- Szyfry: AES, Blowfish, DES, IDEA, 3DES
- Funkcje skrótu: MD5, SHA-1, SHA-2
- Kryptografia klucza publicznego: RSA, DSA, kryptografia krzywych eliptycznych
Istotne wady
OpenSSL napotkał kilka poważnych luk, w tym:
- Atak czasowy na klucze RSA: Wersje 0.9.7a i 0.9.6 były podatne na atak, który mógł umożliwić pozyskanie prywatnych kluczy.
- Odmowa dostępu – parsowanie ASN.1: Luka w wersji 0.9.6k prowadziła do awarii OpenSSL na systemach Windows z powodu nadmiernej rekursji.
- Luka w zszywaniu protokołu OCSP: Błąd w parsowaniu wiadomości ClientHello mógł prowadzić do ataków DDoS oraz ujawnienia zawartości pamięci.
Rozwidlenia OpenSSL
W odpowiedzi na problemy z OpenSSL powstały różne projekty forks:
- Agglomerated SSL: Opracowany w 2009 roku przez Marco Peerebooma, oferuje prostszy interfejs użytkownika.
- LibreSSL: Stworzony przez zespół OpenBSD po ujawnieniu błędu Heartbleed, który usunął znaczne fragmenty kodu źródłowego.
- BoringSSL: Wersja OpenSSL stworzona przez Google, mająca na celu współpracę z innymi projektami.
„`