Hardware Security Modules (HSM)¶
TeskaLabs SeaCat PKI podporuje hardwarové bezpečnostní moduly (HSM) s rozhraním PKCS#11.
Konkrétně se HSM používají pro generaci a správu privátních klíčů a také pro generaci náhodných čísel.
Warning
TeskaLabs SeaCat PKI v současnosti podporuje pouze jeden nakonfigurovaný modul PKCS#11, nelze nakonfigurovat více modulů v jedné instanci PKI. Můžete použít více tokenů stejného modulu.
Konfigurace¶
seacatpki.conf:
[seacatpki:pkcs11:<identifikace>]
path=/cesta/k/pkcs11modulu.so
identifikaceje interní název PKCS#11 poskytovatele (např.softhsm2)- 
pathje umístění modulu PKCS#11 v souborovém systému - 
session_persistenceje boolean příznak, který určuje, zda by měla být relace PKCS#11 udržována otevřená po použití (výchozí hodnota jetrue). Některé tokeny uzavírají relaci po použití, takže tento příznak by měl být nastaven nafalsepro takové tokeny. Nastavení tohoto příznaku nafalseovlivní výkon HSM. 
Konfigurace autoskenování¶
Tento přístup znamená, že PKI automaticky prohledá tokeny PKCS#11 na dostupné privátní klíče.
seacatpki.conf:
[seacatpki:pkcs11:<identifikace>]
path=/cesta/k/pkcs11modulu.so
tokens=
    SoftHSMToken1,PIN1,tenant1
    SoftHSMToken2,PIN2,tenant2
    SoftHSMToken3,PIN2,tenant3
    ...
tokensje seznam tokenů v HSM
Každý token je definován následovně:
token_nameje název tokenu (např.SoftHSMToken1)pinje PIN tokenu (např.PIN1)tenantje název nájemce, který má přístup k tokenu (např.tenant1)
Explicitní konfigurace¶
Tento přístup znamená, že PKI použije pouze privátní klíče, které jsou explicitně nakonfigurovány v souboru seacatpki.conf.
[seacatpki:pkcs11:<identifikace>]
path=/cesta/k/pkcs11modulu.so
[seacatpki:private_key:<nazev_klice>]
provider=pkcs11:<identifikace>
tenants=tenant1,tenant2
token_label=SoftHSMToken1
pin=PIN
cka_id=100002
nazev_kliceje interní název privátního klíče (např.my_rsa_key)providerje interní název modulu PKCS#11 (např.softhsm2)tenantsje seznam nájemců, kteří mají přístup k tokenu (např.tenant1,tenant2)token_labelje štítek tokenu (např.SoftHSMToken1)pinje PIN tokenu (např.PIN)cka_idje ID privátního klíče (např.100002)
Požadavky na privátní klíče¶
Privátní klíče umístěné na tokeny PKCS#11 musí splňovat následující požadavky:
CKA_CLASSmusí býtCKO_PRIVATE_KEYCKA_LABELmusí být nastavenCKA_IDmusí být nastaven a unikátní pro každý privátní klíč- Musí existovat exportovatelný veřejný klíč (
CKA_CLASSmusí býtCKO_PUBLIC_KEY) se stejnýmCKA_ID