Newsgroup: it.comp.sicurezza.crittografia
Titolo: Craccare una passphrase

Leggendo questo ng, ho dedotto che le passphrase con le quali
si proteggono file sono hashate e quindi il risultato (l'hash)
viene utilizzato come chiave simmetrica di crittografia.
Mi chiedo, se è noto l'algoritmo di hash utilizzato, quanto è facile
crackare a forza bruta la passphrase (supponendo che questa non sia
poi così lunga quanto una chiave AES)?
Forse l'algoritmo di hash è implementato con ripetizioni in modo tale
da aumentare la complessità computazionale di ciascuna prova?
Saluti,
GianpieroP
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 da aumentare la complessità computazionale di ciascuna prova?
Dipende tutto da come viene implementato, non c'è una regola "generale"...
Lapo
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkDSndwACgkQaJiCLMjyUvvvowCfblQL+VneI2KshLof7dLqotB0
DwoAn1pRg3A1cI4I1Z5T0070c7XDuJ+2
=O8x+
-----END PGP SIGNATURE-----

 da aumentare la complessità computazionale di ciascuna prova?
Hashare ripetutamente la chiave utente è ormai obsoleto e non dovrebbe più
essere fatto (anche se in effetti fa aumentare di molto il tempo di
craccaggio).
Dovrebbe essere usato, invece, l'AES Key Wrap che è l'attuale standard del
NIST. Oltre alla robustezza, l'algoritmo presenta anche altri vantaggi (tra
cui l'assenza del vincolo dei 160 bit che ha l'hash).
Cristiano

 cui l'assenza del vincolo dei 160 bit che ha l'hash).
Vincolo di SHA-1, e chi parlava solo di quello?
Esiste anche SHA-512... e comunque 256 bit di sicurezza basteranno da
qui a parecchio.
L'AES Key Wrap è sicuramente un tool utile, ma non mi pare in
contrapposizione diretta con lo "stretching&salting", laddove non c'è
una "chiave KEK" con cui crittare l'altra chiave e/o non c'è alcun
bisogno di "reversibilità" nel processo (anzi, per come la vedo io, è
*meglio* che dall'hash neanche l'amministratore possa recuperare la
chiave originaria).
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkDTfyYACgkQaJiCLMjyUvtHugCeNXiA3Gu+AQNaYfY5ZhzAVqLs
JHoAoMyo2ZGKbB6yHCE1qY+lYmEL8uOY
=yyya
-----END PGP SIGNATURE-----

 ha scritto nel messaggio news:cau4kb$noa$1...@news.newsland.it...
Grazie ragazzi, per il valore aggiunto in queste risposte.
Comunque non mi sembra poi tanto male l'idea di stirare e salare,
dal momento che i moderni algoritmi di hash sono sufficientemente
sicuri fino ad oggi e che l'algoritmo di streching è intrinsecamente
complesso computazionalmente.
In ogni caso studierò l'AES Key Wrap suggerito da Cristiano.
Riferimenti WEB per questo meccanismo?
Buona domenica,
GianpieroP
-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0
iQA/AwUBQNP4NZ4sPKh9SaicEQJ/+wCgsuZTTxOGyiOLT8+1Dg4JDEYW1coAoP6w
FlDg+RpPitAhlxdtiKmuWwp1
=MkL3
-----END PGP SIGNATURE-----

 Buona domenica,
Grazie, anche a te.
Cristiano

 utente; usiamolo per questo.
...inoltre l'AES Key Wrap è una primitiva a DUE ingressi, e il suo
*scopo*, che che tu ne dica, è di "proteggere" una chiave in modo
reversibile, un lavoro piuttosto diverso da quello che si vuole fare
quando si "sala e stira" una password con un hash.
(e questo lo dice il documento AES Key Wrap stesso, non io)
Certo, un block cipher messo in loop e con una password decisa in modo
semi-arbitrario alla fine *è* un hash, ma visto che gil hash esistono
già, non vedo motivi sostanziali per dire "se usi ancora un hash sei un
pazzo", come il tuo paragonarlo a algoritmi "da NON usare" sembra
sottintendere.
- --
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
http://www.megatokyo.it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Mozilla - 
http://enigmail.mozdev.org
iEYEARECAAYFAkDUDSsACgkQaJiCLMjyUvujogCfWC5954AULQlvatzoNwb7KXcz
Q2gAoOmso7c7rSsTa15QzWRa7F7RRaFL
=hGWg
-----END PGP SIGNATURE-----

 
http://www.google.it/search?q=AES+Key+Wrap+&ie=UTF-8&hl=it&lr=
Ho letto le specifiche. Tuttavia non ho capito bene come utilizzre tale
algoritmo per cifrare un file tramite una passphrase.
Mi butto: 
  IV  = default (A6A6...A6)
  KEK = padding della passphrase utente
  KeyData = contenuto del file da cifrare.
Intendevi questo?
Sotto questa ipotesi, dov'è la robustezza agli attacchi brute force?
La complessità computazionale prima di giungere al confronto
dell'integrità dell'IV ?
In attesa di confronto.
Ciao,


 Intendevi questo?
No, almeno credo.
L'utilizzo principale di questo algoritmo consiste nello stirare una chiave
utente (a bassa entropia) fino a una di lunghezza sufficiente all'uso che
devi farne (di solito da utilizzare come chiave simmetrica).
Quindi, torando a bomba, tu dici: "Leggendo questo ng, ho dedotto che le
passphrase con le quali si proteggono file sono hashate e quindi il
risultato (l'hash) viene utilizzato come chiave simmetrica di
crittografia.".
Io ti voglio dire che in realtà un lavoro ben fatto (che non a caso viene
usato in AxCrypt) consiste nel generare una chiave di sessione ad alta
entropia, wrapparla con la chiave utente e usare la chiave così cifrata come
chiave di sessione per l'algoritmo di cifratura simmetrica.
Anche in questo caso (come con l'hash) conviene applicare l'algoritmo di
wrapping alcune migliaia di volte, per es. 100000 volte (o più), in modo da
aumentare virtualmente la lunghezza della chiave di log_2(100000) cioè circa
16 bit, che è effettivamente un incremento di lavoro che un ipotetico
attacco di forza bruta dovrebbe sostenere (come accade con l'hash).
Questo metodo non porta ventaggi miracolosi, ma un vantaggio rispetto
all'hash (oltre a poter ottenere una chiave di lunghezza arbitraria) è che
hai anche la verifica dell'integrità.
Torno a ripetere che se tutto l'ambaradan non fosse giustificabile o
attuabile, allora nella quasi totalità dei casi non avresti
controindicazioni serie nell'utilizzare il vecchio IV+hash, mentre l'hash
puro e semplice (senza IV) direi che è proprio da evitare.
Ciao
Cristiano