Passwordless RDP con Windows Hello for Business
Se utilizzate Windows Hello for Business, potete sfruttare un’autenticazione più sicura e senza password anche per le sessioni di Remote Desktop Protocol (RDP). Questo vi permette di accedere ai vostri dispositivi in remoto senza dover digitare una password, affidandovi invece a metodi di autenticazione multi-fattore come il riconoscimento facciale, l’impronta digitale o un PIN sicuro.
Per abilitare questa funzionalità, è essenziale che i dispositivi siano configurati correttamente e che supportino le credenziali basate su certificato o chiavi di sicurezza. La connessione remota con Windows Hello for Business avviene attraverso un meccanismo che verifica l’identità dell’utente senza esporre password a possibili attacchi. Questo riduce il rischio di phishing e attacchi di forza bruta, migliorando notevolmente la sicurezza dell’infrastruttura IT aziendale.
Se utilizzate Microsoft Intune, potete configurare criteri di sicurezza per distribuire automaticamente le impostazioni necessarie ai dispositivi, garantendo che l’autenticazione remota avvenga sempre in maniera conforme alle politiche aziendali. In ambienti basati su Active Directory o Microsoft Entra, potete sfruttare la registrazione dei dispositivi per gestire in modo centralizzato l’accesso remoto. Di questo ne ho già parlato nella mia guida Microsoft Intune – Configurare Windows Hello for Business – ICT Power
In alternativa potete utilizzare le Group Policy come ho già spiegato nella mia guida Utilizzare Windows Hello for Business per l’accesso ad Active Directory: MFA per l’on-premises – ICT Power
Oggi voglio invece vedere come, in un ambiente Entra Hybrid (cioè un dominio locale che è sincronizzato con Microsoft Entra grazie al tool Entra Connect), sia possibile utilizzare un accesso passwordless quando ci connettiamo in Remote Desktop (RDP).
Utilizzo dei certificati digitali con Windows Hello for Business
In questa guida mostrerò come potete utilizzare Windows Hello for Business per accedere a una sessione Remote Desktop, sfruttando la funzionalità di smart card reindirizzata offerta dal Remote Desktop Protocol (RDP). Questo è possibile distribuendo un certificato sul dispositivo dell’utente, che verrà utilizzato come credenziale al momento della connessione remota con un altro dispositivo Windows.
Come funziona
Windows genera e conserva le chiavi crittografiche utilizzando un componente software chiamato Key Storage Provider (KSP):
- Le chiavi basate su software vengono create e memorizzate tramite il Microsoft Software Key Storage Provider
- Le chiavi delle smart card vengono gestite dal Microsoft Smart Card Key Storage Provider
- Le chiavi create e protette da Windows Hello for Business vengono gestite tramite il Microsoft Passport Key Storage Provider
Quando viene utilizzata una smart card, il sistema genera una coppia di chiavi asimmetriche tramite il Microsoft Smart Card KSP. Windows richiede quindi un certificato all’autorità di certificazione aziendale, che restituisce un certificato memorizzato nel Personal certificate store dell’utente. La chiave privata resta sulla smart card, mentre la chiave pubblica viene salvata insieme al certificato. Le informazioni sul certificato contengono il riferimento al Key Storage Provider che ha generato la chiave, permettendo a Windows di riconoscere il certificato anche senza che la smart card sia inserita.
Con Windows Hello for Business, il processo è simile, ma le chiavi vengono generate dal Microsoft Passport KSP. La chiave privata dell’utente resta protetta dal modulo di sicurezza del dispositivo (TPM) e da un’azione dell’utente (PIN o riconoscimento biometrico). Le API di gestione dei certificati semplificano il processo: quando un’applicazione utilizza un certificato, le API individuano automaticamente le chiavi corrispondenti, seguendo le indicazioni del Key Storage Provider associato.
Grazie a questa tecnologia, Windows Hello for Business emula una smart card per garantire la compatibilità con le applicazioni, permettendo all’utente di autenticarsi semplicemente con un gesto biometrico o un PIN, senza necessità di una smart card fisica.
Requisiti
Per abilitare l’accesso RDP con Windows Hello for Business, è necessario soddisfare alcuni requisiti fondamentali:
- Una PKI infrastructure basata su Active Directory Certificate Services (AD CS) o su una soluzione di terze parti
- Windows Hello for Business deve essere già distribuito sui dispositivi client
- Se prevedete di supportare dispositivi Microsoft Entra joined, i domain controller devono disporre di un certificato che funge da root of trust per i client. Questo certificato garantisce che i dispositivi non comunichino con domain controller non autorizzati, aumentando così la sicurezza dell’autenticazione remota.
NOTA: In questa guida non mi occuperò dell’abilitazione di Windows Hello for Business. Trovate tutte le indicazioni per farlo nella guida Utilizzare Windows Hello for Business per l’accesso ad Active Directory: MFA per l’on-premises – ICT Power
Creazione del modello (template) di certificato
Il processo di creazione di un certificate template è necessario quando si utilizza un’infrastruttura on-premises Active Directory Certificate Services (AD CS).
Per abilitare questa funzionalità, è necessario creare un certificate template e successivamente distribuire i certificati basati su tale modello nel Windows Hello for Business container.
La configurazione del certificate template varia a seconda del metodo di distribuzione scelto: se si utilizzano Microsoft Intune oppure una Active Directory enrollment policy, sarà necessario seguire procedure specifiche per garantire una corretta assegnazione dei certificati ai dispositivi.
Io ho deciso di utilizzare una Certification Authority interna e di distribuire tutto con una Active Directory enrollment policy.
NOTA: In questa guida non mi occuperò della creazione di una Certification Authority. Trovate tutti i passaggi partendo dalla guida Deploy PKI in Windows Server 2016 – Parte 1 Architettura di una PKI Two-Tier – ICT Power
Quando si apre la Certification Authority Microsoft Management Console (MMC), è possibile configurare un certificate template per supportare l’accesso con Windows Hello for Business.
All’interno della MMC, dovete espandere il nome della CA, fare clic con il tasto destro su Certificate Templates e selezionare Manage. Si aprirà così la console dei Certificate Templates, dove verranno visualizzati tutti i modelli disponibili.
Per creare un nuovo template, dovete fare clic con il tasto destro sul template “Smartcard Logon” e selezionare “Duplicate Template”.
Figura 1: Creazione del nuovo template da utilizzare per i certificati di Windows Hello
Configurate nella scheda Compatibility le seguenti opzioni:
- Deselezionate la casella Show resulting changes.
- Selezionate Windows Server 2012 o Windows Server 2012 R2 dall’elenco Certification Authority.
- Selezionate Windows Server 2012 o Windows Server 2012 R2 dall’elenco Certification Recipient.
Figura 2: Scheda Compatibility
Configurate nella scheda General le seguenti opzioni:
- Specificate un Template display name, ad esempio WHfB Certificate Authentication.
- Impostate il periodo di validità (validity period) al valore desiderato.
- Annotate il nome del template per un uso successivo, che dovrebbe essere lo stesso del Template display name senza spazi (ad esempio WHfBCertificateAuthentication).
Figura 3: Scheda General
Nella scheda Extensions verificate che l’estensione Application Policies includa Smart Card Logon.
Figura 4: Scheda Extensions
Nella scheda Subject Name selezionate Supply in the request.
Figura 5: Scheda Subject Name
Configurate nella scheda Request Handling le seguenti opzioni:
- Impostate Purpose su Signature and smartcard logon e selezionare Yes quando richiesto di modificare lo scopo del certificato.
- Selezionate la casella Renew with same key.
- Selezionate Prompt the user during enrollment.
Figura 6: Scheda Request Handling
Configurate nella scheda Cryptography le seguenti opzioni:
- Impostate Provider Category su Key Storage Provider.
- Impostate Algorithm name su RSA.
- Impostate la dimensione minima della chiave (minimum key size) a 2048.
- Selezionate Requests must use one of the following providers.
- Selezionate Microsoft Software Key Storage Provider.
- Impostate Request hash su SHA256.
Figura 7: Scheda Cryptography
Nella scheda Security aggiungete il security principal utilizzato per l’accesso SCEP o PKCS Enroll.
Figura 8: Scheda Security
Dopo aver configurato tutte le impostazioni necessarie, selezionate OK per finalizzare le modifiche e creare il nuovo certificate template.
Una volta completata la procedura, il nuovo template sarà visibile nell’elenco dei Certificate Templates all’interno della Certificate Templates console.
Figura 9: Il nuovo template è visibile nell’elenco dei Certificate Templates
Aggiungere Microsoft Passport Key Storage Provider al Certificate Template
Per garantire che il Microsoft Passport Key Storage Provider venga utilizzato nel certificate template, seguite questi passaggi:
- Aprite un Prompt dei Comandi con privilegi elevati e spostatevi in una cartella temporanea di lavoro.
- Eseguite il seguente comando certutil.exe -dstemplate <TemplateName> > <TemplateName.txt>, sostituendo <TemplateName> con il nome del template visualizzato nella console di AD CS (nel mio caso certutil.exe -dstemplate WHfBCertificateAuthentication > WHfBCertificateAuthentication.txt)
- Aprite il file di testo generato dal comando.
- Eliminate l’ultima riga del file che riporta il messaggio: CertUtil: -dsTemplate command completed successfully.
- Modificate la riga pKIDefaultCSPs = “1,Microsoft Software Key Storage Provider” sostituendola con pKIDefaultCSPs = “1,Microsoft Passport Key Storage Provider”
- Salvate il file e chiudetelo.
- Aggiornate il certificate template eseguendo il comando: certutil.exe -dsaddtemplate <TemplateName.txt>
Dopo aver completato questa procedura, il certificate template sarà configurato per utilizzare il Microsoft Passport Key Storage Provider, garantendo la compatibilità con Windows Hello for Business per l’autenticazione RDP.
Figura 10: Esportazione della configurazione del certificate template denominato WHfBCertificateAuthentication
Figura 11: Modifica sporta la configurazione del certificate template denominato WHfBCertificateAuthentication
Figura 12: Questo comando aggiorna il certificate template nella directory dei servizi di certificazione di Windows Active Directory.
Per verificare che il template sia stato aggiornato, potete aprirne le proprietà e controllare che il Microsoft Passport Key Storage Provider sia stato impostato correttamente nelle proprietà del template, come mostrato nella figura sotto.
Figura 13: Il template del certificato è stato aggiornato correttamente
Una volta confermata la modifica, il nuovo template sarà pronto per essere utilizzato con Windows Hello for Business.
Emissione del Certificate Template
Dopo aver configurato e aggiornato il certificate template, è necessario emetterlo affinché possa essere utilizzato dai client per l’autenticazione.
Nella console della Certification Authority, fate clic con il tasto destro su Certificate Templates, quindi selezionate New > Certificate Template to Issue. A questo punto, comparirà l’elenco di template disponibili: individuate il template WHFB Certificate Authentication, selezionatelo e confermate con OK.
Dopo questa operazione, potrebbe essere necessario attendere un po’ di tempo affinché il template venga replicato su tutti i server e diventi effettivamente disponibile. Una volta completata la replica, sarà necessario riavviare il servizio della Certification Authority per applicare le modifiche. All’interno della MMC, fate clic con il tasto destro sulla Certification Authority, selezionate All Tasks > Stop Service, quindi ripetete l’operazione scegliendo All Tasks > Start Service.
Figura 14: Distribuzione del nuovo template certificato
Figura 15: Il nuovo template è stato aggiunto alla nostra Certification Authority
Figura 16: Riavvio dei servizio della Certification Auhtority
A questo punto, il certificate template sarà pronto per essere utilizzato.
Distribuzione del certificato
Il processo di distribuzione dei certificati varia a seconda che si utilizzi Microsoft Intune o una Active Directory Certificate Services (AD CS) enrollment policy. La scelta dipende dalle esigenze della vostra infrastruttura.
Per richiedere manualmente un certificato utilizzando una Active Directory Certificate Services enrollment policy, accedete a un client che sia Microsoft Entra hybrid joined, assicurandovi che abbia visibilità su un domain controller e sulla Certification Authority che rilascia i certificati. Aprite la console Certificates – Current User MMC eseguendo il comando certmgr.msc. Una volta all’interno della MMC, nel pannello di sinistra, fate clic con il tasto destro su Personal, selezionate All Tasks e poi Request New Certificate….
Figura 17: Richiesta di un nuovo certificato su un computer Microsoft Entra Joined
Nella schermata Certificate Enrollment, selezionate Next per procedere. Nella sezione Select Certificate Enrollment Policy, scegliete Active Directory Enrollment Policy e proseguite con Next. Nella schermata successiva, sotto Request Certificates, individuate il template di certificato precedentemente creato (WHfB Certificate Authentication), selezionatelo e fate clic sul messaggio “More information is required to enroll for this certificate”.
Si aprirà la finestra Certificate Properties, dove sarà necessario inserire le informazioni richieste per il certificato. Nella scheda Subject, nel campo Subject name, selezionate Common name dal menu a tendina, quindi inserite il valore richiesto, ad esempio il nome dell’utente. Fate clic su Add > per confermare l’inserimento. Se necessario, potete anche aggiungere altre informazioni nei campi Alternative name.
Dopo aver completato la configurazione, fate clic su OK per tornare alla schermata di richiesta del certificato.
Figura 18: Informazioni relative al Subject del certificato
Nella schermata sotto, nella scheda Cryptographic Service Provider (CSP), è stato selezionato RSA, Microsoft Passport Key Storage Provider. Questa configurazione è fondamentale perché garantisce che il certificato utilizzi Windows Hello for Business per la protezione delle chiavi crittografiche, sfruttando il modulo di sicurezza del dispositivo (TPM).
Figura 19: Scheda Cryptographic Service Provider (CSP)
Dopo aver confermato questa impostazione, è possibile procedere con la richiesta del certificato facendo clic su OK, tornando alla schermata di Certificate Enrollment e selezionando Enroll.
Figura 20: Enroll del certificato
Il certificato viene emesso istantaneamente.
Figura 21: Certificato emesso dalla CA integrata in Active Directory
Test di funzionamento
Dopo aver ottenuto il certificato, gli utenti possono connettersi in Remote Desktop (RDP) a qualsiasi dispositivo Windows Microsoft Entra joined oppure Microsoft Entra hybrid joined all’interno della stessa foresta di Active Directory associata al proprio account. Per avviare la connessione remota, è sufficiente aprire l’applicazione Remote Desktop Connection (mstsc.exe) e inserire il nome del dispositivo remoto.
Durante la connessione, il sistema chiederà di utilizzare Windows Hello for Business per sbloccare la chiave privata del certificato. A questo punto, l’utente dovrà autenticarsi tramite il metodo configurato, come PIN, riconoscimento facciale o impronta digitale.
Figura 22: Connessione ad un dispositivo Microsoft Entra hybrid joined all’interno della stessa foresta di Active Directory
Durante la richiesta delle credenziali nella connessione Remote Desktop (RDP), il sistema identifica il Windows Hello credential provider come Security device credential. Io sto utilizzando un PIN.
Figura 23: Il sistema chiede di utilizzare Windows Hello for Business per sbloccare la chiave privata del certificato
Figura 24: Connessione al dispositivo Microsoft Entra hybrid joined riuscita
Conclusioni
L’implementazione di Windows Hello for Business per l’autenticazione Remote Desktop (RDP) rappresenta un passo significativo verso un accesso remoto più sicuro ed efficiente. Sostituendo le tradizionali credenziali basate su password con certificati crittografici protetti dal dispositivo, questa soluzione riduce i rischi legati al phishing, agli attacchi di forza bruta e all’intercettazione delle credenziali.
Attraverso la configurazione della Certification Authority, la creazione e l’emissione del certificate template, e la corretta distribuzione dei certificati, gli utenti possono accedere in modo trasparente ai dispositivi remoti utilizzando Windows Hello for Business. Il processo di autenticazione, basato su PIN, riconoscimento facciale o impronta digitale, garantisce un’esperienza fluida e intuitiva, senza compromettere la sicurezza.
Questa soluzione non solo modernizza l’autenticazione remota, ma migliora anche la gestione centralizzata delle credenziali all’interno dell’infrastruttura aziendale, integrandosi perfettamente con ambienti Microsoft Entra hybrid joined. Adottare questa tecnologia significa investire in un modello di sicurezza più robusto, riducendo la dipendenza dalle password e semplificando l’accesso per gli utenti.