Werner Koch, główny programista i twórca projektu GnuPG (GNU Privacy Guard), założył projekt LibrePGP, który koncentruje się na opracowaniu zaktualizowanej specyfikacji jako alternatywy dla standardu OpenPGP. Fork powstał w odpowiedzi na zmiany zaplanowane przez grupę roboczą IETF dla kolejnej aktualizacji specyfikacji OpenPGP (RFC-4880), którą Koch uznał za wątpliwą z punktu widzenia utrzymania kompatybilności i zapewnienia bezpieczeństwa. Deweloperzy projektów GnuPG, RNP (implementacja OpenPGP z Thunderbirda) i Gpg4win, którzy wsparli fork, obawiają się, że planowane zmiany będą szkodliwe dla istniejących implementacji aplikacji opartych na OpenPGP, których użytkownicy liczą na stabilność specyfikacji w dłuższej perspektywie i nie są gotowi znosić zmian, które łamią kompatybilność.
LibrePGP obejmuje przydatne ulepszenia, które zostały opracowane w ostatnich latach dla przyszłej wersji specyfikacji OpenPGP, ale wyklucza zmiany, które negatywnie wpływają na interoperacyjność. Na przykład, w porównaniu do obecnego standardu RFC-4880, LibrePGP przyjmuje takie funkcje, jak:
- Obsługa algorytmu szyfrowania Camellia (RFC-5581),
- Rozszerzenia ECC (Elliptic Curve Cryptography) do OpenPGP (RFC-6637).
- Obowiązkowa obsługa skrótów SHA2-256 (skróty SHA-1 i MD5 są przestarzałe, a możliwość odszyfrowania danych bez weryfikacji integralności jest całkowicie przestarzała).
- Zwiększono rozmiar odcisku palca do 256 bitów.
- Obsługa schematu podpisu cyfrowego EdDSA oraz krzywych eliptycznych BrainpoolP256r1, BrainpoolP384r1, BrainpoolP512r1, Ed25519, Curve25519, Ed488 i X448.
- Obsługa algorytmu CRYSTALS-Kyber, odpornego na ataki siłowe na komputerach kwantowych.
- Obsługa trybów szyfrowania z uwierzytelnianiem OCB (Offset codebook mode).
- Wdrożenie piątej wersji formatu podpisu cyfrowego z ochroną metadanych.
- Obsługa rozszerzonych podpakietów z podpisami cyfrowymi.
Główne zarzuty wobec nowej specyfikacji OpenPGP są następujące:
- Zamiast stopniowo aktualizować specyfikację, grupa robocza IETF podjęła próbę ponownego opracowania standardu i wprowadzenia istotnych, nieinteroperacyjnych zmian.
- Wymuszenie obsługi symetrycznego trybu szyfrowania GCM (Galois/Counter Mode), który jest trudny do poprawnego zaimplementowania, przy jednoczesnym ignorowaniu trybu OCB (Offset codebook mode), na który patenty wygasły kilka lat temu.
- Dodawanie opcjonalnych pakietów z losowym dodatkowym wypełnieniem w celu ochrony przed analizą ruchu. Twórcy LibrePGP twierdzą, że takie pakiety z nieweryfikowalnym początkowym losowym wypełnieniem stwarzają ryzyko wykorzystania ich do tworzenia ukrytych kanałów transmisji danych i omijania systemów zapobiegających wyciekom danych. Wcześniej pomysł uwzględniania wypełnienia został odrzucony, gdyż uważano, że jest to problem na poziomie aplikacji, a nie szyfrowania.
- Wykorzystując zmodyfikowany schemat szyfrowania ECDH (zmieniający format OID), zamiast wersji już opisanej w RFC-6637 i zaimplementowanej w PGP i GnuPG.
- Usunięcie niektórych cech stosowanych w praktyce, takich jak klasyczna metoda cofania klucza, flaga „m” do oznaczania danych MIME, flaga „t” do oddzielania danych tekstowych od danych binarnych (flaga „t” została zastąpiona flagą „u” dla tekstu zakodowanego w UTF-8).
- Odmowa uwzględnienia ochrony metadanych podpisanego pliku w nowym formacie podpisu (można np. zmienić nazwę pliku bez naruszania podpisu).
- Wątpliwa możliwość dodania „soli” do podpisów (Salted signature) w celu zwiększenia ochrony przed atakami kolizyjnymi z danym prefiksem. Wartość salted może być używana jako nierozłączalny ukryty kanał do przesyłania 32 bajtów danych w podpisie.
- Przesunięcie standardu w kierunku głównego zastosowania w komunikacji online, ignorując potrzebę długoterminowego przechowywania danych.
Zwolennicy OpenPGP już opublikowali krytykę krytyki. Ostatecznie, jeśli nie uda się znaleźć kompromisu, podział może doprowadzić do narastających niezgodności w implementacjach OpenPGP/LibrePGP. Częściowo w celu rozwiązania tego problemu, programiści OpenPGP naprawili piątą wersję formatu podpisu jako zgodną z LibrePGP i przeszli do pracy nad szóstą wersją.
Źródło: opennet.ru
