Cryptology Academy · Lekcja

Depozyt, kopia zapasowa i odzyskiwanie kluczy

Zaprojektować strategię tworzenia kopii kluczy z użyciem współdzielenia sekretu Shamira i odzyskiwania m-z-n

Lekcja 4 z 412 kroki

Depozyt, kopia zapasowa i odzyskiwanie kluczy to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 4 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 depozytu klucza

Depozyt klucza polega na przechowywaniu kopii klucza prywatnego u zaufanej strony trzeciej (regulatora, pracodawcy lub organu ścigania). Umożliwia odzyskanie klucza, ale tworzy cel ataku — systemy depozytu są szczególnie cennymi powierzchniami ataku.

Wymagania dotyczące firmowego depozytu kluczy

Przedsiębiorstwa deponują klucze szyfrujące, aby w razie niedostępności pracownika dział IT mógł odszyfrować dane firmowe. Wymagają tego zasady i przepisy, na przykład obowiązki związane z dostępem osoby, której dane dotyczą, wynikające z GDPR.

Debata na temat depozytu kluczy dla organów ścigania

Rządy okresowo proponują obowiązkowy depozyt kluczy (Clipper Chip z 1993 roku, inicjatywa FBI „Going Dark” od 2015 roku). Kryptografowie argumentują, że tworzy to tylne furtki możliwe do wykorzystania przez przeciwników i jest technicznie niewykonalne do wyegzekwowania.

Dzielenie sekretu Shamira na potrzeby kopii zapasowej klucza

Klucz główny należy podzielić na n udziałów za pomocą schematu progowego (k,n) Shamira. Dowolne k udziałów pozwala odtworzyć klucz, natomiast mniej niż k udziałów nie ujawnia żadnych informacji. Klasyczny depozyt: 5 opiekunów, z których dowolnych 3 może odzyskać klucz.

from cryptography.hazmat.primitives import hashes
# Note: Shamir SSS is not in the stdlib cryptography package.
# Use: pip install secretsharing
# from secretsharing import PlaintextToHexSecretSharer as SS
# shares = SS.split_secret("my_hex_key", 3, 5)  # 3-of-5
# recovered = SS.recover_secret(shares[:3])
print("Shamir 3-of-5 split: any 3 of 5 custodians reconstruct the key")

Opiekunowie tokenów sprzętowych

Każdy udział Shamira jest zapisywany na tokenie sprzętowym (karcie inteligentnej lub sprzętowym HSM USB). Tokeny są przekazywane opiekunom. Odzyskanie klucza wymaga, aby opiekunowie zebrali się w bezpiecznym pomieszczeniu i przedstawili swoje tokeny.

Ceremonia klucza M-of-N

Podczas konfiguracji należy wygenerować klucz w HSM, podzielić go na n udziałów Shamira, zapisać każdy udział na karcie inteligentnej opiekuna, a następnie zniszczyć połączony klucz w HSM. Całą ceremonię należy udokumentować i poddać audytowi.

Zaszyfrowana kopia zapasowa klucza w pamięci offline

Kopię zapasową klucza lub udziały Shamira należy zaszyfrować za pomocą silnego hasła. Należy przechowywać je na nośnikach offline (zaszyfrowanym USB lub papierowym kodzie QR w sejfie). Odzyskiwanie należy testować co kwartał. Kopie należy rozmieszczać w różnych lokalizacjach geograficznych.

Procedury odzyskiwania klucza

Należy udokumentować wszystkie kroki: kto zatwierdza odzyskanie klucza (kontrola dwuosobowa), jak zbierają się opiekunowie, do którego slotu HSM trafia odtworzony klucz, jak weryfikowany jest przywrócony klucz oraz jak rejestrowany jest incydent.

Kontrola dwuosobowa i podział wiedzy

Kontrola dwuosobowa: dwie osoby muszą wspólnie wykonać operację z użyciem klucza (jedna ma kod PIN, druga kartę). Podział wiedzy: żadna z osób nie zna samodzielnie pełnej wartości klucza. PCI-DSS wymaga obu mechanizmów w przypadku kluczy szyfrujących klucze.

Testowanie odzyskiwania

Nieprzetestowana kopia zapasowa klucza jest równoznaczna z jej brakiem. Należy planować kwartalne ćwiczenia: zebrać k opiekunów, odtworzyć klucz, sprawdzić, czy odszyfrowuje testowy szyfrogram, a następnie ponownie zdeponować nowe udziały.

Sprawdzenie wiedzy

Czego PCI-DSS wymaga w przypadku operacji obejmujących klucze szyfrujące klucze?

Podsumowanie lekcji

Depozyt kluczy równoważy potrzebę odzyskiwania z ryzykiem związanym z bezpieczeństwem. Dzielenie sekretu Shamira dzieli klucze na potrzeby odzyskiwania przez m z n depozytariuszy. Depozytariusze przechowują tokeny sprzętowe. Podwójna kontrola i rozdzielenie wiedzy zapobiegają zagrożeniom ze strony osób wewnątrz organizacji. Należy regularnie testować procedury odzyskiwania.

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 „Depozyt, kopia zapasowa i odzyskiwanie kluczy” jest bezpłatna?

Tak — pełny tekst „Depozyt, kopia zapasowa i odzyskiwanie kluczy” 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 „Depozyt, kopia zapasowa i odzyskiwanie kluczy”?

Zaprojektować strategię tworzenia kopii kluczy z użyciem współdzielenia sekretu Shamira i odzyskiwania m-z-n Ć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 4 z 4.

Ile czasu zajmuje lekcja „Depozyt, kopia zapasowa i odzyskiwanie kluczy”?

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. Cykl życia klucza: generowanie, przechowywanie, rotacja i niszczenie
  2. Architektura HSM i interfejs PKCS#11
  3. AWS KMS, GCP Cloud KMS i Azure Key Vault
  4. Depozyt, kopia zapasowa i odzyskiwanie kluczy
← Powrót do Cryptology Academy