Cryptology Academy · Lekcja

Architektura HSM i interfejs PKCS#11

Zrozumieć działanie HSM firmy Thales/Entrust od wewnątrz oraz API PKCS#11

Lekcja 2 z 412 kroki

Architektura HSM i interfejs PKCS#11 to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 2 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.

Czym jest moduł bezpieczeństwa sprzętowego?

HSM to sprzętowe urządzenie odporne na manipulacje, które generuje, przechowuje i wykorzystuje klucze kryptograficzne. Klucze prywatne nigdy nie opuszczają HSM w postaci jawnej — wszystkie operacje odbywają się wewnątrz bezpiecznej granicy.

Funkcje bezpieczeństwa fizycznego

HSM-y obejmują: aktywne wykrywanie manipulacji (zerowanie kluczy w przypadku włamania), płytki zalane żywicą epoksydową, czujniki środowiskowe (napięcia i temperatury) oraz wymagania certyfikacyjne FIPS 140-2/3 na poziomie 3–4.

Wewnętrzna budowa HSM

Typowe elementy HSM to: dedykowany procesor kryptograficzny, wewnętrzny CSPRNG (entropia sprzętowa), pamięć SRAM z podtrzymaniem bateryjnym do przechowywania kluczy, odizolowany system operacyjny oraz bezpieczny łańcuch rozruchowy. Wszystkie dane kluczowe pozostają w bezpiecznej enklawie.

HSM-y sieciowe a HSM-y PCIe

HSM-y sieciowe (Thales Luna, Entrust nShield Connect) obsługują wiele hostów za pośrednictwem sieci. HSM-y PCIe są podłączane do pojedynczego serwera. Tokeny USB (YubiHSM, SoftHSM) są tańsze, ale oferują mniejszą przepustowość.

Standard PKCS#11

PKCS#11 (Cryptoki) to standard OASIS definiujący interfejs API języka C dla HSM-ów. Aplikacje wywołują funkcje takie jak C_GenerateKeyPair, C_Sign i C_Decrypt za pośrednictwem dostarczanej przez producenta biblioteki współdzielonej, bez znajomości wewnętrznej budowy HSM.

Model sesji PKCS#11

Sloty → tokeny → sesje. Slot to partycja HSM, a token to logiczny magazyn kluczy. Aplikacje otwierają sesję, uwierzytelniają się za pomocą kodu PIN, a następnie wykonują operacje w kontekście tej sesji.

Atrybuty kluczy w PKCS#11

Każdy obiekt klucza ma atrybuty: CKA_SENSITIVE (nie można wyeksportować klucza w postaci jawnej), CKA_EXTRACTABLE (można wyeksportować klucz w opakowanej postaci), CKA_SIGN, CKA_DECRYPT itd. Połączenie atrybutów non-extractable i sensitive gwarantuje, że klucz nigdy nie opuści HSM.

Dostęp do HSM w Pythonie za pomocą python-pkcs11

Biblioteka python-pkcs11 opakowuje interfejs PKCS#11:

import pkcs11

lib = pkcs11.lib("/usr/local/lib/libyubihsm_pkcs11.so")
token = lib.get_token(token_label="MyHSM")
with token.open(user_pin="1234") as session:
    # Generate RSA key pair inside HSM
    pub, priv = session.generate_keypair(
        pkcs11.KeyType.RSA, 2048,
        store=True,
        label="my-signing-key"
    )
    # Sign data — private key never leaves HSM
    signature = priv.sign(b"data to sign")

Ceremonia klucza i opiekunowie

Inicjalizacja HSM („ceremonia klucza”) odbywa się w kontrolowanym środowisku, a wielu opiekunów przechowuje udziały na kartach inteligentnych. Audytorzy FIPS są świadkami ceremonii. Cały proces jest dokumentowany i nagrywany.

Klastry HSM i wysoka dostępność

HSM-y klasy korporacyjnej replikują klucze w klastrze na potrzeby wysokiej dostępności. Thales Luna korzysta z bezpiecznych kanałów replikacji między węzłami. Moduły równoważenia obciążenia po stronie klienta rozdzielają operacje. Przełączanie awaryjne jest niewidoczne dla aplikacji.

Sprawdzenie wiedzy

Który atrybut klucza PKCS#11 gwarantuje, że klucz prywatny nigdy nie może zostać wyeksportowany z HSM w postaci jawnej?

Podsumowanie lekcji

HSM-y to odporne na manipulacje urządzenia sprzętowe, które przechowują klucze prywatne wewnątrz bezpiecznej granicy. PKCS#11 udostępnia niezależny od producenta interfejs API. Atrybuty kluczy (SENSITIVE i non-EXTRACTABLE) wymuszają zakaz eksportu. HSM-y klasy korporacyjnej tworzą klastry na potrzeby wysokiej dostępności i przechodzą formalne ceremonie klucza.

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 „Architektura HSM i interfejs PKCS#11” jest bezpłatna?

Tak — pełny tekst „Architektura HSM i interfejs PKCS#11” 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 „Architektura HSM i interfejs PKCS#11”?

Zrozumieć działanie HSM firmy Thales/Entrust od wewnątrz oraz API PKCS#11 Ć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 2 z 4.

Ile czasu zajmuje lekcja „Architektura HSM i interfejs PKCS#11”?

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