V poslední době se množí instalace nových certifikačních autorit (Active Directory Certificate Services zkratka AD CS) na Windows 2008 a Windows 2008 R2. Tyhle nové programy umí vydávat certifikáty podepsané pomocí SHA-2. Naštěstí to není výchozí volba při instalaci (výchozí je stále SHA-1), ale stejně to mnoho lidí táhne k tomu tuto výchozí volbu změnit a nechat si certifikáty podepisovat pomocí SHA-2. Taková změna ale bude mít ve většině stávajících prostředí zásadní dopady, na které je dobré se předem připravit. Takže pojďme na to.
Rodina algoritmů
V jednom z minulých textíků jsem psal o tom, že SHA-1 je stále ještě o hodně bezpečnější, než většina podnikových sítí. Vůbec bych se tedy nebál zůstat při starém (a kompatibilním) algoritmu, pokud vás nic přímo netlačí přecházet na algoritmus nový.
Říkám algoritmus, ale myslím samozřejmě celou rodinu SHA-2 (někdy jen SHA2). Názvem SHA-2 se totiž označuje víc algoritmů ve Windows podporovaných. Jsou jimi SHA-256, SHA-384 a SHA-512 (SHA-224 není ve Windows k dispozici). Číslo v názvu znamená bitovou délku výsledné heše.
Podpora ve Windows
Windows XP SP3, Windows Vista a novější a Windows Server 2008 a novější mají podporu SHA-2 zabudovanou. Pro Windows Server 2003 si musíte vyžádat a nechat poslat záplatu KB 938397. Dobrá, ale stejně to není až tak jednoduché.
Podpora těchto algoritmů ve Windows XP a Windows Server 2003 je totiž poněkud omezenější, než by se na první pohled mohlo zdát. Tyto systémy umí ověřit platnost certifikátů podepsaných za pomoci SHA-2. To znamená, že pokud se díváte na webový server, který takový certifikát sám používá, nebo pokud ho vydala nějaká autorita, která má svůj certifikát podepsán SHA-2, tak to pojede.
Ve Windows XP bude i většina aplikací schopna používat uživatelovy SHA-2 certifikáty. To znamená, že pokud takovým certifikátem budete chtít podepsat nebo zašifrovat mail, nebo se jím přihlásit na webovou stránku nebo do Windows, tak by to mělo fungovat.
Ve Windows Server 2003 to ale není podporované. Sice to funguje, ale nemůžete si být jisti.
Co rozhodně nefunguje ani v jednom z nich je autoenrollment. Pokud vaše podniková certifikační autorita vydává certifikáty podepsané za pomoci SHA-2, ani Windows XP ani Windows Server 2003 je nedostane. Co hůř, oni si vesele požádají, autorita certifikát vydá, ale klient si ho nedokáže stáhnout. Projevuje se to následující chybou:
Event Type: Error
Event ID: 13
Source: Autoenrollment
Description: Automatic certificate enrollment for local system failed to enroll ... (0x80092009)
Vypadá to taky srandovně v autoritě, protože se tam každých 12 hodin objevuje nový vydaný certifikát pro tyto starší klienty.
Závěr
Pokud potřebujete vydávat SHA-2 certifikáty a máte přitom Windows XP nebo Windows Server 2003, nezapínejte autoenrollment. Pokud budete certifikáty vydávat ručně, většina aplikací pojede v pořádku.
Říkám většina, protože SHA-2 je prostě potřeba otestovat. Stejně jako všechno ostatní co souvisí s PKI ve Windows. Bez otestování se nemůžete ani domnívat, že to pojede. Všechno má svá specifika.