Sequoia 1.0, biblioteka implementująca standardy OpenPGP

Po trzech i pół roku rozwoju został opublikowany pakiet edycyjny Sekwoja 1.0, rozwijanie biblioteki narzędzi i funkcji wiersza poleceń z implementacją standardu OpenPGP (RFC-4880).

Uruchomienie podsumował prace nad niskopoziomowym API, który realizuje pokrycie standardu OpenPGP, wystarczające do pełnego wykorzystania. Kod projektu jest napisany w Rust i jest rozpowszechniany na licencji GPLv2 +.

Projekt został założony przez trzech współtwórców GnuPG z g10code, twórca wtyczek GnuPG i audytu kryptosystemów. Zespół Sequoia jest również znany z tworzenia serwera kluczy Hagrid, z którego korzysta usługa keys.openpgp.org.

Celem nowego projektu było przeprojektowanie architektury i zastosowanie nowych technik w celu poprawy bezpieczeństwa i niezawodności bazy kodu.

Aby poprawić bezpieczeństwo, Sequoia wykorzystuje nie tylko narzędzia programistyczne pewni, że używają tego języka Rust, ale także ochrona przed błędami na poziomie API.

Np. API nie pozwala na przypadkowe eksportowanie materiału klucza tajnegoponieważ domyślnie operacje eksportu wymagają wyraźnego wyboru. Ponadto interfejs API zapewnia, że ​​podczas aktualizacji podpisu cyfrowego nie zostaną pominięte żadne ważne czynności; Domyślnie czas utworzenia, algorytm mieszania i wystawca podpisu są aktualizowane automatycznie.

Sekwoja próbujesz także pozbyć się braków w GnuPGtakie jak desynchronizacja funkcjonalności narzędzi wiersza poleceń z biblioteką funkcji (niektóre akcje można wykonać tylko za pomocą narzędzia) i zbyt ścisłe powiązanie między komponentami, utrudniające wprowadzanie zmian, zaciemnia podstawę kodu i zapobiega tworzeniu kompletnego systemu jednostek. -testy.

Sekwoja rozwija narzędzie wiersza poleceń sq z obsługą podkomend w stylu Git, program sqv (zamiana gpgv) do weryfikacji oddzielnych podpisów, narzędzie sqop (bezstanowy interfejs wiersza poleceń OpenPGP) i biblioteka sequoia-openpgp.

Istnieją linki do języków C i Python. Większość funkcji opisanych w standardzie OpenPGP jest kompatybilna z szyfrowaniem, deszyfrowaniem, tworzeniem i weryfikacją podpisów cyfrowych.

Wśród zaawansowanych funkcji należy zauważyć, że obsługuje weryfikację za pomocą osobno dostarczanych podpisów cyfrowych (osobny podpis), dostosowanie do integracji z menedżerami pakietów (APT, RPM, upload itp.), Możliwość ograniczania podpisów przez wartości progowe i czasowe.

Aby uprościć tworzenie, debugowanie i analizę incydentów, dostępne są narzędzia do inspekcji pakietów, które integrują się z analizatorem i umożliwiają wizualną analizę struktury zaszyfrowanych wiadomości, podpisów cyfrowych i kluczy.

Ze względów bezpieczeństwa Obsługiwane jest korzystanie z usług kryptograficznych, takich jak koprocesory do obliczeń w izolowanych enklawach. W celu dodatkowej izolacji praktykowany jest podział na oddzielne procesy usług, które działają z kluczami publicznymi i prywatnymi (interakcja procesów jest zorganizowana przy użyciu protokołu Cap'n Proto). Na przykład magazyn kluczy jest tworzony w formie oddzielnego procesu.

Istnieją dwie opcje API: niski poziom i wysoki poziom. Niskopoziomowe API odtwarza możliwie dokładnie możliwości OpenPGP i niektórych powiązanych rozszerzeń, takich jak obsługa ECC, notarialność (podpis przy podpisie) oraz elementy projektu przyszłej edycji standardu.

Obserwuje się, że zgodnie z planowaną funkcjonalnością, Sequoia osiągnęła gotowość do wersji 1.0 rok temu, ale twórcy zdecydowali się nie spieszyć i spędzać więcej czasu szukać błędów i pisać kompletną, wysokiej jakości dokumentację z odnośnikami do informacji w standardzie OpenPGP i przykładami użycia.

Jak dotąd wersja 1.0 obejmuje tylko pudełko sequoia-openpgp oraz narzędzie do weryfikacji podpisów cyfrowych sqv. Interfejs wiersza polecenia „sq” i interfejsy API wysokiego poziomu nie zostały jeszcze ustabilizowane i są w trakcie finalizacji.

Ograniczenia, które mają zostać usunięte w przyszłych wersjach, obejmują implementację usług przechowywania kluczy prywatnych i publicznych, obsługę podpisów cyfrowych w postaci czystego tekstu oraz możliwość używania wyrażeń regularnych do określania zaufanych podpisów.


Bądź pierwszym który skomentuje

Zostaw swój komentarz

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

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  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.