Kryptografia klucza publicznego i podpisy elektroniczne

Podpisy cyfrowe

Kryptografia klucza publicznego i podpisy elektroniczne

Tworzenie podpisu cyfrowego

W biznesie jednym z ważniejszych elementów transakcji jest podpis klienta. Podpisy cyfrowe to nazwa techniki zapewniającej elektroniczny ekwiwalent tradycyjnego podpisu na papierze. Technika ta potwierdza również niezaprzeczalność wystawienia takiego podpisu. To znaczy, że oprócz jednoznacznej identyfikacji źródła transakcji zapewnia również możliwość kontroli jej nienaruszalności podczas transmisji. Podpis cyfrowy polega na dodawania unikatowych danych do dokumentu w taki sposób, że generować je może jedynie właściciel unikatowego klucza szyfrującego, ale każdy, kto posiada odpowiedni klucz deszyfrujący, może weryfikować autentyczność takiego podpisu. Podpisy cyfrowe są szczególnie ważne w handlu elektronicznym, ponieważ umożliwiają ustanowienie prawnie uznawanej praktyki podpisywania kontraktów i innych porozumień w formie elektronicznych dokumentów.

To właśnie technologia podpisów cyfrowych, bardziej niż jakakolwiek inna, przyczyniła się do urzeczywistnienia wizji bezpiecznego globalnego biznesu elektronicznego.

Schemat tworzenia podpisu cyfrowego jest stosunkowo prosty. Nadawca podpisanej informacji używa 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ę jej "cyfrowego odcisku palca" (metody haszowania to m.in. Message Digest 5 - MD5 i Secure Hash Algorithm - SHA-1). W praktyce prawdopodobieństwo wystąpienia takiego samego abstraktu wiadomości w dwóch różnych dokumentach jest bliskie zeru i dlatego też najmniejsza zmiana w treści dokumentu spowoduje zmiany w abstrakcie. Taki abstrakt 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ą takie same, 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. Podpisy cyfrowe są powszechnie implementowane poprzez wykorzystanie kryptografii klucza publicznego.

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. Trzeba również pamiętać, że podpis gwarantuje jedynie integralność i autentyczność, natomiast nie gwarantuje prywatności - szyfrowanie samej wiadomości musi być dokonane oddzielnie.

Podpisy cyfrowe zapewniają autentyczność danych, ponieważ jakiekolwiek manipulowanie treścią wiadomości po jej podpisaniu unieważnia podpis. Zapewniają one również niezaprzeczalność źródła pochodzenia, ponieważ opierają się na niepowtarzalnym kluczu nadawcy.

Certyfikaty cyfrowe

Kryptografia klucza publicznego i podpisy elektroniczne

Format certyfikatu X.509

Ponieważ klucze publiczne są z definicji łatwo dostępne, podstawowym problemem jest zapewnienie, że poszczególne ich egzemplarze rzeczywiście należą do osób (organizacji), do których są formalnie przypisane. Klucze te są losową mieszanką nic nieznaczących cyfr, nie mających związku z osobami i nie zawierających żadnych informacji identyfikacyjnych o właścicielu. W realnym świecie biznesu, jeżeli zamierza się prowadzić interesy z kimś zupełnie nieznanym, to prosi się o referencje stronę trzecią, 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 klucz publiczny użytkownika wraz z potwierdzeniem - w formie podpisu elektronicznego - jego autentyczności przez stronę trzecią, czyli wydawcę certyfikatów CA (Certification Authority). Może to być instytucja publiczna lub prywatna.

Certyfikat ma ograniczony okres ważności, określony w jego treści. Certyfikaty są używane w procesie poświadczania podpisu cyfrowego.

Kryptografia klucza publicznego i podpisy elektroniczne

Uzyskanie certyfikatu

Ogólny proces weryfikacji przebiega w niżej opisany sposób. Odbiorca podpisanego dokumentu sprawdza, czy:

  • podawana tożsamość użytkownika jest zgodna z tożsamością zawartą w certyfikacie;

  • żaden z certyfikatów w ciągu certyfikatów powiązanych nie został unieważniony oraz nie był przeterminowany w momencie podpisywania danych;

  • dane nie zostały zmienione od momentu ich podpisania (sprawdzane za pomocą klucza publicznego z certyfikatu).
Jeśli wszystkie powyższe warunki są spełnione, odbiorca może przyjąć, że dane zostały podpisane przez podaną jednostkę. W przypadku kluczy używanych do szyfrowania stosuje się podobny proces sprawdzania.


TOP 200