In Windows 10 e Windows 11, Windows Hello for Business sostituisce le password con l’autenticazione a due fattori avanzata nei dispositivi. Questa autenticazione è costituita da un nuovo tipo di credenziali utente associate a un dispositivo e utilizza una tecnologia biometrica o un PIN.
Windows Hello consente di risolvere i seguenti problemi associati alle password:
- Le password complesse possono essere difficili da ricordare e gli utenti spesso usano una stessa password in più siti.
- Violazioni dei server possono esporre le credenziali di rete simmetriche (password).
- Le password sono soggette ad attacchi di tipo replay (Un attacco di tipo replay si verifica quando un utente malintenzionato copia un flusso di messaggi tra due parti e lo riproduce verso una o più parti).
- Gli utenti possono esporre involontariamente le proprie password a causa di attacchi di phishing.
Windows Hello consente agli utenti di effettuare l’autenticazione a:
- un account Microsoft.
- un account Active Directory.
- un account Microsoft Azure Active Directory (Azure AD).
- servizi di provider di identità o di relying party che supportano l’autenticazione FIDO (Fast ID Online) versione 2.0 (in corso)
Dopo una verifica iniziale in due passaggi da parte dell’utente durante la registrazione, Windows Hello viene impostato nel dispositivo e Windows chiede a quest’ultimo di impostare una gesture, che può essere un elemento biometrico, come un’impronta digitale, o un PIN. L’utente finale, a questo punto, specifica il gesto per consentire la verifica della propria identità.
L’amministratore di un’organizzazione aziendale può creare criteri per la gestione dell’uso di Windows Hello for Business nei dispositivi basati su Windows 10 che si connettono all’organizzazione stessa.
Accesso biometrico
Windows Hello offre servizi di autenticazione biometrica affidabili e totalmente integrati, basati sul riconoscimento facciale o delle impronte digitali. Windows Hello usa in combinazione software e fotocamere a infrarossi (IR) speciali per una maggiore precisione e per migliorare la protezione dallo spoofing. Nei dispositivi che supportano Windows Hello, un semplice gesto biometrico sblocca le credenziali degli utenti.
- Riconoscimento facciale. Questo tipo di riconoscimento biometrico usa speciali fotocamere in grado di operare con luce a infrarossi, in modo da poter distinguere in modo affidabile tra una fotografia o una scansione e una persona reale.
- Riconoscimento dell’impronta digitale. Questo tipo di riconoscimento biometrico usa un sensore capacitivo per effettuare la scansione dell’impronta digitale dell’utente.
Windows archivia i dati biometrici usati per implementare Windows Hello in modo sicuro solo nel dispositivo locale. I dati biometrici non vengono esportati e non vengono mai inviati a dispositivi o server esterni, non esiste un singolo punto di raccolta che un utente malintenzionato possa compromettere per rubare i dati biometrici.
Differenza tra Windows Hello e Windows Hello for Business
- Windows Hello è rivolto anche ad individui/dispositivi di consumo. Il PIN o la verifica biometrica vengono utilizzati sul dispositivo personale per ridurre il rischio di keylogger o phishing delle password, ma il processo di accesso utilizza comunque l’hash della tua password. Questa configurazione in cui viene comunque utilizzato l’hash, viene definita Windows Hello convenience PIN e non è supportata dall’autenticazione asimmetrica (chiave pubblica/privata) o basata su certificato.
- Windows Hello for Business, viene configurato da GPO o dai criteri di gestione dei dispositivi mobili (MDM), usa sempre l’autenticazione basata su chiave o basata su certificato, eliminando l’utilizzo dell’hash della password. In questo modo è molto più sicuro rispetto Windows Hello convenience PIN.
Vantaggi di Windows Hello
Ci si potrebbe chiedere in che modo un PIN possa dimostrarsi migliore di una password per la protezione di un dispositivo (lo vedremo nel paragrafo successivo). Le password sono segreti condivisi; vengono immesse in un dispositivo e trasmesse al server attraverso la rete. Un nome account e una password intercettati possono essere utilizzati da chiunque, ovunque. Sono archiviati in un server. Una violazione del server può quindi rivelare le credenziali archiviate.
In Windows 10, Windows Hello sostituisce le password. Quando il provider di identità supporta le chiavi, il processo di provisioning di Windows Hello crea una coppia di chiavi crittografiche associata al TPM (Trusted Platform Module), se un dispositivo ha un TPM 2.0, hardware o software. L’accesso a queste chiavi e la possibilità di ottenere una firma per convalidare il possesso della chiave privata da parte dell’utente sono abilitati solo dal PIN o dalla gesture precedentemente registrata.
Windows Hello contribuisce alla protezione delle identità e delle credenziali degli utenti. Dal momento che l’utente non immette una password, se non durante il provisioning, consente di evitare phishing e attacchi di tipo “brute force”. Contribuisce inoltre a evitare violazioni dei server. Infatti, le credenziali Windows Hello sono costituite da una coppia di chiavi asimmetriche e ciò consente di prevenire gli attacchi di riproduzione, se tali chiavi vengono protette da TPM.
Perché un PIN è meglio della password?
Il PIN è associato al dispositivo
Una differenza importante tra una password e un PIN Hello è che il PIN è associato al dispositivo specifico in cui è stato configurato. Quel PIN sarà inutilizzabile senza quell’hardware specifico. Se ti rubano la password, possono accedere al tuo account da qualsiasi dispositivo, mentre se ti rubano il PIN, dovranno rubarti anche il dispositivo per poterlo usare. Anche chi configura il PIN sul dispositivo potrà utilizzarlo solo quello specifico device.
Il PIN è configurato in locale sul dispositivo
Una password viene trasmessa al server: può essere intercettata durante la trasmissione o rubata direttamente dal server. Un PIN è configurato in locale sul dispositivo: non viene trasmesso e non è memorizzato sul server. Al momento della creazione, il PIN stabilisce una relazione attendibile con il provider identità e crea una coppia di chiavi asimmetriche che vengono usate per l’autenticazione. Quando viene inserito, il PIN sblocca la chiave di autenticazione e la usa per firmare la richiesta che viene inviata al server di autenticazione.
Il PIN è abbinato all’hardware
Il PIN Hello è abbinato a un chip TPM (Trusted Platform Module) che è un crypto-processor sicuro progettato per eseguire operazioni di crittografia. Il chip include più meccanismi di sicurezza fisica in grado di proteggerlo da manomissioni; il software dannoso non sarà pertanto in grado di manomettere le funzioni di sicurezza del TPM.
Il TPM protegge da un’ampia gamma di attacchi noti e potenziali, inclusi gli attacchi brute force per i PIN. Dopo un certo numero di tentativi non validi, il dispositivo viene bloccato.
Il PIN può essere complesso
Il PIN di Windows Hello for Business è soggetto agli stessi criteri di gestione IT di una password, come ad esempio complessità, lunghezza, scadenza e cronologia. In genere quando si pensa a un PIN, si pensa a un codice di quattro cifre (0000, 1234…) ma gli amministratori possono impostare un set di criteri per i dispositivi gestiti in modo da richiedere una complessità per il PIN simile a quella per una password, andando ad esempio ad inibire pin con numeri che si ripetono, oppure numeri sequenziali. Possono essere consentiti o no caratteri speciali, lettere maiuscole, lettere minuscole e numeri.
Cosa succede se qualcuno ruba il laptop o il telefono?
Per compromettere una credenziale di Windows Hello che protegge il TPM, un utente malintenzionato deve avere accesso al dispositivo fisico e quindi deve trovare un modo per falsificare la biometria dell’utente o indovinare il proprio PIN e tutto questo deve essere fatto prima che la protezione anti-hammering TPM blocchi il dispositivo. Puoi aumentare la protezione per i laptop che non hanno TPM abilitando BitLocker e impostando un criterio per limitare i tentativi di accesso non validi.
Come funziona Windows Hello for Business: punti chiave
- Le credenziali Windows Hello sono basate su certificato o su una coppia di chiavi asimmetriche. Le credenziali Windows Hello possono essere associate al dispositivo, così come il token che si ottiene.
- Il provider di identità (ad esempio Active Directory, Azure AD o un account Microsoft) convalida l’identità dell’utente e durante la fase di registrazione abbina la chiave pubblica di Windows Hello all’account utente.
- A seconda dei criteri, le chiavi possono essere generate come hardware (TPM 1.2 o 2.0 per le organizzazioni e TPM 2.0 per i consumer).
- L’autenticazione a due fattori è data dalla combinazione di una chiave o di un certificato associato a un dispositivo e qualcosa che la persona conosce (un PIN) o qualcosa che la persona è (biometria). Windows Hello non esegue il roaming tra dispositivi e non viene condiviso nulla con il server. I modelli biometrici vengono archiviati localmente sul dispositivo.
- La chiave privata non lascia mai un dispositivo quando si usa il TPM. Il server di autenticazione dispone di una chiave pubblica mappata all’account utente durante il processo di registrazione.
Confronto tra l’autenticazione basata su chiavi e quella basata su certificati
Per confermare l’identità, Windows Hello for Business può usare sia chiavi (hardware o software) sia certificati in hardware o software. Le aziende che dispongono di una public key infrastructure (PKI) per l’emissione e la gestione dei certificati degli utenti finali possono continuare a utilizzare l’infrastruttura PKI in combinazione con Windows Hello. Le aziende che non utilizzano l’infrastruttura PKI o desiderano ridurre lo sforzo associato alla gestione dei certificati utente possono basarsi sulle credenziali basate su chiave per Windows Hello, ma utilizzano comunque i certificati nei controller di dominio come root.
Windows Hello for Business con una chiave non supporta l’accesso tramite RDP. RDP non supporta l’autenticazione con una chiave o un certificato self-signed. RDP con Windows Hello for Business è supportato solo da distribuzioni basate su certificato.
Quale metodo di autenticazione è più sicuro tra key trust o certificate trust?
I modelli di attendibilità della distribuzione determinano la modalità di autenticazione in Active Directory (locale). Sia key trust che certificate trust usano la stessa credenziale a due fattori supportata dall’hardware. La differenza tra i due tipi di trust è la seguente:
- Controller di dominio necessari
- Emissione di certificati dell’entità finale
Il modello di key trust esegue l’autenticazione in Active Directory utilizzando una chiave non elaborata (funzione aggiunta con DC versione Windows Server 2016). L’autenticazione con key trust non richiede un certificato emesso dall’organizzazione; pertanto, non è necessario emettere certificati agli utenti (i certificati dei controller di dominio sono ancora necessari).
Il modello certificate trust esegue l’autenticazione in Active Directory utilizzando un certificato. Poiché questa autenticazione utilizza un certificato, i controller di dominio che eseguono versioni precedenti a Windows Server 2016 possono autenticare l’utente, pertanto è quindi necessario emettere certificati agli utenti. Il certificato utilizzato nella certificate trust utilizza la chiave privata protetta tramite TPM per richiedere un certificato all’autorità di certificazione emittente dell’organizzazione.
La gestione dell’autenticazione tramite certificate trust richiede però l’installazione (dove non già presente) e la manutenzione di un ambiente PKI.
Trovi qui la documentazione ufficiale
E qui ulteriori articoli di Security by Yooda