«Seahorse» представляет собой графический интерфейс (GUI) для консольной утилиты «GPG», предназначенной для шифрования информации. Далее рассмотрено применение программного обеспечения «Seahorse» для асимметричного шифрования файлов.

Суть асимметричного шифрования

Шифрование – это способ преобразования важной информации из доступной для использования формы (открытой) в недоступную (закрытую), для надежной передачи ее по незащищенному каналу связи (см. Шифрование). Шифрование подразумевает обратное преобразование информации из закрытой формы в открытую у получателя. Шифрование осуществляется по определенным алгоритмам. Разработка алгоритма шифрования/расшифрования это сложная задача и если бы алгоритм не был гибким, то потеря его секретности привела бы к необходимости разработки нового такого алгоритма. Поэтому, с целью увеличения гибкости алгоритмов применяется понятие ключа шифрования – краткого набора данных, который применяется в алгоритме шифрования и фактически позволяет, используя один и тот же алгоритм шифрования, получить различные зашифрованные данные. Таким образом нет необходимости в секретном алгоритме шифрования, остается необходимость в секретном ключе.

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

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

Использование программы Seahorse

Использование данного программного обеспечения требует предварительной его установки, однако практически этого делать не требуется, т.к. оно поставляется в комплекте с ОС «Ubuntu». Однако для удобного шифрования файлов в менеджере файлов «Nautilus» следует установить дополнение seahorse-nautilus позволяющее добавить пункт для вызова шифрования/расшифрования и добавления цифровой подписи в контекстное меню файла/папки (рис. 1). Сделать это можно, например, вызвав команду:

sudo apt-get install seahorse-nautilus

Рис. 1. Контекстное меню для файла и папки после установки дополнения для шифрования и подписывания seahorse-nautilus

Шифрование с «Seahorse» производится в следующей последовательности:

  1. Создание секретного закрытого ключа.
  2. Создание публичного ключа соответствующего закрытому.
  3. Шифрование информации.
  4. Дешифрование информации.

Создание секретного закрытого ключа

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

Сперва следует запустить графический интерфейс «Seahorse». Сделать это можно выбрав в главном меню пункт «Пароли и ключи» или вызвав команду

seahorse

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

Рис. 2. Пункт меню для создания нового ключа шифрования

Следует создать ключ «PGP» (см. PGP) (рис. 3).

Рис. 3. Пункт для создания нового ключа шифрования PGP

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

Рис. 4. Ввод личной информации при создании ключа шифрования PGP

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

Рис. 5. Ввод пароля для доступа к закрытому ключу шифрования

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

Рис. 6. Окно сообщающее о процессе генерации закрытого секретного ключа

По завершении создания ключа, он будет доступен во вкладке «Мои личные ключи» (рис. 7).

Рис. 7. Сгенерированный закрытый секретный ключ шифрования

Создание публичного ключа соответствующего закрытому

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

Рис. 8. Экспорт публичного ключа шифрования в файл

В результате в выбранном месте сохранения публичного ключа будет создан файл с расширением имени «*.asc» (рис. 9).

Рис. 9. Экспортированный в файл публичный ключ шифрования

Шифрование информации

Публичный ключ (файл «*.asc») следует передать отправителю важной информации (передавать публичный ключ можно по незащищенному каналу связи). Отправитель должен импортировать этот ключ. Для этого следует запустить программу «Seahorse» на машине отправителя зашифрованной информации. И в меню вызвать команду «Импортировать…» (рис. 10) и указать путь к публичному файлу ключа.

Рис. 10. Импорт публичного ключа шифрования из файла на машине отправителя важной информации

После импорта публичный ключ будет доступен во вкладке «Другие ключи» (рис. 11). На данном этапе программу «Seahorse» можно закрыть.

Рис. 11. Импортированный публичный ключ шифрования

Вызов команды шифрования производится в файловом менеджере «Nautilus». Данное дополнение не позволяет работать с несколькими файлами одновременно, зашифровать можно только один файл. Первым делом, необходимо выделить информацию подлежащую шифрованию и архивировать ее в один файловый архив, в данном примере, как показано на рис. 12 и в контекстном меню для созданного архива вызвать команду «Зашифровать…».

Рис. 12. Вызов команды шифрования файла из файлового менеджера

Затем в открывшемся окне следует поставить отметку у импортированного ранее публичного ключа и нажать «ОК» (рис. 13).

Рис. 13. Выбор публичного ключа для шифрования информации

В зависимости от быстродействия ЭВМ, размера шифруемой информации и некоторых других параметров, через некоторое время будет создан файл с расширением «*.pgp» (рис. 14).

Прогресс шифрования не отображается, файл «*.pgp» создается сразу же и постепенно дописывается – не следует прерывать этот процесс действиями с этим файлом, иначе информация будет повреждена. Процесс шифрования можно считать завершенным только тогда, когда размер файла «*.pgp» станет соизмерим с оригинальным файлом и перестанет увеличиваться. Аналогично с расшифрованием.

Рис. 14. Зашифрованный файловый архив

Расшифрование информации

Файл с расширением «*.pgp» можно передавать по незащищенному каналу связи получателю важной информации, зашифрованной в этом файле. Расшифрование производится и возможно только у получателя, поскольку только он имеет закрытый секретный ключ.

Для начала расшифрования следует открыть файл с расширением «*.pgp» (рис. 15).

Рис. 15. Выбор файла для расшифрования на ЭВМ получателя важной информации

Запустится программа для расшифрования. Потребуется ввести пароль для доступа к закрытому ключу шифрования (рис. 16) и нажать «ОК».

Рис. 16. Ввод пароля для доступа к закрытому ключу шифрования на ЭВМ получателя важной информации

По завершении расшифрования рядом с зашифрованным файлом появится файл с важными данными (рис. 17).

Рис. 17. Расшифрованная важная информация у получателя

Передача важной информации по незащищенному каналу завершена успешно 8-)

Заключение

Применение программы «Seahorse» для шифрования файлов не всегда удобно, практическое применение нашли также другие средства, например, «TrueCrypt» (см. TrueCrypt, Шифрование с TrueCrypt}.

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

Ссылки