www.SAMURAJ-cz.com 

03.05.2024 Alexej Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Windows Hello for Business - úvod

Upraveno 09.06.2023 19:00 | vytvořeno 05.06.2023 14:40 | Samuraj - Petr Bouška |
Ve firemním prostředí můžeme zvýšit bezpečnost uživatelských účtů, a často také pohodlí uživatelů, když nasadíme Windows Hello for Business. Jde o vytvoření přihlašovacích údajů (asymetrický pár klíčů, často chráněný pomocí TPM) pro uživatelský účet v Azure AD (případně AD). Tyto údaje jsou napevno svázány s určitým zařízením (počítačem) a nelze je použít jinde (vzdáleně). Uživatel si pro přihlášení nastaví (nejčastěji) otisk prstu, jako záloha slouží PIN. Tento článek stručně popisuje technologii a uvádí argumenty o zvýšení bezpečnosti.

Pozn.: První díl minisérie, která se zaměřuje na Windows Hello for Business s nasazením Cloud Kerberos Trust v hybridním prostředí s Hybrid Azure AD Joined zařízeními.

Doplněno 24.3.2024 - Když jsem se věnoval této oblasti, tak jsem nenarazil na důležitou informaci (u Microsoftu ji stále těžko hledáme). Windows Hello je certifikovaný FIDO2 authenticator (platform / internal) od Windows 10 1903, Microsoft Achieves FIDO2 Certification for Windows Hello. Takže funguje, a můžeme jej použít, stejně jako FIDO Security Key. Více informací o FIDO autentizaci jsem nově napsal v článku FIDO passkeys část 1 - přístupové klíče pro autentizaci.

Co je to Windows Hello for Business

Windows Hello for Business je jedna z Microsoftem podporovaných metod ověření uživatele. Řadí se do Passwordless authentication options for Azure Active Directory. Obecný popis autentizačních možností je uveden v článku What authentication and verification methods are available in Azure Active Directory?.

Microsoft označuje Windows Hello for Business (WHfB) jako náhradu hesel silným dvoufaktorovým ověřováním na zařízeních. Autentizace se skládá z přihlašovacích údajů uživatele (asymetrický pár klíčů), které jsou vázány na zařízení, a chrání je (volitelně) biometrické údaje a PIN, souhrnně označované jako gesto. Může se použít, když se přihlašujeme interaktivně (lokálně) přímo na počítač (ne vzdáleně). Pokud použijeme biometrii (otisk prstu, rozpoznávání obličeje), tak je přihlášení pohodlnější a bezpečnější než použití hesla.

Standardně se autentizace pomocí Windows Hello for Business přidá jako další možnost přihlášení do zařízení. Podobně jako můžeme využít přihlášení certifikátem (Smart Card Logon). Pomocí politik můžeme zakázat některé formy přihlášení a vynutit použití Windows Hello.

Využívá se pro centrálně spravované uživatelské účty. Často se v této souvislosti používá termín Identitiy Provider (IdP). To je poskytovatel identity, tedy server/služba, kde účty vytváříme, spravujeme a kde se uživatel ověřuje. Hlavním příkladem je Active Directory nebo Azure Active Directory, případně Microsoft Account a další.

Windows Hello for Business

Windows Hello vs. Windows Hello for Business

Windows Hello je určené pro domácí uživatele. PIN nebo biometrie slouží k pohodlnému přihlášení a získáme pomocí nich heslo uložené v lokálním trezoru. Tedy přihlášení probíhá standardně jménem a heslem, ale uživatel heslo nezadává. Microsoft uvádí, že Windows Hello je ve výchozím nastavení zakázáno pro počítače připojené do domény nebo Azure AD (pokud nepoužijeme Group Policy Turn on convenience PIN sign-in).

Oproti tomu Windows Hello for Business je určeno pro firmy a pracuje mnohem bezpečněji. Využívá se asymetrická kryptografie (a certifikáty), kdy je privátní klíč zabezpečen (standardně) pomocí Trusted Platform Module (TPM). Při přihlašování se po síti neposílá heslo (ani jeho hash), ale využijí se klíče. Pracuje s účty, které nejsou lokální, ale jsou spravovány na serveru (Identity Provider), typicky AD nebo Azure AD.

Pozn.: V sérii článků se věnujeme pouze Windows Hello for Business. Pokud bude použito jméno Windows Hello, tak je většinou myšleno Windows Hello for Business.

Základní podmínky použití

Windows Hello for Business podporují edice Windows 10/11 Pro a Enterprise. V rámci Azure AD je potřeba licence Windows Enterprise E3/E5.

Windows Hello for Business vytvoří přihlašovací údaje unikátně svázané s určitým zařízením. Můžeme jej využít pro přihlášení k

  • Microsoft účtu
  • Active Directory účtu
  • Azure Active Directory účtu
  • Identity Provider Services (IDP), která podporuje FIDO2 (Fast ID Online 2.0) autentizaci

Principy Windows Hello for Business

  • přidá se jako další možnost přihlášení do zařízení
  • funguje také pro kešované přihlášení (cached sign-in), když není dostupný doménový řadič
  • (podle nasazení) přihlašuje do Azure AD i do lokálního AD
  • přihlašovací údaje Windows Hello jsou založeny na asymetrickém páru klíčů, který se používá pro přihlášení do Azure AD, do AD se využívá klíč, certifikát nebo Kerberos ticket
  • přihlašovací údaje jsou svázány se zařízením, stejně jako token, který se pomocí nich získá
  • klíče se generují v HW (TPM 2.0 nebo 1.2) nebo SW (nedoporučeno, nebudeme dále uvažovat)
  • při registraci se ověřuje identita uživatele pomocí MFA, veřejný klíč se mapuje na uživatelský účet
  • privátní klíč drží TPM a nikdy neopustí zařízení, ověřovací server má pouze veřejný klíč
  • uživatel nastavuje PIN a případně také biometrii (rozpoznávání obličeje (face) nebo porovnávání otisků prstů (fingerprint), případně rozpoznávání duhovky), které chrání přístup ke klíčům
  • PIN musíme nastavit povinně (i když chceme používat biometrické přihlášení), slouží k přihlášení, pokud nastanou problémy (nefunguje čtečka, jsme zraněni)
  • při autentizaci pomocí Windows Hello probíhá dvoufaktorové ověření pomocí klíče svázaného se zařízením a PINu nebo biometrie
  • biometrické údaje ani PIN se neposílají po síti a nejsou sdíleny, využijí se (jsou uložena) pouze lokálně na zařízení
  • pomocí PINu nebo biometrického gesta získáme přístup k použití privátního klíče, který podepíše data, která se posílají na ověřovací server (Identitiy Provider), ten ověří a přihlásí uživatele
  • pro Windows Hello Fingerprint potřebujeme čtečku otisků prstů
  • pro Windows Hello Face speciální (kompatibilní) infračervenou (IR) kameru

Detailní průběh autentizace je popsán v Hybrid Azure AD join authentication using Azure AD Kerberos (cloud Kerberos trust).

Windows Hello for Business a Azure AD MFA

Když se přihlašujeme do Windows pomocí Windows Hello for Business, a máme dostupné připojení k internetu (komunikace do Azure AD), tak proběhne ověření v Azure AD (uživatel získá PRT). Toto ověření se považuje za MFA (Multi-Factor Authentication). Pokud se následně přihlašujeme do nějaké aplikace, kde je vyžadováno Azure AD MFA, tak jsme standardně přihlášeni automaticky, protože proběhne Single Sign-On (SSO).

V Azure Active Directory admin center se můžeme podívat do přihlašovacích logů (Sign-in logs) uživatele. Zde nalezneme Windows Sign In a jako Authentication method je Windows Hello for Business.

Windows Hello for Business  - Azure AD Sign-in logs

Detailnější fungování Windows Hello for Busines

Využití klíčů nebo certifikátů - Key Trust a Certificate Trust

Windows Hello for Business nahrazuje uživatelské přihlašovací údaje (jméno a heslo) jinými Credentials (asymetrickým párem klíčů). Můžeme využít Key-based authentication, tedy klíče uložené v hardware nebo software. Nebo Certificate-based authentication, tedy certifikáty uložené v hardware nebo software.

Ověření vůči Azure AD probíhá vždy pomocí klíčů a uživatel získá PRT (s MFA claim). Podle prostředí máme různé modely nasazení a k nim typy důvěry, které uřčují, jak se uživatelé ověřují vůči lokálnímu AD. Základní jsou Key Trust a Certificate Trust. Ověření vůči AD funguje stejně jako Smart Card autentizace. Využívá se Kerberos a certifikáty.

V obou případech se vytvoří pár veřejného a soukromého klíče. V případě Key Trust dostane uživatel Self-signed certifikát se svým veřejným klíčem. Při Kerberos ověření u doménového řadiče (DC) posílá klient certifikát, ale DC ověřuje veřejný klíč se záznamem u uživatelského účtu. V případě Certificate Trust je Self-signed certifikát nahrazen certifikátem z firemní PKI. A probíhá standardní autentizace certifikátem

Použití certifikátů vyžaduje Public Key Infrastructure (PKI) pro vystavování a správu certifikátů, a také AD FS. Jednodušší je použití klíčů. Ale stále je potřeba certifikační autorita (s dostupným CRL) a certifikát na doménovém řadiči, který je kořenem důvěry (Root of Trust). Po registraci (provisioning) Windows Hello na klientovi je potřeba, aby proběhla synchronizace veřejného klíče z Azure AD do AD. Pak teprve začne fungovat přihlášení na zdroje v AD doméně (SSO pro On-Premises), v praxi to znamená zpoždění až 30 minut.

Další informace o Windows Hello certifikátech a uložených klíčích se nachází v následujícím díle.

Cloud Kerberos Trust

Od začátku roku 2022 (minimálně Windows 10 21h2) je pro hybrid deployment možno a doporučeno využít Cloud Kerberos Trust, kde je kořenem důvěry Azure AD. Tato metoda nepotřebuje žádné certifikáty ani dodatečnou synchronizaci. Pracuje také s asymetrickým párem klíčů. Pro On-Premises autentizaci se používá Kerberos ticket (částečný TGT), který vystaví Azure AD.

Remote Desktop Protocol (RDP)

RDP nepodporuje ověřování s Windows Hello for Business nasazeným s důvěrou klíče (Key Trust) nebo Cloud Kerberos Trust, pouze při nasazení s důvěrou certifikátu (Certificate Trust). Protože podporuje Certificate Authentication, kdy potřebujeme důvěryhodný certifikát.

Znamená to, že se při připojení na RDP, z počítače kde jsme přihlášení pomocí Windows Hello for Business, musíme přihlásit jménem a heslem (nemůžeme využít Windows Hello přihlášení). Nebo můžeme využít Windows Hello for Business spolu s Windows Defender Remote Credential Guard.

Ale Windows Hello for Business také podporuje přidání dalších Credentials, což může být Smart Card Logon certifikát od firemní CA (ze speciální šablony). Privátní klíč certifikátu je pak chráněn pomocí Windows Hello, které použijeme při přihlášení přes RDP.

Windows Hello for Business Provisioning

Registrace (nové nastavení) Windows Hello for Business se skládá ze tří základních kroků:

  • autentizace a MFA - musíme bezpečně ověřit uživatele
  • generování klíčů na klientovi - pokud je k dispozici biometrický senzor, tak se může registrovat biometrie, pak je povinné vytvořit PIN, TPM vygeneruje pár klíčů
  • registrace klíčů do Azure AD a/nebo AD - veřejný klíč se registruje do Azure AD, kde se zapíše do objektu uživatele spolu informací o zařízení, kde byl vystaveno

Pro Key Trust nebo Certificate Trust se přidává vždy další speciální krok. Ale pro Cloud Kerberos Trust je toto vše.

Windows Hello for Business Container

Windows Hello Container je logické seskupení klíčů nebo dat. Microsoft uvádí, že fyzicky neexistuje (na disku, v registrech či podobně). Windows Hello for Business používá jeden kontejner, který uchovává uživatelské klíče pro osobní účty, včetně klíčů spojených s uživatelovým Microsoft účtem nebo Azure AD účtem (workplace or school account). Klíče jsou odděleny podle IDP domény. Tedy uchovává enterprise credentials pro zařízení připojená v on-premises AD nebo Azure AD.

Každý uživatelský účet na počítači má svůj Windows Hello Container. Spojuje všechny nastavené přihlašovací údaje (credentials), klíče a certifikáty. Jeho smazáním zrušíme nastavení Windows Hello for Business.

Kontejner obsahuje sady klíčů. Když se registruje gesto (PIN nebo biometrie) pro Windows Hello, tak se vygeneruje pár veřejného a soukromého klíče. TPM generuje a chrání soukromý klíč. Označuje se jako Protector key, každé registrované gesto má unikátní ochranný klíč. Kontejner má jeden Authentication key, který je zašifrovaný pomocí Protector key. Pokud máme registrovaných více gest, tak se vytvoří více kopií autentizačního klíče šifrovaných různým ochranným klíčem.

Autentizační klíč šifruje jednotlivé klíče (Identitiy Provider Key) uložené v kontejneru. Zařízení generuje veřejný a soukromý klíč při registraci. Veřejný klíč registruje v Azure AD a soukromý bezpečně uloží. V kontejneru můžeme uložit Smart Card Logon certifikát. Windows Hello for Business používá smart card emulaci a kešuje PIN podobně jako čipové karty.

Windows Hello for Business Container - logická struktura

Heslo versus PIN z pohledu bezpečnosti

Tato kapitola obsahuje primárně argumenty uváděné Microsoftem, proč je PIN bezpečnější než heslo. Ale i další výrobci nebo odborníci se shodují na stejných principech.

Obecně je dnes trend zbavit se hesel a přejít na ověřování bez hesla (Passwordless Authentication). Pamatovat si složitá hesla je náročné pro uživatele, a přitom má použití hesel řadu bezpečnostních rizik. Nahrazuje se použitím nějakého HW zařízení (telefon s aplikací MS Authenticator, FIDO2 bezpečnostní klíč) a biometrikou (otisk prstu). Autentizační mechanismy využívají klíče a tokeny (nikoliv hesla).

Nebezpečná hesla

Klasická hesla mají řadu nevýhod. Bezpečné heslo musí být dlouhé a komplexní, takže se špatně pamatuje a používá. Pomocí svého online účtu se můžeme přihlásit k řadě různých služeb přes internet. Hesla se při autentizaci přenáší přes síť (většinou jejich hash) a jsou uložena na serveru (opět spíše hash). Útočník může odposlechnout komunikaci nebo napadnout server. Za určitých podmínek může útočník použít útok hrubou silou.

Bezpečnější PIN

Člověk si možná pod termínem PIN představí krátký číselný kód. Ale v dnešní době může PIN vypadat stejně jako heslo, tedy obsahovat číslice, písmena a speciální znaky. Často se PIN používá kratší než heslo, protože omezení jeho použití zajišťuje dostatečnou bezpečnost. Ve Windows Hello for Business můžeme nastavit požadavky na PIN, co se týče délky a komplexnosti.

Důležité je, že Windows Hello PIN je svázán se zařízením. Pokud by jej získal útočník, tak také musí získat daný počítač. Pomocí PINu se nepřihlásí k online službám pod účtem daného uživatele. PIN je lokální na daném počítači, nepřenáší se po síti a nepoužívá pro ověření na serveru. PIN je chráněn pomocí TPM, který je navržen pro bezpečné kryptografické operace. Při útoku hrubou silou na PIN dojde k zamknutí zařízení. Proto je tento PIN bezpečnější také než lokální heslo.

Microsoft označuje Windows Hello for Business jako ověřování bez hesla (Passwordless authentication). Přitom musíme nastavit PIN, který je stejný jako heslo. Jak jsem již dříve zmiňoval, to mi jako odchod od hesel nepřipadá. Ale pokud nastavíme, například otisk prstu, tak můžeme fungovat bez hesel (PIN je pouze pro případné problémy). Je to podobné jako Microsoft Authenticator a Phone Sign-in, které máme v telefonu chráněné PINem a většinou otiskem prstu.

PIN musíme samozřejmě chránit. Primárně používáme biometrii, kterou nemůže nikdo odkoukat. Když musíme použít PIN, tak jej nezadáváme před jinou osobou, pod dohledem kamery apod. Pokud máme více zařízení, tak by na každém měl být jiný PIN (což je samozřejmě náročné pro uživatele). Docela zásadní požadavek je, že nesmíme nastavit PIN stejný jako heslo.

zobrazeno: 2654krát | Komentáře [0]

Autor:

Související články:

Azure AD / Entra ID identity a autentizace

Články související s identitou uživatelů a zařízení (nejen) v Microsoft Entra ID. Různé možnosti přihlašování a ověřování. Oblasti jako moderní autentizace, vícefaktorová autentizaci, přihlašování bez hesla, apod.

FIDO autentizace - FIDO Authentication

FIDO autentizace je založena na standardu FIDO2 (WebAuthn a CTAP2). Přináší bezpečnější možnost přihlášení k online službám. Patří mezi Passwordless MFA (vícefaktorové ověření bez hesla). Zároveň zvyšuje pohodlí uživatelů (podporuje použití biometrie). Jde například o Windows Hello for Business, FIDO2 security key a obecně passkeys (přístupové klíče).

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

Zatím tento záznam nikdo nekomentoval.

Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách