Ogłoszono gotowość systemu kryptograficznej weryfikacji kodu Sigstore

Firma Google ogłosiła wydanie pierwszych stabilnych wersji komponentów tworzących projekt Sigstore, który został uznany za gotowy do wdrożeń. Sigstore rozwija narzędzia i usługi do weryfikacji oprogramowania z wykorzystaniem podpisów cyfrowych oraz prowadzenia publicznego rejestru, potwierdzającego autentyczność zmian (transparency log). Projekt rozwijany jest pod auspicjami non-profit Linux Foundation przez firmy Google, Red Hat, Cisco, vmWare, GitHub i HP Enterprise, przy udziale organizacji OpenSSF (Open Source Security Foundation) oraz Uniwersytetu Purdue.

Sigstore można postrzegać jako odpowiednik Let’s Encrypt dla kodu, dostarczający certyfikaty do poświadczenia kodu podpisami cyfrowymi oraz zestaw narzędzi do automatyzacji weryfikacji. Dzięki Sigstore deweloperzy będą mogli tworzyć podpisy cyfrowe dla powiązanych z aplikacją artefaktów, takich jak pliki z wersjami, obrazy kontenerów, manifesty i pliki wykonywalne. Materiał użyty do podpisania jest odzwierciedlany w chronionym przed zmianami publicznym rejestrze, który można wykorzystać do weryfikacji i audytu.

Zamiast stałych kluczy, w Sigstore stosowane są krótkotrwałe klucze efemeryczne, które są generowane na podstawie uprawnień potwierdzonych przez dostawców OpenID Connect (w momencie generowania kluczy potrzebnych do stworzenia podpisu cyfrowego, deweloper identyfikuje siebie przez dostawcę OpenID ze skojarzeniem z jego adresem email). Autentyczność kluczy jest weryfikowana w publicznym, scentralizowanym rejestrze, co pozwala upewnić się, że autor podpisu jest rzeczywiście tym, za kogo się podaje, a podpis został utworzony przez tego samego uczestnika, który odpowiadał za poprzednie wydania.

Gotowość Sigstore do wdrożenia jest spowodowana wydaniem dwóch kluczowych komponentów — Rekor 1.0 i Fulcio 1.0, których interfejsy programistyczne zostały ogłoszone stabilnymi i będą zachowywać zgodność wsteczną. Komponenty usługi są napisane w języku Go i rozpowszechniane na licencji Apache 2.0.

Komponent Rekor zawiera implementację loga do przechowywania poświadczeń podpisanych cyfrowo metadanych odzwierciedlających informacje o projektach. W celu zapewnienia integralności i ochrony przed manipulacją danymi stosuje się struktury drzewiaste „drzewo Merkle” (Merkle Tree), w której każda gałąź weryfikuje wszystkie niższe gałęzie oraz węzły dzięki wspólnemu (drzewiastemu) haszowaniu. Mając ostateczny hasz, użytkownik może zweryfikować poprawność całej historii operacji oraz poprawność wcześniejszych stanów bazy danych (korzeniowy hasz kontrolny nowego stanu bazy obliczany jest z uwzględnieniem przeszłego stanu). Do weryfikacji i dodawania nowych wpisów udostępnione jest RESTful API, a także interfejs wiersza poleceń.

Komponent Fulcio (SigStore WebPKI) obejmuje system do tworzenia urzędów certyfikacji (root CA), wydających krótkożyjące certyfikaty na podstawie e-maila, uwierzytelnianego za pomocą OpenID Connect. Czas życia certyfikatu wynosi 20 minut, w trakcie których programista musi zdążyć utworzyć podpis cyfrowy (jeśli certyfikat trafi w ręce osoby nieuprawnionej, będzie już nieważny). Dodatkowo projekt rozwija narzędzia Cosign (Container Signing), mające na celu tworzenie podpisów dla kontenerów, weryfikację podpisów oraz umieszczanie podpisanych kontenerów w repozytoriach zgodnych z OCI (Open Container Initiative).

Wdrożenie Sigstore umożliwia zwiększenie bezpieczeństwa kanałów dystrybucji oprogramowania i zabezpieczenie przed atakami, które mają na celu podmianę bibliotek i zależności (supply chain). Jednym z kluczowych problemów z bezpieczeństwem w otwartym oprogramowaniu jest trudność w weryfikacji źródła pochodzenia programu i weryfikacji procesu budowy. Na przykład, aby zweryfikować integralność wydania, większość projektów wykorzystuje hasze, ale często potrzebne informacje do potwierdzenia autentyczności są przechowywane w niezabezpieczonych systemach i ogólnych repozytoriach z kodem, co prowadzi do sytuacji, w której atakujący mogą podmienić potrzebne pliki weryfikacyjne i, nie wzbudzając podejrzeń, wprowadzić złośliwe zmiany.

Zastosowanie podpisów cyfrowych do weryfikacji wydań nie zyskało jeszcze powszechnej akceptacji z powodu trudności w zarządzaniu kluczami, ich dystrybucją oraz unieważnianiem skompromitowanych kluczy. Aby weryfikacja miała sens, należy dodatkowo zorganizować niezawodny i bezpieczny proces dystrybucji kluczy publicznych oraz sum kontrolnych. Nawet przy obecności podpisu cyfrowego wielu użytkowników ignoruje weryfikację, ponieważ muszą poświęcić czas na zapoznanie się z procesem weryfikacji oraz zrozumieć, który klucz zasługuje na zaufanie. Projekt Sigstore stara się uprościć i zautomatyzować te procesy, oferując gotowe i sprawdzone rozwiązanie.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster