Podpis cyfrowy

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Podpis cyfrowy - matematyczny sposób potwierdzania autentyczności cyfrowego dokumentu. Istnieje wiele schematów podpisów cyfrowych, obecnie jednak najpopularniejszym jest schemat podpisu dokumentów cyfrowych w systemach kryptograficznych z kluczem publicznym i jednokierunkową funkcją skrótu - w systemie tym do oryginalnej wiadomości dołączany jest skrót dokumentu, zaszyfrowany prywatnym kluczem nadawcy. Potwierdzenie autentyczności wiadomości jest możliwe po odszyfrowaniu skrótu kluczem publicznym nadawcy i porównaniu go z wytworzonym skrótem odebranego dokumentu.

Spis treści

Architektura[edytuj]

Podpis elektroniczny służy zapewnieniu między innymi następujących funkcji:

  • autentyczności, czyli pewności co do autorstwa dokumentu,
  • niezaprzeczalności nadania informacji, nadawca wiadomości nie może wyprzeć się wysłania wiadomości, gdyż podpis cyfrowy stanowi dowód jej wysłania (istnieją także inne rodzaje niezaprzeczalności),
  • integralności, czyli pewności, że wiadomość nie została zmodyfikowana po złożeniu podpisu przez autora.

Do zapewnienia wszystkich wymienionych funkcji potrzebne jest zastosowanie trzech środków:

  • instrumentów technicznych - algorytmów, protokołów i formatów, które dzięki zastosowaniu technik kryptograficznych zapewniają integralność oraz wiążą klucz prywatny autora z dokumentem, zapewniając autentyczność i niezaprzeczalność
  • instrumentów prawnych, czyli dyrektyw, ustaw i rozporządzeń, które osadzają wymienione instrumenty techniczne w obowiązującym prawie,
  • instrumentów organizacyjnych, takich jak centra certyfikacji, które występując jako zaufana trzecia strona poświadczają związek klucza publicznego z konkretną osobą.

Kryptografia[edytuj]

Podpisy cyfrowe korzystają z kryptografii asymetrycznej – tworzona jest para kluczy, klucz prywatny i klucz publiczny – klucz prywatny służy do podpisywania i szyfrowania wiadomości, klucz publiczny natomiast do weryfikacji podpisu i deszyfrowania.

Najważniejszymi kryptosystemami umożliwiającymi podpisywanie cyfrowe są RSA i ElGamal (rozwinięty w standardy DSA, GOST 31.10 czy KCDSA).

Inne znane systemy proponowane dla podpisu elektronicznego to schematy oparte na krzywych eliptycznych (ECDSA, EC-KCDSA, ECNR) i inne wykorzystujące problem logarytmu dyskretnego (np. XTR), algorytmy wielu zmiennych (jak SFLASH czy Quartz) oraz operujące na kratach (NTRU-Sign).

Systemy podpisu cyfrowego[edytuj]

Najpopularniejsze standardy pozwalające na złożenie podpisu elektronicznego to X.509 oraz PGP.

PGP jest systemem zdecentralizowanym, w którym poziom autentyczności danego klucza jest determinowany przez sumę podpisów, złożonych przez różne osoby znające posiadacza klucza (model Sieć zaufania). System ten jest powszechnie wykorzystywany w Internecie oraz w środowiskach korporacyjnych (np. niektóre systemy EDI).

System X.509 jest systemem scentralizowanym, w którym autentyczność klucza jest gwarantowana przez hierarchię centrów certyfikacji formalnie poświadczających związek klucza z tożsamością jego właściciela. Ze względu na jednoznaczną odpowiedzialność, łatwiejszą do osadzenia w prawie, X.509 jest obecnie dominującym systemem, na którym opiera się aktualnie obowiązujące prawodawstwo o podpisie elektronicznym.

Umocowanie prawne[edytuj]

Pojęcia "podpis cyfrowy" i "podpis elektroniczny" w języku polskim są często mylone. W rzeczywistości ich znaczenie w kontekście prawnym i nazewnictwie unijnym jest odmienne. Pojęcie "podpisu cyfrowego" (digital signature) zostało zdefiniowane przez normę ISO 7498-2:1989 jako "dane dołączone do danych lub ich przekształcenie kryptograficzne, które pozwala odbiorcy danych udowodnić pochodzenie danych i zabezpieczyć je przed fałszerstwem".

Na podstawie tej definicji przyjmuje się, że pojęcie "podpis cyfrowy" jest stosowane wobec szerokiego spektrum mechanizmów matematycznych i technicznych związanych z podpisem elektronicznym. Podpis cyfrowy nie musi być generowany przez człowieka, do tej kategorii zaliczają się więc liczne zastosowania matematycznej operacji "podpisywania cyfrowego" wykorzystywane np. w protokołach kryptograficznych (np. IPsec), które "podpisują" np. tymczasowe liczby losowe w celu potwierdzenia posiadania klucza prywatnego.

Pojęcie podpis elektroniczny (electronic signature) jest natomiast wprowadzone przez unijną Dyrektywę 1999/93/EC i jednoznacznie określa, że jest to operacja podpisywania konkretnych danych (dokumentu) przez osobę fizyczną.

Information icon.svg Osobny artykuł: Podpis elektroniczny (prawo).

W polskiej terminologii prawniczej termin "podpis" jest przywiązany tylko i wyłącznie do osoby fizycznej, co również ogranicza stosowanie pojęcia "podpis elektroniczny". Z tego powodu w ustawie o podpisie elektronicznym operacje, które z technicznego punktu widzenia są "podpisem cyfrowym" ale nie są składane przez osobę fizyczną zostały zdefiniowane pod innymi nazwami. "Podpis" składany przez centrum certyfikacji pod certyfikatem osoby fizycznej nazywa się "poświadczeniem elektronicznym", zaś sam certyfikat centrum - "zaświadczeniem certyfikacyjnym".