Podpis cyfrowy
Podpis cyfrowy – matematyczny sposób sprawdzenia autentyczności dokumentów i wiadomości elektronicznych. Poprawny podpis oznacza, że wiadomość pochodzi od właściwego nadawcy, który nie może zaprzeczyć faktowi jej nadania, oraz że wiadomość nie została zmieniona podczas transmisji.
Architektura
Podpis cyfrowy służy zapewnieniu między innymi następujących funkcji bezpieczeństwa:
- autentyczności pochodzenia, która daje pewność co do autorstwa dokumentu,
- niezaprzeczalności, która utrudnia wyparcie się autorstwa lub znajomości treści dokumentu,
- integralności, która pozwala wykryć nieautoryzowane modyfikacje dokumentu po jego podpisaniu.
Do zapewnienia wszystkich wymienionych funkcji potrzebne jest zastosowanie trzech środków:
- instrumentów technicznych – algorytmów, protokołów i formatów kryptograficznych, które realizują funkcje bezpieczeństwa,
- instrumentów prawnych, czyli przepisów, które osadzają wymienione instrumenty techniczne w obowiązującym prawie,
- instrumentów organizacyjnych, takich jak urzędy certyfikacji, które poświadczają związek klucza publicznego z konkretną osobą.
Jednym z systemów, który szczegółowo opisuje stosowanie tych środków w Unii Europejskiej jest kwalifikowany podpis elektroniczny.
Kryptografia
Podpis cyfrowy jest najczęściej realizowany przy pomocy technik kryptografii asymetrycznej, w której klucz prywatny jest używany do składania podpisu, zaś klucz publiczny służy do weryfikacji.
Część funkcji podpisu cyfrowego można również zrealizować przy pomocy kryptografii symetrycznej (np. ISO 13888-2).
Dwa dominujące standardy podpisu cyfrowego to RSA oraz DSA. Ten ostatni może być realizowany w oparciu o logarytmy dyskretne lub krzywe eliptyczne (ECDSA).
Znane są również techniki wykorzystujące arytmetykę wielu zmiennych (SFLASH, Quartz) oraz operujące na kratach (NTRU).
Systemy podpisu cyfrowego
Popularne systemy podpisu cyfrowego 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ę urzędó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.
Podpis elektroniczny vs cyfrowy
Pojęcia „podpis cyfrowy” i „podpis elektroniczny” bywają traktowane jako synonimy, ale ich znaczenie w kontekście prawnym i nazewnictwie unijnym jest odmienne. Pojęcie „podpisu cyfrowego” (ang. 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 mechanizmów kryptograficznych i technicznych związanych z podpisem elektronicznym. 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 (ang. electronic signature), wprowadzone przez uchyloną unijną Dyrektywę 1999/93/EC, jednoznacznie wskazywało, że jest to operacja podpisywania konkretnych danych (dokument elektroniczny) przez osobę fizyczną.
Ponadto w polskiej terminologii prawniczej termin „podpis” jest przywiązany tylko do osoby fizycznej, co ogranicza stosowanie pojęcia „podpis elektroniczny”. Z tego powodu w uchylonej ustawie o podpisie elektronicznym konieczne było wprowadzenie rozróżnienia na operacje „podpisu” (przez osobę) oraz „poświadczenia” (przez urząd certyfikacji), pomimo że z technicznego punktu widzenia są one tą samą operacją podpisu cyfrowego. Z tego samego powodu certyfikat klucza publicznego osoby jest nazywany „certyfikatem”, zaś urzędu certyfikacji – „zaświadczeniem certyfikacyjnym”.
W polskim prawie podpis elektroniczny reguluje ustawa z dnia 5 września 2016 r. o usługach zaufania oraz identyfikacji elektronicznej (Dz.U. z 2021 r. poz. 1797).