S / CHEIE
În criptografie și informatică, S / KEY este un sistem de parolă unică dezvoltat pentru autentificare pe sisteme de operare asemănătoare Unix , în special de la așa-numitele „terminale proaste” sau de la computere publice în care utilizatorul nu dorește să scrie o parolă la termen lung. Parola reală a utilizatorului este combinată într-un dispozitiv offline cu un set mic de caractere și un contor decremental pentru a forma o parolă unică. Deoarece parola este utilizabilă doar pentru o singură sesiune , utilizarea sniffer -urilor devine inutilă. [1]
Descriere
Setul de caractere nu se schimbă până când contorul de scădere ajunge la zero. Este astfel posibil să se pregătească o listă de parole de unică folosință pe care utilizatorul le poate purta cu el. Alternativ, utilizatorul poate prezenta parola dorită, caracterele și valoarea contorului unui computer local pentru a genera parola corespunzătoare care poate fi apoi transmisă prin rețea în mod clar. Această a doua opțiune este cea mai comună și se rezumă, practic, la o formă de autentificare la provocare-răspuns .
S/KEY este acceptat pe Linux prin PAM , OpenBSD , NetBSD și FreeBSD . În plus, o implementare generică open source permite utilizarea pe orice alt sistem. S / KEY este o marcă comercială a Telcordia Technologies, cunoscută în mod obișnuit ca Bell Communications Research (Bellcore).
S / KEY este denumită și „schema Leslie Lamport”, de la numele autorului. A fost dezvoltat de Neil Haller, Phil Karn și John Walden în laboratoarele Bellcore la sfârșitul anilor 1980. Pe măsură ce brevetele privind criptarea cu chei publice au expirat și utilizarea pe scară largă a SSH și a altor protocoale de criptare care pot securiza întreaga sesiune, nu doar parola, S / KEY a căzut în nefolosire. SecurID este o schemă similară de parolă unică, care este încă utilizată pe scară largă deoarece, spre deosebire de S/KEY, oferă autentificare cu doi factori, necesitând un token fizic care cu greu poate fi reprodus.
Generarea parolei
Serverul este computerul care va efectua autentificarea:
- Începe cu o cheie secretă w . Acest secret poate fi fie furnizat de utilizator, fie generat de o mașină. Pe de altă parte, dacă secretul este dezvăluit, securitatea S/KEY este compromisă.
- H este o funcție hash care produce o parolă unică;
- H este aplicat de n ori la w , producând astfel un set de n parole unice;
- Cheia secretă inițială w este eliminată;
- Utilizatorului i se dau cele n parole, tipărite în ordine inversă;
- Ultimele n-1 parole sunt eliminate de server. Doar prima parolă, aflată în fruntea listei utilizatorilor, este stocată pe server.
Autentificare
După ce parola este generată, utilizatorul are o foaie de hârtie cu n parolă. Prima este aceeași parolă pe care a stocat-o serverul și care nu va fi folosită pentru autentificare. Al doilea va fi folosit în schimb:
- Utilizatorul furnizează serverului a doua parolă din listă și o șterge.
- Serverul încearcă să calculeze H (pwd) unde pwd este parola furnizată. Dacă H (pwd) produce prima parolă (cea pe care serverul a stocat-o, atunci autentificarea este corectă. Serverul va stoca apoi pwd ca referință pentru autentificarea ulterioară.
Mai general, furnizarea parolei i , H (i) va fi calculată cu parola stocată i-1 .
Securitate
Securitatea S / KEY se bazează pe dificultatea de a inversa funcția hash. Să presupunem că un atacator obține o parolă i care a fost folosită pentru o autentificare anterioară. Această parolă este inutilă pentru autentificarea ulterioară, deoarece fiecare parolă poate fi folosită o singură dată. Dacă parola mirosită de atacator a fost ultima folosită, se poate încerca să inverseze funcția hash pentru a obține următoarea parolă. Această operație este extrem de dificilă.
S/KEY este totuși vulnerabil la un bărbat în mijlocul atacului . De asemenea, este vulnerabil la anumite condiții de rasă, cum ar fi un atacator care folosește un sniffer pentru a găsi primele N-1 caractere și apoi utilizează rapid o forță brută pentru a descoperi personajul rămas. Acest tip de vulnerabilitate poate fi evitat folosind ssh , SSL , SPKM sau o altă metodă de transmisie criptată.
Utilizare
Sistemul S/KEY folosește numere pe 64 de biți . În timp ce în uzul uman , fiecare număr este mapat la șase cuvinte scurte, fiecare cuvânt poate conține până la patru caractere, printr-un dicționar format din 2048 de cuvinte accesibile publicului. De exemplu, o mapare numerotată pe 64 de biți ar putea fi „ROY HURT SKI FAIL GRIM KNEE”. [2]
Note
- ^ Juergen Haas, parolă unică ( S / Key) .... , la linux.about.com , about.com. Accesat 2012-05-21 .
- ^ Craig Metz, Neil Haller, Mike Straw, A One-Time Password System , la tools.ietf.org . Preluat la 18 februarie 2021 .
Articole înrudite
Link- uri externe
- ( RO ) Introducere în sistem