Credential Roaming: cestujeme s certifikáty

Credential Roaming efektivně řeší správu sady různých digitálních certifikátů pro šifrování e-mailů, digitální podepisování dokumentů, bezpečné přihlášení k firemnímu intranetu atp.

Autor: Miroslav Knotek, Microsoft MVP: Security, IT Senior konzultant KPCS CZ, s.r.o.

V dnešní době již není ničím nezvyklým, pokud uživatelé mají hned celou sadu různých digitálních certifikátů pro šifrování e-mailových zpráv, digitální podepisování dokumentů, bezpečné přihlášení k firemnímu intranetu atp. Problém nastává v situaci, kdy firma nepoužívá cestovní profily, a přesto se uživatelé musí hlásit k různým počítačům. Dochází pak k situacím, kdy uživatel si nemůže otevřít zašifrovaný dokument, protože na počítači nemá příslušný privátní klíč či naopak uživatel má pro jednu akci hned několik různých certifikátů na různých počítačích. Řešením pro tento scénář je již nějakou dobu existující, ale přesto nespravedlivě opomíjená funkce – Credential Roaming.

Základní principy

Credential Roaming je v podstatě nadstavbou nad existujícími technologiemi – především Active Directory a Group Policy. Pokud uživateli zapneme pomocí GPO tuto funkci, dojde při následujícím přihlášení k uložení obsahu lokálního úložiště digitálních certifikátů a privátních klíčů do vyhrazených atributů v objektu uživatelského účtu v Active Directory. Konkrétně se jedná o tyto atributy:

  • ms-PKI-DPAPIMasterKeys – zde je uložen Master Key pro přístup k DPAPI
  • ms-PKI-AccountCredentials – tento vícehodnotový atribut ukrývá bloby (binary large object) zašifrovaných certifikátů, klíčů a případně také účtů a hesel.
  • ms-PKI-RoamingTimeStamp – čas poslední změny objektu v souvislosti s Credential Roaming

MKnotek01.jpg 
Obrázek 1 Credential Roaming a atributy v Active Directory

Při každém dalším přihlášení se pak provádí synchronizace mezi úložištěm v Active Directory a lokálním úložištěm. Uložení v AD i samotný přenos informací přes síť je samozřejmě dobře chráněn před možným pokusem o kompromitování těchto dat.

Jak to přesně funguje?

  1. Uživatel se přihlásí na počítači, který je členem Active Directory.
  2. V rámci přihlášení se aplikuje GPO, která zapne funkci Credential Roaming.
  3. Pokud se jedná o první přihlášení po zapnutí Credential Roaming funkce, certifikáty a klíče v úložišti uživatele se nakopírují do AD.
  4. Pokud uživatel již nějaké certifikáty v AD má, dochází k porovnání těchto certifikátů s obsahem lokálního úložiště. Pokud certifikáty v lokálním úložišti jsou aktuální, žádná další akce nenastane. V případě, že ale Active Directory obsahuje aktuálnější verze certifikátů, ty jsou zkopírovány na klientský počítač.
  5. Po dokončení této synchronizace jsou zpracovány případné žádosti o digitální certifikáty dle nastavení Autoenrollmentu. Nově vystavené certifikáty jsou ihned replikovány na doménový řadič.
  6. Pokud se uživatel později přihlásí k jinému počítači, opět se aplikuje politika aktivující Credential Roaming. Credential Roaming opět provede synchronizaci certifikátů a klíčů mezi lokálním úložištěm a Active Directory.

Podmínky pro nasazení

Jako každá technologie, i Credential Roaming má nutné podmínky pro fungování a zároveň má také svá omezení. Jedná se především o následující:

  • Credential Roaming podporuje výhradně x.509 v3 certifikáty a RSA nebo DSA klíčové páry. Na Windows Vista a novější je ještě navíc podpora klíčů, které jsou používány v ECC algoritmech.
  • Digitální certifikáty, u kterých nebyl použit některý z Microsoft CSP, nejsou podporovány. Z logiky věci samozřejmě nejsou ani podporovány klíče, které jsou uloženy na čipové kartě nebo HSM modulu.
  • Minimální podporovaná verze OS na klientech je Windows XP SP2 nebo Windows Server 2003 SP1.
  • Windows Vista a novější kromě certifikátů a klíčů umožňuje také roaming uložených účtů a hesel v uživatelském profilu.
  • Active Directory musí sestávat z doménových řadičů minimálně Windows Server 2003 SP1.
  • Musí proběhnout rozšíření Active Directory schématu. Pokud je ale schéma ve verzi Windows Server 2008 a novější, tento krok již není třeba dělat.
  • Je doporučeno také spočítat předem dopad na zvýšený objem dat a replikací Active Directory. Například firma s 10 000 uživateli, kde každý má 3 certifikáty a cestuje v průměru mezi dvěma počítači, může počítat s nárůstem AD databáze o přibližně 0,5 GB.
  • Není doporučeno používat současně Credential Roaming a Roaming Profiles. Pokud je tato kombinace technologií přece jen vyžadována, pak je možné vše vyřešit vyloučením relevantních složek z cestovníhoprofilu.
  • Credential Roaming v žádném případě nenahrazuje funkci archivaci privátného klíče. Pokud totiž uživatel například smaže na počítači svůj certifikát, ten se rychle smaže i na doménovém řadiči.

Implementace Credential Roamingu

Implementace na doménovém řadiči Windows Server 2008 nebo novějším je velmi snadná a v podstatě se jedná pouze o nastavení příslušné politiky.

MKnotek02.jpg 
Obrázek 2 Nastavení Credential Roamingu a GPO

V rámci konfigurace této politiky můžeme ovlivnit následující volby:

  • Maximum tombstone credentials lifetime in days – počet dní, po jejichž uplynutí se zastaralé informaceCredential Roamingu opravdu odstraní z Active Directory
  • Maximum number of roaming credentials per user – maximální počet certifikátů, klíčů či účtů/heseluložených u jednoho uživatele
  • Maximum size (in bytes) of a roaming credential – maximální velikost úložiště pro jednoho uživatele
  • Roam stored usernames and passwords – určuje, zda kromě certifikátů a klíčů, bude Credential Roaming také synchronizovat uložené účty a hesla. Tato politika je platná pouze pro Windows Vista a novější.

Pokud politiku vytváříme z Windows Vista nebo Windows Serveru 2008 a novější, automaticky se nám nabídne konfigurace výjimek cestovního profilu, aby nemohlo dojít ke konfliktu těchto dvou funkcí.

MKnotek03.jpg 
Obrázek 3 Výzva k nastavení výjimek z cestovního profilu

Výsledkem je pak finální politika dle následujícího obrázku. Stačí již jen počkat na přihlášení uživatelů a Active Directory se začne automaticky plnit požadovanými daty.

MKnotek04.jpg 
Obrázek 4 Výsledná politika GPO

Poznámka: Pokud bychom prováděli implementaci na starší verzi doménového řadiče, může být nutné rozšíření schématu AD, vytvoření adm souboru pro GPO a ruční konfigurace výjimek pro cestovní profily.

Závěr

Samozřejmě nejbezpečnějším způsobem jak cestovat s certifikáty a klíči je stále jejich uložení na čipovou kartu či USB token. Nicméně funkce Credential Roaming přináší poměrně zajímavou alternativu jak cestovat mezi počítači se svými certifikáty a klíči s mnohem nižšími náklady, zcela transparentně a přitom se zachováním přiměřené úrovně bezpečnosti těchto citlivých dat.

Zajímavé odkazy

 

Články ze série Microsoft TechNet nevytváří redakce Živě.cz, ale partneři programu Microsoft TechNet. Jsou publikovány v rámci mediálního partnerství Živě.cz a společnosti Microsoft.

Diskuze (3) Další článek: ATI Eyefinity v praxi: jak se hraje na třech monitorech

Témata článku: , , , , , , , , , , , , , , , , , , , , ,