Re: Usare XTEA per l'autenticazione

Alessandro Barenghi <[email protected]> Thu, 23 Oct 2008 10:46:42 +0000 (UTC)
Newsgroups gmane.comp.security.italian.crypto
Message-ID <[email protected]>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---1463805696-2127005004-1224758802=:14292
Content-Type: TEXT/PLAIN; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE



On Fri, 10 Oct 2008, Giuseppe Bordoni wrote:

> Ciao a tutti,
>
> ho un dispositivo embedded che deve inviare dei dati al un PC via
> porta seriale. Non =E8 necessario che i dati siano cifrati ma vorrei
> implementare per lo meno un meccanismo di autenticazione del PC.
>
> 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=F2 iniziare l'invio dei dati.
Ok , un metodo challenge-response classico. Direi che va benissimo.

>
> Siccome non ho molta esperienza in crittografia volevo chiedervi:
>
> 1. Se un possibile malintenzionato "sniffasse" la comunicazione potrebbe
>   vedere sia il testo in chiaro sia quello cifrato: con queste
>   informazioni riuscirebbe a risalire alla chiave e quindi in seguito
>   ad autenticarsi in modo illecito?
No il challenge response =C3=A8 un protocolli di autenticazione corretto a=
=20
patto che il cifrario che stai usando sia solido.
Il problema =C3=A8 che XTEA =C3=A8 , anche se non gravemente , rotto. Convi=
ene=20
usare XXTEA o Salsa20 in una delle sue varianti , se non =C3=A8 troppo pesa=
nte

> 2. Per implementare un meccanismo di autenticazione del genere credo sia
>   pi=F9 corretto usare un algoritmo di hashing come SHA256 o simili
>   purtroppo per=F2 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=C3=A0 =C3=A8 pi=C3=B9 sicuro usare un meccanismo a challenge-respo=
nse che ,
a patto di scegliere bene il cifrario , =C3=A8 un sistema sicuramente solid=
o ,
mentre usare una Hash =C3=A8 un po' come usare una pinza per martellare chi=
odi=20
qui... a meno di non pensare un protocollo di autenticazione solido :)


Alessandro

> Grazie in anticipo,
>
> Giuseppe
>
> --=20
> _      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    _\'_/_)
>
> ________________________________________________________
> http://www.sikurezza.org - Italian Security Mailing List
>
---1463805696-2127005004-1224758802=:14292
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List
---1463805696-2127005004-1224758802=:14292--