Cryptology Academy · Lekcja

Problem współdzielenia sekretu

Zrozumieć, dlaczego naiwne dzielenie sekretu jest niebezpieczne

Lekcja 1 z 413 kroki

Problem współdzielenia sekretu 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.

Problem

Masz klucz główny, który musi przetrwać, być dostępny w sytuacjach awaryjnych, a jednocześnie nigdy nie może zostać przejęty przez jedną osobę. Jak go przechowywać? Przekazanie pełnego klucza wielu osobom oznacza, że każda z nich może go niewłaściwie wykorzystać. Przechowywanie jednej kopii tworzy pojedynczy punkt awarii.

Naiwny podział zawodzi

Podzielenie 128-bitowego klucza na dwie 64-bitowe połowy i przekazanie każdej z nich jednej z dwóch osób wydaje się sprytne, ale jest niebezpieczne: każda połowa obniża koszt brute force z 2^128 do 2^64. Przeciwnik, który przejmie kontrolę nad jedną osobą, zyskuje przewagę odpowiadającą 64 bitom.

Pożądane właściwości

Poprawny schemat dzielenia sekretu musi zapewniać: (1) Próg: dowolne k z n udziałów odtwarza sekret. (2) Bezpieczeństwo: dowolne (k-1) udziałów nie ujawnia żadnych informacji o sekrecie. (3) Doskonałość: nie są wymagane żadne założenia obliczeniowe.

Motywacja praktyczna

Portfele Bitcoin, główne klucze HSM, klucze prywatne urzędów certyfikacji, kody uruchomienia broni jądrowej oraz zimne portfele giełd kryptowalutowych wymagają dostępu progowego. Utrata pojedynczego klucza oznacza katastrofę. Przejęcie klucza przez jednego insidera również oznacza katastrofę.

Dzielenie XOR w schemacie 2-z-2

Aby podzielić sekret S między dwie strony: wygeneruj losowe R. Przekaż share1=R stronie 1, a share2=S XOR R stronie 2. Aby odtworzyć sekret: share1 XOR share2 = R XOR (S XOR R) = S. Każdy udział z osobna jest doskonale losowy — nie ujawnia nic o S.

Ograniczenia dzielenia XOR

Dzielenie XOR jest doskonałe dla schematu 2-z-2, ale nie uogólnia się na progowe schematy k-z-n. Nie można utworzyć schematu 3-z-5, w którym dowolne 3 udziały odtwarzają sekret, a dowolne 2 nie ujawniają nic. Interpolacja wielomianowa rozwiązuje ten problem.

Bezpieczeństwo informacyjne

Doskonała tajność oznacza, że udziały zawierają zero wzajemnej informacji o sekrecie, jeśli dostępnych jest mniej niż k udziałów. Jest to silniejsze niż bezpieczeństwo obliczeniowe — nawet przeciwnik dysponujący nieograniczoną mocą obliczeniową nie dowie się niczego z k-1 udziałów.

Zastosowania w praktyce

AWS CloudHSM używa uwierzytelniania kworum M-z-N. Depozyt kluczy PGP dzieli klucze główne. Dostawcy przechowywania kryptowalut (Fireblocks, BitGo) używają MPC lub schematu Shamira dla kluczy gorących portfeli. Klucze offline urzędów certyfikacji wykorzystują ceremonie 5-z-7.

Projektowanie ceremonii

Ceremonia klucza to formalny, audytowany proces generowania i dzielenia klucza głównego. Przykład: 7 posiadaczy klucza znajduje się w bezpiecznym pomieszczeniu, a każdy otrzymuje sprzętowy token z jednym udziałem. Proces jest nagrywany wideo, uczestniczy w nim dwóch audytorów, a każdy krok jest dokumentowany.

Schemat progowy a multisig

Dzielenie sekretu odtwarza pełny sekret (ryzyko: pojedynczy punkt awarii w chwili odtwarzania). Multisig rozdziela podpisywanie: każda strona podpisuje niezależnie, a podpisy są łączone. Podpisy progowe (TSS) to dzielenie sekretu zastosowane bezpośrednio do operacji podpisywania.

Nowoczesne alternatywy

Bezpieczne obliczenia wielostronne (MPC) całkowicie eliminują etap odtwarzania — strony wspólnie wykonują obliczenia z użyciem swoich udziałów, nie ujawniając sekretu. Progowe ECDSA i progowe BLS są wdrażane w produkcyjnych systemach przechowywania kryptowalut.

Szybkie sprawdzenie

W schemacie dzielenia sekretu XOR 2-z-2 ilu udziałów potrzebuje atakujący, aby poznać sekret?

Podsumowanie

Naiwny podział klucza jest niebezpieczny. Poprawne dzielenie sekretu wymaga dostępu progowego z doskonałą tajnością. XOR obsługuje schemat 2-z-2, a interpolacja wielomianowa schemat k-z-n. Dalej: matematyka schematu Shamir's Secret Sharing.

Bezpłatny start

Ucz się Cryptology Academy dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
67
Lekcje
261

Często zadawane pytania

Czy lekcja „Problem współdzielenia sekretu” jest bezpłatna?

Tak — pełny tekst „Problem współdzielenia sekretu” 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 „Problem współdzielenia sekretu”?

Zrozumieć, dlaczego naiwne dzielenie sekretu jest niebezpieczne Ć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 „Problem współdzielenia sekretu”?

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. Problem współdzielenia sekretu
  2. Współdzielenie sekretu Shamira: matematyka wielomianów
  3. Wizualne współdzielenie sekretu i schematy addytywne
  4. Podpisy progowe i zastosowania w praktyce
← Powrót do Cryptology Academy