Я новичок в шифровании вообще и в GPG в частности. Мой вариант использования — хранение личных документов на сетевом диске. Эти документы — сканы (например, дипломы, статьи). Я сгенерировал ключ GPG с помощью gpg --gen-key
, затем зашифровал несколько изображений с помощью gpg -e -r <name> <file>
. По умолчанию он, похоже, выводит файлы, названные по оригиналу и с суффиксом .gpg
, например, diploma.jpg
становится diploma.jpg.gpg
.
Если тип документа известен, открываю ли я дверь для атаки с использованием известного открытого текста?
Кроме того, какие шаги мне следует предпринять, чтобы создать резервную копию своего ключа (распечатать его на бумаге...)?
решение1
Я бы не беспокоился об имени файла и возможном знании первых нескольких байтов. Но если вас это беспокоит, рассмотрите следующее:
- вы можете использовать контейнер .7z или .zip с шифрованием aes
- вы можете использовать программу-контейнер, например truecrypt
иметь ввиду:
gpg шифрует ваш файл в смешанном режиме, то есть: он использует асимметричный ключ для шифрования «сеансового ключа», а затем использует этот сеансовый ключ для шифрования самих данных. Таким образом, вы фактически ничего не выигрываете, используя асимметричные ключи для шифрования данных, которые интересны только вам (помните: асимметричное шифрование полезно только для чего-то вроде обмена ключами, когда объем данных относительно невелик).
нет причин не использовать симметричное шифрование, поскольку вы в любом случае хотите запомнить парольную фразу для своих файлов/контейнера:
gpg --symmetric -e
поскольку вы описали себя как новичка в этой теме: почитайте немного об этом в руководстве по gnupg:
решение2
GPG сжимает файл перед его шифрованием, что снижает вероятность атаки с использованием простого текста, независимо от типа файла. Кроме того, если произойдет редкий случай компрометации сообщения,нетчто свидетельствует о скомпрометированном ключе среди получателей этого сообщения.
Причина последней части относится к процессу, с помощью которого GPG шифрует сообщения и файлы. Сначала содержимое сжимается, обычно с использованием zlib. Затем сжатые данные симметрично шифруются одноразовым паролем, называемым сеансовым ключом. Затем сеансовый ключ асимметрично шифруется открытыми ключами получателей. Когда сообщение расшифровывается, процесс происходит в обратном порядке: получатель разблокирует сеансовый ключ, используя свой секретный ключ и парольную фразу, GPG использует сеансовый ключ для расшифровки симметрично зашифрованных данных, и, наконец, они распаковываются.
Атака на одно сообщение с большей вероятностью приведет к определению сеансового ключа, чем к компрометации любого из открытых ключей.
Если вы все же хотите скрыть типы файлов, то сделайте следующее:
gpg -ear $RECIPIENT_ID -o filename.asc filename.odt
Чтобы восстановить исходное имя файла при расшифровке, сделайте следующее:
gpg --use-embedded-filename filename.asc
GPG запишет расшифрованные данные в исходное имя файла, которое хранится в симметрично зашифрованных данных, вместе с другой информацией, необходимой для восстановления данных.
Примечание: не используйте указанный выше встроенный флаг имени файла при ручной расшифровке зашифрованного текста из программы электронной почты, особенно при использовании Thunderbird и Enigmail. Многие программы шифрования электронной почты (включая Thunderbird и Enigmail) не назначают оригинальное имя файла из черновика, и расшифровка таким образом может вызвать проблемы, например, при попытке записать данные в файл с нулевым именем.
решение3
AFAIK знание типа данных, которые содержит зашифрованный файл, вообще бесполезно для взлома, поскольку шифрование не заботится о типе данных. Для шифрования это просто биты (числа), не имеющие никакого смысла.
Что касается вашего ключа, самый безопасный вариант — запомнить его, поскольку доступ к вашему разуму невозможен ;)
решение4
Отвечая на вторую часть вашего вопроса:
Кроме того, какие шаги мне следует предпринять, чтобы создать резервную копию своего ключа (распечатать его на бумаге...)?
Давайте сначала поговорим о Сертификате отзыва. Вам определенно следует создать и сделать резервную копию Сертификата отзыва вашего главного ключа. Многие делают бумажную копию (ASCII бронированный или QR-код) и хранят ее в надежном месте, например, в сейфе, запертом огнестойком ящике или банковской ячейке. Если ваш главный ключ (ключ сертификации) будет скомпрометирован, у вас будет резервная копия, которая может отозвать его в случае, если Сертификат отзыва исчезнет с вашего устройства или устройство будет потеряно и т. д.
Если у вас нет сертификата отзыва, создайте его с помощью команды ниже. «mykey» — это имя ключа, которое может быть последними 8 символами отпечатка пальца.
gpg --output revoke.asc --gen-revoke mykey
Сертификат отзыва будет выглядеть примерно так, его легко распечатать. Но вы должны быть осторожны. Печать может подвергнуть его риску компрометации.
-----НАЧАЛО БЛОКА ОТКРЫТОГО КЛЮЧА PGP-----
Комментарий: Это сертификат отзыва
iQG2BCABCAagFiEEiz1thFzdqmEJkNsdNgBokN1gxcwFAlsrcOsCHQAACgkQNgBo kN1gxczZ1Qv/aUNZgG0Sjasbu2sDMcX+rjEUNpIGUB6zjcTsPwpXfFo11aM3yefb k0FgMohA8HUwmN4ka+P31jYuNuLNCqFdT8DKKuQk6XgKnX3NieahG/dFaVANXyHR ......................................... это всего лишь пример сертификата отзыва................................................... =4lcB
-----КОНЕЦ БЛОКА ОТКРЫТОГО КЛЮЧА PGP-----
Теперь о резервном копировании вашего главного ключа:
Решение первое: резервное копирование главного ключа может быть таким же простым, как копирование всего файла. Решение второе: наличие автономного главного ключа (C) повышает вашу безопасность и может быть полезным, в зависимости от оценки риска. Если вы используете ноутбук или нетбук для хранения ключей, может быть особенно хорошей идеей переместить главный ключ в автономный режим.
Есть два способа получить автономный мастер-ключ: Трудный путьиболее легкий трудный путь.
После того, как вы удалите секретный ключ из вашего главного ключа (C) и запустите
gpg2 -К
Результат должен выглядеть так:
Обратите внимание на#рядом ссек--это означает, что секретного ключа больше нет.