Po siedmiu latach prac rozwojowych wydano narzędzie wiersza poleceń sq 1.0, zaprojektowane do pracy z artefaktami OpenPGP. Narzędzie zostało przygotowane przez projekt Sequoia PGP, który również rozwija bibliotekę funkcji implementującą standard OpenPGP (RFC-4880). Wydanie 1.0 oznaczone jest jako pierwsze stabilne wydanie projektu, co oznacza stabilizację bazy kodu i zakończenie wprowadzania zmian naruszających kompatybilność. Kod napisano w języku Rust i jest udostępniany na licencji GPLv2+.
Narzędzie jest częścią dystrybucji Red Hat Enterprise Linux 10 jako alternatywa dla GnuPG, wykorzystywane do pracy z PGP w menedżerach pakietów DNF i RPM, oraz używane domyślnie w eksperymentalnej gałęzi menedżera pakietów APT, gdy komponenty Sequoia są dostępne w systemie. Utworzony przez deweloperów Sequoia serwer kluczy Hagrid jest stosowany w serwisie keys.openpgp.org.
Projekt Sequoia został założony przez trzech deweloperów GnuPG z firmy g10code, specjalizującej się w audycie systemów kryptograficznych oraz tworzeniu rozszerzeń do GnuPG. Celem projektu jest przemyślenie architektury i wprowadzenie nowych technik zwiększających bezpieczeństwo i niezawodność bazy kodu. Oprócz używania języka Rust w celu zmniejszenia ryzyka błędów w pracy z pamięcią, w Sequoia wprowadzono dodatkową ochronę przed błędami na poziomie API. Na przykład, API nie pozwala na przypadkowy eksport materiału klucza prywatnego i zabezpiecza przed pominięciem istotnych działań podczas aktualizacji podpisu elektronicznego. Dla dodatkowej izolacji zastosowano separację w osobnych procesach serwisów, które pracują z kluczami otwartymi i prywatnymi.
Oprócz funkcji szyfrowania danych, pracy z podpisami elektronicznymi i zarządzania kluczami, podobnych do możliwości gpg, sq dodatkowo oferuje zdecentralizowaną infrastrukturę kluczy publicznych (PKI). PKI jest używane do uwierzytelniania certyfikatów i wiadomości, a także pozwala upewnić się, że otrzymany klucz publiczny i odebrane wiadomości są związane z zadeklarowanym autorem, a nie stworzone przez oszusta.
Podczas pobierania certyfikatu z keys.openpgp.org lub innego serwera kluczy, narzędzie sq automatycznie zapisze informacje o certyfikacie w systemie lokalnym i wykorzysta te informacje podczas kolejnych operacji w celu wykrywania fałszywych certyfikatów. Zauważono, że wdrożony system może być stosowany jako podstawa do budowy podobieństwa rozproszonego urzędowego centrum certyfikacji (CA), obejmującego różne serwery kluczy.
Na przykład, przed weryfikacją autentyczności pobranych wersji systemu operacyjnego Qubes, użytkownik może najpierw sprawdzić certyfikat Qubes, dostarczany z głównego serwera kluczy projektu Qubes: sq network search https://keys.qubes-os.org/keys/qubes-release-4.2-signing-key.asc
Podana komenda pobierze certyfikat z serwera keys.qubes-os.org, a następnie sprawdzi jego obecność na znanych serwerach kluczy, takich jak keys.openpgp.org i keyserver.ubuntu.com, lub spróbuje uzyskać go za pomocą mechanizmów WKD (Web Key Directory) i DANE (DNS-Based Authentication of Named Entities). Następnie narzędzie porówna uzyskane certyfikaty i jeśli są one powiązane z tym samym właścicielem, zaproponuje użycie komendy „sq pki link add” do zapisania certyfikatu w systemie lokalnym do dalszych weryfikacji. Po zapisaniu certyfikat będzie uważany za godny zaufania, a do pobrania wersji z weryfikacją ich autentyczności wystarczy wykonać polecenie: sq download —signature-url https://mirrors.edge.kernel.org/qubes/iso/Qubes-R4.2.3-x86_64.iso.asc —url https://mirrors.edge.kernel.org/qubes/iso/Qubes-R4.2.3-x86_64.iso —output /tmp/qubes.iso
Źródło: opennet.ru
