Jaki jest najpopularniejszy sposób szyfrowania pojedynczych plików lub folderów?
Jaki jest najpopularniejszy sposób szyfrowania pojedynczych plików lub folderów?
Odpowiedzi:
GnuPG (GPG) może korzystać z szyfrowania asymetrycznego i symetrycznego. Krypto asymetryczne obejmuje dwa klucze, klucz publiczny do szyfrowania i klucz prywatny do deszyfrowania. Zobacz odpowiedź djeikyb na tej stronie dla asymetrycznego użycia klucza.
W przypadku szyfrowania symetrycznego klucze szyfrowania i deszyfrowania są takie same. Ważne jest, aby zdawać sobie sprawę, że większość ludzi bardzo źle wybiera silne hasła. Dlatego schemat szyfrowania wykorzystujący hasła powinien wykorzystywać funkcję wyprowadzania klucza, która wymaga więcej zasobów (czasu, pamięci), aby spowolnić ataki siłowe.
Aby zapoznać się z opisem KDF GnuPG, zobacz ten post dotyczący wymiany stosów kryptograficznych . Przykład zastosowania szyfrowania symetrycznego:
gpg --symmetric < unencrypted_file > encrypted_file
Deszyfrowanie:
gpg --decrypt < encrypted_file > decrypted_file
Pamiętaj, że gpg
domyślnie buforuje klucz (udokumentowane zachowanie). Aby tego uniknąć, użyj --no-symkey-cache
opcji opisanej w powiązanej odpowiedzi .
stara odpowiedź dla użytkowników, którzy potrafią wybrać dobre klucze, patrz uwaga poniżej
W przypadku pojedynczych plików openssl
jest bardzo przydatny, szczególnie przy wysyłaniu pliku niezabezpieczonym kanałem (np. E-mail). Jest darmowy (w gotówce i w wolności), w przeciwieństwie do Truecrypt, który jest darmowy tylko w pieniądzu.
UWAGA : hasło, które tu wprowadzisz, zostanie przetworzone przez jedną iterację MD5 1 . Jeśli wybierzesz hasło „123456”, będziesz mieć bardzo małe bezpieczeństwo.
Szyfruj:
openssl aes-256-cbc -salt -in unencrypted_file -out encrypted_file
Zostaniesz poproszony o podanie hasła, które musisz wprowadzić dwa razy.
Odszyfruj:
openssl aes-256-cbc -d -in encrypted_file -out unencrypted_file
Strona podręcznika dla programu enc .
1 openssl enc
używa funkcji podsumowania zdefiniowanej przez -md
opcję (domyślnie md5) i wywołuje funkcję EVP_BytesToKey()
z liczbą iteracji równą 1. Można ją znaleźć w źródle openssl pod adresem apps/enc.c
.
-a
base64-koduje dane wejściowe (pseudonim -base64
), aby je odszyfrować, musisz również dodać -a
opcję.
aes-256
to pseudonim aes-256-cbc
, nie ma różnicy. CBC to tryb działania szyfrów blokowych. Zobacz stronę podręcznika, enc(1)
aby uzyskać listę obsługiwanych szyfrów.
W tym celu używam konika morskiego . Jest to interfejs Gnome dla GnuPG i dobrze integruje się z nautilus:
Aby uzyskać integrację nautilus, zainstaluj pakiet seahorse-nautilus
z Centrum oprogramowania: konik morski-nautilus
TrueCrypt : wycofane, niezabezpieczone, dostępne źródło bezpłatne oprogramowanie do szyfrowania dysków.
Metodą cli byłby GnuPG , a może tar. To jest krótki przewodnik dla odniesienia, naprawdę powinieneś przeczytać dokumentację.
Pierwszy bieg gpg --gen-key
. Postępuj zgodnie z instrukcjami, aby wygenerować parę kluczy publiczny / prywatny. Teraz można szyfrować pliki: gpg -e foo.txt
. Spowoduje to utworzenie pliku o nazwie foo.txt.gpg
. GnuPG nie usuwa oryginalnego niezaszyfrowanego pliku, od Ciebie zależy, czy chcesz go zawiesić. Aby odszyfrować foo.txt.gpg, uruchom gpg foo.txt.gpg
. Deszyfrowanie wyświetli monit przed zastąpieniem istniejących plików.
Jeśli chcesz zaszyfrować katalog, najpierw spisz go:
tar -cf foo.tar foo/
gpg -e foo.tar
Możesz zmienić nazwę zaszyfrowanego pliku, jak chcesz. Po odszyfrowaniu oryginalna nazwa pliku zostaje zachowana.
Istnieją również eCryptfs , których Ubuntu używa do szyfrowania katalogów domowych.
Możesz wybrać szyfrowanie katalogu domowego podczas instalacji lub możesz $HOME/Private
domyślnie skonfigurować pojedynczy katalog , używając narzędzia ecryptfs-setup-private . Ten folder można skonfigurować do automatycznego montowania przy logowaniu i odmontowywania przy logowaniu. $HOME/Private
Rekurencyjnie każdy pojedynczy plik i folder będzie szyfrowany.
Możesz także użyć „Podpisu akademickiego”, aby użyć kryptografii krzywej eliptycznej z graficznym interfejsem użytkownika wxWidgets. Jest to oprogramowanie typu open source, ale nie w repozytoriach. Wykonuje głównie szyfrowanie asymetryczne ECC, sygnatury i znaczniki czasu. Ale narzędzie ma również pozycję Menu do wywoływania Gnupg (RSA) i bezpośredniego dostępu do symetrycznego szyfrowania / deszyfrowania plików oferujących AES i inne algorytmy. Jego strona główna znajduje się tutaj: https://www.academic-signature.org
Często go używam do ochrony plików w tranzycie i do cyfrowego podpisywania dokumentów akademickich (transkrypcje, listy polecające, listy ocen itp.)
Wziąłem kilka innych sugestii i stworzyłem proste opakowanie skryptu powłoki (dla leniwych)
https://github.com/orionM/ssl-crypt-tools
cieszyć się
openssl aes-256-cbc ...
Wiesz, zamiast używać if [ $? -ne 0 ] ; then... fi
możesz po prostu użyć ||
? I są ludzie, którzy myślą, że OpenSSL „* miał kilka poważnych wad bezpieczeństwa w ciągu ostatniego roku [ Heartbleed ], podczas gdy dokumenty Snowdena pokazują, że GPG jest jednym z niewielu programów, które mogą zakłócać działanie NSA, gdy są właściwie używane. Kod OpenSSL jest również kompletny szambo i ma straszne relacje z testów. (Ujawnienie: [on] pracuje nad projektem „Bani OpenSSL; naprawmy to”.) - jbarlow * ”