Yubico YubiHSM 2 / YubiHSM 2 FIPS – sprzętowy moduł bezpieczeństwa HSM
YubiHSM 2 to kompaktowy sprzętowy moduł bezpieczeństwa HSM (Hardware Security Module) firmy Yubico przeznaczony do bezpiecznego generowania, przechowywania i wykorzystywania kluczy kryptograficznych.
Opis
Yubico YubiHSM 2 / YubiHSM 2 FIPS – sprzętowy moduł bezpieczeństwa HSM
YubiHSM 2 to kompaktowy sprzętowy moduł bezpieczeństwa HSM (Hardware Security Module) firmy Yubico przeznaczony do bezpiecznego generowania, przechowywania i wykorzystywania kluczy kryptograficznych. Urządzenie izoluje klucze prywatne od systemu operacyjnego i aplikacji serwera, umożliwiając wykonywanie operacji kryptograficznych bez konieczności ujawniania materiału kluczowego poza chronionym środowiskiem sprzętowym.
YubiHSM 2 został zaprojektowany przede wszystkim do ochrony infrastruktury serwerowej, systemów PKI (Public Key Infrastructure – infrastruktura klucza publicznego), urzędów certyfikacji CA, podpisywania kodu, aplikacji wykorzystujących klucze kryptograficzne, środowisk IoT oraz systemów chmurowych i wielochmurowych.
Jednym z najczęstszych zastosowań jest zabezpieczenie kluczy prywatnych Certificate Authority (CA), w tym infrastruktury opartej na Microsoft Active Directory Certificate Services (AD CS). HSM może przechowywać klucz CA oraz wykonywać operacje podpisu kryptograficznego bez eksportowania klucza prywatnego do pamięci serwera.
Urządzenie komunikuje się przez USB-A i dzięki oprogramowaniu YubiHSM może być również udostępnione aplikacjom działającym na innych serwerach przez sieć. Obsługiwane są standardowe mechanizmy integracyjne, takie jak PKCS#11, Microsoft CNG/KSP oraz natywne biblioteki Yubico.
Najważniejsze cechy
sprzętowy moduł bezpieczeństwa klasy HSM
bezpieczne generowanie kluczy kryptograficznych
sprzętowe przechowywanie kluczy prywatnych
wykonywanie operacji kryptograficznych bez ujawniania kluczy prywatnych systemowi hosta
obsługa podpisu cyfrowego
obsługa deszyfrowania
obsługa funkcji skrótu i HMAC
obsługa bezpiecznego eksportu i importu kluczy w postaci zaszyfrowanej – key wrapping
obsługa bezpiecznego backupu kluczy
możliwość atestacji kluczy wygenerowanych bezpośrednio w HSM
rozbudowana kontrola dostępu oparta na rolach, domenach i uprawnieniach
do 16 jednoczesnych sesji/połączeń
szyfrowany i uwierzytelniony kanał komunikacji pomiędzy aplikacją a HSM
tamper-evident audit logging – chroniony dziennik operacji umożliwiający wykrycie manipulacji
możliwość zdalnego zarządzania
możliwość współdzielenia urządzenia przez aplikacje poprzez sieć
obsługa PKCS#11
obsługa natywnych bibliotek YubiHSM
obsługa Microsoft Key Storage Provider – KSP
możliwość integracji z Microsoft Active Directory Certificate Services
możliwość integracji z aplikacjami własnymi poprzez SDK
obsługa scenariuszy Bring Your Own Key – BYOK
brak baterii
brak ruchomych elementów
obudowa o stopniu ochrony IP68
konstrukcja odporna na zgniatanie
bardzo mały format Nano, umożliwiający pozostawienie urządzenia w porcie USB serwera.
Modele / warianty
YubiHSM 2 v2.4
standardowa wersja YubiHSM 2
firmware z rodziny 2.4
złącze USB-A
brak certyfikacji FIPS 140-3
pełny zestaw obsługiwanych przez urządzenie mechanizmów kryptograficznych
przeznaczony do środowisk wymagających sprzętowej ochrony kluczy kryptograficznych, ale niewymagających certyfikowanego modułu FIPS
obsługa PKCS#11
obsługa Microsoft KSP
obsługa natywnych bibliotek Yubico
obsługa BYOK
obsługa backupu wykorzystującego kryptografię asymetryczną w generacji v2.4
GTIN: 5060408465462
numer artykułu Yubico: 100846.
YubiHSM 2 FIPS 140-3 v2.4
certyfikowana wersja YubiHSM 2 przeznaczona dla organizacji posiadających wymagania regulacyjne i compliance
certyfikacja FIPS 140-3 Security Level 3
certyfikat NIST CMVP: #5302
złącze USB-A
produkt oznaczony fizycznym napisem „FIPS”
możliwość pracy w FIPS Approved Mode
w trybie FIPS dostępne są wyłącznie algorytmy i usługi dopuszczone przez wymagania FIPS
firmware certyfikowanego modułu: 2.4.1
obsługa PKCS#11
obsługa Microsoft KSP
obsługa natywnych bibliotek Yubico
obsługa BYOK
obsługa backupu z wykorzystaniem kryptografii asymetrycznej
GTIN: 5060408466384
numer artykułu Yubico: 101212.
W trybie zatwierdzonym FIPS część mechanizmów dostępnych w standardowym YubiHSM 2 jest wyłączona. Dotyczy to m.in. ECDSA z SHA-1, krzywej secp256k1, RSA PKCS#1 v1.5 do deszyfrowania oraz wybranych operacji RSA wykorzystujących SHA-1.
Oprogramowanie wymagane do działania
YubiHSM 2, w przeciwieństwie do typowego klucza uwierzytelniającego YubiKey, wymaga odpowiedniej warstwy programowej umożliwiającej komunikację aplikacji z modułem HSM.
Podstawowym zestawem oprogramowania jest YubiHSM 2 SDK, udostępniany przez Yubico. SDK dostępny jest dla Windows, macOS oraz wybranych dystrybucji Linux.
W zależności od sposobu wykorzystania instalowane są odpowiednie komponenty:
libyubihsm – podstawowa biblioteka umożliwiająca aplikacjom komunikację z YubiHSM 2
YubiHSM Connector – usługa pośrednicząca pomiędzy urządzeniem USB i aplikacjami; umożliwia także udostępnienie HSM przez sieć
YubiHSM PKCS#11 Module – moduł wymagany przez aplikacje integrujące się z HSM poprzez standard PKCS#11
YubiHSM Key Storage Provider – KSP – komponent dla środowisk Microsoft wykorzystujących CNG, m.in. Microsoft Active Directory Certificate Services
YubiHSM Shell – narzędzie CLI do konfiguracji, administracji i diagnostyki urządzenia
YubiHSM Manager – graficzne/narzędziowe środowisko do konfiguracji i provisioningu YubiHSM
YubiHSM Auth – narzędzie umożliwiające wykorzystanie poświadczeń YubiHSM przechowywanych na YubiKey
YubiHSM Wrap – narzędzie do przygotowywania zaszyfrowanych obiektów przeznaczonych do importu
python-yubihsm – biblioteka umożliwiająca integrację YubiHSM 2 z aplikacjami Python.
Nie wszystkie powyższe komponenty są wymagane jednocześnie. Wymagany zestaw zależy od środowiska i aplikacji współpracującej z HSM.
Bezpośrednie połączenie USB
aplikacja może komunikować się bezpośrednio z YubiHSM 2 przez bibliotekę libyubihsm
wykorzystywany jest backend USB yhusb://
w takim scenariuszu osobna usługa YubiHSM Connector nie jest wymagana
rozwiązanie jest odpowiednie, gdy HSM jest fizycznie podłączony do tego samego hosta co aplikacja.
Połączenie przez sieć
wymagany jest YubiHSM Connector
Connector komunikuje się z urządzeniem poprzez USB
aplikacje mogą łączyć się z Connectorem poprzez HTTP/HTTPS
sam Connector nie posiada dostępu do odszyfrowanej sesji – bezpieczna sesja jest ustanawiana kryptograficznie pomiędzy aplikacją i YubiHSM 2
możliwe jest udostępnienie jednego urządzenia aplikacjom znajdującym się na innych serwerach.
Microsoft Active Directory Certificate Services
W przypadku wykorzystania YubiHSM 2 z Microsoft AD CS wymagany jest YubiHSM Key Storage Provider (KSP) oraz YubiHSM Connector. KSP integruje urządzenie z Microsoft Cryptography API: Next Generation – CNG.
W obecnej implementacji YubiHSM KSP bezpośredni tryb yhusb:// nie jest obsługiwany, dlatego w takim wdrożeniu wykorzystywana jest usługa YubiHSM Connector.
Aplikacje korzystające z PKCS#11
Dla aplikacji obsługujących standard PKCS#11 wykorzystywany jest moduł:
yubihsm_pkcs11
konfiguracja poprzez plik yubihsm_pkcs11.conf
możliwość integracji m.in. z aplikacjami i systemami PKI wykorzystującymi standardowy interfejs PKCS#11.
Przykładowe zastosowanie
zabezpieczenie głównych i pośrednich kluczy CA
Microsoft Active Directory Certificate Services
infrastruktura PKI
podpisywanie kodu – Code Signing
podpisywanie certyfikatów
cyfrowe podpisy dokumentów i danych
ochrona kluczy szyfrujących
zabezpieczenie kluczy aplikacyjnych
ochrona środowisk IoT
zabezpieczenie infrastruktury DevOps i procesów tworzenia oprogramowania
ochrona procesów produkcyjnych i supply chain
zabezpieczenie kluczy wykorzystywanych w środowiskach chmurowych
Bring Your Own Key – BYOK w środowiskach multi-cloud
zabezpieczenie kluczy wykorzystywanych przez serwery i aplikacje
systemy wymagające PKCS#11
środowiska wymagające sprzętowego przechowywania kluczy
w wersji YubiHSM 2 FIPS – systemy wymagające modułu FIPS 140-3 Level 3.
Dane techniczne
| Producent | Yubico AB |
| Produkcja | Szwecja, USA, |
| seria | YubiHSM 2 |
| typ urządzenia | Hardware Security Module – HSM |
| interfejs fizyczny | USB-A |
| interfejs USB | USB Full Speed 12 Mbit/s |
| kompatybilność z portami | USB 1.x / USB 2.0 / USB 3.x poprzez USB-A |
| format | Nano |
| wymiary | około 12 × 13 × 3,1 mm |
| masa | około 1 g |
| średni pobór prądu | około 20 mA |
| maksymalny pobór prądu | około 30 mA |
| bateria | nie |
| ruchome elementy | nie |
| odporność na wodę i pył | IP68 |
| odporność mechaniczna | konstrukcja odporna na zgniatanie |
| liczba jednoczesnych sesji | 16 |
| liczba slotów obiektów | 256 |
| maksymalna łączna przestrzeń danych obiektów | około 128 kB |
| obsługiwane obiekty | klucze uwierzytelniające, klucze asymetryczne, klucze symetryczne, klucze HMAC, Wrap Keys, certyfikaty X.509 i inne dane binarne |
| obsługiwane klucze RSA | RSA 2048, RSA 3072, RSA 4096 |
| obsługiwane krzywe ECC obejmują m.in. | P-224, P-256, P-384, P-521 oraz Brainpool |
| obsługa Ed25519 | tak |
| obsługa ECDSA | tak |
| obsługa ECDH | tak |
| obsługa AES | tak |
| obsługa HMAC | SHA-1, SHA-256, SHA-384, SHA-512 |
| obsługa RSA PKCS#1 | tak |
| obsługa RSA-PSS | tak |
| obsługa RSA-OAEP | tak |
| key wrapping | AES-CCM oraz mechanizmy dostępne w firmware 2.4 |
| standard integracyjny | PKCS#11 |
| integracja Windows | Microsoft CNG / YubiHSM Key Storage Provider |
| natywny interfejs programistyczny | libyubihsm |
| biblioteka Python | dostępna |
| możliwość pracy lokalnej | tak, bezpośrednio przez USB |
| możliwość pracy sieciowej | tak, za pomocą YubiHSM Connector |
| możliwość wykonywania backupu zaszyfrowanych kluczy | tak |
| możliwość konfiguracji mechanizmu M-of-N dla odtwarzania kluczy | tak. |