====== Zdefiniuj pojęcia podpisu elektronicznego i podpisu cyfrowego ======

===== Architektura =====

Podpis elektroniczny służy zapewnieniu następujących funkcji:
  * autentyczności, czyli pewności co do autorstwa dokumentu,
  * niezaprzeczalności, czyli pewności, że to osoba podpisana stworzyła dokument,
  * 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 prywatnego z konkretną osobą.

===== Kryptografia =====

==== System z szyfrem symetrycznym (ang. Symmetric key encryption) ====
**System z szyfrem symetrycznym (ang. Symmetric key encryption)** np. DES, IDEA, RC4, BLOWFISH - system, w którym mamy do czynienia tylko z jednym kluczem używanym zarówno do szyfrowania, jak i odszyfrowywania wiadomości. Klucz ten znany jest zarówno nadawcy, jak i odbiorcy wiadomości, jednak dla pozostałych osób powinien pozostać on tajny. System taki ma dwie zasadnicze wady z punktu widzenia podpisu elektronicznego:
1. w celach identyfikacyjnych można posługiwać się nim wyłącznie w stosunkach miedzy dwoma podmiotami, wiadomo wówczas, że tylko druga strona mogła się posłużyć danym szyfrem, w przypadku większej liczby osób niemożliwe jest jednoznaczne ustalenie, kto faktycznie się danym podpisem posłużył.
2. istnieje problem, jak przekazać drugiej stronie stosowany klucz w taki sposób, aby nie dostał się on w niepowołane ręce (klucz taki musiałby być przekazywany przez kanał bezpieczniejszy niż sama wiadomość).

==== System z szyfrem asymetrycznym (ang. Assymetric key encryption) ====
**System z szyfrem asymetrycznym (ang. Assymetric key encryption)** np. RSA, DSS, DH Algoritmh- w tym systemie jeden klucz, zwany prywatnym, jest kluczem tajnym i dostępnym tylko jego właścicielowi. Przy pomocy tego klucza można szyfrować wysyłane wiadomości. Odpowiadający jemu klucz publiczny jest kluczem powszechnie znanym. Służy on do szyfrowania wiadomości, które mają być odszyfrowane kluczem prywatnym. Istotą tego procesu jest fakt, że wiadomość zaszyfrowana przy użyciu klucza publicznego może zostać odczytana tylko przy użyciu klucza prywatnego. Gwarantuje to bezpieczeństwo komunikacji, zabezpieczając wiadomość przed przeczytaniem jej przez osoby niepowołane. Klucze te mogą mieć jeszcze jedno zastosowanie – klucz publiczny może służyć do deszyfrowania wiadomości zaszyfrowanych uprzednio przy użyciu klucza prywatnego, co pozwala na identyfikację osoby nadającej wiadomość.
Połączenie obu tych procedur gwarantuje zarówno poufność danych, jak i pozwala właściwie uwierzytelnić ich nadawcę. Na przykładzie można to pokazać w następujący sposób. Nadawca A szyfruje wiadomość za pomocą swojego klucza prywatnego (potwierdzając tym samym swoją tożsamość), następnie szyfruje wiadomość przy użyciu klucza publicznego odbiorcy (zapewniając w ten sposób poufność). Tak zaszyfrowana wiadomość przesyłana jest do osoby B. Odbiorca deszyfruje najpierw wiadomość przy użyciu swojego klucza prywatnego, a następnie używa klucza publicznego nadawcy, aby stwierdzić jednoznacznie, od kogo pochodzi dana informacja.
W tej metodzie z podpisem elektronicznym będziemy mieli do czynienia wtedy, gdy nadawca zaszyfruje wiadomość wykorzystując w tym celu swój klucz prywatny. Ten mechanizm funkcjonuje już od lat, znajdując zastosowanie w wielu różnych dziedzinach. Cała procedura jest jednak pracochłonna, gdyż algorytm podpisu stosowany jest do całej wiadomości. Dla istnienia instytucji podpisu elektronicznego nie jest jednak wymagane zapewnienie poufności – wystarczy zapewnienie integralności przesyłanych danych. Innymi słowy, musi istnieć pewność, że podpis złożono dokładnie pod tą samą treścią, którą widzi odbiorca. Dlatego też stosujemy trochę inny tryb postępowania, który związany jest z systemem z kluczem asymetrycznym, jednak nieco wzbogaconym.

==== Wzbogacony algorytm z kluczem asymetrycznym ====
**Wzbogacony algorytm z kluczem asymetrycznym** – w przypadku tego algorytmu konieczne jest uprzednie istnienie odpowiedniej wiadomości – niemożliwe jest stworzenie podpisu in blanco, bowiem ważnym jego elementem jest niezmienność podpisanych danych. Raz podpisana wiadomość, nawet gdyby była pusta nie może zostać uzupełniona treścią, gdyż wtedy dołączony do niej podpis elektroniczny przestałby do niej pasować.
Jak wygląda postępowanie w przypadku korzystania ze wzbogaconego algorytmu z kluczem asymetrycznym? Po stworzeniu samej wiadomości nadawca za pomocą specjalnego programu tworzy skrót wiadomości. Streszczenie to zawsze będzie posiadać tę samą długość, która, co najciekawsze, będzie niezależna od długości samej wiadomości. Najczęściej skrót wiadomości będzie liczył 128 lub 160 bitów. Przy jego tworzeniu używa się technik kryptograficznych w postaci specjalnych algorytmów, jak np. Secure Hash Algorithm-1 (SHA-1) lub Message Digest (MD5). Efektem ich zastosowania jest cyfrowe streszczenie wiadomości. Wykorzystywana jest tu tzw. jednokierunkowa funkcja skrótu, która tworzy unikalną dla wiadomości sumę kontrolną w postaci skrótu. Funkcja skrótu posiada trzy bardzo ważne własności:
  * zmiana, choćby najmniejsza, oryginalnej wiadomości powoduje nieprzewidywalną zmianę skrótu,
  * niemożliwe jest odtworzenie oryginalnej wiadomości tylko na podstawie samego skrótu (jednokierunkowość),
  * żadne dwie wiadomości nie powinny (z bardzo wysokim prawdopodobieństwem) dać jednakowego skrótu (bezkolizyjność).
W jakim celu tworzy się cyfrowe streszczenie wiadomości? Aby zapewnić integralność przesyłanych danych (niemożliwa jest taka ich modyfikacja, która nie spowodowałaby zmiany skrótu) oraz aby przyspieszyć całą procedurę związaną z podpisem elektronicznym, bowiem wtedy podpis obliczany jest już nie dla całej wiadomości, a dla jej skrótu.
Po utworzeniu skrótu nadawca tworzy podpis elektroniczny dla wysyłanej wiadomości. Wykorzystuje on w tym celu swój klucz prywatny, który może mieć postać pliku zapisanego na komputerze, na dyskietce lub Cd-romie lub na specjalnej karcie mikroprocesorowej, która będzie w trakcie podpisywania wiadomości umieszczana w odpowiednim czytniku. W najbardziej rozpowszechnionej (aczkolwiek najmniej bezpiecznej) postaci klucz po prostu integruje się z programami służącymi do komunikacji sieciowej i wówczas nie ma każdorazowej potrzeby jego wczytywania. Przy pomocy tego klucza komputer szyfruje utworzony w poprzednim etapie skrót wiadomości. Tak zaszyfrowany skrót staje się podpisem cyfrowym dla danej wiadomości, którego ostateczny kształt dla danej wiadomości zależy od dwóch czynników:
  * skrótu wiadomości, a dokładniej od samej wiadomości – dla każdej wiadomości będzie on różny,
  * klucza prywatnego nadawcy.
Kolejnym etapem jest przesłanie przez nadawcę przekazu do odbiorcy drogą elektroniczną. Przesłana zostaje wiadomość wraz z jej zaszyfrowanym skrótem – plik zawierający właściwą treść wraz z załącznikiem zawierającym podpis elektroniczny dla danej wiadomości. Możliwe są także inne rozwiązania, jak na przykład przesłanie obu elementów w postaci dwóch osobnych plików, jednak do czasu otrzymania przez adresata obu elementów nie będzie możliwa weryfikacja podpisu.
Kiedy odbiorca otrzyma wiadomość oraz dołączony do niej podpis, musi najpierw używając klucza publicznego nadawcy rozszyfrować uprzednio zaszyfrowany skrót wiadomości (procedura uwierzytelniania). Aby jednak stwierdzić, czy klucze pasują do siebie, musi przeprowadzić jeszcze jedną czynność. Otóż przy użyciu tego samego algorytmu (tej samej tzw. funkcji skrótu – hash function) oblicza on skrót wiadomości, którą otrzymał w postaci niezaszyfrowanej, a następnie porównuje otrzymane wyniki. Jeśli są identyczne oznacza to, że:
  * wiadomość pochodzi od osoby, która podpisała się elektronicznie pod wiadomością,
  * wiadomość nie została zmodyfikowana w drodze od nadawcy (oba skróty kontrolne są sobie równe).
W przypadku, w którym oba skróty są równe, podpis elektroniczny można uznać za autentyczny. W innym wypadku podpis należy odrzucić. W praktyce wszystkie czynności są wykonywane przez komputer – użytkownik tylko wydaje polecenie podpisania wiadomości albo weryfikacji autentyczności podpisu czy wiadomości, a następnie zostaje poinformowany o wynikach.
Kończąc rozważania należy jeszcze wspomnieć o bardzo istotnej kwestii. Użytkownik przesyłając swoje dane nie chce, aby dostały się one w niepowołane ręce, dlatego istotnym elementem jest zapewnienie poufności przesyłanych danych. Często stosowaną w tym celu metodą jest szyfrowanie całego przekazu i tworzenie tzw. bezpiecznego połączenia (np. przy użyciu modułu Secret Socket Layer) albo korzystanie z opisanego już wcześniej mechanizmu utajniania opierającego się na użyciu klucza publicznego odbiorcy wiadomości.

Generowanie podpisu:
{{:bsk:create_signature.gif|:bsk:create_signature.gif}}

Weryfikacja podpisu:
{{:bsk:verify_signature.gif|:bsk:verify_signature.gif}}

==== Dlaczego podpis elektroniczny? ====

Podpis elektroniczny w przyszłości może stać się bardzo ważnym narzędziem ze względu na swoje funkcje. Zadaniem sygnatury elektronicznej jest zapewnienie uwierzytelniania, niezaprzeczalności, integralności, identyfikacji oraz poufności przesyłanych przez nas informacji.

=== UWIERZYTELNIANIE (ang. Authentication) ===
Polega na poprawnym określeniu pochodzenia komunikatu, z zapewnieniem autentyczności źródła. Zakładając, że do podpisywania wiadomości stosujemy algorytm klucza asymetrycznego, uwierzytelnianie polega na ustaleniu, czy podpis elektroniczny został utworzony z użyciem klucza prywatnego odpowiadającego kluczowi publicznemu. Nadawca wiadomości używa swojego klucza prywatnego do złożenia podpisu na dokumencie. Po wysłaniu dokumentu adresat wiedząc, kto jest domniemanym nadawcą, używa klucza publicznego tegoż nadawcy, aby stwierdzić, że sumy kontrolne się zgadzają. Jeśli tak jest, oznacza to, ze wiadomość została podpisana z użyciem klucza prywatnego tegoż nadawcy (przy czym sama osoba nadawcy może nadal nie być dla nas jawna, gdyż może się on ukrywać pod pseudonimem).
 
=== NIEZAPRZECZALNOŚĆ (ang. non-repudiation) ===
Uniemożliwia nadawcy lub odbiorcy komunikatu zaprzeczenie faktu jego przesłania. Ma to szczególne znaczenie w przypadku np. zamówień kierowanych do sklepów internetowych. Jeżeli osoba podpisana pod takim zamówieniem oświadczy, że nie wysłała takiego zamówienia, wówczas sklep bez problemu może wykazać, że dana wiadomość została podpisana kluczem prywatnym danego nadawcy (nie ważne jest, kto się tym kluczem posłużył, ani też personalia samego nadawcy). W domyśle, bowiem danym kluczem prywatnym posługuje się osoba do tego upoważniona.
 
=== INTEGRALNOŚĆ (ang. Integrity) ===
Zapewnia możliwość sprawdzenia, czy przesyłane dane nie zostały w żaden sposób zmodyfikowane podczas transmisji. Dzieje się tak dzięki dołączeniu do wiadomości znacznika integralności wiadomości, czyli ciągu bitów obliczonego na podstawie wiadomości. Z definicji tej wynika, że zapewnienie takiej integralności odbywa się jedynie pośrednio – albowiem nie jest tu utrudniona możliwość zmian treści wiadomości, z tym że każda zmiana będzie od razu. Związane jest to z faktem, że nieodłącznym elementem tworzenia podpisu elektronicznego jest wyznaczenie na podstawie samej wiadomości jej skrótu przy użyciu odpowiedniego algorytmu. Każda wiadomość posiada w ten sposób pewien właściwy tylko dla niej skrót, a każda modyfikacja oryginalnej wiadomości powoduje zmianę wartości tego skrótu, a zatem jest możliwa do wykrycia.
 
=== IDENTYFIKACJA (ang. Identification) ===
Polega na potwierdzeniu tożsamości nadawcy wiadomości. Pozwala stwierdzić, kto faktycznie zarejestrowany jest jako właściciel danego klucza prywatnego. Jest to możliwe dzięki istnieniu tzw. centrów certyfikacji, które generują odpowiadające sobie pary kluczy, a następnie klucz prywatny przyznają osobie zainteresowanej, a klucz publiczny podają do powszechnej wiadomości. Ustalenie nadawcy sprowadza się do zwrócenia się do odpowiedniego organu certyfikacji z odpowiednim zapytaniem lub do przejrzenia publicznie dostępnego rejestru certyfikatów. Pojawiają się tu jednak dwa problemy – po pierwsze nadawca mógł pozyskać swój certyfikat pod pseudonimem, a po drugie w zamkniętym kręgu podmiotów nie istnieje potrzeba istnienia centrów certyfikacji, gdyż wszyscy znają swoje klucze publiczne i swoją tożsamość.
 
=== POUFNOŚĆ (ang. Confidentiality) ===
Zagwarantowanie, że przesyłane lub przechowywane dane będą dostępne (możliwe do odczytania) jedynie dla uprawnionych osób, np.: odbiorcy wiadomości pocztowej. W szczególności chodzi o drukowanie, wyświetlanie i inne formy ujawniania, w tym ujawnianie istnienia jakiegoś obiektu. Realizacja tej funkcji jest dla istnienia elektronicznego podpisu zupełnie obojętna. Często jednak wraz z podpisaniem danej wiadomości dokonuje się jej zaszyfrowania. W przypadku algorytmu z kluczem asymetrycznym dokonuje się tego za pomocą klucza publicznego odbiorcy wiadomości, a rozszyfrowania dokonuje adresat za pomocą swojego klucza prywatnego.

==== Certyfikaty i rola centrów certyfikacji ====
Do uwierzytelniania nadawcy i wysłanej przez niego wiadomości potrzebny jest klucz publiczny. Skąd wziąć taki klucz, czy nadawca powinien dostarczać go odbiorcy w celu możliwości weryfikacji pochodzenia danej wiadomości? Wtedy jednak nie można by stwierdzić, kto jest rzeczywiście nadawcą danej wiadomości. Z drugiej strony, kiedy już zweryfikujemy wiadomość przy pomocy klucza publicznego osoby A, to nie mamy pewności, że ktoś się pod nią nie podszył, uzyskując tym samym prawo do danego klucza prywatnego. Aby odpowiedzieć na te i inne pytania, należy przedstawić integralną część całego mechanizmu związanego z podpisem elektronicznym – certyfikaty i centra certyfikacji.
W systemie certyfikacji najważniejszym ogniwem jest Organ Certyfikacji (Certification Authority), który pełni rolę tzw. zaufanej osoby trzeciej. Zadaniem tego organu jest potwierdzenie tożsamości osoby ubiegającej się o wydanie jej certyfikatu (subskrybenta) oraz potwierdzenie faktu, że dana osoba jest rzeczywiście właścicielem danego klucza publicznego. Ułatwia to odbiorcy wiadomości identyfikację osoby, która wiadomość przesłała. Organ Certyfikacji jest zobowiązany do tworzenia stosownej bazy użytkowników. Aby uzyskać certyfikat od organu certyfikacji, użytkownik musi podać swoje dane, które następnie będą podlegały weryfikacji przez organ. Po sprawdzeniu tych danych Organ Rejestracji dokonuje rejestracji subskrybenta. Następnie możliwe są dwie sytuacje:
  * Organ Certyfikacji sam generuje parę kluczy przekazując następnie klucz prywatny subskrybentowi wraz z certyfikatem,
  * Użytkownik we własnym zakresie generuje klucz prywatny i klucz publiczny za pomocą specjalnego oprogramowania, po czym przedstawia organowi certyfikacji wygenerowany klucz publiczny do certyfikacji, a organ po identyfikacji użytkownika, wystawia mu certyfikat. (Rozwiązanie bezpieczniejsze).

**Certyfikat** to elektroniczne zaświadczenie, z którego pomocą dane służące do weryfikacji podpisu elektronicznego są przyporządkowane do określonego użytkownika (osoba fizyczna, serwer, witryna WWW) składającego podpis elektroniczny, i potwierdzają jego tożsamość. Zaświadczenie to zawiera m.in.: identyfikator subskrybenta, jego klucz publiczny oraz jest podpisany przez organ wydający. Upraszczając tę definicję należałoby powiedzieć, że __certyfikat jest zaszyfrowanym przy użyciu klucza prywatnego organu certyfikacji kluczem publicznym subskrybenta__. Dlatego też odbiorca wiadomości podpisanej elektronicznie powinien, oprócz sprawdzenia poprawności wiadomości pochodzącej od adresata sprawdzić, czy certyfikat klucza publicznego jest poprawny. Będzie to mógł uczynić za pomocą klucza publicznego organu certyfikacji, którym sprawdzi wiarygodność podpisu tego organu, widniejącego pod certyfikatem. Taki certyfikat może zostać przesłany odbiorcy przez samego nadawcę, wraz z wiadomością i podpisem elektronicznym. Jeżeli nadawca tego nie uczyni wtedy adresat będzie mógł skorzystać z usług tzw. repozytorium((dostępnych on-line baz danych zawierających certyfikaty organu certyfikacji, organu rejestracji i wszystkich subskrybentów, w tym listę certyfikatów unieważnionych)).

Przyznawane przez organ certyfikacji certyfikaty mogą być zróżnicowane, w zależności od poziomu bezpieczeństwa, jaki oferują. Wiąże się to głównie ze sposobem, w jaki organy certyfikacji dokonują identyfikacji przyszłego subskrybenta. Dla przykładu – certyfikaty przeznaczone dla podpisywania prywatnej poczty e-mail są certyfikatami bezpłatnymi, gdyż ten typ danych nie wymaga wielkiego stopnia zaufania w stosunku do nadawcy (chodzi głównie o ustalenie, że z danego adresu mailowego korzysta osoba, która używała go do tej pory). Przyszły subskrybent podaje organowi oprócz swoich danych, adres mailowy, dla którego chce stworzyć podpis cyfrowy. Organ certyfikacji w zasadzie nie sprawdza tych danych, wyjątkiem jest jedynie wiadomość przesłana na dane konto e-mail zawierająca hasło, potrzebne do procesu wydania certyfikatu. Identyfikacja subskrybenta następuje tu jedynie pośrednio – jednakże dany podpis użytkownik może stosować tylko do tego jednego konta pocztowego. Oczywiście jest to chyba najprostszy sposób wykorzystania podpisu elektronicznego – istnieją, bowiem również takie certyfikaty, dla uzyskania których niezbędne jest stawienie się w siedzibie organu certyfikacji z kompletem dokumentów, a sam certyfikat zostaje wydany dopiero po ich sprawdzeniu.
System certyfikacji składa się na tzw. Infrastrukturę Klucza Publicznego, w skład której wchodzą: 
  * organy rejestracji 
  * organy certyfikacji 
  * repozytoria

O kształcie tego systemu decyduje ustawa, ważne jest jednak, by obywatele mieli do nich zaufanie, bowiem tylko zaufanie to może zaprocentować powodzeniem instytucji podpisu elektronicznego.


===== Systemy =====
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 niektórych środowiskach korporacyjnych.

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ędów formalnych X.509 jest obecnie dominującym systemem, na którym opiera się aktualnie obowiązujące prawodawstwo o podpisie elektronicznym.

===== Aspekty prawne =====
Prawo unijne (dyrektywa 1999/93/EC) wyróżnia następujące rodzaje podpisu elektronicznego:
  * podpis elektroniczny, czyli deklaracja tożsamości autora złożona w formie elektronicznej pod dokumentem. Może to być na przykład podpis pod emailem lub zeskanowany podpis odręczny wklejony w dokument PDF.
  * zaawansowany (bezpieczny) podpis elektroniczny, czyli podpis, który za pomocą odpowiednich środków technicznych (kryptograficznych) jest jednoznacznie i w sposób trudny do sfałszowania związany z dokumentem oraz autorem. Kategoria ta odnosi się do większości systemów tradycyjnie nazywanych podpisem elektronicznym i wykorzystujących różne algorytmy kryptograficzne dla zapewnienia bezpieczeństwa. 
  * kwalifikowany podpis elektroniczny, czyli taki podpis zaawansowany, który został złożony przy pomocy certyfikatu kwalifikowanego oraz przy użyciu bezpiecznego urządzenia do składania podpisu (SSCD).

**Certyfikat kwalifikowany** to taki, który został wystawiony jego właścicielowi z zastosowaniem odpowiednich procedur weryfikacji tożsamości i jest przechowywany w sposób bezpieczny (np. na karcie elektronicznej).

Zgodnie z prawem polskim tylko podpis kwalifikowany ma automatycznie takie samo znaczenie jak podpis odręczny. Inne rodzaje podpisu mogą być wiążące prawnie jedynie na podstawie umów cywilnych pomiędzy kontrahentami je stosującymi. Podobne prawodawstwo obowiązuje w większości krajów Unii Europejskiej, chociaż występuje między nimi wiele drobnych różnic - na przykład jeśli chodzi o obowiązek korzystania z bezpiecznego urządzenia (SSCD).

===== Podpis cyfrowy a podpis elektroniczny =====
Definiując pojęcie podpisu elektronicznego nie można pominąć często z nim utożsamianego pojęcia podpisu cyfrowego, który jest tylko jednym z wielu możliwych rodzajów podpisu elektronicznego. Cechą wyróżniającą podpis cyfrowy jest zastosowanie metody kryptograficznej, polegającej na wykorzystaniu dwóch symetrycznych kluczy


===== Informacje dodatkowe =====
[[http://www.gazeta-it.pl/archiwum/git05/podpis.html|http://www.gazeta-it.pl/archiwum/git05/podpis.html]] - bardzo przyjemny i łopatologiczny opis, większa jego część została przeklejona wyżej

[[http://www.epodpis.pl|http://www.epodpis.pl]]

[[http://www.ebanki.info/technika/podpis_cyfrowy.html|http://www.ebanki.info/technika/podpis_cyfrowy.html]]