вторник, 9 июня 2009 г.

Использование апплета шифрования оболочки Gnome в Linux

Использование апплета шифрования оболочки Gnome в Linux | Популярный Linux

Опубликовано VSL

Многим пользователям компьютеров часто приходится сталкиваться с задачей шифрования личной текстовой информации, а так же своих файлов и папок. Linux системы предоставляют для этого множество качественных и несложных в использовании способов. Один из них предоставляется апплетом шифрования, который встроен по умолчанию в графическую оболочку Gnome. Рассмотрим способ шифрования информации, предоставляемый оболочкой Gnome 2.26.1 в операционной системе Ubuntu 9.04.

Итак, для начала нам необходимо разместить апплет шифрования (seahorse-applet) в панели задач. Добавляем его точно так-же, как мы добавляли любые другие апплеты. Жмем правой кнопкой мыши на нижней панели, говорим "добавить на панель" , выбираем из списка апплет "шифрование буфера обмена" и жмем "Добавить". Теперь мы имеем апплет шифрования буфера обмена в рабочем пространстве нашего рабочего стола. Однако данный апплет предоставляет лишь интерфейс шифрования, саму же работу по шифрованию производит приложение GnuPG (GPG), предустановленное в каждом уважающем себя Linux-дистрибутиве по умолчанию. Это вы сможете проверить, дав команду в консоли gpg --version.

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

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

"Россия - чемпион мира по хоккею!!! "

1. Копируем этот текст в буфер обмена.
2. Кликаем на апплете мышью и говорим - "зашифровать буфер обмена".

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

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

app_1.png

рис. 1

- жмем "файл - создать" и попадаем в окно выбора ключа, который нам необходимо создать (рис. 2)

app_2_.png

рис. 2

- выбираем в этом окне "Ключ PGP" и жмем "Продолжить", при этом мы попадаем в окно задания записей сертификата ключа (рис. 3). В данном окне необходимо заполнить поля (очень желательно латинскими буквами), поле комментарий можно оставить свободным, в поле "Электронный адрес" введите реальный e-mail. Тип шифрования можно оставить по умолчанию "DSA-Elgamal".

app_3.png

рис. 3

Если вы выберете другой тип ключа, то рекомендую выбрать "RSA (только подпись)". В данном случае следует отметить, что на данном этапе вы сгенерируете ключ только для подписи. После из меню программы (окно "пароли и ключ шифрования" - "свойства" контекстного меню по клику на ключе - "детали" - "добавить" - "RSA только шифрование", окно показано на рис. 5) для возможности шифровать вашим ключом вам придется создать дополнительный подключ шифрования. Размер подключа шифрования желательно выбрать не менее 2048 бит, можно и больше, например 3072 бит. Максимальное значение по умолчанию в современных версиях GnuPG составляет 4096 бит.

Итак жмем на кнопку "Создать", в открывшемся поле вводим дважды пароль (обязательно латинскими буквами!). После генерации ключа мы попадем в окно программы, в котором увидим только что сгенерированный ключ. (рис. 4). Создание ключа может занять некоторое время, в зависимости от мощности вашего компьютера. При создании ключа полезно подвигать мышкой для того, что бы предоставить GnuPG больший выбор случайных чисел, эта программа использует такие возможности для получения бОльшей энтропии данных.

app_4.png

рис. 4

На данном этапе очень полезно сделать резервную копию своего ключа, поскольку если вы будете заниматься к примеру переустановкой системы, то можете потерять ключ и после вы не сможете создать его точную копию, даже если новый ключ будет иметь то же имя, e-mail и т.д. Сделать резервную копию можно следующим способом:

- кликаем по ключу правой кнопкой мыши и выбираем пункт меню "экспортировать". При этом мы получим окно экспорта ключа в файл. Выбираем место экспорта файла и жмем на кнопу "сохранить". В заданном месте мы получим файл с расширением *.asc. Однако мы экспортировали только свой открытый ключ.
-Теперь необходимо сделать экспорт и приватного ключа. Вновь кликаем по ключу (в окне "пароли и ключи шифрования") по созданному ключу, выбираем "свойства" и переходим во вкладку "детали" (рис. 5). Жмем на кнопку "Экспортировать" против надписи "Экспортировать полный ключ". Вновь выбираем место сохранения файла и жмем "Сохранить". В данном случае необходимо отметить, что программа предложит создать файл с точно-таким же именем, однако разница между этими файлами очень велика. В последнем случае мы сохраняем приватный ключ, поэтому его нужно сохранить под другим именем. Имя этому файлу желательно дать такое, что бы после вы могли без лишних раздумываний вспомнить, что данный ключ является приватным. В дальнейшем через меню "Файл-импорт" окна программы "Пароли и ключи шифрования" вы сможете восстановить свой открытый и приватный ключи. Теперь сохраните свои ключи на отдельном носителе и удалите полученные файлы с расширение *.asc с винчестера. Если вы все-таки забудете, какой из файлов содержит открытый, а какой закрытый ключ, то всегда сможете определить это по заголовкам текстов содержимого ваших файлов, приватный ключ будет иметь следующий заголовок -----BEGIN PGP PRIVATE KEY BLOCK-----.

app_5.png

рис. 5

Шифрование

Теперь мы уже можем производить операции по шифрованию своей информации. Итак вернемся к началу статьи.
- Копируем текст "Россия - чемпион мира по хоккею!!!" в буфер обмена.
- Кликаем на апплете шифрования и выбираем "Зашифровать буфер обмена"
- В открывшемся окне "Выбрать ключи получателей" отмечаем свой ключ галочкой (рис. 6) и жмем "ОК" (если у вас есть ключи других людей, то вы можете шифровать и для них). При этом мы получим окно буфера обмена с шифр-текстом (рис 7), который можно скопировать мышью и поместить в любой текстовый файл и сохранить его. Теперь никто не сможет прочитать его, кроме вас. Обратите внимание на нижнее поле "подписать сообщение как", вы можете выбрать свой ключ. В этом случае при зашифровке сообщение будет дополнительно подписано вашей электронной цифровой подписью, при этом будет необходимо ввести пароль к своему секретному ключу. При последующей расшифровке такого сообщения в меню уведомлений рабочего стола вы увидите поле с сообщением о проверке цифровой подписи (рис. "8").

app_6.png

рис. 6

app_7.png

рис. 7

app_8.png

рис. 8

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

- Открываем файл через контекстное меню по нажатию правой кнопкой мыши в программе "текстовый редактор"
- Копируем шифр-текст из сохраненного ранее файла в буфер обмена.
- Кликаем на апплете шифрования и говорим "Расшифровать или проверить буфер обмена"
- Вводим пароль к своему ключу
- Получаем окно с расшифрованным текстом (рис. 9)

app_9.png

рис. 9

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


Шифрование отдельных файлов

Отдельно следует сказать о функции шифрования файлов, предусмотренной в Gnome. Это делается просто элементарно! Опять же с использованием GnuPG. В менеджере файлов Nautilus вы просто щелкаете правой кнопкой мыши на подлежащем шифрованию файле, вызывая контекстное меню, и говорите - "зашифровать". При этом вы получаете окно, изображенное на рис. 6, отмечаете ключи получателей файлов (в нашем случае отмечаете свой собственный ключ, если шифруете только для себя) и жмете "ОК". В этой же директории вы получаете зашифрованный файл с расширением *.pgp. Проще просто не бывает. Для расшифровки файла вам необходимо дважды кликнуть по зашифрованному файлу, в открывшемся окне ввести пароль к своему приватному ключу, нажать "ОК" и получить свой файл в первозданном виде. Одновременно можно пользоваться и функций подписания файлов (нижнее поле окна, изображенного на рис. 6, - "Подписать сообщение как").
Вы так же можете зашифровать сразу несколько файлов, отметив подлежащую шифрованию группу файлов мышью, при этом система задаст вам вопрос - зашифровать каждый файл отдельно или сделать зашифрованный архив шифруемых файлов (рис. 10), что довольно удобно.
Точно так же как и при операциях с шифрованием текста вы можете одновременно подписать файл электронной цифровой подписью (нижнее поле окна, изображенного на рис. 6 - "Подписать сообщение как"). При расшифровке такого сообщения, вы получите уведомление о проверке ЭЦП.

Подписывание файлов

Если вам нужно просто поставить на файл электронную цифровую подпись, не шифруя его, то вы так же можете это сделать. Для этого вам нужно дать команду "подписать" из контекстного меню менеджера файлов Nautilus. Вы получите окно (рис.10) в котором нужно нажать "ОК" (если у вас один свой ключ, то его выбирать не придется), в следующем окне ввести пароль к своему секретному ключу и снова нажать "ОК". После операции подписания вы получите новый файл крошечного размера с именем вашего документа и расширением sig. Для последующей сверки ЭЦП нужно просто дважды кликнуть по файлу подписи. При этом, если подпись верная, вы получите уведомление о сверке подписи. Например при сверке цифровой подписи, поставленной на файл otchet_2008.ods вы получите уведомление (рис. 11). Ваши коллеги, которым вы направляете подписанный файл, смогут проверить вашу цифровую подпись и убедиться, что файл не кем не был подделан или изменен. Для проверки подписи файла ваши коллеги кроме самого файла должны иметь ваш открытый ключ и конечно файл подписи с расширением sig.
Однако если вы подписываете файл, старайтесь давать ему имя латинскими буквами, в противном случае можете получить уведомление, выводимое нечитаемыми символами, видимо это связно с используемыми системой кодировками.
app_12.png

рис. 10

app_15.png

рис. 11

Надежное удаление файлов

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

Дополнительные параметры команды можно посмотреть с помощью команды shred --help, но два из них я опишу здесь:
-nX сделать X количество проходов (вместо 25-ти проходов по умолчанию)
-v показывать прогресс (не имеет смысла задавать этот параметр в том случае, если вы удяляете файлы, перемещая их на иконку запуска, созданную на рабочем столе)

Например команда удаления файла name семью проходами может выглядеть так:

shred -u -n7 -v name 

при этом вы увидите следующий вывод терминала:

shred: name: проход 1/7 (random)...
shred: name: проход 2/7 (ffffff)...
shred: name: проход 3/7 (aaaaaa)...
shred: name: проход 4/7 (random)...
shred: name: проход 5/7 (000000)...
shred: name: проход 6/7 (555555)...
shred: name: проход 7/7 (random)...
shred: name: удаление
shred: name: переименован в 0000
shred: 0000: переименован в 000
shred: 000: переименован в 00
shred: 00: переименован в 0
shred: name: удален

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


Шифрование папок

Кроме того, Gnome предоставляет возможность шифровывать целиком целые папки. При этом на шифруемой папке вам нужно через контекстное меню сказать "зашифровать", далее в открывшемся окне отметить галочкой ключ шифрования (рис.6), нажать "ОК", в следующем окне выбрать "Зашифровать в упакованном виде" (рис. 12) и нажать на "ОК". При этом содержимое папки предварительно сархивируется в формат zip и после автоматически зашифруется. К примеру если вы шифровали папку с наименованием "Новая папка", то после выполнения операции шифрования папки вы получите два файла, первый из которых будет простым архивом с наименованием "Новая папка.zip", а второй с наименованием "Новая папка.zip.pgp" - зашифрованным файлом архива. Простой архив с наименованием "Новая папка.zip" при необходимости следует удалить, как и оригинальную папку, оставив на хранение только зашифрованный файл.
app_10.png

рис. 12

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


Заключение

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

В заключении нужно отметить, что используя апплет шифрования вы сможете шифровать не только информацию для себя, но и для других пользователей, открытые ключи которых будете иметь в программе (вкладки "доверяемые ключи" и "другие собранные ключи" окна программы "Пароли и ключи шифрования"). При этом сообщения можно посылать непосредственно по почте, без вложенных файлов (при этом лучше использовать режим почтовой программы для составления письма - простой текст) . Кроме того, другие пользователи смогут шифровать информацию для вас, если у них будет ваш открытый ключ (вы сможете его отправить по почте в открытом виде, либо разместить на ключевом сервере). При этом у вас не будет необходимости обмениваться паролями для ключей, вы должны знать только ОДИН пароль к своему ключу шифрования. Никогда не путайте открытый и приватный ключи между собой, приватный ключ должен быть только у вас, открытый ключ вы можете свободно распространять среди своих друзей и знакомых в совершенно открытом виде для того, что бы они могли шифровать для вас сообщения и проверять вашу электронную цифровую подпись.


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

Комментариев нет: