
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
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