Trei dispozitive cu același conector și aceeași verigă de chei participă la trei schimburi fără legătură. Unul afișează un cod pe care un server îl verifică, altul semnează cu o cheie care nu părăsește niciodată dispozitivul, iar al treilea aprobă o autentificare din browser printr-un protocol propriu. Prin urmare, întrebarea dacă un VPN ar trebui să folosească certificate sau tokenuri hardware compară un format cu o clasă de dispozitive. Răspunsul depinde de care dintre cele trei l-ați cumpărat efectiv.

Numiți dovada înainte de dispozitiv

Un token cu cod de unică folosință produce o valoare pe care un serviciu de autentificare o validează prin propriul mecanism. VPN-ul poate ajunge la acel serviciu prin RADIUS sau printr-un furnizor de identitate federat, iar tokenul nu trebuie să păstreze niciodată ceva ce aparține tunelului însuși. Ceea ce demonstrează este că persoana deține dispozitivul care generează codul. Nu demonstrează nimic despre mașina pe care a fost tastat codul.

Un token de tip card inteligent stochează o cheie privată și execută operația de semnare la cerere, astfel identitatea certificatului este dovedită fără a exporta cheia. Certificatul din apropiere este material public, iar predarea acelui certificat este o acțiune complet diferită de predarea cheii.

O cheie FIDO vorbește din nou un al treilea protocol. Autentificarea din browser o poate folosi la furnizorul de identitate, dar succesul pe acel site nu înseamnă că aceeași cheie va apărea prin interfața de card inteligent a unui client VPN.

Unele dispozitive implementează mai multe dintre aceste aplicații una lângă alta, iar documentația producătorului enumeră modurile separat exact din acest motiv. Nu este o dovadă că fiecare cheie de pe piață suportă fiecare mod.

Hardware-ul protejează cheia, nu politica

Un PIN pe un dispozitiv cu certificat autorizează de obicei utilizarea locală a cheii și nu este parola pe care o verifică sistemul de conturi VPN. Ghiduri precum ghidurile NIST despre autentificatori numesc acea introducere locală secret de activare, distinct de autentificatorul în sine. Siguranța vine din întregul design, nu din numărul de solicitări de pe ecran.

Înregistrarea, reînnoirea și eliminarea rămân în orice caz la proprietarul identității. Cineva decide în continuare cine se poate înregistra, leagă credentialul de persoana corectă și face posibilă înlocuirea atunci când un dispozitiv se pierde. Cumpărarea unei chei noi nu o revocă pe cea veche.

Descrieți ceremonia de autentificare înainte de a alege hardware: utilizatorul tastează un cod, deblochează o cheie de semnare sau aprobă o solicitare a browserului? Fiecare răspuns implică un alt client, o altă setare de gateway și un alt scenariu pentru serviciul de asistență.

Unde fluxurile diverg în practică

Un token cu cod este cel mai ușor de implementat și cel mai slab împotriva unei pagini de imitație convingătoare, pentru că un cod tastat poate fi retransmis în timp real. O cheie cu certificat rezistă acelei clase de atac și costă mai mult de operat, deoarece emiterea și revocarea devin parte din serviciu. O cheie FIDO stă cu autentificarea web și depinde în întregime de faptul dacă furnizorul de identitate o suportă pentru această aplicație.

Mediile mixte sunt obișnuite și nu sunt automat greșite: un certificat pentru tunel plus un token cu cod pentru consola administrativă este o separare coerentă, cu condiția ca ambele să fie înregistrate față de aceeași identitate. Ceea ce se rupe este o separare pe care nimeni nu a documentat-o, unde serviciul de asistență nu poate spune ce factor îi lipsește unui utilizator.

Faceți decizia concretă

Scrieți ceremonia ca o succesiune de pași pe care îi execută un utilizator real, apoi verificați că clientul, gateway-ul și furnizorul de identitate susțin toți acea succesiune. Neconcordanța apare de obicei la ultimul pas, când clientul nu poate deloc să adreseze dispozitivul.

Apoi confirmați ce se întâmplă când dispozitivul se pierde sau certificatul expiră. Dacă acel răspuns nu este scris, implementarea are o lacună care va fi descoperită într-o dimineață de luni.

pkcs11-tool --list-slots
pkcs11-tool --list-objects --type cert

Articole similare