Ogłoszono system weryfikacji kryptograficznej Sigstore

Google ogłosiło pierwsze stabilne wersje komponentów projektu Sigstore, który został uznany za gotowy do wdrożenia produkcyjnego. Sigstore opracowuje narzędzia i usługi do weryfikacji oprogramowania za pomocą podpisów cyfrowych i prowadzi publiczny dziennik potwierdzający autentyczność zmian (dziennik przejrzystości). Projekt jest rozwijany pod auspicjami organizacji non-profit. Linux Fundacja stworzona przez Google, Red Hat, Cisco, vmWare, GitHub i HP Enterprise, przy współudziale Open Source Security Foundation (OpenSSF) i Purdue University.

Sigstore można postrzegać jako Let's Encrypt dla kodu, udostępniając certyfikaty do cyfrowego podpisywania kodu i narzędzia do automatyzacji weryfikacji. Sigstore umożliwi deweloperom generowanie podpisów cyfrowych dla artefaktów związanych z aplikacjami, takich jak pliki wersji, obrazy kontenerów, manifesty i pliki wykonywalne. Materiał użyty do podpisu jest zapisywany w publicznym, zabezpieczonym przed manipulacją rejestrze, który można wykorzystać do weryfikacji i audytu.

Zamiast stałych kluczy, Sigstore korzysta z krótkotrwałych kluczy ulotnych, które są generowane na podstawie danych uwierzytelniających zweryfikowanych przez dostawców OpenID Connect (w momencie generowania kluczy potrzebnych do utworzenia podpisu cyfrowego, programista identyfikuje się za pośrednictwem dostawcy OpenID powiązanego z adresem e-mail). Autentyczność kluczy jest weryfikowana na podstawie publicznego, scentralizowanego dziennika, który pozwala nam potwierdzić, że autor podpisu jest tym, za kogo się podaje, a także że podpis został utworzony przez tego samego uczestnika, który był odpowiedzialny za poprzednie wersje.

Gotowość Sigstore do wdrożenia wynika z wydania dwóch kluczowych komponentów - Rekor 1.0 i Fulcio 1.0, których interfejsy programowe zostały uznane za stabilne i nadal będą zachowywać wsteczną kompatybilność. Komponenty usługi napisane są w języku Go i rozpowszechniane na podstawie licencji Apache 2.0.

Komponent Rekor zawiera implementację dziennika umożliwiającą przechowywanie cyfrowo podpisanych metadanych odzwierciedlających informacje o projektach. Aby zagwarantować integralność danych i ochronę przed wstecznym uszkodzeniem danych, stosowana jest struktura drzewa Merkle'a, w której każda gałąź weryfikuje wszystkie gałęzie i węzły bazowe poprzez współdzielone (drzewne) haszowanie. Mając końcowy hash, użytkownik może zweryfikować poprawność całej historii operacji, a także poprawność poprzednich stanów bazy danych (skrót weryfikacyjny początku nowego stanu bazy danych jest obliczany z uwzględnieniem poprzedniego stanu). Do weryfikacji i dodawania nowych rekordów udostępniono interfejs API RESTful oraz interfejs wiersza poleceń.

Komponent Fulcio (SigStore WebPKI) obejmuje system umożliwiający tworzenie urzędów certyfikacji (głównych urzędów certyfikacji), które wystawiają krótkotrwałe certyfikaty na podstawie wiadomości e-mail uwierzytelnionych za pośrednictwem OpenID Connect. Okres ważności certyfikatu wynosi 20 minut, w trakcie których twórca certyfikatu musi mieć czas na wygenerowanie podpisu cyfrowego (jeśli certyfikat wpadnie w ręce intruza, będzie już wygasły). Ponadto w ramach projektu rozwijany jest zestaw narzędzi Cosign (Container Signing), który ma na celu generowanie podpisów dla kontenerów, weryfikację podpisów i umieszczanie podpisanych kontenerów w repozytoriach zgodnych z OCI (Open Container Initiative).

Wdrożenie Sigstore pozwala zwiększyć bezpieczeństwo kanałów dystrybucji oprogramowania i zabezpieczyć się przed atakami mającymi na celu podmianę bibliotek i zależności (łańcuch dostaw). Jednym z kluczowych problemów bezpieczeństwa oprogramowania typu open source jest trudność weryfikacji źródła programu i weryfikacji procesu kompilacji. Przykładowo, większość projektów korzysta z skrótów w celu weryfikacji integralności wydania, ale często informacje niezbędne do weryfikacji autentyczności są przechowywane w niezabezpieczonych systemach i współdzielonych repozytoriach kodu, które, jeśli zostaną naruszone, mogą umożliwić atakującym podmianę plików niezbędnych do weryfikacji i wprowadzenie złośliwych zmian bez wzbudzania podejrzeń.

Korzystanie z podpisów cyfrowych do weryfikacji wydań nie jest jeszcze powszechne ze względu na trudności w zarządzaniu kluczami, rozpowszechnianiu kluczy publicznych i unieważnianiu naruszonych kluczy. Aby weryfikacja miała sens, konieczne jest dodatkowo zorganizowanie niezawodnego i bezpiecznego procesu dystrybucji kluczy publicznych i sum kontrolnych. Nawet posiadając podpis cyfrowy, wielu użytkowników ignoruje weryfikację, ponieważ nauczenie się procesu weryfikacji i zrozumienie, który klucz jest godny zaufania, zajmuje trochę czasu. Projekt Sigstore ma na celu uproszczenie i zautomatyzowanie tych procesów poprzez dostarczenie gotowego i sprawdzonego rozwiązania.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster