Czy szyfrowanie zip jest naprawdę złe?

24

Standardowa od wielu lat rada dotycząca kompresji i szyfrowania głosi, że siła szyfrowania zip jest zła.

Czy tak jest naprawdę w dzisiejszych czasach?

Przeczytałem ten artykuł o WinZip (miał tę samą złą reputację). Zgodnie z tym artykułem problem został usunięty, pod warunkiem, że podczas wybierania hasła przestrzegasz kilku zasad.

  1. Długość co najmniej 12 znaków
  2. Bądź losowy, nie zawieraj żadnych słowników, popularnych słów ani nazw
  3. Co najmniej jedna wielka litera
  4. Posiadaj przynajmniej jedną małą literę
  5. Posiadaj co najmniej jedną cyfrę
  6. Posiadaj co najmniej jedną postać specjalną, np. $, £, *,%, i!

Spowodowałoby to roughly 475,920,314,814,253,000,000,000 possible combinations to brute force

Podaj ostatnie (powiedzmy ostatnie pięć lat) linki, aby utworzyć kopię zapasową informacji.

Nifle
źródło
3
Jak to nie jest konstruktywne, @random?
Dan Dascalescu

Odpowiedzi:

28

Słabość starego szyfrowania wynikała ze słabości wybranego algorytmu szyfrowania .

Obecnie można używać szyfrowania klasy przemysłowej za pośrednictwem „ AES ”, który jest używany wszędzie (i jest poddawany silnemu atakowi, ale wydaje się, że jest dość trudny do ataku). Jak wspomniałem w cytowanej witrynie: najsłabsze miejsce znajduje się w haśle, a wspomniane zasady dotyczą w szczególności tego problemu.

Te zasady nie mają zastosowania do hasła dla starego szyfrowania, ponieważ to stare szyfrowanie samo w sobie było bardzo słabe, bez względu na to, czy wybierzesz dobre hasło, czy nie.

Stwierdzenie „problem został usunięty z powodu ...” nie jest prawdziwe, ponieważ prawdziwym rozwiązaniem do bezpiecznego szyfrowania plików ZIP jest wybranie silnego algorytmu szyfrowania ORAZ silnego hasła. Najsilniejsze hasło nie jest nic warte, jeśli algorytm szyfrowania jest słaby.

Przeczytaj także http://www.info-zip.org/FAQ.html#crypto i http://www.topbits.com/how-can-i-recover-a-zip-password.html

akira
źródło
2
Kilka dobrych spostrzeżeń i linków. Ale czy naprawdę odpowiedziałeś na moje pytanie? To jest trochę niejasne.
Nifle
myślę, że jest to: a) możesz teraz wybrać lepszy szyfr szyfrujący (aes256 zamiast pkzip-homebrew-cokolwiek) ib) stwierdziłem, że problem nie został usunięty przez wybranie lepszego hasła, ale przez wybranie lepszego szyfru (patrz )).
akira
3
@ Nifle, tak się stało. Szyfrowanie zip było złe, ponieważ algorytm był śmieci. W nowszych wersjach zip możesz teraz wybrać bardziej bezpieczny algorytm. Tak długo, jak wybierzesz jeden z bezpiecznych algorytmów, bezpieczeństwo nie będzie gorsze niż w przypadku innych podobnych produktów. Standardowe problemy bezpieczeństwa, takie jak wybór hasła i implementacja na bok. tzn. najsłabszego łańcucha nie ma już w stosowanym algorytmie.
KTC
Jest jeszcze jeden fragment, który zapomniałeś wspomnieć, że AES jest szyfrem blokowym i może szyfrować tylko bloki danych o stałej długości. Dlatego w celu szyfrowania dłuższych plików opracowano fantazyjne schematy generowania nowych kluczy dla każdego bloku. Niestety, programiści czasami przeoczają to i zmuszają swoje oprogramowanie do szyfrowania każdego bloku za pomocą tych samych kluczy, patrz [ en.wikipedia.org/wiki/Cipher-block_chaining]
Eroen
@Eroen: spójrz na pytanie ... jak twój komentarz jest z tym związany?
akira
-3

Szyfrowanie symetryczne jest problematyczne. Dobrze jest powiedzieć: „Po prostu użyj Waq3 $ f ^ t> p ~ 6pWr jako hasła i wszystko w porządku!” ale pozostawiasz ogromne drzwi otwarte dla inżynierii społecznej i nieostrożności użytkowników.

Powiedziałbym więc, hipotetycznie , zakładając hasło pierwszej klasy, nic nie szkodzi, używając programów zip szyfrowanych kluczem symetrycznym, które oferują sprawdzone algorytmy szyfrowania , ale w prawdziwym świecie zależność od siły hasła jest ogromną słabością.

@Akira: Nie powiedziałem, że to było złe , powiedziałem, że jest problematyczne i tak jest. Dzięki szyfrowaniu kluczem publicznym (asymetrycznym) masz stały poziom bezpieczeństwa. Jeśli masz klucz 1024-bitowy, Twoje dane są szyfrowane 1024-bitowo.

Dzięki symetrycznemu szyfrowaniu klucza możesz uzyskać boskie bezpieczeństwo (hasło 1024 znaki) lub bezwartościowe bezpieczeństwo (hasło 1 znak) i nie masz kontroli nad tym, z czym skończysz.

(Uwaga: nie zawracałem sobie głowy mówieniem o skompromitowanych kluczach, ponieważ wpływa to na obie metody jednakowo)

@Nifle: uzgodniony. Wymiana kluczy to problem z krypto klucza publicznego, ale jest to metoda o wiele bardziej niezawodna. Zwykle odradzam szyfrowanie kluczem symetrycznym, ponieważ sprawia, że ​​ludzie myślą, że są bezpieczni, gdy nie są.

@Akira: Szczerze mówiąc, nie jestem pewien, o czym mówisz. To, że klucze prywatne są często zabezpieczone hasłem jako dodatkowym zabezpieczeniem, nie oznacza, że ​​szyfrowanie symetryczne / asymetryczne to „używanie kluczy symetrycznych do prawdziwego szyfrowania”. Szyfrowanie asymetryczne wykorzystuje dwa różne klucze: jeden do szyfrowania, drugi do deszyfrowania. A wywoływanie wyższego poziomu szyfrowania bitowego olejem wężowym jest co najmniej nieuczciwe: gdyby tak było, to aes128 byłby taki sam jak aes256.

A porównanie jednorazowego padu z dowolnym rodzajem krypto maszynowego pokazuje najgorszy rodzaj ignorancji. Są bezpieczne, ponieważ są czystym przypadkowym hałasem, jakiego komputery ze swojej natury nie są w stanie wytwarzać. Mówisz tak, ponieważ jeden rodzaj szyfrowania kluczem symetrycznym jest bezpieczny, więc wszystkie rodzaje szyfrowania kluczem symetrycznym są bezpieczne, co jest całkowitym błędem. Co gorsza, masz problem z szyfrowaniem asymetrycznym, gdy mają DOKŁADNY ten sam problem z wymianą kluczy!

Satanicpuppy
źródło
1
@satanicpuppy: jedynym problemem z szyfrowaniem symetrycznym jest wymiana kluczy. i dokładnie to rozwiązuje szyfrowanie asymetryczne: wymiana kluczy. nie część „szyfrowanie symetryczne jest złe”.
akira,
Niestety wymiana kluczy publicznych ze współpracownikami i klientami jest niełatwym zadaniem. Szyfrowanie symetryczne pozostanie, dopóki Microsoft nie włączy obsługi niektórych opcji PGP natywnie (i domyślnie) w programie Outlook.
Nifle
@satanicpuppy: gpg szyfruje tylko klucze symetryczne poprzez szyfrowanie asymetryczne, wykorzystuje klucze symetryczne do prawdziwego szyfrowania. najlepszym szyfrowaniem, jakie możesz uzyskać, jest jednorazowa blokada .. czyli szyfrowanie symetryczne. więc nie wpadnij w pułapkę oleju-węża-wysokich-bitów-na-klucze jest w jakikolwiek sposób bezpieczniejszy niż obecnie używane szyfry symetryczne jak aes256 itp. klucze asymetryczne są zwykle zabezpieczone przez szyfrowanie symetryczne (hasła). .
Akira
@Nifle: dokładnie.
akira
@satanicpuppy: „GnuPG to oprogramowanie do szyfrowania hybrydowego, w którym wykorzystuje kombinację konwencjonalnej kryptografii z kluczem symetrycznym dla szybkości i kryptografii z kluczem publicznym dla łatwej bezpiecznej wymiany kluczy, zwykle za pomocą klucza publicznego odbiorcy do szyfrowania klucza sesji który jest używany tylko raz. Ten tryb działania jest częścią standardu OpenPGP i jest częścią PGP od jego pierwszej wersji ”
akira