Как расшифровать файл gpg

Обновлено: 06.07.2024

Это руководство расскажет, как работает и как реализовывается GPG.

Примечание: Хотя руководство предназначено для сервера Ubuntu 16.04, с небольшими поправками оно подойдет и для других дистрибутивов.

Как работает шифрование на открытых ключах

GPG использует механизм безопасности, известный как шифрование на открытых ключах. Этот механизм позволяет разделить шифрование и дешифровку данных на две отдельные части.

Подтверждение подлинности отправителя

Настройка GPG-ключей

В большинстве дистрибутивов GPG устанавливается по умолчанию.

Если это не так, установите GPG самостоятельно. В Ubuntu и Debian введите:

sudo apt-get update
sudo apt-get install gnupg

В CentOS нужно ввести:

sudo yum install gnupg2

Чтобы шифровать данные с помощью GPG, создайте пару ключей. Для этого введите команду:

Команда задаст ряд вопросов.

После этого gpg сгенерирует ключи с помощью энтропии. Энтропия – это уровень непредсказуемости и неопределенности, которая существует в системе. GPG использует энтропию для создания безопасного набора ключей.

Этот процесс может занять много времени в зависимости от размера ключа и того, насколько активна система. Чтобы создать дополнительную энтропию, можно использовать инструмент под названием haveged. Откройте еще один терминал и подключитесь к серверу по SSH, чтобы настроить haveged.

Создание сертификата отзыва

Также нужно предусмотреть способ отзыва пары ключей (он пригодится в случае потери закрытого ключа). GPG позволяет быстро создать такой сертификат.

Это нужно сделать сразу после генерирования пары ключей. Сгенерируйте сертификат отзыва заранее и храните его в надежном месте (учтите, что компьютер может подвергнуться атаке или просто сломаться).

Чтобы сгенерировать сертификат отзыва, введите:

Программа предложит подтвердить создание сертификата отзыва, а затем спросит, по какой причине нужно отозвать ключи. Эта информация будет видна другим пользователям. Вы можете выбрать любой из доступных вариантов (но он не будет точным, поскольку это делается заранее).

Примечание: Многие рекомендуют создать сертификат отзыва для каждого из вероятных сценариев.

Revocation certificate created.
Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!
Сразу ограничьте доступ к файлу сертификата:
chmod 600

Сертификат отзыва должен храниться в надежном месте, чтобы другие пользователи не могли отозвать ваш ключ. Создайте резервную копию сертификата и переместите ее на другую машину.

Импорт открытых ключей других пользователей

Теперь вы можете принимать открытые ключи от других пользователей, с которыми вы хотели бы общаться.

Импортировать открытый ключ пользователя можно несколькими способами. Если вы получили открытый ключ в текстовом файле, GPG может импортировать его с помощью следующей команды:

gpg --import name_of_pub_key_file

Также существует вероятность того, что пользователь, с которым вы хотите общаться, загрузил свой открытый ключ на специальный сервер. Такие серверы используются для размещения открытых ключей людей со всего мира.

Популярным сервером ключей является MIT. В браузере вы можете искать людей по их имени или адресу электронной почты:

Также поиск можно выполнять с помощью GPG.

gpg --keyserver pgp.mit.edu --search-keys search_parameters

Проверка и подпись ключа

Вы можете свободно распространять свой файл открытого ключа, и люди могут использовать его для безопасного общения с вами. Однако также важно иметь возможность при первой передаче открытого ключа убедиться в том, что ключ принадлежит именно тому пользователю, который вам нужен.

Подтверждение личности пользователей

Как понять, что человек, дающий вам открытый ключ, действительно является тем, за кого себя выдает? Если вы знакомы с человеком лично, это вообще не проблема: вы можете обменяться файлами при встрече.

Но есть много других обстоятельств и ситуаций, когда личный контакт невозможен. Вы можете не знать другого пользователя лично или жить на разных континентах. Если вы не хотите пользоваться незашифрованными каналами, проверка открытого ключа может вызвать ряд сложностей.

К счастью, GPG позволяет создать отпечаток ключа, с помощью которого обе стороны могут подтвердить подлинность ключей собеседника. Это дает уверенность в том, что оба открытых ключа верны.

Чтобы получить отпечаток ключа, введите:

Полученное значение можно сравнить с самим пользователем или же с кем-то, кто имеет доступ к его серверу.

Подпись ключа

Подпись ключа говорит программному обеспечению, что такому ключу можно доверять, и что он действительно принадлежит указанному пользователю.

Чтобы подписать импортированный ключ, наберите:

Подпись ключа подтверждает, что владелец полученного открытого ключа действительно тот, за кого себя выдает. Это также помогает другим пользователям решить, следует ли доверять ему: например, пользователь, который доверяет вам, увидев, что вы подписали ключ этого человека, сможет также доверять ему.

Чтобы позволить владельцу подписанного ключа пользоваться доверительным к нему отношением, отправьте ему назад подписанный ключ. Это можно сделать, набрав:

Теперь нужно снова ввести парольную фразу. После этого подписанный открытый ключ будет выведен на экране. Отправьте его владельцу, чтобы он мог использовать эту «печать одобрения» при общении с другими пользователями.

Получив новый подписанный ключ, пользователь может импортировать его в GPG и внести информацию о подписи. Это делается таким образом:

Доступность открытого ключа

Имея доступ к к открытому ключу, другие пользователи не могут навредить вашей системе.

Чтобы опубликовать ​​ключ на сервере ключей, можно вручную заполнить формы, доступные на большинстве сайтов.

Также это можно сделать через интерфейс GPG. Чтобы узнать ID своего ключа, введите:

Выделенная часть в выводе – это ID ключа. Это короткий путь сослать ключ на внутреннее программное обеспечение.

Чтобы загрузить открытый ключ на сервер ключей, используйте следующий синтаксис:

gpg --send-keys --keyserver pgp.mit.edu key_id

В случае необходимости программа запросит пароль.

Поддержка ключей

Существует ряд процедур, которые нужно выполнять для поддержки базы ключей.

Чтобы просмотреть список доступных GPG-ключей других пользователей, используйте команду:

Не стоит полностью полагаться на серверы открытых ключей, так как они могут содержать устаревшую информацию. Доверять отозванным (а значит — потенциально взломанным) ключам опасно.

Обновить информацию о ключах можно с помощью команды:

Эта команда извлекает новую информацию о ключах с серверов ключей.

Чтобы получить информацию с определенного сервера ключей, используйте команду:

Заключение

Правильное использование GPG обезопасит переписку. Это очень полезно как при работе с конфиденциальной информацией, так и в обыденной переписке.

Лучше перестраховаться и защитить ваши мысли и данные с помощью мощной системы шифрования.

После того, как вы настроите и запустите пакет GPG, вы сможете с его помощью делать следующее:

Как я уже говорил в первом пункте, вам необходимо два ключа, но откуда они берутся? Если вы уже некоторое время используете GPG, то можете по мере необходимости переносить свои ключи с одной машины на другую, либо вы можете создать новую пару ключей "с нуля".

Подсказка. Графический интерфейс имеется практически для всех команд, что будет подтверждено в этом совете. Для KDE есть отличный инструмент KGpg (из пакета kgpg). Пользователи GNOME должны попробовать приложение Seahorse (из пакета seahorse, которое в меню GNOME указано как Encryption Key Manager — Менеджер ключей шифрования).

Генерируем пару ключей GPG

Создать пару собственных ключей GPG очень просто (если у вас уже есть пара ключей на другом компьютере, то перейдите к следующему разделу):

Вам будет предложено выбрать тип ключа, который вы будете использовать, поэтому выберите один из следующих пунктов . и нет, я не знаю, куда делись третий и четвертый варианты:

Нажмите клавишу Enter для того, чтобы выбрать вариант 1, используемый по умолчанию, затем вам будет задан вопрос о размере вашего ключа. По умолчанию размер равен 2048, что отлично, так что просто нажмите клавишу Enter, чтобы подтвердить выбор. Затем вам будет задан вопрос о том, в течение какаго времени должен действовать ключ. Значение 0, используемое по умолчанию, означает, что срок действия ключа никогда не истечет, и обычно это хороший вариант в случае, если вы планируете хранить этот ключ и использовать его в будущем. Если же вы хотите использовать ключ в течение ограниченного времени, укажите количество дней, недель, месяцев или лет, в течение которых вы хотите использовать ключ, и нажмите клавишу Enter. После того, как вы проверите введенную продолжительность времени, введите y и снова нажмите клавишу Enter.

Теперь вам нужно создать идентификатор пользователя, который связан с ключами. Во-первых, вас попросят ввести ваше настоящее имя, так что наберите его и нажмите Enter. После этого, у вас попросят ввести адрес электронной почты и, в конце, добавить комментарии. Комментариями может быть все что угодно, например, URL, название компании, местоположение, или даже вообще ничего, но здесь было бы хорошо записать данные, с помощью которых вы сможете различать ключи. Введите свои данные и нажимайте клавишу Enter после ввода каждого пункта. После того, как вы введете следующие три пункта: имя, электронную почту и комментарии, вам будет предложено подтвердить или изменить ваш идентификатор пользователя, так что ответьте соответствующим образом и нажмите Enter.

Теперь о важном: о фразе-пароле для ваших секретных ключей. Как вы можете догадаться, здесь нужно использовать что-то стоящее, а не только password, scooter или 123456. Обратите внимание, что вы можете использовать фразу-пароль (passphrase), а не только пароль (password), так что выберите что-то запоминающееся с пробелами, что для вас памятно. Проблема? Посмотрите по ссылке http://www.securityfocus.com/columnists/245 статью "Pass the Chocolate", которую я написал для SecurityFocus и в которой есть советы по выбору хороших паролей и фраз-паролей. Введите вашу фразу-пароль, затем проверьте, а потом, бах! Пакет GPG начнет генерацию ключей. На экране будут появляться случайные символы и GPG попросит вас поперемещать вашу мышку, понабирать символы на клавиатуре, а также будет активировать работу диска, что поможет улучшить ключ за счет получения случайных данных, которыми он воспользуется. Наконец, GPG завершит создание новых ключей, что можно проверить с помощью следующей команды:

Вы создали ваши ключи; теперь пришло время их использовать. Перейдите к разделу "Подписываем ключ GPG", либо прочитайте следующий раздел, если вы хотите узнать, как импортировать ключи GPG с другого компьютера.

Импорт ключей GPG

Если вы хотите использовать те же самые открытые и закрытые ключи, которые есть на другом компьютере, просто скопируйте их с другого компьютера на новый. Если вы уже создавали какие-либо ключи, примите решение, будете ли вы их переписывать на новый компьютер, поскольку это может быть правильным решением. Я использовал одни и те же ключи в течение многих лет, просто копируя их с машины на машину и этого было достаточно. Ниже показано как с помощью команды scp скопировать ключи со старой машины, имеющей имя eliot.

Вы также можете импортировать ключи, которые будут добавлены в хранилище ключей, уже имеющееся на текущем компьютере (а не заменят уже существующие ключи, как и в предыдущем случае). Чтобы сделать это, вам, естественно, потребуются ключи. Их можно скопировать с другого компьютера на ваш, либо получить открытые ключи с сервера в сети. Если ключи находятся на другом компьютере, скопируйте их на ваш компьютер с Ubuntu, поместите их на время на рабочий стол, а затем выполните следующую команду:

Обратите внимание на идентификатор ключа, который имеет значение 6503F88C. С его помощью вы можете импортировать конкретный ключ с помощью следующей команды:

Все оказалось просто, не так ли?

Подписываем ключ GPG

Когда вы подписываете ключ, вам будет задан вопрос, хотите ли вы подписать все идентификаторы пользователей, связанные с этим ключом. Введите y и нажмите Enter. Подтвердите свой ответ повторным вводом y и нажатием Enter. Затем вам потребуется ввести вашу секретную фразу-пароль, с помощью которой защищен ваш ключ, таким образом вы можете доказать, что это именно вы подписываете открытый ключ этого человека. Введите свою фразу-пароль, нажмите Enter и все будет сделано. Вы подписали ключ и теперь вы можете использовать его для шифрования.

Шифрование файлов с помощью GPG

Теперь на вашем рабочем столе будет находиться файл с именем test_encryption.asc. Если вы откроете файл, вы увидите нечто вроде следующего:

Вы можете прикрепить файл ASCII к электронному письму или скопировать весь текст в буфер и вставить его прямо в письмо.

С целью дополнительной безопасности вы можете подписать файл цифровой подписью так, чтобы получатель знал, что файл на самом деле от вас и только от вас. Для того, чтобы одновременно подписать файл и его зашифровать, используйте следующую команду:

Подсказка. Хотя я сосредоточился на шифровании файлов, предназначенных для других, вы всегда можете шифровать файлы для самого себя, просто указав себя в качестве получателя. Это отличный способ защиты файлов на вашем компьютере, если вы просто не хотите, чтобы кто-нибудь их просматривал.

Расшифровываем файлы с помощью GPG

Скажем, мой приятель Джанс посылает мне зашифрованный файл, и мне нужно его расшифровать. Прежде чем продолжить, я должен импортировать открытый ключ Джанса в мое хранилище ключей и проверить его ключ. Как только это будет сделано, я смогу расшифровать файл. Если он прислал мне двоичный файл, я должен использовать следующую команду:

Если вместо него он прислал мне файл ASCII, я должен использовать следующее:

Конечно, в большинстве хороших программ Linux, используемых для с электронной почты, шифрование GPG включено прямо в их интерфейс. Пакет KMail, используемый по умолчанию в Kubuntu, позволяет легко работать с зашифрованной электронной почтой и вложениями, тогда как в пакете Evolution, используемом по умолчанию в Ubuntu, это не так просто, но, безусловно, выполнимо. В самом деле, нет никаких причин не использовать GPG для шифрования электронной почты и файлов. При полном отсутствии минусов и массе веских причин, а на ум сразу приходят конфиденциальность и безопасность, вы должны сегодня же настроить свое хранилище ключей и начать использовать GPG.

В современном мире каждый аспект нашей личной жизни записывается на компьютеры. Один из способов защиты наиболее важной информации - шифрование файлов и каталогов. Во время шифрования содержимое файлов перемешивается с избыточными данными в соответствии с установленным алгоритмом, таким образом, что расшифровать его можно только имея специальный пароль или ключ.

В операционной системе Linux есть замечательный инструмент с открытым исходным кодом для шифрования файлов - GNU Privacy Guard или просто GPG, который может быть использован для шифрования любого файла из командной строки или в графическом режиме. О нем и пойдет речь в сегодняшней статье.

Утилита GPG

Перед тем как перейти к использованию утилиты, давайте рассмотрим ее синтаксис:

$ gpg опции файл параметры

Опции указывает что необходимо сделать с файлом, как это сделать и какие возможности использовать. Давайте рассмотрим самые основные опции, которые мы будем использовать в этой статье:

А теперь рассмотрим по порядку, что нам нужно для того, чтобы выполнять шифрование файлов Linux.

Шифрование файлов с помощью пароля

Симметричный шифр - самый простой и в то же время надежный способ шифрования файлов linux. Расшифровать файл сможет любой у кого есть пароль. Для использования просто запустите терминал и выполните команду gpg с параметром -c:

gpg -c имя файла


Утилита создаст файл с расширением gpg. Для расшифровки используйте:


Шифрование с использованием ключей

Асимметричный шифр более надежный так как для шифрования используется два ключа - публичный, собственно для шифрования, которым может воспользоваться любой, и приватный - для расшифровки. Причем файл можно расшифровать только с помощью приватного ключа, даже если вы зашифровали файл, без приватного ключа вы его не расшифруете.

Сначала необходимо настроить gpg, создать пару ключей, для этого наберите:

Программа задаст ряд вопросов для настройки ключа:


Выберите требуемый тип ключа.


Выберите нужный размер для ключа, обычно 2048 будет достаточно.


Выберите строк действия для ключа.


Проверьте все ли правильно.


Введите имя нового ключа, фактически, это имя пользователя, но вы будете использовать его чтобы зашифровать файл linux, поэтому выбирайте обдумано.


Введите ваш email адрес.

Описание ключа, если нужно.


Финальная проверка, затем нажмите O для завершения.


Процесс генерации может занять некоторое время. Когда все будет готово в каталоге

./gnupg появятся два файла. В файле pubring.gpg публичный ключ, а в secring.gpg приватный.


Также вы можете посмотреть список доступных ключей:


Если вы собираетесь шифровать файлы на другом компьютере необходимо экспортировать публичный ключ, для этого есть опция -а:

gpg -a -o gpgkey.asc --export имя_ключа


Затем передаем файл на целевое устройство и импортируем ключ:

gpg --import gpgkey.asc

После импорта ключа уровень доверия к нему по умолчанию будет неизвестным поэтому при каждом шифровании gpg будет спрашивать действительно ли вы доверяете этому ключу. Чтобы этого избежать нужно указать уровень доверия. Для этого воспользуйтесь редактором ключей:

gpg --edit-key Username


Для выбора уровня доверия введите команду trust:

Для своих ключей можно использовать пункт абсолютно доверяю с номером 5, вы же знаете что это именно ваш ключ.

Теперь можно переходить к шифрованию. Для того чтобы зашифровать файл linux используйте команду:

gpg -e -r ид_пользователя имя_файла


Ид пользователя нужно указывать тот что вы использовали при создании ключа. Для расшифровки используйте:

gpg -d имя_файла.gpg


Для каталогов действия аналогичны только сначала нужно создать архив с помощью tar:

tar -cf - каталог | gpg -e -r ид_пользователя

А для расшифровки:

gpg -d каталог.gpg | tar -xvf

Подписи и шифрование

Для проверки подлинности файлов может использоваться не шифрование, а подпись. Тогда на основе файла и ключа создается отпечаток, который записывается в файл. Если файл будет изменен, то отпечаток уже не совпадет.

Вы можете подписать файл с помощью опции --sign:

gpg --sign имя_файла

Если вы не хотите изменить исходный файл, то можно создать подпись в отдельном файле:

gpg -b имя_файла


Тогда в каталоге, рядом с файлом появиться файл .sig с подписью. Дальше, чтобы проверить достаточно использовать команду verify:

gpg --verify textfile.sig textfile


Если файл был изменен, то вы увидите, что подпись не сходиться.

Выводы

В этой статье мы рассмотрели как выполняется шифрование файла linux, а также настройка утилиты gpg. Шифрование gpg linux используется людьми для хранения важных данных, а механизм подписей популярен среди разработчиков дистрибутивов. Если у вас остались вопросы, спрашивайте в комментариях!

На завершение отличное видео о том, как работает асимметричный алгоритм шифрования:

Шифрование GPG (GnuPG, ex PGP)


Для защиты информации (с возможностью ее передачи по электронной почте или на физическом носителе) от чужих глаз используется несколько основных методик:

Итак, GnuPG.

GnuPG

GNU Privacy Guard, совместимый с OpenPGP, созданный Фондом СПО на базе PGP, востребован и стабильно развивается на протяжении многих лет. На февраль 2020 года актуальная версия 3.1.11, в которой заявлены улучшения в плагине к Outlook GpgOL, в основном модуле Kleopatra и др.

Установка GPG

После установки при первом запуске программа предлагает сгенерировать ключ для подписывания/шифрования информации.

Соглашаемся, вводим необходимую информацию, программа сгенерирует пару секретного/открытого ключей:

GPG key creation variants

GPG - Key creation (2)

GPG - Key creation - set secret

Фразу-пароль ключа необходимо беречь как зеницу ока! Этот пароль - защита всей вашей переписки, возможно, на долгие годы вперед. Пароль должен быть сложным и не словарным.

Шифрование текста

Вся работа (управление ключами, шифрование текста и много другое) происходит в приложении Kleopatra . Возможностей и тонкостей настолько много, что, пожалуй, даже не буду начинать их обзор.

Запускаем: Пуск - Kleopatra.

Рядом с часами внизу экрана появиось стилизованное изображение женщины с красными волосами. Так, программа запущена.

Наберем текст для ширования. Удобно это сделать в самом приложении Kleopatra в модуле "Блокнот":

GPG - Kleopatra - Message creation

Для примера, пусть это будет слово "test" (без кавычек).

Перед тем, как радостно отправлять этот текст по электронной почте, надо выбрать получателя. Пока что весь этот текст (включая заголовки -----BEGIN PGP MESSAGE----- и -----END PGP MESSAGE-----) можно спокойно переслать по элетронной почте в отрытом виде (более открытого вида и не придумать!) кому угодно. Без вашего секретного ключа этот текст расшифровать невозможно. Без вашего ключа. Пока что только вы сможете открыть этот текст.

Шифруем простым паролем

Для этого переходим во вкладку "Получатели", оставляем только галку "Зашифровать, используя пароль. Каждый, кто знает пароль, сможет прочитать данные."

Этот текст не привязан ни к вашему ключу подписи, ни к программе. Просто зашифрованный текст.

Расшифровка GPG

Напомню, что копировать шифрованный текст необходимо полностью, от -----BEGIN . и до END PGP MESSAGE-----

Само собой, если вы расшифровывате текст, который был просто зашифрован паролем, без ключей, то и для расшифровки потребуется только пароль, но этот пароль надо будет как-то передать от отправителя к получателю (или согласовать заранее).

Подпись GPG

Помимо шифрования часто полезно знать, что данный конкретный файл - оригинал, а не подделка. GnuPG позволяет, не шифруя, просто подписать файл. В дальнейшем всегда можно убедиться, что файл не был изменен.

Kleopatra > Файл > Подписать / Зашифровать [файлы]

Выбираете файл (например, file.doc), выбираете сертификат подписи, убираете все галочки, оставив только выбранный сертификат подписи и жмете "Подписать". Будет необдим пароль приватного ключа.

После успешного завершения в той же папке, что и нужный файл, будет создан файл file.doc.sig (с расширением .sig). Двойной клик на нем и если с расширением .sig ассоциирована программа Kleopatra, то октроется окно, в котором будет написано, что файл подписан тем-то, тогда-то.

Исхдный файл и файл подписи должны быть в одной папке при проверке. Имя файла подписи должно быть такое же, как и исходный файл, просто добавляется .sig. Если переименовать файл подписи, то проверить кликом мышки уже не выйдет.

Попробуйте изменить хоть немного оригинальный файл - проверка покажет, что файл уже не тот.

Это можно использовать при скачивании файлов - вы предоставляете файл и файл его подписи. Подменить файл подписи не выйдет, ведь незаметно переподписать, не зная пароля приватного ключа, не возможно.

-----BEGIN PGP MESSAGE-----

Расшифруйте код подтверждения

-----BEGIN PGP MESSAGE-----

hQGMA+qI8SSOraNiAQwAsXPh0CenWerB2yItSXuTyPBcQc/xCnXXWtx45oLUVlgL
R4dPSsLR+KfY11oIbOM4dbMrN2eNdLSGTp0ONkap578rVeS+2ZEMIyzThtf6Eh+q
3LOk6FfCl/I0j06HiQ9lYzZhijJBnpb9kQp+nAOZj8BtLpXjTfjHIR9NfZkmJGUT
JhqRHXNqmljMfw6JCFKkUzTnYviLnopUPV26gWewt0pPGK7Ey5zrDqBFauhVUV2J
DJ2SC8Q/LAPMNEXaUxuskt32enZ8KrljlJbcM03rUTDgERQ6LV9Fm9mlN3JvWz4M
6tNcotWDVgiAHadwDAhm1NUOLetz8laxDtdoCYuO5CGokNCI06u9VGtNip8wtRWR
MpCZfw4391GdWp9cXqCHuxc+35nc7eGI0erNfQQECPoMYuItP58P1Qv4+1xdIeSm
DkH75F2FKHRM3e2L+ZXNrR35GV1rcqVZn1OwfCzKNrRAbViYtLPdgYYSPNk7SdNR
FC74WJzA3OjCUF06ojaY0l8BJcLQu3v13bTztrRWc9s/nHS3hwn8rm5UWbKHpRWi
jokEwDoDboWBAUKbGwIHa9vCIFrkuRVilHJxz0lIvlFPGjI1z3WdeGpZDJ6BF4nZ
/prAm1vRMiwt6TbpXe3Xpw==
=ZkZc
-----END PGP MESSAGE-----


Зачем что-то шифровать, если каждый мессенджер пишет, что у него все зашифровано?

Если вы чего-то не видите – этого нет :) К тому же нельзя хранить ключи от зашифрованных данных на чужих серверах. В любой момент ими могут воспользоваться злоумышленники, если взломают сервер мессенджера.

Когда вы имеете дело с коммерческой тайной или персональными данными людей, особенно топ-менеджеров известных компаний, следует приложить максимум усилий для безопасной передачи данных. Любая утечка может привести к непоправимым репутационным потерям.

При таком уровне секретности стоит воспринимать любой мессенджер или электронный сервис всего лишь как канал передачи данных. Информацию необходимо предварительно зашифровать, а доступ к расшифровке должен иметь строго определенный круг лиц.

Схема работы

Мы разберем подробно схему использования асимметричного шифрования на примере вымышленной консалтинговой компании Forest inc. Она занимается подбором руководителей высшего звена, то есть находит бизнес с потребностью в кадрах и подходящих кандидатов из других компаний. Классический хедхантинг:

  • Любая утечка информации на любом из этапов приведет к весьма драматическим последствиям для всех сторон.
  • В Forest inc. работают три консультанта: Винни Пух, Сова и Пятачек.
  • Винни Пух узнал, что Тигра ищет руководителя по развитию бизнеса и уже едет к нему на встречу, чтобы познакомиться, снять запрос и провести пресейл.
  • В это время Сова в офисе изучает информацию о Tigra Co. в надежде найти информацию, которая поможет Винни Пуху заключить сделку.
  • Винни Пух приезжает в офис к Тигре, а Сова к тому времени выяснила, что Тигра очень любит прыгать – это очень важный факт, который нужно безопасно сообщить Винни.
  • Необходимо проинформировать Пятачка, который находится в командировке в дальнем лесу: он занимается подбором топ-менеджеров и это очень поможет ему в поиске.
  • У Винни телефон на Android, Сова в офисе за ноутбуком с Windows, а Пятачек, как порядочная свинья, пользуется айфоном.

Настройка программ

Начнем с ноутбука Совы. Будем использовать программу gpg4win: для начала скачайте с сайта дистрибутив.


Вам важны только GnuPG и Kleopatra. Уберите GpgOL, а GpgEX можно оставить.

Вам важны только GnuPG и Kleopatra. Уберите GpgOL, а GpgEX можно оставить.

На рабочем столе появится иконка Kleopatra, а после запуска программы вы увидите такое окно:


Сразу сделайте две вещи: добавьте кнопку Буфер обмена на панель и включите постоянное отображение ярлыка в трее у часов.

Правой кнопкой на стрелочке в трее. Включите ползунок.

Теперь идите в Клеопатру и вытаскивайте кнопку Буфер обмена на панель:

Перетащите <b>Буфер обмена</b> из правой колонки в левую.

Перетащите Буфер обмена из правой колонки в левую.

Можно добавить Клеопатру в автозагрузку: для этого нажмите Пуск → Выполнить или используйте сочетание клавиш Win+R, а потом напишите shell:startup и нажмите Enter:

Правой кнопкой перетащите ярлык Клеопатры в папку <b>Автозагрузка</b> и выберите <b>Копировать</b>.

Правой кнопкой перетащите ярлык Клеопатры в папку Автозагрузка и выберите Копировать.

Настройка программы закончена :) Теперь время создать ключи и обменяться ими с коллегами.

Нажмите <b>Создать пару ключей</b>.

Нажмите Создать пару ключей.

Важно понимать, что публичный ключ можно публиковать в открытом виде. Это безопасно и позволяет вам начать шифрованную переписку с кем угодно, однако в публичном ключе содержатся поля Имя и E-mail. Лучше всего написать там вымышленные данные. Электронная почта никакого значения не имеет, а имя ключа ваши адресаты увидят в собственных списках. Достаточно, чтобы они опознали владельца ключа.

Клеопатра считает, что имя sova слишком короткое, поэтому мы добавили _ в конце.

Перейдите в Дополнительные параметры:

Укажите максимальный размер ключа, уберите срок его годности и поставьте галочку на <b>Идентификации</b>.

Укажите максимальный размер ключа, уберите срок его годности и поставьте галочку на Идентификации.

Для создания ключа все готово. Нажмите Далее, Далее и задайте пароль:


Прошло максимум 15 секунд. Нажмите Завершить.

Все, ключи созданы:


Теперь самое время обменяться ключами с Винни Пухом. Для этого нужно послать ему наш публичный ключ, получить ключ от него и импортировать в Клеопатру.

Правой кнопкой на ключе – Экспорт. Сохраните файл куда-нибудь, например, в загрузки.

Теперь в папке Загрузки появился текстовый файл с расширением .asc , который содержит наш публичный ключ.

Так выглядит содержимое ключа.

Так выглядит содержимое ключа.

Мы помним, что Винни Пух сидит на Андроиде. Сова сообщает ему, что необходимо установить из Google Play приложение PGPtools, которое стоит 60 рублей. Поверьте, оно того стоит :)

Как правильно отправлять зашифрованные данные?

Для обмена зашифрованными текстами лучше всего использовать сервисы одноразовых записок.

Это хорошо по нескольким причинам:

Обмен публичными ключами между Android и Windows

Откройте файл с ключом в текстовом редакторе и скопируйте его содержимое в буфер:


Перейдите по ссылке. Откройте записку. Выделите весь текст и скопируйте в буфер.

Откройте PGPtools и нажмите Import:

Вставьте ключ в окно через кнопку Paste и нажмите Import. Ключ успешно импортирован. Убедитесь в этом, нажав Key list (вы должны увидеть в списке ключ Совы).

Нажмите Generate. Выберите максимальную длину ключа, имя и e-mail, задайте пароль, нажмите Generate и подождите секунд 15-20. Ключ создан. Теперь в Key List нажмите Info на публичном ключе. Нажмите Copy, и ключ будет скопирован в буфер. Вставьте ключ в окно, создайте записку и отправьте Сове.

Далее Сова на ноутбуке откроет ссылку с ключом (следующие скрины с ноутбука Совы):

Скопируйте текст ключа. Откройте Клеопатру и нажмите Буфер обмена → Импорт Сертификата. Нажмите Да. Поставьте две галки и нажмите Далее. Нажмите Заверить. Сова вводит свой пароль чтобы заверить ключ Винни Пуха. Нажмите Завершить. Теперь в списке ключей Совы появился публичный ключ Винни Пуха.

Самое сложное позади. Сова и Винни Пух обменялись ключами: это нужно сделать один раз и повторять только при смене ключей.

Теперь Сова должна послать Винни Пуху важную информацию для переговоров с Тигрой. Для этого достаточно открыть любой текстовый редактор и написать текст:

Теперь Винни пишет ответ Сове в этом же окне: просто очищает все кнопкой Clear, печатает текст, выбирает в адресатах Сову и жмет Encrypt.


Сова открывает ссылку из WhatsApp и копирует текст в буфер. Открывает Клеопатру, Буфер обмена → Расшифровать, вводит пароль.

Второй вариант без открытия окна Клеопатры: кликнуть правой кнопкой на иконку в трее и выбрать Расшифровать:

Подытожим:

Чтобы всем членам команды переехать на шифрованное общение, каждому придется установить PGPTools на смартфон и gpg4win на компьютер. Потом нужно будет создать пару ключей и выслать всем членам команды публичный. Важно помнить, что ключ должен быть продублирован на компе или телефоне, иначе пользоваться им можно будет только на одном устройстве.

После установки программ и обмена ключами следует немного потренироваться и отработать навык шифровки-отправки-расшифровки, чтобы не терять время в ответственный момент.

Перенос ключа с мобильника на ноутбук и обратно

  • У Винни Пуха ведь есть ноутбук, а у Совы мобильник. Нужно обеспечить им комфортную работу на обоих устройствах.
  • Винни Пух зашел в кафе, открыл свой ноутбук и хочет перенести ключ в Клеопатру, а Сова собралась домой и хочет работать с шифрованной перепиской в пути.
  • Винни Пуху нужно сохранить приватный ключ в файл на телефоне, подключить его кабелем к ноутбуку, скопировать файл и импортировать в Клеопатру. Для этого потребуется файловый менеджер или текстовый редактор, позволяющий вставить текст из буфера обмена и сохранить файл. Для примера использован «Файловый менеджер +» из Google Play.
Переносить закрытые ключи между устройствами нужно без использования подключения к интернету (например, через кабельное подключение смартфона к компьютеру). К тому же стоит иногда их менять для профилактики.

Подключите смартфон кабелем к ноутбуку, разблокируйте его и выберите Обмен файлами. На компьютере должна быть установлена программа HiSuite (для Huawei) или подобная, чтобы можно было открыть список файлов на смартфоне.

Найдите и скопируйте файл. Откройте Клеопатру, Файл → Импорт. Выберите файл с ключом и нажмите Открыть. Подтвердите импорт.

Винни Пух может пользоваться своим ключом с ноутбука.

Сова делает все обратном порядке:

Правая кнопка на ключе – Экспорт закрытых ключей. Введите пароль и ключ будет экспортирован в файл.

Теперь файл с ключом нужно скопировать на смартфон через кабельное подключение и файловый менеджер.

Откройте файл ключа в текстовом редакторе. Выделите и скопируйте ключ.

На айфон Пятачка также можно поставить PGPTools, а если у него еще и ноутбук на Mac OS X, для такого случая есть отличный мануал.

Заключение

Использование вместе с мессенджерами сторонних программ и сервиса одноразовых записок может показаться неудобным, но безопасность – антоним удобства. Если вы работаете с данными, которые ни при каких обстоятельствах не должны попасть в чужие руки, надеяться на шифрование мессенджера нельзя – придется настроить собственное. Надеемся, наш мануал поможет сделать это без лишних сложностей, даже если вы не обладаете глубокими познаниями в ИТ. В следующих статьях мы обсудим угрозы информационной безопасности и дополнительные методы защиты от них, вроде шифрования накопителей.

Читайте также: