Najlepsze bezpieczne szyfrowanie plików zip przez Linux

12

Chcę używać wysoce bezpiecznego szyfrowania spakowanych plików przez Linux / Ubuntu za pomocą terminala wiersza poleceń, jakie jest najlepsze narzędzie wiersza poleceń, aby wykonać to zadanie?

zip -e -P PASSWORD file1 file2 file3 file4

Lub

7za a file.7z *.txt -pSECRET

Jakie szyfrowanie jest używane i jak bezpieczne?

Daniel
źródło
Szyfrowanie i tak kompresuje pliki. Jeśli solidne szyfrowanie jest ważniejsze niż rozmiar pliku, powinieneś rozważyć użycie GPG.
Iain
4
@Iain: dotyczy to GPG, ale nie wszystkich narzędzi szyfrujących. sposób, w jaki działa, polega na szyfrowaniu czegoś, co wygląda jak losowe dane, które nie są kompresowalne (a przynajmniej nie są kompresowalne, jeśli twoje szyfrowanie jest dobre). jeśli chcesz kompresować i szyfrować, wykonaj najpierw kompresję i zaszyfruj skompresowane dane. niektóre narzędzia (np. GPG) robią to automatycznie, ale rozumieją, że jest to funkcja narzędzia, a nie szyfrowania.
quack quixote
@Iain: dziękuję; nie wiedziałem, że GPG zrobiła dla ciebie kompresję automatycznie. znalazłem go w tym artykule na temat GPG (patrz sekcja „Szyfrowane tarballi”): linuxjournal.com/article/8732
quack quixote
Kompresja IIRC wykonywana przez GPG jest (lub jest podobna do) gzip z domyślnymi ustawieniami, co jest dobrym kompromisem szybkości kompresji i szybkości. Jeśli dane, które wysyłasz, są bardzo duże, a połączenia będą wysyłane zbyt wolno, wówczas skorzystasz najpierw z 7zip, ale kompresja tych samych danych zajmuje dużo więcej czasu, więc możesz znaleźć wbudowaną obsługę kompresji GPG bardziej wygodny.
David Spillett
Naprawdę nie chcesz umieścić swojego sekretu w wierszu poleceń, gdzie można go odczytać z ps lub pliku historii.
Samuel Edwin Ward

Odpowiedzi:

9

Kompresja oferowana przez 7zip (w formacie 7z) jest bezpieczniejsza niż jakakolwiek ze „standardowych” metod lub szyfrowanie pliku w formacie zip (wiele z nich pochodzi z lat wstecz i wcale nie jest bezpiecznych). W obu przypadkach upewnij się, że wybrałeś dobre hasło / klucz - przy źle wybranym haśle wszystkie techniki szyfrowania są podatne na ataki słownikowe / zgadywające.

Jeśli szyfrujesz pliki, aby wysłać je komuś innemu, GPG byłoby lepsze (patrz https://help.ubuntu.com/community/GnuPrivacyGuardHowtodla niektórych notatek specyficznych dla Ubuntu lub Google dla wielu innych podobnych zasobów), jeśli osoba, do której wysyłasz, jest w stanie + chętnie używać GPG / PGP / kompatybilnej (lub już z nich korzysta). Standardowe narzędzia GPG są obsługiwane z poziomu wiersza poleceń, dzięki czemu łatwo można pracować ze skryptami, jeśli regularnie archiwizujesz pliki i chcesz je zautomatyzować. Jest to oparty na kluczu publicznym, więc eliminuje problem próby uzyskania klucza do odbiorcy w bezpieczny sposób podczas szyfrowania za pomocą jego klucza publicznego i tylko oni mają klucz prywatny potrzebny do odblokowania wynikowego pliku (nawet ty, osoba, która zaszyfrowała plik, po pierwsze, nie będzie w stanie go odszyfrować). W przypadku paranoi ++ szyfruj za pomocą 7zip podczas tworzenia archiwum, a następnie za pomocą klucza publicznego odbiorcy za pośrednictwem GPG.

David Spillett
źródło
5

Nie jestem pewien co do standardowego zipu w Ubuntu, więc nie mogę powiedzieć, który jest najlepszy, ale oto, czego używają 7-Zip :

7-Zip obsługuje również szyfrowanie przy użyciu algorytmu AES-256. Ten algorytm wykorzystuje klucz szyfrujący o długości 256 bitów. Aby utworzyć ten klucz, 7-Zip używa funkcji pochodnej opartej na algorytmie mieszającym SHA-256. Funkcja wyprowadzania klucza wytwarza klucz pochodny na podstawie hasła tekstowego zdefiniowanego przez użytkownika. Aby zwiększyć koszt wyczerpującego wyszukiwania haseł, 7-Zip wykorzystuje dużą liczbę iteracji do wytworzenia klucza szyfrującego z hasła tekstowego.

Ƭᴇcʜιᴇ007
źródło
3

Ze strony podręcznika zip:

   -P password
   --password password
          Use password to encrypt zipfile entries (if any).  THIS IS INSECURE!  Many multi-user operating systems provide  ways
          for  any  user  to  see  the  current command line of any other user; even on stand-alone systems there is always the
          threat of over-the-shoulder peeking.  Storing the plaintext password as part of a command line in an automated script
          is  even  worse.  Whenever possible, use the non-echoing, interactive prompt to enter passwords.  (And where security
          is truly important, use strong encryption such as Pretty Good Privacy instead of the relatively weak standard encryp-
          tion provided by zipfile utilities.)

Rezultat jest taki, że jeśli proces zip zajmie trochę czasu, inny użytkownik w systemie może zobaczyć wprowadzone polecenie, które zawiera hasło. ups. Przypuszczalnie dotyczy to również .7zrozwiązania.

shabbychef
źródło
0

GnuPG jest prawdopodobnie wystarczająco dobry. Jeśli jednak od tego zależy twoje życie, byłbym trochę sceptyczny. Używam jednorazowego pada . Nie będę rozmawiać o tym, jak generuję pady i jak je zabezpieczam, ale używam również GPG do e-maili o niższym poziomie bezpieczeństwa. Czasami używam jednorazowo do szyfrowania pliku, a następnie dołączam go do wiadomości e-mail zaszyfrowanej za pomocą GPG.

Tak, wysyłam informacje, że ludzie muszą polegać na bezpieczeństwie, włącznie z zagrożeniem życia.

Ruffus
źródło