Przejdź do treści
Słownikbezpieczenstwoklucze-prywatnesmart-kontraktyportfele

Podpis cyfrowy

Digital signature, czyli podpis cyfrowy, to kryptograficzny dowód, że konkretna wiadomość albo transakcja została autoryzowana przez posiadacza odpowiedniego klucza prywatnego.

Czym jest podpis cyfrowy

W blockchainach podpis cyfrowy potwierdza, że właściciel klucza prywatnego autoryzował konkretną akcję.

Portfel tworzy podpis na podstawie danych transakcji albo wiadomości. Sieć albo aplikacja może potem sprawdzić podpis przy pomocy klucza publicznego lub adresu wynikającego z tego klucza.

Jeśli podpisywana treść zostanie zmieniona, weryfikacja podpisu nie przejdzie. To chroni integralność danych i pozwala przypisać autoryzację do konkretnego klucza.

Co daje podpis cyfrowy

Autoryzacja
Pokazuje, że akcja została zatwierdzona przez posiadacza klucza prywatnego.
Integralność
Zmiana podpisanej wiadomości powoduje, że podpis przestaje pasować.
Weryfikacja
Inni mogą sprawdzić podpis bez poznawania klucza prywatnego.
Kontrola środków
W blockchainach poprawny podpis pozwala wydać środki albo wykonać operację z konta.
Ryzyko UX
Użytkownik może podpisać złą akcję, jeśli interfejs ukryje prawdziwe skutki.

Jak działa w portfelu

Gdy wysyłasz transakcję, portfel pokazuje jej szczegóły i prosi o zatwierdzenie. Po zatwierdzeniu tworzy podpis przy użyciu klucza prywatnego.

Klucz prywatny nie powinien opuszczać portfela albo urządzenia sprzętowego. Podpis jest wynikiem operacji kryptograficznej, którą można zweryfikować publicznie.

Dlatego portfel może kontrolować adres bez ujawniania seed phrase. Sieć nie potrzebuje znać sekretu, żeby sprawdzić, czy transakcja została poprawnie autoryzowana.

Co sprawdzać przed podpisem

Podpis jest autoryzacją. Treść podpisu ma większe znaczenie niż wygląd strony.

  • Adres kontraktu lub odbiorcy.
  • Kwotę i token.
  • Czy podpisujesz transakcję, approval czy wiadomość offchain.
  • Czy strona pochodzi z oficjalnego źródła.
  • Czy portfel pokazuje czytelny opis operacji.
  • Czy podpis nie nadaje szerokich uprawnień do tokenów.

Najczęstsze błędne założenia

  • Podpis cyfrowy nie szyfruje wiadomości. Potwierdza autoryzację i integralność.
  • Podpis nie dowodzi, że człowiek zrozumiał skutki operacji.
  • Podpis offchain też może mieć skutki finansowe, jeśli protokół później użyje go onchain.
  • Hardware wallet nie ochroni przed świadomym zatwierdzeniem złośliwej operacji.
  • Fałszywy frontend może przygotować poprawny kryptograficznie podpis dla złej akcji.

Poprawny podpis może autoryzować złą akcję

Blockchain sprawdza poprawność kryptograficzną podpisu. Nie sprawdza, czy transakcja była dla ciebie korzystna. Przed zatwierdzeniem czytaj szczegóły w portfelu i na ekranie hardware walleta.

Najczęstsze pytania

Nie. Hasło służy do dostępu do aplikacji, a podpis cyfrowy jest kryptograficzną autoryzacją konkretnej wiadomości albo transakcji.

Poprawnie wykonany podpis nie ujawnia klucza prywatnego. Ujawnienie seed phrase albo klucza prywatnego to osobny, krytyczny błąd bezpieczeństwa.

Tak. Niektóre podpisy offchain, na przykład permit albo zlecenia, mogą później zostać użyte do działania onchain. Trzeba czytać treść podpisu.

Nie. Approval jest uprawnieniem zapisanym zwykle w kontrakcie tokena. Podpis jest sposobem autoryzacji danych. Niektóre mechanizmy pozwalają nadać approval przez podpis.