Чи є інструмент для шифрування файлу чи каталогу?


66

Який найпопулярніший спосіб шифрування окремих файлів чи папок?


Питання трохи незрозуміле. Ви хочете вручну шифрувати та розшифровувати файли, або в режимі "польоту"?
psusi

4
Замість "найпопулярнішого" може бути корисним рішення для ваших вимог (відповідно до питання psusi). Шукаєте комбінацію легкого, надійного, рідного, безпечного, швидкого, відкритого коду? Все або деякі з них?
belacqua

7
Я хотів би додати зауваження, що всупереч твердженням деяких відповідей TrueCrypt не вважається вільним програмним забезпеченням або відкритим кодом від Debian / Ubuntu / Fedora / Red Hat / Arch Linux / OpenSuse / Gentoo / тощо.
JanC

Відповіді:


46

GnuPG (GPG) може використовувати асиметричне та симетричне шифрування. Асиметрична криптовалюта включає два ключі, відкритий ключ для шифрування та приватний ключ для дешифрування. Дивіться відповідь джейкіб на цій сторінці щодо використання асиметричного ключа.

Для симетричного шифрування ключі шифрування та дешифрування рівні. Важливо усвідомити, що більшість людей дуже погано вибирають міцні паролі. Таким чином, схема шифрування за допомогою паролів повинна використовувати функцію деривації ключів, яка потребує більше ресурсів (часу, пам'яті), щоб уповільнити жорстокі атаки.

Опис KDF GnuPG див. У цій публікації Crypto Stack Exchange . Приклад використання симетричного шифрування:

gpg --symmetric < unencrypted_file > encrypted_file

Розшифровка:

gpg --decrypt < encrypted_file > decrypted_file

Зверніть увагу, що gpgза замовчуванням зберігається симбей (документально підтверджена поведінка). Щоб уникнути цього, використовуйте --no-symkey-cacheваріант, як описано у відповідній відповіді .

Сторінка вручну з gpg .


стару відповідь для користувачів, які можуть обрати хороші клавіші, див. примітку нижче

Для одиночних файлів opensslдуже корисно, особливо при надсиланні файлу по незахищеному каналу (наприклад, електронною поштою). Це безкоштовно (у грошах і у свободі), на відміну від Truecrypt, який є вільним лише у грошах.

ПРИМІТКА : пароль, який ви вводите сюди, буде оброблений однією ітерацією MD5 1 . Якщо ви вибрали пароль "123456", то у вас буде дуже мало безпеки.

Шифрувати:

openssl aes-256-cbc -salt -in unencrypted_file -out encrypted_file

Вам буде запропоновано пароль, який потрібно ввести двічі.

Розшифрувати:

openssl aes-256-cbc -d -in encrypted_file -out unencrypted_file

Сторінка вручну для програми enc .

1 openssl enc використовує функцію дайджесту, визначену -mdопцією (md5 за замовчуванням) та викликає функцію EVP_BytesToKey()з кількістю ітерацій 1. Це можна знайти у джерелі openssl за адресою apps/enc.c.


Чи є спосіб це зробити без пропуску?
Ассаф Лав'є

@Assaf Lavie: OpenSSL не підтримує ключові файли, якщо ви це мали на увазі, хоча він може прочитати пароль з першого рядка файлу. Прочитайте сторінку керівництва на openssl, розділ Передайте аргументи фрази .
Лекенштейн

крім того, ви можете використовувати прапор "-a", який дозволяє скопіювати зашифрований текст, наприклад: "openssl aes-256-cbc -a -salt -in uncrypted_file -out encrypted_file"
v2r

@ v2r Щоб додати для наступних читачів: -abase64-кодує вхід (псевдонім -base64), щоб розшифрувати його, вам також потрібно додати -aпараметр.
Лекенштейн

1
@Lucio aes-256- псевдонім для aes-256-cbc, різниці немає. CBC - це режим роботи для блокових шифрів. enc(1)Список підтримуваних шифрів див. На сторінці керівництва .
Лекенштейн

30

Я використовую для цього Seahorse . Це фронт Gnome для GnuPG і добре поєднується з nautilus:Інтеграція Наутілуса

Щоб отримати інтеграцію nautilus, встановіть пакет seahorse-nautilusіз Центру програмного забезпечення: seahorse-nautilus Встановіть морського коника-nautilus


3
це працює лише за наявності у вашій системі ключів GPGs ...
hhlp

3
@hhlp: відповідь djeikyb пояснює, як це зробити.
idbrii

1
Я хочу зашифрувати мій ключ GPG.
KI4JGT

19

TrueCrypt : припинене, незахищене безкоштовне джерело, безкоштовне програмне забезпечення для шифрування диска.


2
+1, encfs - з графічним інтерфейсом або без нього - дуже корисний і достатній для більшості цілей.
loevborg

3
Cryptkeeper - приголомшливий - простий, потужний і легкий вітер, який можна налаштувати за допомогою Dropbox ( askubuntu.com/questions/19613/… ).
Scaine

TrueCrypt не пакується в Ubuntu (або будь-яких інших основних дистрибутивах) для проблем з ліцензуванням.
MagicFab

2
TrueCrypt не є таким відкритим кодом. en.wikipedia.org/wiki/…
юрій

4
'ПОПЕРЕДЖЕННЯ: Використання TrueCrypt не захищено' - TrueCrypt
user457015

16

Методом cli буде GnuPG , а може і тар. Це короткий посібник для довідки, ви дійсно повинні прочитати документацію.

Перший пробіг gpg --gen-key. Дотримуйтесь підказок, щоб створити вашу публічну / приватну пару ключів. Тепер ви можете шифрувати файли: gpg -e foo.txt. Це створить файл під назвою foo.txt.gpg. GnuPG не видаляє оригінальний незашифрований файл, ви вирішите, чи хочете ви його навколо. Щоб розшифрувати foo.txt.gpg, запустіть gpg foo.txt.gpg. Розшифрування підкаже вам перед перезаписом наявних файлів.

Якщо вам потрібно зашифрувати каталог, спершу натисніть його:

tar -cf foo.tar foo/
gpg -e foo.tar

Ви можете перейменувати зашифрований файл все, що завгодно. При розшифровці вихідне ім'я файлу зберігається.


2
Перевагами цього методу є: по-перше, він не потребує встановлення додаткових пакетів; По-друге, він не потребує кореневого доступу. Я б додав стиснення до команди tar (xz або gz).
Пантера

12

Є також eCryptfs , які Ubuntu використовує для шифрування домашніх каталогів.

Ви можете вибрати шифрування домашнього каталогу під час встановлення або встановити один каталог $HOME/Privateза замовчуванням, використовуючи утиліту ecryptfs-setup-private . Цю папку можна налаштувати для автоматичного встановлення під час входу та відключення під час виходу. Кожен окремий файл і папка в межах $HOME/Privateрекурсивно будуть зашифровані.


На жаль, eCryptfs ДУЖЕ повільно. Також є кілька помилок в останній версії
ruX

Навпаки, якщо що-небудь eCryptfs швидше, ніж gpg; за замовчуванням gpg намагається стиснути перед шифруванням. І тепер eCryptfs також використовується більшістю Android
Xen2050

2

Ви також можете використовувати "Академічний підпис" для використання криптографії еліптичної кривої з графічним інтерфейсом wxWidgets. Він є відкритим кодом, але не знаходиться в сховищах. В основному це робить асиметричне шифрування ECC, підписи та часові позначки. Але в інструменті також є запис у меню для виклику Gnupg (RSA) та прямого доступу до симетричної шифрування / розшифровки файлів, що пропонують AES та інші алгоритми. Його домашня сторінка тут: https://www.academic-signature.org

Я багато використовую для захисту файлів під час транзиту та для цифрового підпису академічних документів (стенограми, рекомендаційні листи, списки оцінок тощо)


1

Я взяв деякі інші пропозиції і створив просту оболонку сценарію оболонки (для ледачих)

https://github.com/orionM/ssl-crypt-tools

насолоджуватися


1
хм, bash скрипт із використанням openssl aes-256-cbc ...Знаєте, замість того, що if [ $? -ne 0 ] ; then... fiви можете просто використовувати ||? І є деякі люди, які вважають, що OpenSSL "* мав декілька основних недоліків у безпеці за останній рік [ Heartbleed ], тоді як документи Snowden свідчать, що GPG - одна з небагатьох програм, яка може спокусити NSA при правильному використанні. Код OpenSSL також повна вигрібна яма та страшне покриття тесту. (Розкриття: [він] працює [s] над проектом "OpenSSL смокче; давайте виправити це".) - jbarlow * "
Xen2050
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.