web analytics

WSL Hello Sudo: l’autenticazione Windows Hello funziona su Linux!

Torniamo a parlare di WSL 2 (Windows Subsystem for Linux) dopo il recente articolo sull’aggiornamento del kernel via Windows Update. Microsoft sta migliorando il WSL ad ogni aggiornamento di Windows 10, nonostante ciò alcune funzionalità non sono ancora disponibili. Ad esempio, gli utenti non possono utilizzare alcuna autenticazione biometrica all’interno delle distribuzioni Linux. È qui che entrano in gioco gli sviluppatori di terze parti. Takaya Saeki, uno sviluppatore giapponese, ha ideato uno strumento ingegnoso che consente di sfruttare l’autenticazione biometrica di Windows Hello su Linux attraverso il WSL. Grazie a WSL Hello sudo, è possibile sostituire le password tradizionali con un’impronta digitale, un riconoscimento facciale o un semplice PIN per l’autenticazione all’interno del WSL.

WSL Hello Sudo

Gli utenti che possono utilizzare sudo in Linux vengono definiti in un file speciale (sudoers). Un sudoer deve inserire la sua password per autenticarsi. Qui entra in gioco WSL Hello sudo. Si tratta di un Pluggable Authentication Module (PAM) open source scritto in Rust. È compatibile con la prima e la seconda generazione del WSL. Come funziona? ecco una breve spiegazione dello sviluppatore:

Windows Hello salva le coppie di chiavi RSA per ogni utente Windows nel TPM. Per utilizzare quest’API, “WSL Hello sudo” ricorda la chiave pubblica di ogni utente e sfrutta una CLI app in Windows scritta in C#.

hello sudo wsl gif

In breve il modulo PAM autentica l’utente Linux tramite il seguente processo:

  1. Viene innescato quando riceve una richiesta di autenticazione
  2. Viene inviato un valore casuale tramite il bridge del WSL
  3. Viene richiamato Windows Hello
  4. Windows Hello va a crittografare sfruttando la chiave privata dell’utente corrente l’input ricevuto
  5. L’app restituisce la firma
  6. Il modulo PAM verifica la firma ricevuta tramite la chiave pubblica dell’utente Windows che corrisponde al dato utente Linux

Tutto questo processo apparantemente complesso in realtà dura una frazione di secondo.

Come installarlo

Curiosi di provarlo? Il processo di installazione è semplice e alla portata di tutti. Innanzitutto, ça va sans dire, è necessario avere il WSL configurato e pronto: qui trovate la nostra guida in merito. Per prima cosa scaricate l’ultimo pacchetto disponibile dalla pagina ufficiale su GitHub. Lanciate install.sh e seguite le istruzioni a video. La CLI app di cui vi parlavo sopra viene messa di default in C:\Users\your_account\pam_wsl_hello mentre il modulo PAM è installato all’interno del WSL e il file di configurazione è in /etc/pam_wsl_hello/. Per ulteriori dettagli e troubleshooting vi rimando alla pagina ufficiale su GitHub.

sharing-caring-1Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.