[ Home | Liste | F.A.Q. | Risorse | Cerca... ]


[ Data: precedente | successivo | indice ] [ Argomento: precedente | successivo | indice ]


Archivio: crypto@sikurezza.org
Soggetto: Re: [crypto] Usare XTEA per l'autenticazione
Mittente: Giuseppe Bordoni
Data: Sun,  2 Nov 2008 02:56:29 +0100 (CET)
Ciao Alessandro.

Alessandro Barenghi wrote:
>> Viste le scarse risorse del dispositivo embedded pensavo di utilizzare
>> XTEA (http://en.wikipedia.org/wiki/XTEA) in questo modo:
>> 1. Il dispositivo invia al PC due numeri a 32 bit pseudo-casuali.
>> 2. Il PC cifra questi due numeri usando come chiave 4 numeri a 32 bit
>>   che conosce sia lui che il dispositivo (pre-shared key).
>> 3. Il PC invia i due numeri cifrati al dispositivo.
>> 4. Il dispositivo decifra i numeri ricevuti usando la stessa chiave.
>>   Se ottiene i numeri originali allora può iniziare l'invio dei dati.
> Ok , un metodo challenge-response classico. Direi che va benissimo.

Altrove mi hanno consigliato il testo "Handbook of Applied Cryptography"
(http://www.cacr.math.uwaterloo.ca/hac/).
Nel capitolo 10, pagina 402 viene illustrato un meccanismo per la mutua
autenticazione delle due parti che mi pare decisamente migliore di
quanto m'ero inventato io.

> No il challenge response è un protocolli di autenticazione corretto a
> patto che il cifrario che stai usando sia solido.
> Il problema è che XTEA è , anche se non gravemente , rotto. Conviene
> usare XXTEA o Salsa20 in una delle sue varianti , se non è troppo pesante

Se non ho capito male è la versione "Block TEA", presentata nello stesso
documento di XTEA, ad essere stato rotta; da quanto leggo sulla pagina
di Wikipedia il migliore attacco *conosciuto* per XTEA richiede l'uso di
2^20 determinati testi in chiaro.

Considerando che con il meccanismo illustrato nel libro di cui sopra,
il testo in chiaro non viene mai passato da una parta all'altra, dovrei
essere *abbastanza* sicuro, sbaglio?

Scusa l'insistenza ma vorrei tenermi XTEA perché, come ho già ripetuto,
è l'algoritmo più semplice in assoluto: ho dato un'occhiata a Salsa20
ma mi sembra già più impegnativo...

>> 2. Per implementare un meccanismo di autenticazione del genere credo sia
>>   più corretto usare un algoritmo di hashing come SHA256 o simili
>>   purtroppo però risultano troppo pesanti per il piccolo processore a
>>   16 bit usato dal dispositivo. Conoscete qualche algoritmo di
>>   hashing "abbastanza" resistente alle collisioni ma al tempo stesso
>>   molto semplice da implementare?
> In realtà  è più sicuro usare un meccanismo a challenge-response che ,
> a patto di scegliere bene il cifrario , è un sistema sicuramente solido ,
> mentre usare una Hash è un po' come usare una pinza per martellare
> chiodi qui... a meno di non pensare un protocollo di autenticazione
> solido :)

Di questo non sono sicuro ed una riprova l'ho avuta sempre a pagina 402
dell'HAC dove viene spiegato come usare un algoritmo di hashing
per l'autenticazione mutua delle due parti.

A presto (mailing-list permettendo :),

Giuseppe

-- 
 _      Giuseppe Bordoni   .oOo.   http://www.geppozone.com       ( _)
(o)>  -------------------------------------------------------  \\\'',)
//\   Al mondo esistono 10 tipi di persone: quelle che           \/  \ ^
V_/_  conoscono la notazione binaria e quelle che la ignorano    _\'_/_)




[ Home | Liste | F.A.Q. | Risorse | Cerca... ]

www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005