Dość rozumiem matematykę stojącą za RSA, Elgamal, AES, SHA, ale nie rozumiem tego, jak są one używane w praktyce. Czym różnią się podklucze od klucza głównego? Rozumiem jego przeznaczenie na różnych stronach internetowych, ale jak jest wdrażane wewnętrznie? W jaki sposób jest powiązany z kluczem głównym? Czy jest to terminologia OpenPGP?

Komentarze

Odpowiedź

To post użytkownika rjh z 2008 roku na forum enigmail dobrze na nie odpowiada:

Pierwotnie w PGP 2.6, we wczesnych latach 90-tych, miałeś tylko jedną parę kluczy i była ona używana zarówno do szyfrowania, jak i do podpisywania. Możliwość posiadania dodatkowych klawiszy stanowiła pewne wyzwanie inżynieryjne. Ostatecznie zdecydowano, że dodatkowe pary klawiszy będą nazywane „podkluczami”, pomimo faktu, że nie ma w nich „podkluczy”. Podobnie, to, co nazywasz swoim „kluczem”, nie jest w ogóle kluczem – terminologia to pozostałość po czasach, kiedy klucz był naprawdę kluczem. Obecnie klucz jest tak naprawdę kolekcją kluczy, wraz z pewnymi metadanymi identyfikatorów użytkowników, podpisów itp.

Np. Mój „klucz” ma cztery pary kluczy: 5B8709EB , D0C6AAE4, 71E177DB i 8DB02BBB3.

To, co GnuPG nazywa twoim „kluczem publicznym”, jest tak naprawdę najstarszym kluczem do podpisywania w kolekcji. Np. Ponieważ 5B8709EB został utworzony jako pierwszy, GnuPG nazywa cały zestaw kluczy i metadanych „kluczem 5B8709EB”.

Czy jest możliwe posiadanie klucza używanego do szyfrowania i podpisywania bez żadnych podklucz w ogóle? ”Odpowiedź brzmi nie, ponieważ wszystkie pary kluczy w kluczu są podkluczami. Nawet jeśli jest tylko jeden z nich.

Odpowiedź

Podklucze

Pakiety podkluczy są zdefiniowane w RFC 4880, OpenPGP, pakiet materiałów klucza 5.5 . Są „rozróżniane tylko przez inny identyfikator pakietu i wymagają wiążącej sygnatury, aby były faktycznie użyteczne (patrz poniżej).

Pakiet publicznego podklucza (znacznik 14) ma dokładnie taki sam format jak pakiet klucza publicznego, ale oznacza podklucz.

Użycie podklucza

Podklucze OpenPGP są używane do różnych celów:

  • Możliwość przechowywania klucza podstawowego w trybie offline lub bardziej bezpiecznego urządzenia. Jeśli komputer z podkluczem zostanie uszkodzony, możesz łatwo odwołać podklucz bez wszystkich kłopotów związanych z unieważnianiem twój klucz podstawowy (udostępnianie nowego klucza, uzyskiwanie nowych podpisów, …).
  • Posiadanie różnych podkluczy na różnych maszynach, na przykład podklucz podpisujący na serwerze kompilacji. Ponownie, odwołanie pojedynczych kluczy jest łatwe.
  • Używanie większego klucza podstawowego przez dłuższy czas oraz krótszych, ale szybszych podkluczy do codziennego użytku.
  • Niektóre algorytmy nie obsługują zarówno szyfrowania, jak i podpisywania. Na przykład klucz podstawowy DSA wymaga innego klucza do szyfrowania ption, zwykle w połączeniu z ElGamal.

Binding Signatures

Istnieją specjalne podtypy sygnatur do łączenia podkluczy z kluczami głównymi (i vice verse), wymienione w RFC 4880, OpenPGP, 5.2.1 Typy sygnatur :

0x18: Podklucz Binding Signature

Ten podpis jest oświadczeniem klucza podpisywania najwyższego poziomu, który wskazuje, że jest on właścicielem podklucza. Podpis ten jest obliczany bezpośrednio na kluczu podstawowym i podkluczu, a nie na żadnym ID użytkownika ani innych pakietach. Podpis, który wiąże podklucz podpisujący MUSI mieć pod-pakiet podpisu osadzonego w tej sygnaturze powiązania, który zawiera podpis 0x19 utworzony przez podklucz podpisujący na kluczu podstawowym i podkluczu.

0x19: Podpis powiązania klucza podstawowego

Ten podpis jest oświadczeniem podklucza podpisującego, wskazującym, że należy do klucza podstawowego i podklucza. Ten podpis jest obliczany w taki sam sposób, jak podpis 0x18: bezpośrednio na kluczu podstawowym i podkluczu, a nie na żadnym ID użytkownika ani innych pakietach.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *