Když instalujete root CA (certifikační autoritu), tak se k ní někdy dává HSM (hardware security module). HSM je drahá hardware bedna, která je nehořlavá, nerozpustná :-) a dá se třeba přišroubovat na zeď apod. Jinak je to v podstatě čipová karta, která se tedy vyznačuje tím, že obsahuje vlastní krypto CPU a fyzicky zabezpečenou paměť na privátní klíče.
Tzn. všechny krypto-operace se odehrávají mimo normální CPU operačního systému služby certifikační autority a privátní klíče nemusí nikdy opustit tohle hardware zařízení.
Použití HSM na root CA není úplně nutné, protože root CA bude nejspíš stejně fungovat v offline režimu, bude odpojená od sítě a bude mít striktní fyzickou bezpečnost, takže přidávat k ní HSM nejspíš rizika nijak nesníží a tudíž vysoké náklady na HSM nejsou možná ospravedlnitelné.
Dá se ale použít "obyčejná" čipová karta, nebo token. Fyzicky je to bezpečné stejně, jenom karty a tokeny jsou hodně pomalé. Pomalé znamená, že jeden podpis bude trvat řádově vteřiny. Něco jako 1-2 sekundy při Gemalto .NET, Gemalot IDPrime nebo Monet+ ProId. Pro online vydávající autoritu (online issuing CA) byste možná potřebovali HSM, které toho zvládá více.
Ale na root CA takové zátěže mít nebudete. Kolik certifikátů taková root CA podepisuje? Skoro nic. Řekněme jednou za pár měsíců když moc? Nezapomeňte ale na CRL, ta se budou podepisovat určitě častěji. Dobrá, ale pořád ne desítky denně.
Takže proč nepoužít mnohem levnější čipovou kartu? Proč ne.
Jenom když instalujete AD CS, musíte si vybrat správného poskytovatele, nejspíš toho RSA#Microsoft Smart Card Key Storage Provider, ale hlavně zaškrtnout volbu Allow administrator interaction when the private key is accessed by the CA. Pokud instalujete pomocí PowerShell příkazu Install-AdcsCertificationAuthority, musíte použít přepínač AllowAdministratorInteraction. To je potřeba, aby autorita mohla zobrazovat dialog na zadání PINu. Jinak to při startu vytuhne a hotovo.
Jenže to není všechno a to vám už žádný návod neřekne. Co ještě musíte udělat na Windows 2012? Popsal jsem to tady. Ve zkratce:
- musíte si povolit interaktivní služby pro celý systém - v registrech je potřeba vynulovat hodnotu NoInteractiveServices = DWORD = 0 v klíči HKLM\System\CurrentControlSet\Control\Windows.
- dále je potřeba povolit a nastartovat službu Interactive Service Detection (UI0Detect), ideálně si ji dejte rovnou do Automatic startovního režimu
- a dále je potřeba přepnout službu Active Directory Certificate Services (certsrv) do režimu Manual startu. Jinak se vám bude startovat ještě dříve, než bude někdo přihlášen a nebudete moci zadat PIN a zase to vytuhne
Až tohle uděláte, musíte se po každém restartu operačního systému nejprve přihlásit a spustit službu Active Directory Certificate Services ručně. Na to vám vyskočí dialogové okénko Interactive Service Detection, díky kterému se přepnete na systémový desktop a budete tam už vidět končeně okno na PIN. Vypadá to pak nějak takhle: