Byl tu dotaz u mého nedávného článku o bezpečnosti hesel, jaké nejlepší čipové karty bych doporučil pro přihlašování do Windows (to znamená smart card logon). Mám nejdelší zkušenosti s Gemalto (dříve Axalto, dříve Schlumberger) .NET v2 kartami. Odpověď je ale složitější a zaslouží si lepší vysvětlení, které bude následovat.
Možná byste si taky mohli přečíst moji následující sérii o čipových kartách.
Oficiální stránky spolu s eshopem jsou tu. Ale jednodušší a levnější je koupit si je zřejmě jinde, například na cryptoshop.com, což má také nejlepší ceny, jaké jsem sehnal. Ale jak říkám, není to tak jednoduché.
Nebo můžete mít českou výrobu od Monet+ ze Zlína. Vyrábí to oni sami a jsou ochotní. Mají teď už také minidriver, takže naprostá spokojenost.
Zrychleně co potřebujete, abyste nemuseli nic moc instalovat
Kupte si karty, které jsou Microsoft Base Smart Card Crypto Provider (Base CSP) kompatibilní, to znamená, že mají tzv. minidriver. Ujistěte se, že ty karty mají tento minidriver k dispozici přes Windows Update (co vím, tak to má právě jenom Gemalto .NET v2). A kupte si k tomu čtečky, nebo tokeny, které jsou USB CCID kompatibilní - to má driver přímo ve Windows.
Pak jde ještě o rychlost, Gemalto je nejrychlejší, co znám.
O co jde
Budeme se bavit o kryptografických předmětech, pomocí nichž se dá přihlašovat do Windows 2000. Předpokládá to doménu Active Directory a fungující Kerberos, protože ten jediný to nativně podporuje (má rozšíření zvané PKINIT). Technologie se jmenuje smart card logon a ověřuje uživatele pomocí digitální signatury privátním klíčem. Budete tedy potřebovat čipovou "kartu" (smart card, S/C) a k tomu na ni uložit přihlašovací certifikát (X.509 v3) s privátním klíčem.
Certifkáty musí být buď RSA, nebo od Windows 7, Windows 2008 R2 a domain functional level (DFL) 2008 R2 mohou být i eliptické (ECDSA například). Ale čipové karty eliptické algoritmy obvykle prozatím neumí.
Hardware vybavení, které potřebujete
Potřebujete vždycky dvě věci - kartu, spíše lépe řečeno kryptografický čip (card) a čtečku (reader, PC S/C reader). Čip je kryptografický procesor, hardware generátor náhodných čísel a bezpečná paměť na ukládání privátních klíčů. Čtečka je to, co se připojuje do počítače, přes USB nejčastěji.
Karta může být ve formě karty :-) - tedy stejné jako bankovní karta s kryptografickým čipem, nebo tzv. tokenu. Token také uvnitř obsahuje kryptografický čip, takže je to stejná technologie jako čipová karta, jen je to jinak zabaleno. Ke kartě musíte mít čtečku, zatímco token má čtečku uvnitř a připojuje se rovnou přes USB rozhraní. Karta se dá potisknout, zatímco token se dá přidělat třeba na klíče. Oboje by mohlo obsahovat nějakou (RFID) anténu pro fyzické přístupové systémy.
Oboje beru jako smart card, takže to už nadále nebudu moc rozlišovat. Obrázek karty následuje:

Čtečka vypadá nějak následovně, můžete mít samozřejmě čtečku ve formě PCIMCI, PCIMCI Express nebo třeba přímo zabudovanou do klávesnice.



Dva obrázky tokenů jsou tu taky. Tohle jsou Gemalto tokenové čtečky - jsou tedy prázdné a musíte si do nich koupit čip samostatně (případně ho můžete vyměňovat) - to byste si koupili tzv. punched kartu a ten čip z ní vyloupnuli.


Je obvyklé, abyste si koupili čtečky (standard PC S/C reader), nebo prázdné tokeny od jednoho výrobce a čipy měli klidně od jiného. Podle toho, co vám vyhovuje.
Software vybavení pro Windows
Máte dvě hardware komponenty - kartu a čtečku (případně tokenovou čtečku s kartou schovanou uvnitř). Takže vždycky karta a čtečka.
Na to potřebujete tedy také dva ovladače - ovladač čtečky a ovladač karty.
Čtečky jsou normální (například USB) hardware, takže mají také normální ovladače, automaticky se detekují, některé ovladače jsou ve Windows, některé se dají stáhnout z Windows Update. Pokud je čtečka USB CCID kompatibilní, tak má univerzální ovladač, který je ve Windows, takže bez instalace.
S kartami je to složitější. Jediné ovladače karet, které byly a/nebo jsou ve Windows jsou karty Schlumberger (později Axalto) Cryptoflex (už se nevyrábí) a právě Gemalto .NET. Ale ani Gemalto .NET už ve Windows 7 a Windows Server 2008 R2 není přímo, ale musí se stáhnout z Windows Update, ale pořád to má výhodu, že se detekují automaticky.
Ovladače na karty (čipy), neboli middleware
Karty (čipy) potřebují buď ovladač zvaný Cryptographic Service Provider (CSP), což je celý kryptografický balík mnoha funkcí, se složitou instalací a ještě více různými poruchami, nestabilitami a problémy. Bez autodetekce. Vřele nedoporučuji.
Takové nějaké známé CSP jsou například SafeSign, eToken, nebo CryptPlus ProID.
Takže jestli máte čip, který potřebuje tohle CSP, tak si ho budete muset ručně nainstalovat na všech počítačích, kde chcete používat karty. A to počítá i terminálové servery (terminal server, remote desktop server).
Modernější a lepší jsou karty, které mají jen tzv. minidriver pro Microsoft Base Smart Card Cryptographic Provider (Base CSP). Minidriver je například jen jedna .DLL knihovnička, která se nainstaluje do System32 a zapíše do jednoho klíče v registrech:
HKLM\SOFTWARE\Microsoft\Cryptography\Calais\SmartCards
Mít minidriver je pěkné, ale vy byste rádi ještě, aby ten minidriver byl k dispozici přes Windows Update a mělo to autodetekci (plug'n'play), takže se to samo stáhne. Autodetekce je k dispozici až od Windows 7 a Windows Server 2008 R2.