Blog 24/7

podpis cyfrowy

TAB. 1Hasłopo polsku
Po angielskudigital signature
Którą formą pisaćpo polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie.
Inne formypodpis
KategoriaKryptografia, tożsamość i uwierzytelnianie

Podpis cyfrowy to kryptograficzne potwierdzenie utworzone kluczem prywatnym i weryfikowalne odpowiadającym mu kluczem publicznym. Standard NIST FIPS 186-5 wskazuje trzy funkcje podpisu: wykrywanie nieuprawnionych zmian danych (integralność), potwierdzenie tożsamości podpisującego (uwierzytelnienie) oraz niezaprzeczalność, czyli dowód, którego podpisujący nie może łatwo wyprzeć się później [1]. Podpis opiera się na kryptografii asymetrycznej i jest tylko tak wiarygodny, jak wiarygodne jest powiązanie klucza publicznego z konkretną osobą albo firmą.

Jak działa

Podpisuje się w praktyce nie całe dane, lecz ich skrót. Program liczy funkcję skrótu (hashowanie) z pliku lub wiadomości, a następnie przetwarza wynik kluczem prywatnym. Odbiorca liczy skrót samodzielnie i sprawdza, kluczem publicznym, czy podpis do niego pasuje. Zmiana choćby jednego bajtu danych daje inny skrót i podpis przestaje się zgadzać.

RYS. 1Podpisanie i weryfikacja paczki

Klucz prywatny musi pozostać tajny; kto go zdobędzie, może podpisywać w imieniu właściciela. Klucz publiczny jest jawny, ale odbiorca musi mieć pewność, czyj on jest. Tę rolę pełni certyfikat cyfrowy wystawiony przez urząd certyfikacji (CA) w ramach infrastruktury klucza publicznego (PKI), albo, jak w WordPressie, klucz wbudowany na stałe w oprogramowanie.

Rodzaje

FIPS 186-5, opublikowany 3 lutego 2023 roku, obejmuje algorytmy RSA, ECDSA i EdDSA, a wcześniejszy algorytm DSA nie jest w nim już zatwierdzony do tworzenia nowych podpisów [1].

AlgorytmPodstawaUwagi
RSAtrudność rozkładu na czynnikizatwierdzony w FIPS 186-5 [1]
ECDSAkrzywe eliptycznezatwierdzony w FIPS 186-5 [1]
EdDSA (Ed25519, Ed448)krzywe Edwardsaklucze 32 lub 57 bajtów, podpisy 64 lub 114 bajtów [2]
DSAlogarytm dyskretnywycofywany [1]

RFC 8032 ze stycznia 2017 roku wymienia zalety EdDSA: wysoką wydajność, podpisywanie deterministyczne bez potrzeby losowej liczby dla każdego podpisu i większą odporność na ataki bocznym kanałem [2]. Poziom bezpieczeństwa Ed25519 to około 128 bitów, a Ed448 około 224 bitów [2].

W prawie Unii Europejskiej funkcjonuje osobne pojęcie podpisu elektronicznego. Rozporządzenie eIDAS definiuje go jako dane w postaci elektronicznej dołączone lub logicznie powiązane z innymi danymi, używane przez podpisującego [6]. Kwalifikowany podpis elektroniczny jest podpisem zaawansowanym składanym za pomocą kwalifikowanego urządzenia i opartym na certyfikacie kwalifikowanym [6], a zgodnie z art. 25 ust. 2 ma skutek prawny równoważny podpisowi własnoręcznemu [6]. Podpis cyfrowy to mechanizm techniczny; podpis kwalifikowany to kategoria prawna, która z tego mechanizmu korzysta.

W WordPressie

Od wersji 5.2 WordPress podpisuje paczki aktualizacji. Ogłoszenie zespołu rdzenia wyjaśnia, że podpisy liczone są algorytmem Ed25519 ze skrótu SHA384 zawartości pliku, a witryny weryfikują je przed zastosowaniem aktualizacji [3]. Na starszym PHP bez rozszerzenia Sodium weryfikację zapewnia biblioteka sodium_compat [3].

Weryfikację wykonuje funkcja verify_file_signature() w pliku wp-admin/includes/file.php [3]. Dokumentacja opisuje ją jako sprawdzenie zawartości pliku względem podpisu ED25519, dostępne od wersji 5.2.0 [4]. Funkcja zwraca błąd signature_verification_failed, gdy autentyczności nie da się potwierdzić, signature_verification_no_signature, gdy podpisu brak, oraz signature_verification_unsupported, gdy serwerowi brakuje potrzebnych funkcji kryptograficznych [4].

Podpis chroni kanał aktualizacji rdzenia przed podmianą paczki po drodze albo na serwerze pobrań, co jest jednym z wektorów ataku na łańcuch dostaw. Nie dotyczy natomiast plików pobranych spoza oficjalnych kanałów, na przykład pirackich wtyczek; ich integralności nikt nie poświadcza. Do wykrywania zmian w plikach już zainstalowanych służy monitorowanie integralności plików.

Znaczenie

  • Integralność: wykrywa zmianę danych po podpisaniu [1].
  • Pochodzenie: potwierdza, kto podpisał, o ile klucz publiczny jest wiarygodnie przypisany [1].
  • Niezaprzeczalność: podpisujący nie może łatwo wyprzeć się podpisu [1].

Podpis nie szyfruje danych i nie zapewnia poufności; do tego służy szyfrowanie. Nie mówi też nic o tym, czy podpisany kod jest bezpieczny, a jedynie kto go wydał.

Dobre praktyki

  • Chronić klucz prywatny, najlepiej w sprzętowym module HSM, i ograniczyć do niego dostęp.
  • Planować rotację kluczy; klucz weryfikacyjny WordPressa z wersji 5.2 miał ustaloną datę wygaśnięcia, 1 kwietnia 2021 roku [3].
  • Weryfikować cały łańcuch certyfikatów, a nie tylko sam podpis.
  • Aktualizować biblioteki, które sprawdzają podpisy; błąd w weryfikacji niweczy cały mechanizm.

Historia i przykłady

CERT Polska 25 maja 2026 roku opublikował informację o podatności CVE-2026-9058 w Szafir SDK, oprogramowaniu Krajowej Izby Rozliczeniowej [5]. Przy przetwarzaniu niezaufanego certyfikatu z rozszerzeniem Authority Information Access biblioteka pobierała i importowała certyfikat wystawcy jako zaufany, a następnie zwracała status pozytywnej weryfikacji [5]. W efekcie integrujące aplikacje mogły uznać podpis cyfrowy za prawidłowy mimo niezaufanego łańcucha certyfikacji, co według komunikatu umożliwiało obejście mechanizmów uwierzytelniania i podszywanie się pod użytkownika [5]. Podatne były wszystkie wersje poniżej 1.8.463.2 [5]. Przypadek pokazuje, że algorytm podpisu może być poprawny, a zawodzi weryfikacja zaufania do klucza.

TAB. 2

Przypisy

6
  1. [1] FIPS 186-5: Digital Signature Standard (DSS) · NIST
  2. [2] RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA) · IETF
  3. [3] Security in 5.2 · Make WordPress Core
  4. [4] verify_file_signature() — Code Reference · WordPress.org
  5. [5] Podatność w oprogramowaniu Szafir SDK (CVE-2026-9058) · CERT Polska
  6. [6] Rozporządzenie (UE) nr 910/2014 (eIDAS) · EUR-Lex
TAB. 3

Hasła w tym artykule

13
TAB. 4

Linkują tutaj

15

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com