OpenSSL 3.0 jest dostępny z nowym modułem FIPS, zmianą licencji i nie tylko

Kilka dni temu Matta Caswella, członek zespołu deweloperskiego projektu OpenSSL, ogłosił wydanie OpenSSL 3.0 który pojawił się po 3 latach rozwoju, 17 wersji alfa, 2 wersje beta, ponad 7500 potwierdzeń i wkładu ponad 350 różnych autorów.

I to właśnie OpenSSL miał szczęście mieć kilku inżynierów na pełen etat który pracował nad OpenSSL 3.0, finansowany na różne sposoby. Niektóre firmy podpisały umowy wsparcia z zespołem programistów OpenSSL, który sponsorował określone funkcje, takie jak moduł FIPS, który planował przywrócić walidację z OpenSSL 3.0, jednak napotkały znaczne opóźnienia i podobnie jak testy FIPS 140-2 zakończyły się we wrześniu 2021 OpenSSL w końcu zdecydował się skoncentrować swoje wysiłki również na standardach FIPS 140-3.

Kluczowa cecha przez OpenSSL 3.0 to nowy moduł FIPS. Zespół programistów OpenSSL testuje moduł i gromadzi niezbędne dokumenty do walidacji FIPS 140-2. Korzystanie z nowego modułu FIPS w projektach tworzenia aplikacji może być tak proste, jak wprowadzenie pewnych zmian w pliku konfiguracyjnym, chociaż wiele aplikacji będzie musiało wprowadzić inne zmiany. Strona podręcznika modułu FIPS zawiera informacje na temat korzystania z modułu FIPS w aplikacjach.

Należy również zauważyć, że od OpenSSL 3.0 OpenSSL przeszedł na licencję Apache 2.0. Stare „podwójne” licencje na OpenSSL i SSLeay nadal mają zastosowanie do wcześniejszych wersji (1.1.1 i wcześniejszych). OpenSSL 3.0 to główna wersja, która nie jest w pełni kompatybilna wstecz. Większość aplikacji, które współpracowały z OpenSSL 1.1.1, będzie nadal działać bez zmian i będzie po prostu musiała zostać ponownie skompilowana (prawdopodobnie z wieloma ostrzeżeniami dotyczącymi kompilacji dotyczących używania przestarzałych interfejsów API).

Dzięki OpenSSL 3.0 można określić programowo lub poprzez plik konfiguracyjny, których dostawców użytkownik chce użyć dla danej aplikacji. OpenSSL 3.0 jest standardowo wyposażony w 5 różnych dostawców. Z czasem strony trzecie mogą rozpowszechniać dodatkowych dostawców, którzy mogą być zintegrowani z OpenSSL. Wszystkie implementacje algorytmów dostępnych od dostawców są dostępne za pośrednictwem interfejsów API „wysokiego poziomu” (na przykład funkcje z przedrostkiem EVP). Nie można uzyskać do niego dostępu za pomocą interfejsów API „niskiego poziomu”.

Jednym z dostępnych standardowych dostawców jest dostawca FIPS, który zapewnia algorytmy kryptograficzne zatwierdzone przez FIPS. Dostawca FIPS jest domyślnie wyłączony i musi być jawnie włączony podczas konfiguracji za pomocą opcji enable-fips. Jeśli jest włączony, dostawca FIPS jest tworzony i instalowany oprócz innych standardowych dostawców.

Korzystanie z nowego modułu FIPS w aplikacjach może być tak proste, jak wprowadzenie pewnych zmian w pliku konfiguracyjnym, chociaż wiele aplikacji będzie musiało wprowadzić inne zmiany. Aplikacje napisane do korzystania z modułu FIPS OpenSSL 3.0 nie powinny używać żadnych starszych interfejsów API ani funkcji, które pomijają moduł FIPS. Obejmuje to w szczególności:

  • API kryptograficzne niskiego poziomu (zaleca się korzystanie z API wysokiego poziomu, takiego jak EVP);
    motores
  • wszystkie funkcje, które tworzą lub modyfikują metody niestandardowe (na przykład EVP_MD_meth_new (), EVP_CIPHER_meth_new (), EVP_PKEY_meth_new (), RSA_meth_new (), EC_KEY_METHOD_new ()).

Z drugiej strony biblioteka kryptograficzna OpenSSL (libkrypto) implementuje szeroką gamę algorytmów kryptograficznych wykorzystywanych w różnych standardach internetowych. Funkcjonalność obejmuje szyfrowanie symetryczne, kryptografię klucza publicznego, uzgadnianie klucza, zarządzanie certyfikatami, kryptograficzne funkcje mieszające, kryptograficzne generatory liczb pseudolosowych, kody uwierzytelniania wiadomości (MAC), funkcje wyprowadzania klucza (KDF) i różne narzędzia . Usługi świadczone przez tę bibliotekę są używane do implementacji wielu innych produktów i protokołów innych firm. Oto przegląd kluczowych koncepcji libcrypto poniżej.

Prymitywy kryptograficzne, takie jak skrót SHA256 lub szyfrowanie AES, nazywane są w OpenSSL „algorytmami”. Każdy algorytm może mieć wiele dostępnych implementacji. Na przykład algorytm RSA jest dostępny jako „domyślna” implementacja odpowiednia do ogólnego użytku oraz implementacja „fips”, która została zweryfikowana pod kątem standardów FIPS w sytuacjach, w których jest to ważne. Możliwe jest również dodanie przez stronę trzecią dodatkowych implementacji, na przykład w sprzętowym module bezpieczeństwa (HSM).

W końcu jeśli jesteś zainteresowany wiedzą więcej o tym możesz sprawdzić szczegóły W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.