Conectați-vă la un client VPN care cere mai întâi o parolă și apoi un cod din șase cifre, și două solicitări arată ca două bariere independente. Numărate după tipul factorului, chiar sunt: parola este ceva ce știți, codul este ceva ce dețineți. Numărate după ce expune un singur laptop compromis, ele pot colapsa într-o singură graniță, pentru că ceea ce dețineți este un fișier pe mașina în care tastați. Diferența dintre aceste două numărători este subiectul acestei prezentări.

Urmăriți o singură autentificare de la câmpul de parolă la câmpul de cod

Urmăriți secvența, nu etichetele. Clientul trimite parola, serverul răspunde că este necesară o a doua dovadă, iar clientul deschide un câmp pentru șase sau opt cifre. În spatele acelui câmp se află o aplicație generator care păstrează un secret partajat și un ceas. Ea calculează o valoare din secret și din pasul de timp curent, iar serverul recalculează aceeași valoare din copia sa a secretului.

Ambele părți păstrează același material de cheie. Această simetrie este partea pe care oamenii o ratează când descriu codul ca pe un secret: furnizorul poate genera și codurile dumneavoastră, de aceea sămânța valorează mai mult decât orice ieșire individuală. Un cod care se scurge este o valoare de unică folosință; sămânța care l-a produs este o acreditare permanentă care continuă să producă valori valide până când este înlocuită.

Activarea este cealaltă jumătate a fluxului. Un generator care se deblochează cu un cod al dispozitivului, cu o solicitare biometrică sau cu un container criptat prezintă o dovadă de deținere plus altceva. Unul care rulează necriptat și se deblochează cu sesiunea sistemului de operare prezintă doar fișierul. Aceeași aplicație poate oferi ambele aranjamente în funcție de modul în care a fost făcută înregistrarea, așa că decizia de implementare se află în acel pas, nu pe pagina de marketing a aplicației.

Decideți ce dovedește de fapt codul

Limbajul standardelor este neobișnuit de clar aici și merită citit direct. Ghidul NIST privind autentificatorii enumeră generatoarele OTP software ca autentificatori, distinge OTP cu un singur factor de OTP cu mai mulți factori cu un factor de activare și afirmă că autentificarea OTP nu este rezistentă la phishing. Fiecare dintre aceste trei clauze schimbă ceea ce puteți susține despre solicitare.

Lipsa rezistenței la phishing este muchia cea mai ascuțită. Un cod tastat într-un câmp poate fi tastat în câmpul altcuiva, în timp real, de o persoană care a fost convinsă să facă asta. Fereastra este scurtă, ceea ce reduce numărul de încercări utile dar nu închide tehnica. Dacă cerința dumneavoastră include rezistența la asta, OTP este primitiva greșită, indiferent unde rulează generatorul.

Un singur factor versus mai mulți factori este a doua distincție. Un cod care apare fără un pas de activare dovedește deținerea unui fișier și nimic altceva, iar fișierul este doar atât de puternic cât contul care îl poate citi. Adăugați un factor de activare și afirmația se îmbunătățește, deși încă descrie dovada prezentată la autentificare, nu izolarea mașinii care o produce.

Vedeți cât de departe poate ajunge un laptop compromis

Un atacator cu execuție de cod pe stația de lucru nu se limitează la citirea câmpului în care tastați. Sesiunea stabilită după o autentificare reușită este de obicei un token sau un cookie, iar un token poate fi folosit de pe altă mașină fără niciun cod. Dacă aceasta este capacitatea împotriva căreia vă apărați, adăugarea unei a doua solicitări la autentificare schimbă numărul de pași ai atacului, nu rezultatul.

ArrangementWhat it adds at loginWhat it leaves inside the laptop boundary
Password plus TOTP app on the same machineA possession proof the password alone does not supplyThe seed, the unlock step and the authenticated session
TOTP app on a separate phoneSeed storage outside the workstationSession cookies, the typed password and any prompt that can be proxied
Hardware key with a signed challengeA per-login signature bound to the originWhatever the browser and the workstation are already trusted to do

Citiți a treia coloană ca pe cea onestă. Fiecare aranjament de mai sus lasă ceva în interiorul graniței de încredere a stației de lucru, pentru că acolo este folosită sesiunea. Ce se schimbă este dacă secretul de lungă durată călătorește cu acea graniță sau rămâne în afara ei, și dacă dovada este legată de o origine anume, astfel încât o pagină imitată să nu o poată retransmite.

Două detalii mai mici fac parte din aceeași imagine. Un cod rămâne valid pe durata ferestrei sale de acceptare, adesea treizeci de secunde plus o toleranță la abaterea ceasului, așa că o valoare capturată poate fi redată în acea fereastră dacă verificatorul nu refuză reutilizarea. Iar instalarea unui generator nou nu încheie sesiunile care au fost deja autentificate, deci o sesiune veche supraviețuiește schimbării acreditării care ar fi trebuit să limiteze incidentul.

Mutați generatorul doar acolo unde separarea ajută

Punerea generatorului de coduri pe un telefon este o îmbunătățire reală pentru o singură defecțiune: un laptop furat nu mai poartă ambele dovezi. Nu face nimic împotriva deturnării sesiunii pe laptop, nimic pentru un utilizator care tastează un cod într-o pagină de phishing și nimic pentru codurile de recuperare care au fost tipărite o dată și fotografiate într-o aplicație de notițe.

Așa că scrieți cerința înainte de a alege instrumentul. Dacă scopul este o dovadă suplimentară împotriva unei parole compromise, spuneți-o deschis, iar aplicația de pe același dispozitiv o oferă deja. Dacă scopul este rezistența la compromiterea stației de lucru VPN, numiți acea capacitate a atacatorului și alegeți un aranjament evaluat pentru ea, cu cerința de phishing enunțată separat în loc de presupusă.

Apoi tratați jumătatea operațională, care decide dacă ceva din toate acestea supraviețuiește contactului cu un incident. Pierderea unui dispozitiv necesită o cale de înlocuire documentată, rotația acreditărilor necesită revocarea sesiunilor active, iar materialul de înregistrare necesită aceeași protecție ca sămânța, fiindcă o copie de înregistrare neprotejată îi dă atacatorului aceleași coduri viitoare pe o cale mai scurtă. Enumerarea acestor patru puncte este mai utilă decât disputa dacă tokenurile de pe același dispozitiv sunt bune sau fără valoare.

Articole similare