Какой самый популярный способ шифрования отдельных файлов или папок?
Какой самый популярный способ шифрования отдельных файлов или папок?
Ответы:
GnuPG (GPG) может использовать асимметричное и симметричное шифрование. Асимметричная криптография включает в себя два ключа: открытый ключ для шифрования и закрытый ключ для дешифрования. См. Djeikyb ответ на этой странице для использования асимметричного ключа.
Для симметричного шифрования ключи шифрования и дешифрования равны. Важно понимать, что большинство людей очень плохо выбирают надежные пароли. Таким образом, схема шифрования с использованием паролей должна использовать функцию получения ключа, которая требует больше ресурсов (времени, памяти) для замедления атак методом перебора.
Описание KDF GnuPG см. В этом посте об обмене Crypto Stack Exchange . Пример использования симметричного шифрования:
gpg --symmetric < unencrypted_file > encrypted_file
Дешифрирование:
gpg --decrypt < encrypted_file > decrypted_file
Обратите внимание, что gpg
по умолчанию кешируется symkey (документированное поведение). Чтобы избежать этого, используйте --no-symkey-cache
опцию, как описано в соответствующем ответе .
старый ответ для пользователей, которые могут выбрать хорошие ключи, см. примечание ниже
Для отдельных файлов 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
.
-a
base64-кодирует ввод (псевдоним -base64
), чтобы расшифровать его, вы также должны добавить -a
опцию.
aes-256
это псевдоним для aes-256-cbc
, нет никакой разницы. CBC - это режим работы блочных шифров. Обратитесь к странице справочника enc(1)
за списком поддерживаемых шифров.
Я использую Seahorse для этого. Это интерфейс Gnome для GnuPG и хорошо интегрируется с nautilus:
Чтобы получить интеграцию с nautilus, установите пакет seahorse-nautilus
из Центра программного обеспечения: seahorse-nautilus
TrueCrypt : прекращено, небезопасное бесплатное программное обеспечение шифрования диска, доступное из исходного кода.
Cli-метод - это GnuPG и, возможно, tar. Это краткое руководство для справки, вы действительно должны прочитать документацию.
Первый запуск 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
Вы можете переименовать зашифрованный файл как хотите. При расшифровке исходное имя файла сохраняется.
Также есть eCryptfs , который Ubuntu использует для шифрования домашних каталогов.
Вы можете выбрать шифрование домашнего каталога при установке или настроить отдельный каталог $HOME/Private
по умолчанию с помощью утилиты ecryptfs-setup-private . Эту папку можно настроить для автоматического монтирования при входе в систему и размонтирования при выходе из системы. Каждый отдельный файл и папка внутри $HOME/Private
, рекурсивно, будут зашифрованы.
Вы также можете использовать «Академическую подпись» для использования криптографии на эллиптических кривых с графическим интерфейсом wxWidgets. Это открытый исходный код, но не в репозиториях. В основном это ECC асимметричное шифрование, подписи и временные метки. Но инструмент также имеет пункт меню для вызова Gnupg (RSA) и прямой доступ к симметричному шифрованию / дешифрованию файлов, предлагающих AES и другие алгоритмы. Его домашняя страница находится здесь: https://www.academic-signature.org
Я часто использую его для защиты файлов в пути и для цифровой подписи академических документов (стенограммы, рекомендательные письма, списки оценок и т. Д.)
Я взял некоторые другие предложения и создал простую оболочку сценария оболочки (для ленивых)
https://github.com/orionM/ssl-crypt-tools
наслаждаться
openssl aes-256-cbc ...
Знаете, вместо того, чтобы использовать, if [ $? -ne 0 ] ; then... fi
вы можете просто использовать ||
? И есть некоторые люди, которые думают, что OpenSSL "* имел несколько серьезных недостатков безопасности в прошлом году [ Heartbleed ], в то время как документы Snowden показывают, что GPG является одной из немногих программ, которые могут ввести NSA в заблуждение при правильном использовании. Код OpenSSL также полная выгребная яма и ужасный тестовый охват. (Раскрытие: [он] работает над проектом "OpenSSL отстой; давайте исправим".) - jbarlow * "