Na czym polega Kryptografia Klucza Publicznego?
Strona Główna
Artykuły
Na czym polega Kryptografia Klucza Publicznego?

Na czym polega Kryptografia Klucza Publicznego?

Średnio zaawansowany
Opublikowane Jan 31, 2019Zaktualizowane Nov 8, 2022
5m
Kryptografia Klucza Publicznego (ang. Public key cryptography - PKC), nazywana również  asymetryczną kryptografią, to inaczej to framework wykorzystujący zarówno klucz prywatny, jak i publiczny do wykonywania określonych czynności. PKC stoi w przeciwieństwie do symetrycznej kryptografii w której wykorzystywany jest tylko jeden klucz.
Wykorzystanie pary kluczy, a nie pojedynczego klucza sprawia, że PKC daje dostęp do unikalnego zestawu cech i możliwości, które można wykorzystać do rozwiązywania problemów związanych z wykorzystaniem innych technik kryptograficznych w kodzie. Ta forma kryptografii stała się ważnym elementem dziedziny bezpieczeństwa komputerowego, a także kluczowym elementem rozwijającego się ekosystemu kryptowalut.


Jak działa Kryptografia Klucza Publicznego?

W schemacie PKC, klucz publiczny jest używany przez nadawcę do szyfrowania informacji, podczas gdy klucz prywatny jest używany przez odbiorcę do odszyfrowania tej informacji. Ponieważ obydwa klucze różnią się od siebie, klucz publiczny może być bezpiecznie udostępniany bez narażania bezpieczeństwa dostępu do kluczaprywatnego. Każda asymetryczna para kluczy jest unikatowa, dzięki czemu wiadomość zaszyfrowana przy użyciu klucza publicznego może zostać odczytana tylko przez osobę posiadającą odpowiedni klucz prywatny.

Ponieważ algorytmy służące do szyfrowania asymetrycznego generują pary kluczy, które są ze sobą matematycznie powiązane, klucze wygenerowane w ten sposób są znacznie dłuższe od kluczy generowanych przy użyciu symetrycznej kryptografii. Ich długość - zazwyczaj wynosząca od 1024 do 2048 bitów - sprawia, że niezwykle trudno jest wyliczyć klucz prywatny z jego publicznego odpowiednika. Jednym z najbardziej powszechnych algorytmów szyfrowania asymetrycznego będącym w użyciu jest RSA. W schemacie RSA klucze są generowane za pomocą modułu, który jest uzyskiwany przez pomnożenie dwóch liczb (najczęściej dwóch dużych liczb pierwszych). Z takiej operacji zawsze powstają dwa klucze: jeden publiczny, który można udostępnić, i jeden prywatny, który powinien być trzymany w sekrecie. Algorytm RSA został po raz pierwszy opisany w 1977 roku przez trójkę kryptografów: Rivesta, Shamira i Adlemana (stąd też skrót RSA) i do dziś pozostaje głównym składnikiem systemów wykorzystujących kryptografię klucza publicznego.


PKC jako narzędzie szyfrowania

Kryptografia klucza publicznego rozwiązuje jeden z istniejących od dawna problemów z którym borykają się algorytmy symetryczne. Mowa tutaj o komunikacji pomiędzy kluczem używanym zarówno do szyfrowania, jak i deszyfrowania. Wysłanie tego klucza za pośrednictwem niezabezpieczonej sieci grozi udostępnieniem go stronie trzeciej, która dzięki dostępowi do niego może następnie odczytać wszystkie wiadomości zaszyfrowane za pomocą klucza publicznego. Chociaż istnieją już techniki kryptograficzne (takie jak np. protokół wymiany kluczy Diffie-Hellman-Merkle) umożliwiająca rozwiązanie tego problemu, w dalszym ciągu są one jednak podatne na ataki. Natomiast w przypadku Kryptografii Klucza Publicznego, klucz używany do szyfrowania może być bezpiecznie przesłany przy użyciu dowolnego połączenie, komunikatora lub serwera. To z kolei w rezultacie sprawia, że algorytmy asymetryczne zapewniają wyższy poziom bezpieczeństwa w porównaniu z algorytmami symetrycznymi.


Użytek PKC w Generowaniu Podpisów Cyfrowych

Innym przykładem zastosowania asymetrycznych algorytmów kryptograficznych jest uwierzytelnianie danych za pomocą tzw. podpisów cyfrowych. Generalnie rzecz ujmując podpis cyfrowy, to skrót stworzony za pomocą danych zawartych w samej wiadomości. Po wysłaniu takiej wiadomości, jej podpis może zostać sprawdzony przez odbiorcę przy użyciu klucza publicznego nadawcy - który jest publicznie znany - co pozwala odbiorcy na zweryfikowanie źródła wiadomości i upewnienie się, że jej treść nie została w jakikolwiek sposób naruszona. Należy jednak zauważyć, że nie wszystkie systemy podpisów cyfrowych korzystają z technik szyfrowania.


Ograniczenia

Chociaż PKC wykorzystywane jest generalnie do zwiększenia bezpieczeństwa komunikacji i zapewnienia integralności komunikatu, to framework ten cechuje się jednak pewnymi ograniczeniami. Ze względu na złożone operacje matematyczne związane z szyfrowaniem i odszyfrowywaniem, algorytmy asymetryczne okazują się dosyć powolne w przypadku zetknięcia ich z dużymi zestawami danych. Ten rodzaj kryptografii zależy również w dużej mierze od założenia, że klucz prywatny zawsze pozostanie tajny. Jeśli klucz prywatny zostanie przypadkowo udostępniony lub ujawniony, bezpieczeństwo wszystkich wiadomości, które zostały zaszyfrowane za pomocą odpowiadającego mu klucza publicznego, zostanie najzwyczajniej naruszona. Co więcej, przypadkowe zgubienie klucza prywatnego dającego dostęp do zaszyfrowanych danych sprawia, że dane zaszyfrowane za jego pomocą stają się niemożliwe do odszyfrowania.


Zastosowania Kryptografii Klucza Publicznego

Ten typ kryptografii jest obecnie wykorzystywany przez wiele nowoczesnych systemów komputerowych, aplikacji oraz sieci w celu zapewnienia należytego poziomu bezpieczeństwa poufnych informacji. Jednym z najprostszych przykładów zastosowania PKC z życia codziennego jest szyfrowanie wiadomości e-mail przy użyciu technik kryptografii klucza publicznego, aby zachować poufność ich treści. Protokół Secure Sockets Layer (SSL), który umożliwia bezpieczne połączenia z serwisami WWW, również wykorzystuje asymetryczną kryptografię. Niektórzy z kryptografów twierdzą również, że systemy wykorzystujące PKC są w stanie zapewnić bezpieczne elektroniczne środowisko służące do głosowania, które potencjalnie umożliwiłoby wyborcom udział w wyborach przy użyciu ich własnych komputerów.

Framework PKC posiada również znaczący udział w technologii blockchain i kryptowalut. Podczas konfiguracji portfela służącego do przechowywania kryptowalut za każdym razem generowana jest para kluczy: publiczny i prywatny. Adres publiczny generowany jest przy użyciu klucza publicznego i co do zasady można go bezpiecznie udostępniać innym. Z kolei klucz prywatny służy do tworzenia podpisów cyfrowych i weryfikacji transakcji, dlatego też obligatoryjnie jego posiadacz musi trzymać go w tajemnicy przed innymi. Za każdym razem kiedy transakcja zostanie zweryfikowana poprzez potwierdzenie hashu zawartego w podpisie cyfrowym, transakcję tę można dodać do łańcucha blockchain. Dzięki temu każdy uczestnik sieci ma pewność, że tylko osoba, która ma klucz prywatny powiązany z odpowiednim portfelem kryptowalut, może zarządzać zdeponowanymi na nim funduszami. Należy zauważyć, że szyfry asymetryczne używane w aplikacjach kryptowalutowych różnią się od tych używanych do celów zabezpieczania sieci czy też komputerów. Dla przykładu, kryptowaluty Bitcoin i Ethereum  do weryfikacji transakcji wykorzystują skomplikowany szyfr znany jako algorytm cyfrowej sygnatury łuku eliptycznego (ECDSA)

Od bezpieczeństwa sieci komputerowych, komputerów i aplikacji, po weryfikację transakcji kryptowalutowych, kryptografia klucza publicznego odgrywa ważną rolę w bezpieczeństwie nowoczesnych systemów cyfrowych. Wykorzystując sparowane matematycznie ze sobą klucze publiczne i prywatne, asymetryczne algorytmy kryptograficzne rozwiązują podstawowe problemy bezpieczeństwa znane w dziedzinie kryptografii symetrycznej. Chociaż framework PKC jest w użyciu już od wielu lat, kryptografowie oraz programiści z całego świata sukcesywnie tworzą dla niego nowe zastosowania i aplikacje - a już w szczególności w przestrzeni technologii blockchain i kryptowalut.

Udostępnij Posty
Zarejestruj konto
Wykorzystaj swoją wiedzę w praktyce, otwierając konto Binance już dziś.