Newsgroup: it.comp.sicurezza.crittografia
Titolo: lunghezza password

Salve ragazzi, ho dei documenti personali crittografati con winrar  su
cd e
password da 10 caratteri... mi chiedevo se mi conviene per una
maggiore
sicurezza utilizzare chesso una password di 200 caratteri tra
alfanumerici e
simboli oppure utilizzare un software tipo "pgp". So che winrar con un
brute
forge si puo benissimo decriptare....
che mi consigliate=? Una password moooolto lunga e complessa rende
sicuro
anche un archivio crittografato con un metodo poco sicuro?
Grazie tante... :)

WinRar dice di utilizzare uno schema di cifratura abbastanza solido,
anche se non sono mai riuscito a trovare crittanalisi esaustive del
sistema, per cui l'unico approcio noto è il bruteforce, cioè provare
tutte le combinazioni possibili come password.
Alcuni programmi velocizzano enormemente l'attacco utilizzando dei
dizionari, in pratica testano per prime le password più probabili (chi
imposta la password userà qualcosa di memorizzabile o rischierà di
dimenticarla), ma inserendo v4r1Azi0ni nelle parole, usando termini
poco comuni, usando caratteri speciali, numeri e maiuscole si riescono
a comporre password piuttosto robuste (che non vengono trovate da
attacchi a dizionario anche abbastanza evoluti) anche nel limite di
8-10 caratteri che i programmi di recupero password danno come
fattibili.
In genere è lo stesso consigliabile usare password più lunghe, anche
vere e proprie passphrase di più parole, senza dimenticare di inserire
variazioni, caratteri speciali, maiuscoli e numerici; sono comunque
più facili da memorizzare di una sequenza di caratteri casuali più
corta.
Un margine di sicurezza ancora migliore è usare password + keyfile; i
keyfile contengono una quantità di entropia molto maggiore di una
password e non devono essere ricordati, bensì gestiti in sicurezza
(non vanno persi, lasciati accessibili ecc).
Keyfile anche solo di 128 o 256 bit, generati da un buon generatore
pseudocasuale "nutrito" con abbastanza entropia (da eventi del sistema
e dell'utente, per esempio) sono praticamente al di là della portata
di qualunque sistema di bruteforce attualmente concepibile, con un
buon margine di sicurezza... sempre che non ci si faccia rubare il
keyfile!
Insomma password e keyfile sono complementari ed in un buon sistema
crittografico dovrebbe essere possibile utilizare entrambi.
Per quanto riguarda utilizzare PGP o altri programmi crittografici
piuttosto che WinRAR, di solito se si cerca la massima sicurezza di
solito è meglio rivolgersi ad un programma esplicitamente realizzato a
questo scopo (è più facile che il team di programmazione raggiunga
bene un solo obiettivo piuttosto che riesca a metterne insieme tanti e
spesso contrastanti); come contropartita però la gestione degli
archivi potrebbe essere molto più semplice attraverso WinRAR che in
questo, in quanto programma di archiviazione, è più versato di un
programma crittografico "puro".

dol...@gmail.com
 ha scritto:

Un ottimo programma di compressione che unisce un metodo molto più
efficiente di quello di WinRAR è 7Zip, che usa il formato opensource 7z
(attualmente permette un rapporto di compressione superiore a quello
fornito dai formati Zip, Rar e simili) e che usa anche una protezione
con AES a 256 bit.
Altrimenti proteggi i tuoi archivi Rar con un programma che cifri i file
con AES a 256 bit.
-- 
Ciao.
Leo.
Web: 
www.leonardomiliani.com
E-mail: 
leon...@leonardomiliani.com
Scegli software opensource - Choose opensource software


Il .rar č un formato proprietario e WinRAR non č opensource: conviene 
evitarli specialmente se cerchi la sicurezza. Usa 7-Zip 
http://www.7-zip.org/
 (scarica la 4.45 non la 4.42). Come formato usa 
.zip o .7z con encryption AES-256. Se usi il .7z puoi criptare anche il 
nome dei file (Encrypt file names) e non solo il contenuto.
Altri software interessanti:
http://www.axantum.com/AxCrypt/
http://www.truecrypt.org/
Ciao.

 [...] Usa 7-Zip 
http://www.7-zip.org/
 (scarica la 4.45 non la 4.42).
Perché la 4.45 che vedo in beta?
Cristiano 


Perchè la 4.42 ha alcune limitazioni. Se ricordo bene non offre 
l'AES-256 sui .zip ma solo sui .7z.

 
http://www.truecrypt.org/
Aggiungo alcune considerazioni sulla lunghezza della password.
Se si usa una password lunga 10 caratteri e i caratteri possibili sono 
128=2^7 (ASCII-7) il numero delle combinazioni da provare con la forza 
bruta è 128^10=1.1806e+021.
Fissiamo la capacità disponibile all'attaccante: "we assume an attacker 
with the capability to build or purchase a system that tries keys at the 
rate of one billion keys per second. This is at least 1 000 times faster 
than the fasted personal computer in 2004." (da 
http://www.axantum.com/AxCrypt/etc/About-AES.pdf
).
Il numero di anni per cui la password resisterà al massimo è:
(128^10)/((10^9)*(60*60*24*365))=~3.7436e+004
cioè più di 30 000 (trentamila) anni!
La sicurezza si riduce enormemente se invece di attingere casualmente 
dai 128 simboli disponibili si usano solo le 26 lettere minuscole 
dell'alfabeto. Nel caso peggiore la password sarà trovata al massimo tra
(26^10)/((10^9)*(60*60*24*365))= 0.0045
cioè cioè meno di 2 giorni. :-(
Tutto ciò vale se la password viene scelta casualmente cioè senza usare 
parole appartenenti a qualche lingua perché altrimenti l'attaccante può 
utilizzare i dizionari riducendo notevolmente il tempo di calcolo.
Se si vogliono usare solo le 26 lettere minuscole dell'alfabeto conviene 
una password più lunga. Ad esempio con 20 caratteri
(26^20)/((10^9)*(60*60*24*365))=6.3192e+011
siamo oltre il miliardo di anni.
I calcoli fatti trascurano il fatto che l'attacker deve provare anche 
tutte le password di lunghezza inferiore a quella massima che vuole 
provare. Ad esempio se vuole cercare password fino a 8 caratteri deve 
provare anche quelle da 7, 6, ... . Il risultato si può correggere 
considerando la somma della durata per le varie lunghezze ma cambia di poco:
[Codice Matlab]
n_anni=0;
for i=1:10
n_anni=n_anni+(128^i)/((10^9)*(60*60*24*365));
end
n_anni %#ok<NOPTS>
Il 3.7731e+004 che si trova non differisce molto dal 3.7436e+004 del 
calcolo approssimato visto prima.
Volendo fare di più si potrebbe usare il set di 256=2^8 caratteri 
ASCII-8 ma molti caratteri non sono stampabili e questo può creare 
qualche problema.
Il fatto di utilizzare i migliori algoritmi serve "solo" a resistere 
alla cryptanalysis. Se si usa AES-256 e casa come password "casa" la 
password si trova con brute force in poco tempo.
Vedi anche 
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
.
Non sono un esperto di crittografia ma le considerazione che ho fatto 
sono basate sulla matematica e non dovrebbero essere errate. Se qualcuno 
trova qualche errore lo segnali.
In particolare non conosco i dettagli relativi all'implementazione degli 
algoritmi.
Se qualcuno può spiegarmi come arrivo esattamente al "22" contenuto 
nell'affermazione "Full 128-bit strength requires a meaningless sequence 
of at least 22 characters." (da 
http://www.axantum.com/AxCrypt/etc/AxCrypt-Manual.pdf
) lo ringrazio.
Ciao.

Ok grazie per le info adesso è tutto un po piu chiaro... quindi con
una bela password di 200 caratteri minuscole, maiuscole , speciali
posso essere sicuro che aprire l'archivio sia difficile anche per la
gdf ihihih :)  anche con un algoritmo non molto evoluto.
Usavo winrar perchè mi decomprime i file nella cartella temp, ma poi
credo che si possano recuperare e quindi non mi convince piu molto. 7
zip lo voglio scaricare, dato che da quanto ho capito è sicuro....
oppure quelche altro programma di crittazione ( non mi interessa al
compressione)...
grazie....

 
Uhm... credo tu stia ancora facendo un po' di confusione...
Come ti ha spiegato egregiamente Armando, la sicurezza di un algoritmo
si basa anche sulla robustezza della sua password. Usare AES a 128 bit
(come dovrebbe fare WinRAR) con una robusta password composta da lettere
minuscole e maiuscole, numeri e caratteri vari č molto piů sicuro che
cifrare un archivio con AES a 256 bit e password "casa".
Seguendo questa logica, la protezione offerta da 7-Zip č relativa alla
robustezza della password.
Ti veniva consigliato 7-Zip rispetto a WinRAR per alcuni motivi: č
opensource (quindi sai _effettivamente_ cosa fa), puoi usare un
algoritmo di protezione piů robusto come l'AES a 256 bit (con le
puntualizzazioni fatte sopra sulla robustezza della password), hai una
compressione maggiore di quella offerta dai formati RAR e ZIP.


 of at least 22 characters." lo ringrazio.
Probabilmente hanno fatto un calcolo molto spannometrico come questo:
un algoritmo robusto che consente 128 bit di chiave ha un keyspace
(chiavi possibili) di 2^128 = 3,4028236692093846346337460743177e+38
se consideriamo conservativamente una 50-60 ina di caratteri
digitabili (20-25 lettere, *2 contando le maiuscole, 10 caratteri
numerici, una decina di caratteri speciali o lettere accentate di una
data lingua), elevandolo alla 22 (lunghezza della stringa) si ottiene
un valore attorno al range e+38.
Ovviamente ricordare una sequenza di 22 caratteri digitabili senza
significato è piuttosto improbabile (si ricordano molto meglio
passphrases anche più lunghe e con vari caratteri modificati),
probabilmente il valore è stato pubblicato per dare una idea
all'utente che l'anello debole di una cifratura basata solo su
password è spesso e volentieri la password stessa, che di solito
contiene così poca entropia da essere trovata in pochi minuti con
attacchi a dizionario o poche ore con il brute force, mente il
keyspace di una cifratura robusta anche a solo 128 bit di chiave è
potenzialmente ben al di là di questo tipo di attacchi.


Io consideravo un character set di 128 simboli e ovviamente il calcolo 
non poteva tornare con 128^22. Probabilmente loro hanno considerato, 
come dici tu, un più verosimile 60. Sorge spontanea la domanda: qual'è 
il character set ufficiale di AES-256? ASCII-7 (128 simboli), ASCII-8 
(256 simboli) o è lasciato all'implementazione o cos'altro?
Grazie mille, Ciao.

 
http://www.axantum.com/AxCrypt/etc/AxCrypt-Manual.pdf
) lo ringrazio.
L'affermazione significa che prendendo 22 caratteri dalla base a cui 
l'affermazione allude, si ottiene una "robustezza" pari a 2^128. Quindi 
basta scrivere
    2 ^ 128 = base ^ 22
da cui
    (2^128) ^ (1/22) = base
    base = 2^(128/22) = 56,42
L'utilizzo di "meaningless" lascia intendere che i 22 caratteri sono 
puramente casuali ed è quindi evidente che l'affermazione allude ad un 
insieme di almeno 57 caratteri.
Considerando che usando la comunissima base64 sarebbero necessari 21,33 
caratteri, è ragionevole pensare che l'affermazione di riferisca proprio 
alla base64.
Cristiano 

 (256 simboli) o è lasciato all'implementazione o cos'altro?
L'osservazione di Cristiano mi sembra corretta, il conto potrebbe
riferirsi al numero di caratteri base64.
Oppure, ma il risultato è assolutamente compatibile, potrebbero avere
stimato approssimativamente i caratteri che sono facilmente digitabili
su una generica tastiera, quindi le lettere-base, i numeri e i
caratteri accentati comuni alla maggior parte delle lingue
occidentali, così che inviando un file cifrato con una pw composta da
quei caratteri la maggior parte degli utenti non abbia problemi a
inserirla con la maggior parte dei layout di tastiera USA/Europei.


E' uscita la 4.46 beta.
La limitazione della 4.42 era proprio quella che ricordavo.
http://www.7-zip.org/history.txt
  Version 4.43 beta           2006-09-15
  --------------------------------------
    - 7-Zip now can use multi-threading mode for compressing to .ZIP
archives.
    - ZIP format supporting was improved.
    - 7-Zip now supports WinZip-compatible AES-256 encryption for .ZIP
archives.
La prossima versione stabile avrà il supporto per AES-256 sui .zip ma
per ora è solo nella beta.
Vedi anche per le specifiche dello standard:
http://www.winzip.com/aes_info.htm
http://www.winzip.com/wzdaes.htm
http://www.winzip.com/aes_tips.htm
http://fp.gladman.plus.com/cryptography_technology/fileencrypt/

compressione)...
in caso di problemi, č meglio usare un programma che non comprima i file, 
per tirarli fuori? io di solito usavo winrar, ma se non č assolutamente 
necessaria la compressione? truecrypt non mi sembra adatto per salvare i 
file su cdrom come vorrei fare giusto?
scusate ma sono ignorante in materia :)