Loading AI tools
Da Wikipedia, l'enciclopedia libera
In crittografia e in informatica S/KEY è un sistema one-time password sviluppato per l'autenticazione su sistemi operativi Unix-like, in particolare dai cosiddetti 'dumb terminal' o da computer pubblici nei quali l'utente non vuole scrivere una password a lunga scadenza. La reale password dell'utente viene combinata in un dispositivo offline con un piccolo insieme di caratteri e un contatore decrementale in modo da formare una password monouso. Dato che la password è utilizzabile solo per una sessione, l'utilizzo di sniffer diventa inutile.[1]
L'insieme di caratteri non cambia finché il contatore decrementale non raggiunge lo zero. È così possibile preparare una lista di password single-use che l'utente può portare con sé. Alternativamente, l'utente può presentare la password, i caratteri e il valore del contatore desiderato ad un calcolatore locale per generare la password appropriata che può quindi essere trasmessa attraverso la rete in chiaro. Questa seconda opzione è la più comune e si riduce praticamente ad una forma di autenticazione challenge-response.
S/KEY è supportato in Linux tramite PAM, OpenBSD, NetBSD e FreeBSD. Inoltre una generica implementazione open source permette l'utilizzo su ogni altro sistema. S/KEY è un marchio commerciale di Telcordia Technologies, conosciuta comunemente come Bell Communications Research (Bellcore).
Ci si riferisce a S/KEY anche con il nome di 'schema di Leslie Lamport', dal nome dell'autore. È stato sviluppato da Neil Haller, Phil Karn e John Walden nei laboratori Bellcore sul finire degli anni 80. Al momento della scadenza dei brevetti sulla crittografia a chiave pubblica e l'ampio utilizzo di SSH e altri protocolli di crittografia che possono rendere sicura l'intera sessione, non solo la password, S/KEY è caduto in disuso. SecurID è uno schema one-time password simile che ancora risulta ampiamente utilizzato perché, a differenza di S/KEY, fornisce autenticazione a due fattori, richiedendo un token fisico che difficilmente può essere riprodotto.
Il server è il computer che eseguirà l'autenticazione:
Dopo la generazione della password, l'utente ha un foglio di carta con n password. La prima è la stessa password che il server ha memorizzato e che non sarà utilizzata per l'autenticazione. Al suo posto verrà utilizzata la seconda:
Più in generale, fornendo la password i, verrà calcolata H(i) con la password memorizzata i-1.
La sicurezza di S/KEY confida sulla difficoltà di invertire la funzione di hash. Si supponga che un attaccante ottenga una password i che è stata utilizzata per una precedente autenticazione. Tale password è inutile per le autenticazioni successive perché ogni password può essere usata una volta soltanto. Se la password i sniffata dall'attaccante fosse l'ultima utilizzata, si potrebbe tentare di invertire la funzione di hash in modo da ottenere la prossima password. Tale operazione risulta estremamente difficoltosa.
S/KEY è comunque vulnerabile ad un attacco man in the middle. È anche vulnerabile a certe race conditions, come nel caso in cui un attaccante utilizzasse uno sniffer per trovare i primi N-1 caratteri per poi utilizzare rapidamente un bruteforce per scoprire il restante carattere. Questo tipo di vulnerabilità possono essere evitate utilizzando ssh, SSL, SPKM o un altro metodo di trasmissione criptata.
Il sistema S/KEY utilizza dei numeri in 64 bit. Mentre nell'usabilità umana, ciascun numero viene mappato a sei brevi parole, ogni parola può contenere massimo quattro caratteri, attraverso un dizionario costituito da 2048 parole accessibili al pubblico. Ad esempio, una mappatura numerata a 64 bit potrebbe essere "ROY HURT SKI FAIL GRIM KNEE". [2]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.