În OpenSSH a fost adăugat suport pentru autentificarea universală cu două factori.

În baza de cod OpenSSH a fost adăugată suport experimental pentru autentificarea cu doi factori folosind dispozitive care suportă protocolul U2F, dezvoltat de alianță FIDO. U2F permite crearea de token-uri hardware ieftine pentru confirmarea prezenței fizice a utilizatorului, interacțiunea cu care se realizează prin USB, Bluetooth sau NFC. Castele de acest tip sunt promovate ca un mijloc de autentificare cu doi factori pe site-uri, fiind deja susținute de majoritatea browserelor și fiind produse de diverși manufacturatori, inclusiv Yubico, Feitian, Thetis și Kensington.

Pentru interacțiunea cu dispozitivele care confirmă prezența utilizatorului, OpenSSH a adăugat un nou tip de cheie „sk-ecdsa-sha2-nistp256@openssh.com” („ecdsa-sk”), care utilizează algoritmul de semnătură digitală ECDSA (Elliptic Curve Digital Signature Algorithm) cu curva eliptică NIST P-256 și hash-ul SHA-256. Procedurile de interacțiune cu token-urile sunt extrase într-o bibliotecă intermediară, care se încarcă analog bibliotecii pentru suportul PKCS#11 și reprezintă o legătură peste biblioteca libfido2, care oferă mijloacele de comunicație cu token-urile prin USB (suportă protocoalele FIDO U2F/CTAP 1 și FIDO 2.0/CTAP 2). Biblioteca intermediară pregătită de dezvoltatorii OpenSSH, libsk-libfido2 sistemul de compozitare face parte din libfido2, la fel ca și driverul HID pentru OpenBSD.

Pentru a activa U2F, se poate utiliza o versiune recentă a bazei de cod din a depozitului OpenSSH și ramura HEAD a bibliotecii libfido2, care include deja stratul necesar pentru OpenSSH.
Libfido2 suportă funcționarea pe OpenBSD, Linux, macOS și Windows.

Pentru autentificare și generarea cheii, trebuie să setați variabila de mediu SSH_SK_PROVIDER, specificând calea către libsk-libfido2.so (export SSH_SK_PROVIDER=/path/to/libsk-libfido2.so), sau să definiți biblioteca prin configurarea SecurityKeyProvider, după care să rulați „ssh-keygen -t ecdsa-sk” sau, dacă cheile sunt deja create și configurate, să vă conectați la server folosind „ssh”. Atunci când se rulează ssh-keygen, perechea de chei creată va fi salvată în „~/.ssh/id_ecdsa_sk” și poate fi utilizată similar altor chei.

Cheia publică (id_ecdsa_sk.pub) trebuie copiată pe server în fișierul authorized_keys. Pe partea serverului se verifică doar semnătura digitală, iar interacțiunea cu tokenurile se face pe partea clientului (nu este necesară instalarea libsk-libfido2 pe server, dar serverul trebuie să suporte tipul de chei „ecdsa-sk”). Cheia privată generată (id_ecdsa_sk) este de fapt un descriptor al cheii, formând cheia reală doar în combinație cu secvența secretă, păstrată pe partea tokenului U2F.

În cazul în care cheia id_ecdsa_sk ajunge în mâinile unui atacator, pentru a trece autenticarea, acesta va avea de asemenea nevoie de acces la tokenul hardware, fără de care cheia privată salvată în fișierul id_ecdsa_sk este inutilă. De asemenea, prin default, pentru orice operațiune cu cheile (atât la generarea, cât și la autentificare) este necesară o confirmare locală a prezenței fizice a utilizatorului, de exemplu, este solicitat să atingă senzorul de pe token, ceea ce complică desfășurarea atacurilor la distanță asupra sistemelor cu tokenul conectat. Ca un alt nivel de protecție, la etapa de lansare a ssh-keygen poate fi stabilit, de asemenea, o parolă pentru accesul la fișierul cu cheia.

Cheia U2F poate fi adăugată în ssh-agent prin „ssh-add ~/.ssh/id_ecdsa_sk”, dar ssh-agent trebuie să fie compilat cu suport pentru cheile „ecdsa-sk”, trebuie să existe un strat de libsk-libfido2, iar agentul trebuie să ruleze pe sistemul la care se conectează tokenul.
Un nou tip de chei „ecdsa-sk” a fost adăugat deoarece formatul cheilor ecdsa în OpenSSH diferă de formatul U2F pentru semnăturile digitale ECDSA prin existența unor câmpuri suplimentare.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster