Accesso a Desktop remoto con Windows Hello for Business
È possibile usare Windows Hello for Business per accedere a una sessione desktop remoto, usando le funzionalità della smart card reindirizzate di Remote Desktop Protocol (RDP). Ciò è possibile distribuendo un certificato nel dispositivo dell'utente, che viene quindi usato come credenziale fornita quando si stabilisce la connessione RDP a un altro dispositivo Windows.
Questo articolo descrive due approcci di distribuzione dei certificati, in cui i certificati di autenticazione vengono distribuiti nel contenitore Windows Hello for Business:
- Uso di Microsoft Intune con connettori SCEP o PKCS
- Uso di un criterio di registrazione di Servizi certificati Active Directory
Importante
Se si distribuisce il certificato usando Microsoft Intune e il controllo dell'account utente è configurato per richiedere le credenziali nel desktop protetto, non sarà possibile usare la funzionalità Esegui come. In questo scenario, quando si tenta di eseguire un'applicazione con privilegi elevati e si sceglie la credenziale Windows Hello for Business, verrà visualizzato il messaggio di errore: Il nome utente o la password non è corretto.
Suggerimento
È consigliabile usare Remote Credential Guard invece di Windows Hello for Business per l'accesso RDP. Remote Credential Guard fornisce l'accesso Single Sign-On (SSO) alle sessioni RDP tramite l'autenticazione Kerberos e non richiede la distribuzione di certificati. Per altre informazioni, vedere Remote Credential Guard.
Come funziona
Windows genera e archivia le chiavi di crittografia usando un componente software denominato provider di archiviazione chiavi (KSP):
- Le chiavi basate su software vengono create e archiviate usando il provider di archiviazione delle chiavi software Microsoft
- Le chiavi delle smart card vengono create e archiviate tramite il provider di archiviazione chiavi smart card Microsoft
- Le chiavi create e protette da Windows Hello for Business vengono create e archiviate tramite il provider di archiviazione chiavi Microsoft Passport
Un certificato in una smart card inizia con la creazione di una coppia di chiavi asimmetrica tramite microsoft smart card KSP. Windows richiede un certificato basato sulla coppia di chiavi all'autorità di certificazione emittente dell'organizzazione, che restituisce un certificato archiviato nell'archivio certificati personali dell'utente. La chiave privata rimane nella smart card e la chiave pubblica viene archiviata con il certificato. I metadati nel certificato (e nella chiave) archivia il provider di archiviazione delle chiavi usato per creare la chiave (tenere presente che il certificato contiene la chiave pubblica).
Lo stesso concetto si applica a Windows Hello for Business, ad eccezione del fatto che le chiavi vengono create usando Microsoft Passport KSP. La chiave privata dell'utente rimane protetta dal modulo di sicurezza del dispositivo (TPM) e dal movimento dell'utente (PIN/biometrico). Le API del certificato nascondono la complessità. Quando un'applicazione usa un certificato, le API del certificato individuano le chiavi usando il provider di archiviazione delle chiavi salvato. I provider di archiviazione delle chiavi indirizzano le API del certificato in cui usano per trovare la chiave privata associata al certificato. Questo è il modo in cui Windows sa che hai un certificato smart card senza che la smart card sia inserita e ti chiede di inserire la smart card.
Windows Hello for Business emula una smart card per la compatibilità dell'applicazione e Microsoft Passport KSP richiede all'utente il movimento biometrico o il PIN.
Nota
Desktop remoto con biometria non funziona con la doppia registrazione o scenari in cui l'utente fornisce credenziali alternative.
Requisiti
Ecco un elenco di requisiti per abilitare l'accesso RDP con Windows Hello for Business:
- Un'infrastruttura PKI basata su Servizi certificati Active Directory o di terze parti
- Windows Hello for Business distribuito ai client
- Se si prevede di supportare Microsoft Entra dispositivi aggiunti, i controller di dominio devono avere un certificato che funge da radice di attendibilità per i client. Il certificato garantisce che i client non comunichino con controller di dominio non autorizzati
Se si prevede di distribuire certificati usando Microsoft Intune, ecco altri requisiti:
- Assicurarsi di avere l'infrastruttura per supportare la distribuzione SCEP o PKCS
- Distribuire il certificato CA radice e tutti gli altri certificati intermedi dell'autorità di certificazione per Microsoft Entra dispositivi aggiunti usando un criterio certificato radice attendibile
Creare un modello di certificato
Il processo di creazione di un modello di certificato è applicabile agli scenari in cui si usa un'infrastruttura di Servizi certificati Active Directory locale.
È prima necessario creare un modello di certificato e quindi distribuire i certificati basati su tale modello nel contenitore Windows Hello for Business.
La configurazione del modello di certificato è diversa a seconda che si distribuino i certificati usando Microsoft Intune o un criterio di registrazione di Active Directory. Seleziona l'opzione più adatta alle tue esigenze.
Accedere all'autorità di certificazione emittente e aprire Server Manager
Selezionare Autorità di certificazione strumenti>. Verrà aperta l'autorità di certificazione Microsoft Management Console (MMC)
In MMC espandere il nome della CA e fare clic con il pulsante destro del mouse su Gestione modelli di > certificato
Verrà visualizzata la console Modelli di certificato. Tutti i modelli di certificato vengono visualizzati nel riquadro dei dettagli
Fare clic con il pulsante destro del mouse sul modello di accesso smart card e scegliere Duplica modello
Usare la tabella seguente per configurare il modello:
Nome scheda Configurazioni Compatibilità - Deselezionare la casella di controllo Mostra modifiche risultanti
- Selezionare Windows Server 2012 o Windows Server 2012 R2dall'elenco Autorità di certificazione
- Selezionare Windows Server 2012 o Windows Server 2012 R2dall'elenco Destinatario certificazione
Generale - Specificare un nome visualizzato del modello, ad esempio Autenticazione certificato WHfB
- Impostare il periodo di validità sul valore desiderato
- Prendere nota del nome del modello per un secondo momento, che dovrebbe corrispondere al nome visualizzato del modello meno gli spazi (WHfBCertificateAuthentication in questo esempio)
Estensioni Verificare che l'estensione Criteri applicazione includa l'accesso alle smart card. Nome soggetto Selezionare Fornitura nella richiesta. Gestione delle richieste - Impostare Lo scopo su Firma e accesso con smart card e selezionare Sì quando viene richiesto di modificare lo scopo del certificato
- Selezionare la casella di controllo Rinnova con la stessa chiave
- Selezionare Chiedi conferma all'utente durante la registrazione
Nota: Se si distribuiscono certificati con un profilo PKCS, selezionare l'opzione Consenti l'esportazione della chiave privataCryptography - Impostare la categoria provider su Provider di archiviazione chiavi
- Impostare il nome dell'algoritmo su RSA
- Impostare la dimensione minima della chiave su 2048
- Selezionare Le richieste devono usare uno dei provider seguenti
- Selezionare Microsoft Software Key Storage Provider (Provider di archiviazione chiavi software Microsoft)
- Impostare l'hash della richiesta su SHA256
Sicurezza Aggiungere l'entità di sicurezza usata per l'accesso SCEP o PKCS Enroll Selezionare OK per finalizzare le modifiche e creare il nuovo modello. Il nuovo modello dovrebbe ora essere visualizzato nell'elenco dei modelli di certificato
Chiudere la console Modelli di certificato
Rilasciare il modello di certificato
- Nella console dell'autorità di certificazione fare clic con il pulsante destro del mouse su Modelli di certificato, selezionare Nuovo > modello di certificato da rilasciare
- Nell'elenco dei modelli selezionare il modello creato in precedenza (autenticazione del certificato WHFB) e selezionare OK. La replica del modello in tutti i server può richiedere del tempo e diventare disponibile in questo elenco
- Dopo la replica del modello, in MMC fare clic con il pulsante destro del mouse nell'elenco Autorità di certificazione selezionare Tutte le attività > Arresta servizio. Fare di nuovo clic con il pulsante destro del mouse sul nome dell'autorità di certificazione e scegliere Avvia servizio tutte le attività >
Distribuire i certificati
Il processo di distribuzione dei certificati è diverso a seconda che si usi Microsoft Intune o un criterio di registrazione di Active Directory. Seleziona l'opzione più adatta alle tue esigenze.
Questa sezione descrive come configurare un criterio SCEP in Intune. È possibile seguire passaggi simili per configurare un criterio PKCS.
Passare all'interfaccia di amministrazione di Microsoft Intune
Selezionare Profili di configurazione > dispositivi > Crea profilo
Selezionare Platform > Windows 10 e versioni successive e Profile type > Templates > SCEP Certificate
Selezionare Crea
Nel pannello Informazioni di base specificare un nome e, facoltativamente, una descrizione > successiva
Nel pannello Impostazioni di configurazione usare la tabella seguente per configurare i criteri:
Impostazione Configurazioni Tipo di certificato Utente Formato del nome soggetto CN={{UserPrincipalName}}
Nota: se esiste una mancata corrispondenza tra il suffisso UPN dell'utente e il nome di dominio di Active Directory, usareCN={{OnPrem_Distinguished_Name}}
invece .Nome alternativo soggetto Nell'elenco a discesa selezionare Nome entità utente (UPN) con un valore di {{UserPrincipalName}}
Periodo di validità del certificato Configurare un valore a scelta Provider di archiviazione chiavi (KSP) Registra in Windows Hello for Business, in caso contrario non riesce Utilizzo delle chiavi Firma digitale Dimensioni chiave (bit) 2048 Per l'algoritmo hash SHA-2 Certificato radice Selezionare +Certificato radice e selezionare il profilo certificato attendibile creato in precedenza per il certificato CA radice Utilizzo esteso delle chiavi - Nome:Accesso smart card
-
Identificatore oggetto:
1.3.6.1.4.1.311.20.2.2
- Valori predefiniti:Non configurati
- Nome:Autenticazione client
-
Identificatore oggetto:
1.3.6.1.5.5.7.3.2
- Valori predefiniti:Autenticazione client
Soglia di rinnovo (%) Configurare un valore a scelta URL del server SCEP Specificare gli endpoint pubblici configurati durante la distribuzione dell'infrastruttura SCEP Selezionare Avanti
Nel pannello Assegnazioni assegnare i criteri a un gruppo di sicurezza che contiene come membri i dispositivi o gli utenti che si desidera configurare e selezionare Avanti
Nel pannello Regole di applicabilità configurare le restrizioni di rilascio, se necessario, e selezionare Avanti
Nel pannello Rivedi e crea esaminare la configurazione dei criteri e selezionare Crea
Per altre informazioni su come configurare i criteri SCEP, vedere Configurare i profili certificato SCEP in Intune. Per configurare i criteri PKCS, vedere Configurare e usare il certificato PKCS con Intune.
Attenzione
Se si distribuiscono i certificati tramite Intune e si configurano Windows Hello for Business tramite Criteri di gruppo, i dispositivi non riusciranno a ottenere un certificato, registrando il codice 0x82ab0011
di errore nel DeviceManagement-Enterprise-Diagnostic-Provider
log.
Per evitare l'errore, configurare Windows Hello for Business tramite Intune anziché criteri di gruppo.
Usare autorità di certificazione non Microsoft
Se si usa un'infrastruttura a chiave pubblica non Microsoft, i modelli di certificato pubblicati nel Active Directory locale potrebbero non essere disponibili. Per indicazioni sull'integrazione di Intune/SCEP con distribuzioni PKI non Microsoft, vedere Usare autorità di certificazione non Microsoft con SCEP in Microsoft Intune.
In alternativa all'uso di SCEP o se nessuna delle soluzioni trattate in precedenza funziona nell'ambiente, è possibile generare manualmente richieste di firma del certificato (CSR) per l'invio all'infrastruttura a chiave pubblica. Per semplificare questo approccio, è possibile usare il cmdlet di PowerShell Generate-CertificateRequest .
Il Generate-CertificateRequest
cmdlet genera un .inf
file per una chiave di Windows Hello for Business preesistente. Può .inf
essere usato per generare manualmente una richiesta di certificato usando certreq.exe
. Il commandlet genera anche un .req
file che può essere inviato all'infrastruttura a chiave pubblica per un certificato.
Verificare che il certificato sia distribuito
Per verificare che il certificato sia distribuito correttamente nel contenitore Windows Hello for Business, usare il comando seguente:
certutil -store -user my
L'output elenca le chiavi e i certificati archiviati nell'archivio utenti. Se un certificato emesso dalla CA viene distribuito nel contenitore Windows Hello for Business, l'output visualizza il certificato con il Provider
valore Microsoft Passport Key Storage Provider
.
Ad esempio:
C:\Users\amanda.brady>certutil -store -user my
my "Personal"
================ Certificate 0 ================
Serial Number: 110000001f4c4eccc46fc8f93a00000000001f
Issuer: CN=Contoso - Issuing CA, DC=CONTOSO, DC=COM
NotBefore: 12/8/2023 6:16 AM
NotAfter: 12/7/2024 6:16 AM
Subject: CN=amanda.brady@contoso.com
Non-root Certificate
Template: 1.3.6.1.4.1.311.21.8.2835349.12167323.7094945.1118853.678601.83.11484210.8005739
Cert Hash(sha1): 63c6ce5fc512933179d3c0a5e94ecba98092f93d
Key Container = S-1-12-1-../../login.windows.net/../amanda.brady@contoso.com
Provider = Microsoft Passport Key Storage Provider
Private key is NOT exportable
Encryption test passed
Esperienza utente
Una volta ottenuto il certificato, gli utenti possono eseguire RDP in qualsiasi dispositivo Windows nella stessa foresta di Active Directory dell'account Active Directory degli utenti aprendo Connessione Desktop remoto (mstsc.exe
). Quando ci si connette all'host remoto, viene richiesto di usare Windows Hello for Business per sbloccare la chiave privata del certificato.
Microsoft Entra dispositivo aggiunto
L'utente può eseguire l'autenticazione usando qualsiasi movimento di sblocco Windows Hello disponibile, inclusa la biometria.
Microsoft Entra dispositivo aggiunto ibrido
Il prompt delle credenziali identifica il provider di credenziali Windows Hello come credenziali del dispositivo di sicurezza. L'utente deve usare il provider di credenziali PIN per sbloccare.
Ecco un breve video che mostra l'esperienza utente di un dispositivo aggiunto Microsoft Entra usando l'impronta digitale come fattore di sblocco:
Nota
L'utente deve essere autorizzato a connettersi al server remoto usando il protocollo Desktop remoto, ad esempio facendo parte del gruppo locale Utenti desktop remoto nell'host remoto.
Compatibilità
Anche se gli utenti apprezzano la comodità della biometria e gli amministratori apprezzano la sicurezza, potrebbero verificarsi problemi di compatibilità con le applicazioni e i certificati Windows Hello for Business. In questi scenari, è possibile distribuire un'impostazione di criteri per ripristinare il comportamento precedente per gli utenti che ne hanno bisogno.
Per altre informazioni, vedere Usare i certificati Windows Hello for Business come certificato smart card
Problemi noti
Si è verificato un problema noto durante il tentativo di eseguire l'autenticazione client TLS 1.3 con un certificato Hello tramite RDP. L'autenticazione non riesce con l'errore : ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED
. Microsoft sta esaminando le possibili soluzioni.