Lamport OTP system

2

L'algoritmo di Lamport OTP è diverso da HOTP e TOTP? Quanto sono simili o diversi?

    
posta user2497094 05.06.2015 - 06:14
fonte

2 risposte

3

HOTP e TOTP sono simili. Lamport OTP è diverso.

Un HOTP è un HMAC di un segreto condiviso e un contatore. Ad esempio, sul tuo ennesimo login useresti HMAC(SHARED SECRET, N) . Ciò fornisce una strong sicurezza ma può risentire del fatto che i contatori tra il client e il server non siano sincronizzati. Ha anche il problema che il prossimo HOTP è longevo. Cioè, è valido fino a quando non viene utilizzato. Ciò potrebbe consentire a un aggressore un tempo considerevole per tentare di indovinarlo.

Un TOTP è un HMAC di un segreto condiviso e l'ora corrente. Per la nostra discussione, supponiamo che la password cambi ogni 60 secondi. Ad esempio, un login che si verifica il 2015-06-05 alle 05:33 GMT, si utilizzerà HMAC(SHARED SECRET, 201506050533) . A differenza di HOTP, non c'è contatore da non sincronizzare (è corretto presumere che gli orologi siano sincronizzati in pochi secondi l'uno dall'altro). Inoltre, ogni password dura solo un minuto, quindi un utente malintenzionato che sta tentando di indovinare il TOTP deve trovarlo entro 60 secondi o deve ricominciare a indovinare.

Un Lamport OTP è leggermente diverso da HOTP e TOTP. A Lamport OTP non richiede un segreto condiviso. Gli OTP di Lamport vengono utilizzati per convalidare una serie di accessi successivi. Per il nostro esempio, supponiamo di avere una funzione hash H (scegli il tuo preferito). Le OTP Lamport hanno la proprietà che l'Nth OTP, scritto OTP(N) è H(OTP(N+1)) . Ciò significa che se il server ricorda che l'ultimo OTP era X , quando riceve il prossimo OTP Y , può verificare che sia corretto assicurandosi che X sia uguale a H(Y) . Se è corretto, il server consentirà l'accesso e memorizzerà Y per l'utilizzo nel prossimo accesso. Il server ottiene l'OTP iniziale dal client quando il client esegue il login la prima volta.

Sul lato client, il client inizia scegliendo un valore seme. Quindi calcola H(SEED) , H(H(SEED)) , ... Diciamo per 1000 iterazioni. Memorizza l'intera sequenza. Quando accede per la prima volta al server, passa al valore 1000. La prossima volta che passa il valore 999th e così via. Poiché gli algoritmi di hash non sono facilmente reversibili, un osservatore che vede uno specifico OTP non può calcolare l'OTP successivo in quanto richiederebbe l'annullamento dell'hash.

Quando la catena di Lamport OTPs si esaurisce (ad esempio: dopo l'utilizzo del 1000), il client deve creare un nuovo seed, calcolare una nuova catena e passare al server il nuovo ultimo valore. Sebbene non sia un requisito delle OTP di Lamport, si potrebbe immaginare che un accesso che sta superando il nuovo ultimo valore di una catena richiederebbe l'autenticazione a 2 fattori mentre gli accessi che utilizzano il successivo Lamport OTP richiedono solo 1 fattore.

Sebbene tutti abbiano la parola "password" nel loro nome, possono essere utilizzati per scopi diversi dagli accessi. Ad esempio, questo articolo descrive l'uso di Lamport OTPs per autenticare i messaggi successivi in una conversazione.

    
risposta data 05.06.2015 - 06:59
fonte
0

Penso che ci sia una differenza concettuale tra lamport OTP e OATH HOTP / TOTP.

Dai un'occhiata a RFC1938 che hai riscontrato quando ti riferisci a Lamport OTP. È stato pubblicato nel 1996 e si basa su [1]

[1] Leslie Lamport, "Autenticazione password con insicurezza        Comunicazione ", Comunicazioni dell'ACM 24.11 (novembre        1981), 770-772

Esistono strumenti per calcolare tali valori OTP "OUST COAT FOAL MUG BEAK TOTE" e per accedere come, diciamo SSH. L'ho sperimentato diversi anni fa. Tale valore OTP viene calcolato in base al numero di iterazione e una password immessa per il calcolo del valore OTP.

HOTP / TOTP (RFC4226) viene calcolato in base a una chiave segreta, solitamente archiviata nell'hardware. Almeno tutti gli scrittori partecipanti di RFC4226 sono ... ... fornitori di hardware.

Per quanto ne so, Lamport OTP e OATH HOTP / TOTP hanno obiettivi completamente diversi. Sebbene SSL 1.0 sia stato pubblicato nel 1994, il numero RFC per SSL è 2246, che è significativamente superiore al 1938 ;-) L'obiettivo di Lamport OTP era evitare gli attacchi di ripetizione della password su connessioni non sicure! Vedi anche l'abstarct di RFC 1936.

Al contrario, HOTP / TOTP sta introducendo un secondo fattore per authentcation, in cui la chiave segreta era originariamente memorizzata nell'hardware offline. Lamport OTP ha generato l'OTP in base a una "passphrase" di un fattore ed era l'unico modo per evitare di inviare la password sul filo.

    
risposta data 06.03.2017 - 23:11
fonte

Leggi altre domande sui tag