On Wednesday 27 February 2008, [EMAIL PROTECTED] wrote:
> Ciao,
> supponiamo di avere due messaggi: A e B.
> Suppongo di essere Bob; mando ad Alice un messaggio W, W = A XOR B.
>
> Ora, Alice e Bob conoscono (e sono sicuri) di:
> - "hash"(A)
> - "hash"(B)
>
> Semplicemente guardando W, devo poter dire se A e B sono corretti
> (usando i loro hash).
le due (non) soluzioni sono le due ragioni per cui - IMHO - non si riesce a
costruire un protocollo di validazione con questi presupposti :
> Primo approcio:
> Uso il CRC, perché: CRC(W) = CRC(A XOR B) = CRC(A) XOR CRC(B)
Questo vale perchè , come tristemente noto , il CRC è distributivo rispetto a
XOR.
> Ora, se un malintenzionato mi invia un messaggio W ("fake") che ha lo
> stesso CRC del messaggio W vero, sono rovinato.
> Quindi scarto il CRC.
Questo può accadere anche con le hash , semplicemente CRC non è un meccanismo
di hashing sicuro , ma allo stesso modo , con i tempi che corrono , starei
lontano anche da MD5 per esempio.In sintesi , il fatto di fare il fake di un
digest non è relativo solo a CRC.
> Secondo approcio:
> Uso hash. Ma qui mi blocco perché: hash(W) = hash(A XOR B) != hash(A)
> XOR hash(B).
#define hash SHA256
In generale una hash non è XOR distributive, questo impedisce , se hai solo le
hash di poter validare la h(W). Le possibili vie per farlo implicano :
- invertire h(A) , h(B) , ottenere W, calcolare h(w) : questo non funziona
perchè : 1 si suppone che h(.) non sia invertibile. 2 se trovo una collisione
in una hash non è detto che corrisponda ad A originale.
- dedurre A e B da W e verificare le loro hash : questo Alice non può farlo se
non conosce esattamente nulla di A e B (vedi alla voce Cifrario di Vernam).
> Come risolvereste questo problema?
Ci sono per caso dei rilassamenti ai requisiti che possiamo sfruttare? in
sostanza la soluzione dipende da cosa vuoi garantire...
Cheers
Alex
--
The man who follows the crowd will usually get no further than the crowd.
The man who walks alone is likely to find himself in places no one has ever
been.
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List