0Pricing
Cryptology Academy · Lekcja

Schematy podpisów progowych: podstawy

Proszę poznać kryptografię progową (t, n) oraz dowiedzieć się, dlaczego rozproszenie materiału kluczowego zapobiega pojedynczym punktom awarii.

Schematy podpisów progowych: podstawy to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Pojedynczy klucz jako pojedynczy punkt awarii

Tradycyjne podpisy cyfrowe wykorzystują pojedynczy klucz prywatny przechowywany przez jedną stronę. Jeśli ten klucz zostanie skompromitowany, skradziony lub utracony, wszystkie utworzone za jego pomocą podpisy mogą zostać sfałszowane, a samego klucza nie można odzyskać. Operacje podpisywania o wysokiej wartości — podpisywanie kodu systemów operacyjnych, ceremonie kluczy urzędów certyfikacji, kontrola portfeli kryptowalutowych — wymagają silniejszej ochrony, niż może zapewnić dowolna pojedyncza strona.

Dzielenie sekretu Shamira

Shamir's Secret Sharing (SSS), wynaleziony w 1979 roku, dzieli sekret s na n udziałów w taki sposób, że dowolne t udziałów pozwala odtworzyć s, ale mniej niż t udziałów nie ujawnia żadnych informacji. Schemat wykorzystuje interpolację wielomianową nad ciałem skończonym: s jest wyrazem stałym losowego wielomianu stopnia (t-1), a udziały są wartościami tego wielomianu w różnych punktach. SSS zapewnia bezpieczeństwo informacyjne.

Dzielenie sekretu to nie podpisy progowe

Naiwne podejście do podpisywania progowego polegałoby na użyciu SSS do podzielenia klucza prywatnego, zebraniu t stron w celu jego odtworzenia i złożeniu podpisu. Niweczy to cały cel rozwiązania: odtworzenie klucza prywatnego oznacza, że istnieje on w jednym miejscu i jest podatny na zagrożenia. Prawdziwe podpisy progowe pozwalają t stronom wspólnie wygenerować podpis, bez tego, by którakolwiek strona kiedykolwiek poznała lub złożyła w całość pełny klucz prywatny. Klucz nigdy nie jest odtwarzany.

Definicja podpisu progowego

Schemat podpisu progowego (t, n) obejmuje n stron, z których każda posiada udział klucza prywatnego. Podpis może zostać wygenerowany przez dowolne t stron współpracujących za pośrednictwem interaktywnego protokołu. Wynikowy podpis jest identyczny ze zwykłym podpisem (można go zweryfikować za pomocą grupowego klucza publicznego). Przeciwnik, który pozna najwyżej t-1 udziałów, nie uzyskuje żadnych informacji o kluczu prywatnym.

Interaktywne a nieinteraktywne podpisy progowe

Interaktywne podpisywanie progowe wymaga wielu rund komunikacji między stronami składającymi podpis. Strony wymieniają zobowiązania, dowody i częściowe podpisy, które następnie są łączone. Warianty nieinteraktywne (w których strony obliczają z wyprzedzeniem określone wartości) skracają podpisywanie online do jednej wiadomości. W zastosowaniach takich jak portfele sprzętowe, gdzie opóźnienie ma znaczenie, ważne jest ograniczenie liczby rund.

Weryfikowalne dzielenie sekretu

Standardowe SSS nie daje posiadaczowi udziału możliwości zweryfikowania, czy jego udział jest poprawny — złośliwy dealer mógłby rozdzielić niespójne udziały. Weryfikowalne dzielenie sekretu (VSS) dodaje zobowiązania do współczynników wielomianu, umożliwiając każdemu posiadaczowi udziału sprawdzenie, czy jego udział jest zgodny z publicznym zobowiązaniem, bez poznawania innych udziałów. Feldman VSS i Pedersen VSS to standardowe konstrukcje.

Wymóg rozproszonego generowania klucza

Podpisy progowe wymagają protokołu rozproszonego generowania klucza (DKG) do skonfigurowania wspólnego klucza bez znajomości pełnego klucza prywatnego przez którąkolwiek pojedynczą stronę. Bez DKG zaufany dealer wygenerowałby klucz i podzielił go, tworząc zaufaną stronę, która zna klucz. DKG eliminuje wymóg zaufanego dealera, co ma kluczowe znaczenie dla zastosowań niewymagających zaufania, takich jak powiernictwo blockchainowe.

Zastosowania: portfele powiernicze

Instytucjonalne powiernictwo kryptowalut jest obecnie zastosowaniem podpisów progowych o największej wartości. Coinbase, Fireblocks i Anchorage używają portfeli MPC opartych na progowym ECDSA do zabezpieczania aktywów wartych miliardy dolarów. Zamiast pojedynczego modułu HSM przechowującego klucz prywatny, klucz jest dzielony między serwery rozproszone geograficznie. Żadne pojedyncze naruszenie bezpieczeństwa nie zagraża wszystkim środkom.

Zastosowania: ceremonie kluczy i infrastruktura krytyczna

Ceremonia klucza podpisywania kluczy (KSK) strefy głównej DNSSEC wykorzystuje wariant dzielenia sekretu z klastrami HSM i kworum zaufanych członków społeczności. Ceremonia wymaga fizycznego kworum (7 z 14 operatorów kryptograficznych z całego świata) do podpisania strefy głównej. Systemy autoryzacji rozkazów nuklearnych wykorzystują podobne zasady podziału klucza, w których wiele uprawnionych stron musi współpracować, aby autoryzować operacje wrażliwe.

Podpisy progowe a wielopodpis on-chain

Platformy blockchain obsługują wielopodpisy on-chain: transakcja wymaga podpisów t z n określonych kluczy publicznych, a wszystkie są weryfikowane on-chain. Jest to przejrzyste, proste i bezpieczne, ale ujawnia strukturę wielopodpisu i wymaga wielu operacji on-chain. Progowy ECDSA tworzy pojedynczy podpis odpowiadający pojedynczemu kluczowi publicznemu, całkowicie ukrywając strukturę progową i wykorzystując tylko jedną operację on-chain.

Model bezpieczeństwa schematów progowych

Bezpieczeństwo podpisów progowych analizuje się względem statycznego lub adaptacyjnego przeciwnika, który może skompromitować do t-1 stron. Przeciwnik statyczny wybiera strony do zaatakowania przed rozpoczęciem protokołu, natomiast przeciwnik adaptacyjny dokonuje wyboru na podstawie obserwowanych wiadomości. Bezpieczeństwo adaptacyjne jest trudniejsze do osiągnięcia i wymaga bardziej złożonych protokołów. Większość wdrożonych protokołów progowego ECDSA dowodzi bezpieczeństwa wobec statycznych przeciwników.

Quiz: podpisy progowe a dzielenie sekretu

Dlaczego samo dzielenie sekretu Shamira nie wystarcza do utworzenia bezpiecznego schematu podpisu progowego?

Podsumowanie pojęć związanych z podpisami progowymi

Podpisy progowe pozwalają grupie t z n stron podpisywać bez odtwarzania klucza prywatnego. Samo dzielenie sekretu Shamira jest niewystarczające, ponieważ wymaga odtworzenia klucza. Prawdziwe schematy progowe wykorzystują obliczenia wielostronne, w których klucz nigdy nie jest składany. Zastosowania obejmują instytucjonalne powiernictwo kryptowalut (Coinbase, Fireblocks), ceremonie kluczy DNSSEC i infrastrukturę krytyczną. Progowy ECDSA tworzy standardowy pojedynczy podpis, w przeciwieństwie do wielopodpisu on-chain, który ujawnia strukturę progową.

Często zadawane pytania

Czy lekcja „Schematy podpisów progowych: podstawy” jest bezpłatna?

Tak — pełny tekst „Schematy podpisów progowych: podstawy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Schematy podpisów progowych: podstawy”?

Proszę poznać kryptografię progową (t, n) oraz dowiedzieć się, dlaczego rozproszenie materiału kluczowego zapobiega pojedynczym punktom awarii. Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Schematy podpisów progowych: podstawy”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Schematy podpisów progowych: podstawy
  2. Progowy ECDSA: podpisywanie wielostronne
  3. Protokoły rozproszonego generowania kluczy
  4. Schematy progowe w blockchainach i HSM
← Powrót do Cryptology Academy