Abilitare il passwordless sign-in per Azure AD e per Microsoft 365 / Office 365 utilizzando una security key FIDO2

Da una decina di giorni circa, è possibile abilitare il passwordless sign in anche per gli account di Azure Active Directory, utiizzando una security key che supporta gli standard FIDO2 (Fast IDentity Online) e CTAP2 (Client-to-Authenticator Protocol). Attualmente la funzionalità è in preview, ma già da tempo viene utilizzata per accedere al Microsoft Account, come ho già avuto modo di scrivervi nell’articolo Passwordless login al Microsoft Account con Windows Hello e con Yubikey

La gestione delle password è sempre stata critica sia per gli utenti e che per gli amministratori di sistema e spesso è causa di accessi da parte di malintenzionati per via della scarsa cura che gli utenti ne hanno oppure della semplicità delle password utilizzate.

Accedere senza password (passwordless sign in) è una delle funzionalità che ultimamente Microsoft sta promuovendo maggiormente e i dispositivi biometrici, ormai diffusi in tutti i computer portatili, possono essere utilizzati per accedere a Windows e alle applicazioni web. A partire da Windows 10, versione 1809 (October 2018 Update), sono state diverse le novità introdotte da Microsoft per favorire gli utenti ed evitare sempre di più l’utilizzo delle password per effettuare l’autenticazione, a fronte dell’utilizzo di security key oppure di App installate in uno smartphone.

I concentti di base sull’autenticazione passworless sono ben descritti nell’articolo What is passwordless?

Prerequisiti

Per poter utilizzare il passwordless sign in con Azure AD è necessario avere:

  • Una security key compatibile con FIDO2
  • Aver abilitato Azure Multi-Factor Authentication (MFA)
  • Windows 10 versione 1809 e successive
  • Un browser che supporti il protocollo WebAuthn per l’autenticazione delle applicazioni web (al momento è possibile usare solo Microsoft Edge)

Per approfondimenti sul protocollo WebAuthN vi rimando alla lettura del documento https://www.w3.org/2018/Talks/06-WebAuthn.pdf

Per la realizzazione di questo articolo ho utilizzato una security Yubikey prodotta dalla Yubico che riesce a gestire la multi-factor authentication e la passwordless authentication.

Abilitazione della passwordless authentication come metodo di autenticazione

Per poter utilizzare la passwordless authentication come metodo di autenticazione è necessario prima di tutto collegarsi al portale Azure e da Azure Active Directory > User Settings cliccare sul collegamento Manage user feature preview settings

Figura 1: Abilitazione della funzionalità di Preview in Azure Active Directory

Dal blade User feature previews selezionate in Users can use preview features for registering and managing security info – enhanced quale gruppo di utenti volete abilitare per poter testare le funzionalità in anteprima. Potete scegliere anche di abilitare la funzionalità per tutti gli utenti. Io ho scelto di abilitarla solo per un gruppo chiamato ICTPower Crew. Cliccate su Save per confermare la vostra scelta.

Figura 2: Abilitazione della funzionalità di anteprima solo per un gruppo di Azure AD

Navigate quindi in Azure Active Directory > Authentication methods > Authentication method policy (Preview) per abilitare il metodo da utilizzare. Cliccate su FIDO2 Security Key e abilitate la funzionalità. Non modificate altri parametri, perché al momento della stesura di questo articolo la funzionalità è ancora in preview e la key restriction policy non
funziona. Sarà disponibile al momento della general availability.

Figura 3: Abilitazione dell’uso della FISO2 Security Key come metodo di autenticazione passwordless

Registrazione della Security Key

Per poter registrare ed associare la propria security key all’account di Azure AD, ogni utente dovrà andare nel proprio profilo utilizzando il link https://myprofile.microsoft.com e modificare le Security Info. Dallo stesso link sarà possibile gestire anche le funzionalità di Multi-Factor Authentication.

Se l’utente ha già abilitato la Azure MFA potrà aggiungere direttamente la Security Key, altrimenti deve aggiungere almeno un metodo di autenticazione Azure MFA. L’account con cui mi sono loggato ha già abilitato Azure MFA e cliccando sul bottone +Add method ho potuto scegliere dal menù a tendina di aggiungere la Security Key.

Figura 4: Aggiunta del nuovo metodo di autenticazione basato su una Security Key

Poiché le Security Key possono essere sia USB che NFC (comode da utilizzare con uno smartphone), vi verrà presentato un menù da cui scegliere il tipo di chiave

Figura 5: Scelta del tipo di Security Key tra USB e NFC

Verrete a questo punto reindirizzati ad una pagina di login e vi verrà chiesto di inserire la vostra Security Key. Dopo l’inserimento della chiave dovrete proteggere l’accesso alla chiave con un PIN. Il PIN dovrà essere inserito ogni volta che vorrete utilizzare la Security Key per autenticarvi.

Figura 6: Configurazione di un PIN per utilizzare la Security Key

Dopo la configurazione del PIN sarà necessario toccare la chiave per attivarla.

Figura 7: Per utilizzare la chiave è necessario “toccarla”

Poiché è possibile utilizzare diverse chiavi per uno stesso account di Azure AD, vi verrà chiesto di inserire un nome descrittivo per distinguere facilmente le diverse Security Key.

Figura 8: Scelta del nome della Security Key per poterle distinguere facilmente

Figura 9: Associazione della Security Key all’account id Azure AD completata

Utilizzo della security Key per il login passwordless ad Azure AD

Per poter testare il login passwordless ad Azure AD (e quindi ad Office 365 o a Microsoft 365) dovrete servirvi di un browser che supporti il  protocollo WebAuthn e le Web Authentication API, che sono utilizzate dai browser più recenti, compresi Google Chrome (dalla versione 67 in poi https://developers.google.com/web/updates/2018/05/webauthn ) e Mozilla Firefox (dalla versione 60 in poi https://www.mozilla.org/en-US/firefox/60.0/releasenotes/ ).

Al momento della stesura di questa guida però l’unico browser funzionante è Microsoft
Edge. Mi sono collegato alla pagina di login di Office 365 e sono stato reindirzzato al sito https://login.microsoftonline.com. Nella finestra che si è aperta ho cliccato sul link Sign-in options

Figura 10: Test del login passwordless

A questo punto nel browser mi è stata presentata la possibilità di utilizzare Windows Hello oppure una Security Key

Figura 11: Tra le opzioni disponibili per il Sign-in c’è anche la Security Key

Vi verrà chiesto di inserire il PIN della Security Key e successivamente di confermare il login “toccando” la chiave, come mostrato nelle figure sotto:

Figura 12: Inserimento del PIN della Security Key

Figura 13: Richiesta di “toccare” la chiave per confermare l’autenticazione

È interessante notare che se utilizzate la stessa chiave per diversi account, vi verrà chiesto quale account utilizzare per il login e tutto questo senza digitare nulla dalla tastiera!

Figura 14: Richiesta di scelta dell’account di Azure AD con cui effettuare il login nel caso usiate la stessa security key con account differenti

Effettuare il Sign In a Windows 10 utilizzando una Security Key

Oltre ad effettuare il login ai siti web, è possibile utilizzare una security key per effettuare il login a Windows 10, a patto che utilizziate Windows 10, versione 1809 e successive e che Windows 10 sia stato joinato ad Azure AD. Se la vostra macchina non è gestita da Intune, sarà necessario prima creare un provisioning package che dovrà essere installato per abilitare la funzionalità ed aggiungere il nuovo credential provider.

Per creare un provisioning package dovete utilizzare Windows Configuration Designer (contenuto nel Windows Assessment and Deployment Kit), che potete scaricare dal link https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install

Dopo aver scaricato il Windows Assessment and Deployment Kit (Windows ADK) potete seguire le indicazioni riportate nelle figure sotto per procedere all’installazione del Windows Configuration Designer

Figura 15: Percorso di installazione di Windows Assessment and Deployment Kit (Windows ADK)

Figura 16: Scelta dell’invio anonimo delle statistiche

Figura 17: Accettazione della licenza di Windows Assessment and Deployment Kit (Windows ADK)

Figura 18: Scelta dell’installazione del Configuration Designer

Figura 19: Installazione del Configuration Designer completata

Completata l’installazione del Windows Configuration Designer potete lanciare il software dal menù avvio e scegliere di creare un nuovo progetto da FileàNew Project

Figura 20: Creazione di un nuovo progetto in Windows Configuration Designer

Scegliete di creare un progetto per All Windows Desktop editions

Figura 21: Creazione di un progetto per All Windows Desktop editions

Navigate in Runtime settings > WindowsHelloForBusiness > SecurityKeys > UseSecurityKeyForSignIn e mettete su Enabled la voce UseSecurityKeyForSignIn

Figura 22: Abilitazione della funzionalità UseSecurityKeyForSignIn

Da Export > Provisioning package lasciate tutte le voci inalterate e completate la creazione del progetto con Build

Figura 23: Esportazione del progetto di Windows Configuration Designer

Figura 24: Creazione del provisioning package

Figura 25: Creazione del provisioning package completata

Nella cartella dove avete deciso di salvare il provisioning package troverete due file (con estensione ppkg e cat), che potrete utilizzare per installare il pacchetto di aggiornamento.

Figura 26: File (ppkg e cat) da utilizzare per installare il provisioning package

L’installazione del pacchetto avviene semplicemente cliccando sul file .ppkg

Figura 27: Installazione del provisioning package per l’aggiunta del nuovo credential provider

Verifica di funzionamento

Dopo aver installato il nuovo credential provider sarà possibile effettuare il sign-in a Windows 10 utilizzando la Security Key associata all’utente di Azure AD. Nella schermata di login infatti vedrete una nuova Sign-in Option raffigurante una chiave. Inserite la security key, digitate il PIN associato alla security key e poi cliccate sulla chiave per effettuare l’accesso a Windows

Figura 28: Inserimento della Security Key associata all’utente di Azure AD

Figura 29: Inserimento del PIN associato alla Security Key

Conclusioni

Il passwordless sign-in utilizzando una Security Key è decisamente una funzionalità interessante. L’accesso passwordless garantisce che ci si possa autenticare in modo molto semplice ma allo stesso tempo molto più sicuro. Il protocollo WebAuthn e lo standard FIDO2 sono pensati per gestire al meglio le nostre credenziali di accesso. Per ulteriori informazioni potete fare riferimento alla pagina Enable passwordless sign in for Azure AD (preview)