Autentyczność plików binarnych
Speedwave weryfikuje integralność wydań za pomocą dwóch niezależnych warstw kryptograficznych: podpisywania kodu na poziomie systemu operacyjnego podczas pierwszej instalacji oraz wewnętrznej weryfikacji podpisów przy aktualizacjach automatycznych. Szerszy kontekst znajdziesz w sekcji Architektura bezpieczeństwa.
Podpisywanie kodu i notaryzacja w macOS
Dział zatytułowany „Podpisywanie kodu i notaryzacja w macOS”W systemie macOS każdy plik wykonywalny wchodzący w skład paczki Speedwave.app (w tym wbudowane środowisko Lima, Node.js, mostki w języku Swift oraz CLI w Rust) jest podpisany oficjalnym certyfikatem Apple Developer ID firmy Speednet. Wszystkie binarki korzystają z mechanizmu Apple Hardened Runtime i posiadają bezpieczny znacznik czasu. Paczki instalacyjne przechodzą proces notaryzacji w usłudze Apple Notary Service z dołączonym biletem (stapled ticket), co umożliwia weryfikację przez Gatekeepera również w trybie offline.
Ta warstwa zapewnia potrójną ochronę:
- Jakakolwiek modyfikacja pliku w trakcie pobierania unieważnia podpis Gatekeepera.
- Wyłącznie pliki wygenerowane przy użyciu kluczy prywatnych Speednet są dopuszczane do uruchomienia.
- Apple Hardened Runtime uniemożliwia wstrzykiwanie obcego kodu do działających procesów.
Kryptograficzna weryfikacja aktualizacji
Dział zatytułowany „Kryptograficzna weryfikacja aktualizacji”W przypadku zainstalowanych aplikacji moduł automatycznej aktualizacji weryfikuje każde pobrane archiwum względem klucza publicznego Ed25519 wbudowanego na stałe w binarkę. Klucz prywatny znajduje się wyłącznie w odizolowanym środowisku CI i nie jest przechowywany na stacjach roboczych deweloperów. Nawet w razie przejęcia serwerów dystrybucyjnych mechanizm aktualizacji odrzuci każdy pakiet, który nie został podpisany autoryzowanym kluczem CI.
Dwuwarstwowy model integralności
Dział zatytułowany „Dwuwarstwowy model integralności”Pierwsza instalacja jest chroniona podpisem systemowym, natomiast aktualizacje przechodzą przez obie warstwy: weryfikację sumy i podpisu Ed25519 podczas pobierania oraz ponowną walidację Gatekeepera po restarcie aplikacji.
Szczegóły procedury uzgadniania wersji znajdziesz w rozdziale Aktualizacja i odzyskiwanie (architektura).