Infrastruktura klucza publicznego i podpisy elektroniczne

Możliwość stosowania podpisów cyfrowych zapewniają: kryptografia klucza publicznego i algorytmy w rodzaju DSA czy RSA. Nadawca podpisanej informacji używa techniki jej szatkowania, tzw. funkcji haszującej (hash function), do wytworzenia unikatowej, skróconej wersji oryginalnego tekstu, określanej mianem "abstraktu wiadomości" (message digest) i spełniającej rolę "cyfrowego odcisku palca" właściwej wiadomości (metody haszowania to m. in. Message Digest 5 - MD5 i Secure Hash Algorithm - SHA-1). Praktycznie prawdopodobieństwo wystąpienia takiego samego abstraktu wiadomości w dwóch różnych dokumentach jest bliskie zeru i dlatego też nawet najmniejsza zmiana w treści dokumentu spowoduje znaczące zmiany w abstrakcie. Taki dodatek jest następnie szyfrowany kluczem prywatnym lub tajnym, stając się podpisem cyfrowym. Sama wiadomość może być też zaszyfrowana lub nie.

Strona odbierająca wiadomość z załączonym podpisem deszyfruje podpis kluczem publicznym (lub tajnym) w celu odtworzenia źródłowego abstraktu wiadomości, "szatkuje" wiadomość taką samą funkcją haszującą i porównuje obie wartości - jeżeli są równe, to podpis jest autentyczny, jeżeli nie, to wiadomość może pochodzić z innego źródła, niż podano, lub została po drodze zmieniona.

W procesie uwierzytelniania role kluczy prywatnych i publicznych ulegają zamianie w stosunku do ich ról w szyfrowaniu wiadomości, gdzie to właśnie klucz publiczny używany jest do szyfrowania, a prywatny do deszyfrowania wiadomości. Trzeba również pamiętać, że podpis gwarantuje jedynie integralność i autentyczność, nie gwarantuje natomiast prywatności - szyfrowanie samej wiadomości musi być wykonana oddzielnie. I tak DSS jest wyłącznie systemem podpisów cyfrowych, natomiast RSA może być używany do obydwu celów.

Podpisy cyfrowe zapewniają najwyższy poziom integralności danych ponieważ jakiekolwiek manipulowanie treścią wiadomości po jej podpisaniu unieważnia podpis. Zapewnia również niezaprzeczalność źródła pochodzenia, ponieważ opiera się na prywatnym kluczu nadawcy. W tym kontekście trzeba zauważyć, że większość systemów PKI zapewnia generowanie dwóch par kluczy dla każdego użytkownika: jedna para do szyfrowania i deszyfrowania wiadomości, a druga dla generowania i weryfikowania podpisów cyfrowych. Pozwala to na utrzymywanie kopii zapasowych kluczy szyfrujących, wykorzystywanych w przypadkach zagubienia kluczy przez użytkownika lub zmiany miejsca pracy i konieczności deszyfrowania danych zaszyfrowanych tymi kluczami. W przypadku kluczy używanych do podpisów cyfrowych sytuacja wygląda zupełnie inaczej: nie mogą być one w posiadaniu nikogo innego poza osobą, dla której zostały wygenerowane, z tego też powodu nie są z nich tworzone kopie awaryjne. Jest to jedyna metoda zapewnienia niezaprzeczalności, ponieważ dopóki klucze nie zostaną utracone w jakikolwiek sposób, ich właściciel nie może twierdzić, że ktoś innych złożył podpis zamiast niego.

Certyfikaty cyfrowe

Infrastruktura klucza publicznego i podpisy elektroniczne

Rys.3 Uzyskanie cetyfikatu

Chociaż kryptografia klucza publicznego jest już dobrze ugruntowaną i powszechnie akceptowaną jako bezpieczna metoda ochrony poufności danych, to jednak nie jest wolna od wad. Ponieważ klucze publiczne są z definicji łatwo dostępne, podstawowym problemem jest zapewnienie, że poszczególne ich egzemplarze rzeczywiście należą do formalnie przypisanych im osób (organizacji) i nie są falsyfikatami.

Klucze te są losową mieszanką nic nie znaczących danych, nie mających związku z osobami i nie zawierających żadnych informacji identyfikacyjnych o właścicielu. Oznacza to, że osoba A może tworzyć fałszywe klucze publiczne i publikować je, utrzymując, że pochodzą one od osoby B. Osoba C, zamierzająca wysłać osobistą wiadomość do B, szyfruje ją używając sfałszowanego klucza publicznego. W rezultacie wiadomość ta jest bezużyteczna dla B, natomiast A może ją przechwycić i odtajnić. W realnym świecie biznesu, jeżeli zamierza się prowadzić interesy z kimś kompletnie nie znanym, to prosi się go o referencje lub o wskazanie strony trzeciej, która może potwierdzić, iż jest on godny zaufania. Podobną metodę postępowania można zastosować w świecie elektronicznym, używając "certyfikatów cyfrowych" (digital certificates). Certyfikat cyfrowy to niewielki blok danych zawierający publiczny klucz użytkownika wraz z potwierdzeniem, w formie podpisu elektronicznego, jego autentyczności przez stronę trzecią. Ta strona trzecia to wydawca certyfikatów (Certification Authority - CA) powiązany z PKI. Może to być instytucja publiczna lub prywatna. Organizacja funkcjonująca jako własny CA (z własnym źródłem certyfikacji) jest prywatnym CA, natomiast publiczny CA oferuje swoje usługi zarówno dla użytkowników końcowych, jak i ciał korporacyjnych, które życzą sobie zewnętrznego źródła PKI.


TOP 200