Bez lozinke sa pristupnim ključevima u Windows-u i .NET-u

Vreme je da se rešimo lozinki. Microsoft ima alatke koje će vam pomoći da počnete.

Autor: Simon Bisson

Lozinke su problem. Mada ostaju glavni način na koji obezbeđujemo aplikacije, usluge i sisteme, one su sve ranjivije. Računarstvo u oblaku olakšava grubo forsiranje vrednih lozinki, dok loše osmišljene politike lozinki podstiču korisnike na svojstveno rizično ponašanje. I dok menadžeri lozinki olakšavaju posedovanje zasebnih složenih lozinki za sva mesta na kojima su nam potrebne, druge „bezbednosne“ politike nas sprečavaju da te lozinke koristimo.

Ono što je trebalo da bude bezbedan internet sve je manje bezbedno,  u opasnosti su naši fajlovi, podaci i finansije. Oko nas je još uvek Divlji zapad, a pitanje je ko će osvojiti tu krajinu? Dobri momci ili bezbroj loših aktera?

Jedna opcija je napuštanje lozinki i prelazak u svet bez lozinki gde biometrija i jaka kriptografija osiguravaju bolju bezbednost, tako što u saradnji sa našim hardverom dodaju nove slojeve zaštite. Napuštanjem sve složenijih lozinki koje se teško pamte i učenjem da se oslanjamo na bezbedan hardver, možemo da iskoristimo prednosti kriptografski složenih ključeva koje je teško ukrasti i teško provaliti.

Windows kao bezbedna platforma

Microsoft je stavio bezbednost u srce operativnog sistema Windows 11, zahtevajući procesore koji podržavaju ključne kriptografske standarde, kao i hardver koji je izgrađen oko TPM-ova (trusted platform modules – modula pouzdane platforme). Sada kompanija nastavlja tim stremljenjem da na svoje platforme uvede autentifikaciju bez lozinke i podstiče programere da koriste iste alate i API-je u svom sopstvenom kodu.

U srcu Microsoftovog pristupa su dve ključne tehnologije: Windows Hello i protokol WebAuthn. Windows Hello je skup API-ja koji rade sa Windowsovim sertifikovanim biometrijskim senzorima, bilo 3D kamerama za lice ili senzorima otiska prsta, kako bi obezbedili verifikovan identitet korisnika uređaja. Početni biometrijski podaci se snimaju tokom upisa, a heš se čuva u bezbednom skladištu TPM-a. Ti podaci se koriste za kreiranje akreditiva koji je vezan za uređaj. Kombinacija korisnika i uređaja stvara jedinstveni identifikator koji se može koristiti za autentifikaciju kod otključavanja, bilo kao primarna ili kao sekundarna identifikacija.

FIDO2 pristupni ključevi i Windows Hello

Windows Hello se od dela Windows postupka prijavljivanja razvio u komponentu Windows implementacije protokola za potvrdu identiteta FIDO2, zajedno sa WebAuthn-om. Sada Windows Hello može biti vezan za pristupne ključeve (engl. passkey), uobičajeno ime za akreditive koje FIDO2 može da otkrije. Pristupni ključevi se koriste i za autentifikaciju i za potvrđivanje korisnika, obezbeđujući i identifikaciju i verifikaciju, automatizujući složenost modernog procesa autorizacije.

Pristupni ključevi kojima upravlja Windows Hello su „ključevi vezani za uređaj“ vezani za vaš računar. Windows može da podržava i druge pristupne ključeve, na primer pristupne ključeve uskladištene na obližnjem pametnom telefonu ili na modernom bezbednosnom tokenu. Postoji čak i opcija korišćenja drugih učesnika za obezbeđivanje i upravljanje pristupnim ključevima, na primer putem bankarske aplikacije ili veb usluge.

Podrška za Windows pristupne ključeve vam omogućava da sačuvate ključeve na uređajima drugih učesnika. Možete za prenos podataka lozinke na uređaj da koristite QR kôd, ili ako je u pitanju povezani Android pametni telefon, možete ih preneti preko lokalne bežične veze. U oba slučaja, uređajima je potreban biometrijski senzor identiteta i sigurno skladište. Kao alternativa, Windows će raditi sa bezbednosnim ključevima spremnim za FIDO2, čuvajući pristupne ključeve na YubiKey-ju ili sličnom uređaju. Dijalog Windows Security vam pomaže da izaberete gde i kako ćete čuvati svoje ključeve.

Ako čuvate ključ u operativnom sistemu Windows, od vas će biti zatraženo da potvrdite svoj identitet koristeći Windows Hello pre nego što se uređaj lokalno sačuva. Ako koristite Windows 11 22H2 ili noviji, pristupnim ključevima možete da upravljate preko podešavanja operativnog sistema Windows.

Dodajte FIDO2 svojim .NET aplikacijama

Prednosti Windows-ove podrške za FIDO2 i WebAuthn API-je možete da iskoristite da biste u vašem kodu radili sa jakim akreditivima. Veliki deo neophodnih funkcionalnosti ugrađen je u pretraživač Edge, sa JavaScript API-jima za veb aplikacije. Skup Win32 API-ja pruža podršku za C i C++, koji se mogu koristiti kao osnova za .NET biblioteke.

Da biste u svoje aplikacije brzo počeli da dodajete funkcije rada bez lozinke, možete koristiti biblioteku FIDO2 .NET, dostupnu na GitHub-u i kojom upravlja .NET Foundation. Kao i većina .NET biblioteka, biblioteka FIDO2 se može dodati u vaš kôd preko NuGet-a. Biblioteka radi sa svim .NET aplikacijama uključujući veb kôd ASP.NET Core.

Biblioteka FIDO2 .NET sadrži sve što vam je potrebno za ugradnju FIDO2 podrške u aplikacije, od registracije korisnika do njihove verifikacije, uz podršku za sve klase autentifikatora uključujući Windows Hello. Može se koristiti za osnovnu multifaktorsku autentifikaciju (MFA), kao i za složenije scenarije bez lozinke. Možda biste želeli da razmislite o tome da ga koristite za MFA kao prvi korak u prelasku korisnika na bezbednije tehnike autentifikacije, omogućavajući im da se naviknu na korišćenje drugog uređaja kao dela procesa prijavljivanja.

Autentifikacija bez lozinke u .NET-u

Kada implementirate MFA rešenje, možete ga nadograđivati funkcijama bez lozinke. To je možda jedan od najvažnijih aspekata FIDO2 – dizajniran je da podrži put od tradicionalne autentifikacije do modernijih tehnika, i na kraju do korišćenja pristupnih ključeva.

Nije teško koristiti biblioteku FIDO2 .NET kao deo servera. Najpre kreirate novog korisnika sa korisničkim imenom i imenom za prikaz. Biblioteka može da proveri da li korisnik već ima akreditive uskladištene na njegovoj mašini ili u spoljnom skladištu. Opcije usluge atestiranja se isporučuju zahtevajućem klijentu, a prikazuju se pomoću njegove FIDO2 implementacije. Klijent kreira i čuva pristupni ključ i sačuva akreditive. Kada zahtevajući klijent vrati potrebne atestacione podatke, možete korisničke podatke kreirati dodavanjem akreditiva u skladište servera, zajedno sa korisničkim ID-om.

Prijavljivanje na uslugu je obrnut proces. Server prima ID korisnika od klijenta, proverava da li postoji i zahteva potvrdu. Klijent koristi biometriju da otključa pristupni ključ i šalje podatke o proveri serveru, gde se verifikuje korišćenjem FIDO2 funkcija kriptografije javnog ključa. Konačno, nakon verifikacije, korisniku je dozvoljeno da koristi uslugu. Ne mora se unositi lozinka; sve što je potrebno za pristup obrađuje lokalno skladište ključeva na njihovom računaru ili telefonu. Klijentova implementacija FIDO2 obezbeđuje te akreditive serveru nakon prolaska biometrije.

Bitwarden API-ji bez lozinke

Još jedna dobra opcija su Bitwardenovi API-ji Passwordless.dev. Oni nude brz način da se postojećim aplikacijama doda podrška za pristupne šifre, zajedno sa okvirom za upravljanje zasnovanim na oblaku za akreditive i neophodnim kriptografskim okvirom. Bitwarden takođe nije preskup. Besplatan nalog vam daje podršku za jednu aplikaciju i 10.000 korisnika. Veće primene bi mogle da koriste profesionalni nalog, koji nudi podršku za neograničen broj aplikacija za 0,05 USD po korisniku mesečno za prvih 10.000 korisnika, dok za dodatne korisnike pada na 0,01 USD po korisniku mesečno. Ako više volite da se povežete sa postojećom infrastrukturom za autentifikaciju, kao što je Microsoft Entra ID, poslovni plan košta 3 USD po korisniku mesečno.

FIDO2 i povezane šeme bez lozinke su mnogo bezbedniji način kontrole pristupa aplikacijama i uslugama. Pošto Windows sada pruža podršku za kreiranje i upravljanje pristupnim ključevima, vreme je da počnete da razmišljate o korišćenju ovih alata u svom kodu, koristeći Windows biometrijske alate za kontrolu pristupa, a za upravljanje ključevima TPM-ove i hardver za potvrdu identiteta sposoban za FIDO2. Što se više oslanjamo na ove tehnologije, to više smanjujemo rizik za sve.

Izvor:  InfoWorld