Шифрование сообщений на смартфоне при помощи PGP. Программа шифрования PGP

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

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

Помочь может система шифрования с открытым ключом, которая работает не с одним ключом, а c двумя — то, что зашифровано первым ключом (или секретным ключом — private key), может быть расшифровано только при помощи второго ключа (который называют публичным или открытым — public key). Секретный ключ известен только автору писем, а публичный доступен в Сети. Итак, ваши корреспонденты перед отправлением вам писем должны их зашифровать, используя ваш публичный ключ. Вам же для прочтения таких писем потребуется воспользоваться своим секретным ключом. В свою очередь, написав письма различным корреспондентам, вы должны зашифровать их с помощью их открытых ключей, прочитать которые корреспонденты смогут с помощью своих, известных только им, секретных ключей. Получается, что в случае использования системы с открытым ключом можно перехватить лишь публичный ключ, в то время как секретный ключ по Сети не передается и поэтому недоступен. Таким образом, схема с открытым ключом удачно решает проблему безопасной передачи самого ключа.

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

Коротко о Pretty Good Privacy

Компоненты PGP

  • PGPdisk — шифрование данных на жестких дисках;
  • PGPkeys — доступ к таблице собственных ключей, а также открытых ключей корреспондентов;
  • PGPmail — шифрование и дешифрование данных;
  • PGPtray — шифрование и дешифрование данных в буфере обмена и управление основными приложениями PGP;
  • PGPAdmin — создание криптографической системы для организации;
  • PGP ICQ — шифрование текста сообщений ICQ;
  • PGP Net — реализация стека протоколов IPSec (Internet Protocol Security) и IKE (Internet Key Exchange).

Выпуски PGP

До выходаы версии 8.0 PGP являлась свободно распространяемым программным обеспечением (последняя бесплатная версия 7.0.3), а теперь программа полностью стала коммерческой и существует в следующих выпусках:

  • PGP Personal 8.0 PGP Freeware — для некоммерческого использования; представляет собой бесплатную PGPmail (шифрование-дешифрование файлов и почты через буфер обмена, цифровая подпись). В бесплатной версии недоступны надстройки (plugins) к почтовым программам;
  • PGP 8.0 Personal Products — для некоммерческого использования; включает в себя компоненты PGPdisk и PGPmail для защиты файлов, дисков и почты;
  • PGP Desktop 8.0 — для коммерческого использования; позволяет интегрировать функции шифрования в основные офисные и почтовые программы;
  • PGP Enterprise 8.0 — для коммерческого использования; более мощное ПО, позволяющее администрировать работу пользователей с ключами и реализовать политику безопасности.

Где и как приобрести PGP

Цены на различные выпуски PGP 8.0 на сайте https://store.pgp.com/ :

  • PGP Enterprise 8.0:
    • PGPM
  • Enterprise 8.0 — 125 долл.;
  • PGP Mobile Enterprise 8.0 — 155 долл.;
  • PGP Desktop 8.0:
  • PGP Desktop 8.0 — 80 долл.;
  • obile Desktop 8.0 — 110 долл.;
  • PGP 8.0 Personal Products:
    • PGP 8.0 Personal — 50 долл.;
    • PGP 8.0 Personal and Mobile — 70 долл.

Особенности работы с программой PGP

Установка

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

Как и при установке других приложений, потребуется согласиться со стандартным лицензионным соглашением компании-продавца; ответить на вопрос о существовании старых keyrings — брелоков-ключей (естественно, что если вы раньше не использовали PGP, то никаких старых брелоков у вас нет). После этого нужно выбрать папку для установки и необходимые на вашем компьютере компоненты (рис. 1), при этом отказ от лишних компонентов позволит несколько сэкономить место на жестком диске. Далее нужно будет согласиться с перезагрузкой компьютера, после чего значок-«замочек», соответствующий компоненту PGPtray, появится на панели задач в правом нижнем углу экрана.

Настройка

Чтобы иметь возможность обмениваться секретными сообщениями с корреспондентами, также использующими PGP, необходимо сгенерировать пару ключей — открытый и секретный, которые будут использованы в дальнейшем для создания цифровой подписи. Для этого потребуется выбрать Пуск→Программы→PGP→PGPkeys и щелкнуть на кнопке Generate new keypair (создание новой пары ключей).

Затем следует щелкнуть на кнопке Expert для изменения параметров ключа Key type (тип ключа) — по умолчанию выбирается ключ Diffie-Hellman/DSS, как самый быстрый и надежный. Однако если среди ваших корреспондентов есть пользователи более ранних версий, нежели PGP 5.0, придется использовать ключ RSA. Здесь же можно определить параметр Key size (длина открытого ключа). По умолчанию при использовании метода Diffie-Hellman/DSS выбирается 2048-разрядный ключ, и при современном развитии компьютерной техники этого более чем достаточно (рис. 2). Затем можно установить Key еxpiration — крайний срок, до которого создаваемые ключи могут быть использованы для кодирования и подписи, хотя предпочтительнее вариант по умолчанию, когда данный срок ничем не ограничен. В этом же окне нужно указать Full name (полное имя) и Email address (адрес электронной почты). Следует отметить, что по умолчанию выбирается оптимальный вариант параметров ключа, поэтому менять параметры нужно лишь в случае необходимости.

Если кнопку Expert не нажимали (а это значит, что Full name и Email address не были введены), то в следующем окне появится соответствующий запрос. Затем нужно будет дважды ввести ключевую фразу в окна Passphrase и Confirmation. Для удобства можно убрать галочку из окна Hide Typing, чтобы вводимая фраза отображалась на экране. Длина ключевой фразы не может быть меньше 8 символов. После генерации ключей появится окно вида (рис. 3).

Далее нужно закрыть окно PGPkeys, хотя это удастся сделать не сразу, так как программа предложит сохранить резервную копию файлов с ключами (pubring.pkr и secring.scr). Сохранять копии лучше на дискете, чтобы проблемы с жестким диском не привели к потере доступа к информации (рис. 4 , ).

Теперь вам следует отправить свой открытый ключ всем потенциальным получателям зашифрованной корреспонденции. Для этого необходимо пометить мышью строку с вашим ключом в окне PGPkeys и перетащить, удерживая левую клавишу мыши, строку с ключом в окно текстового сообщения почтовой программы, а затем разослать это письмо по адресам (рис. 6). Можно поступить и по-другому: выделить свой ключ в окне “PGPkeys”, выбрав из меню команды Keys→Export, сохранить ключ на диске в виде файла с расширением.asc. Полученный файл вы можете затем отправить своим корреспондентам как обычное приложение к письму.

Наконец, на последнем этапе настройки вам будет необходимо включить открытые ключи корреспондентов в свой брелок ключей, для чего потребуется воспользоваться пунктом меню Keys→Import. Однако предварительно файлы с чужими открытыми ключами должны быть каким-то образом получены, например по электронной почте, и сохранены на диске. После добавления ключей корреспондентов все они появятся в списке ключей в окне PGPkeys (рис. 7).

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

Кроме того, если открытые ключи всех пользователей вашей компании хранятся на корпоративном сервере, нужно отправить свой ключ на сервер, на котором в этом случае можно найти и открытые ключи потенциальных корреспондентов. Чтобы отправить свой ключ на сервер компании вам достаточно будет щелкнуть на кнопке Send key to server в окне PGPkeys и выбрать адрес сервера. Для получения открытых ключей корреспондентов потребуется в том же окне щелкнуть на кнопке Open key search window и ввести слово для поиска (можно, например, искать адресатов, в имени которых присутствует слово «alex»).

Следует знать, где конкретно на вашем диске хранятся ключи PGP. Чтобы получить ответ на этот вопрос, нужно выбрать в PGPkeys пункт меню Edit→Options и далее закладку Files — в результате вы увидите полный путь к связкам открытых и закрытых ключей, который при необходимости можно изменить.

Запуск программы

Существует четыре варианта запуска PGP на компьютере:

  • через Пуск→Программы→PGP. Таким образом можно получить доступ к основным ресурсам PGP: PGPdisk, PGPkeys, PGPmail и документации;
  • из панели задач, щелкнув левой или правой кнопками на значок замочка в правом нижнем углу рабочего экрана. Этот вариант удобен для шифрования/расшифрования данных в буфере обмена;
  • непосредственно из почтового клиента (например, MS Outlook, MS Outlook Express, Eudora и др.), что и предпочитают большинство пользователей.
  • в проводнике через строку PGP после правого клика на иконке файла или папки, что является самым быстрым вариантом вызова программы.

Как отправить зашифрованное сообщение с подписью

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

Рассмотрим вначале второй вариант — он хотя и менее удобен, но зато всегда работает. В этом случае нужно обычным образом напечатать текст письма (рис. 9), потом скопировать его в буфер обмена (например, Ctrl+C) и, активировав окно PGPtray щелчком по его значку-«замочку», выбрать Clipboard→Encrypt&Sign (рис. 10). При этом потребуется указать программе открытый ключ корреспондента для шифрования (рис. 11) и ввести свою ключевую фразу для формирования электронной подписи письма, а затем вставить в письмо на место обычного текста его зашифрованный аналог. В результате вы увидите примерно такой текст, как на рис. 12 . Далее письмо отправляют обычным образом.

Однако, как уже было сказано выше, намного удобнее воспользоваться возможностью кодирования непосредственно из окна почтового клиента, с которым вы работаете, например MS Outlook. В этом случае письмо пишется обычным образом, а затем нужно выбрать команду PGP→Encrypt and Sign now (рис. 13). Теперь введите ключевую фразу — и текст письма зашифруется.

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

Как прочитать полученное зашифрованное сообщение с подписью

Если использовать буфер обмена, то, открыв письмо, следует скопировать в буфер обмена зашифрованный текст письма, активировав окно PGPtray, выбрать Clipboard→ Decrypt&Verify и ввести свою ключевую фразу. После этого в окне программы появится расшифрованный текст как на рис. 14 .

Вариант расшифровки из почтового клиента удобнее и быстрее, поскольку для дешифрования потребуется лишь открыть письмо, выбрать из командного меню команду PGP→Decrypt/Verify и ввести свою ключевую фразу. В результате на экране зашифрованный текст сменится на его расшифрованный аналог (рис. 15).

Если в полученном письме были использованы только шифрование или только добавление подписи (это видно по тексту письма), то для получения исходной копии письма потребуется воспользоваться командами Decrypt или Verify соответственно (или Decrypt&Verify — результат будет тот же).

Рис. 16 рис. 17 строки — это обеспечит автоматическое шифрование и подписывание писем при отправлении, а также их расшифровку при открытии.

Можно еще немного облегчить себе работу, установив кэширование ключевой фразы при расшифровке в течение указанного времени — вкладка General, опция Cache passphrases for. Это будет полезно при чтении огромного количества корреспонденции, так как в течение данного промежутка времени не придется каждый раз при открытии письма вводить ключевую фразу. Однако данный вариант не совсем надежен, поскольку на время кэширования ключевая фраза станет доступной для перехвата.

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

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

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

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

Выделение ключа

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

pgp -kx идентификатор файл [файл с ключами]

Например: "pgp -kx alex mykey" выделяет открытый ключ, идентифицированный подстрокой "alex" в файле mykey.

Созданный файл mykey.pgp будет не в формате ASCII. Однако, если потребуется создать файл ключа в формате ASCII чтобы послать, к примеру, по e-mail или добавить дополнительную информацию к базе данных, потребуется использовать команду:

pgp -kxa идентификатор файл [файл с ключами]

Например: "pgp -kxa alex mykey" выделяет открытый ключ, идентифицированный подстрокой "alex", в файл "mykey.asc".

Вместе с ключом также выделяются все сертификаты, которые его подтверждают.

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

pgp -kv [идентификатор] [файл с ключами]

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

pgp -kvv [идентификатор] [кольцо]

Шифрование сообщений

Теперь попробуем зашифровать файл. Сделать это можно командой:

pgp -e файл идентификатор

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

Помните, что созданный файл, не является ASCII файлом, поэтому для отправки его по E-Mail может потребоваться добавить еще одну опцию -a для того, чтобы выходной закодированный файл был в формате ASCII, например так:

pgp -ea файл идентификатор

Кодирование сообщения для нескольких получателей

Допустим, необходимо зашифровать и отправить письмо для нескольких получателей. В этом случае поступим так:

pgp -ea файл идентификатор1 идентификатор2 идентификатор3

Как подписывается сообщение

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

pgp -s файл идентификатор

Если у нас есть несколько закрытых ключей в нашем secring.pgp, мы можем выбрать один из них при помощи идентификатора. Эта команда создает файл, который не является ASCII-текстом, потому что PGP пытается сжать файл. Если, с другой стороны, Вы хотите подписать файл, оставив текст читабельным и с подписью в конце, то процедура будет выглядеть так:

pgp -sta файл

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

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

pgp -es файл идентификатор_получателя мой_идентификатор

Для кодирования файла используется открытый ключ, идентифицируемый подстрокой "идентификатор_получателя", поэтому только этим ключом можно декодировать этот файл. Затем идентифицируем закрытый ключ строкой "мой_идентификатор", так как в нашем наборе есть несколько ключей. Даже в этом случае можно создать файл в формате ASCII, используя опцию -a.

Расшифровка

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

pgp входной_файл [-o выходной_файл]

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

Также можно просто просмотреть расшифрованный файл без сохранения.

Инструмент шифрования PGP почти на сто процентов гарантирует защиту вашей переписки и данных, которые вы передаете онлайн.

Пользователь

PGP - аббревиатура названия программы «Pretty Good Privacy» - или «Хорошей защиты личной информации ». PGP позволяет двум пользователям безопасно обмениваться сообщениями и данными в режиме онлайн.

Пользователь B

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


Чтобы помочь защитить тайну переписки, PGP использует три набора «ключей» или шифров - для кодирования и обратного кодирования сообщений

Индивидуальный ключ

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

Сеансовый ключ

Ключ заново выбирается для каждой новой сессии общения из базы открытых ключей

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

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

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

PGP был разработан в начале 90-х инженером Филом Зиммерманном (Phil Zimmermann), и с тех пор несколько раз обновлялась и дополнялась. Сегодня это – мощный криптографический инструмент.

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

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

Как работает PGP

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

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

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

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

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

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

Если вы располагаете данными, которые вам необходимо отправить онлайн так, чтобы никто кроме адресата не мог увидеть, PGP дает вам необходимый уровень безопасности.

Минусы PGP

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

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

Итоги

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

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

  • GPG шифрование
  • История PGP / GPG шифрования
  • Термины GPG шифрования
  • Установка GPG шифрования
  • Шифрование сообщений и файлов
  • Подписи в GPG шифровании
  • Функция Web of Trust
  • Зачем нужно шифрование

GPG шифрование

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

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

История PGP / GPG шифрования

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

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

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

Термины GPG шифрования

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

  • Публичный ключ (из публичной части)
  • Секретный ключ (из секретной части)

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


GPG4USB

Вторая особенность - ключи, основанные на разных алгоритмах совместимы между собой. Неважно, использует ли пользователь RSA или ELGamal, для шифрования не нужно забивать голову такими деталями. Это достигается за счет работы по упомянутому выше стандарту и через некоторые криптографические приемы. Это одно из главных преимуществ GPG. Достаточно знать нужные команды, и программа сделает все сама. В библиотеку входит большое количество асимметричных алгоритмов, симметричным шифров и односторонних хэш-функций. Разнообразие также является преимуществом, потому что позволяет создать одновременно и общие рекомендованные конфигурации, подходящие для большинства, и возможность тонкой настройки для более опытных пользователей.

Как установить GPG шифрование

Для начала работы нужно установить сам GPG. Пользователи Linux могут поставить его из любого пакетного менеджера, поискав там « », или собрать вручную. Пользователи Windows могут воспользоваться сильно устаревшим клиентом , который имеет несколько неприятных багов и больше функций, или портативным и более свежим клиентом , который имеет меньше функций, но намного проще и стабильнее. Кстати, мы уже писали о том как с помощью клиента GPG4USB .


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

Затем необходимо определиться с размером ключа в битах. Здесь тоже нет короткого и однозначного ответа. У слишком длинных ключей есть и недостатки. Одно можно сказать с уверенностью: при выборе RSA и ELGamal не используйте ключи меньше 2048 бит, они крайне не безопасны. Далее программа попросит заполнить несколько форм: E-mail, Имя и комментарий. E-mail и Имя - это публичная информация, которую сможет увидеть каждый, с кем вы будете переписываться.

В качестве почты можно указать другие виды связи, например ID какого-либо сервиса или мессенджера ( , Jabber, и т. д.), разделив знаком «@» сам идентификатор/адрес и название сервиса. Чаще всего содержание именно этого поля используется для идентификации владельца ключа.

Имя выбирать по своему усмотрению. Например, часто используемый ник или вообще «Anonymous».

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

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

Сгенерировав свой GPG-ключ, можно начать его распространять. Для этого надо ввести команду отображения публичной части. Исторически сложилось так, что программа изначально применялась для шифрования почты и подписи публичных сообщений в почтовых рассылках, поэтому ключи отображаются по принципу формата РЕМ (англ. «Privacy­Enhanced Mail»). Формат представляет собой единый стандартный блок ключа, начинающийся заголовком — BEGIN PGP PUBLIC KEY BLOCK­­­ —, за ним следует достаточно длинное тело самого ключа, кодированное цифрами и латинским алфавитом, и завершающий заголовок — ­­­­END PGP PUBLIC KEY BLOCK­­­­ —. Весь блок с заголовками представляет собой ключ GPG, его и нужно распространять целиком. Помимо ручного распространения ключей, возможно использовать специализированные сервера. Пользователь загружает свой публичный ключ на сервер, и при необходимости любой может запросить его. Во многих программах в качестве сервера по умолчанию часто указывают сервер MIT.

Каждый GPG-ключ уникален. Запоминать и сравнивать такие большие блоки ключей вручную невозможно, поэтому для этого существуют отпечатки ключей. Каждый отпечаток ключа тоже уникален, формируется из публичной части, предоставляя короткую уникальную строку для идентификации. В строке отпечатка содержится 40 символов с разделением на 4 символа пробелами. Важно знать, что последние 8 или 16 символов являются еще и ID ключа. При использовании команд из терминала надо будет указывать ID для работы. Отпечатки удобны для быстрого сравнения двух ключей, или короткого указателя нужного ключа при нехватке места.

Шифрование сообщений и файлов

Шифрованные с помощью GPG сообщения состоят из похожих на публичный ключ блоков, только с заголовком ­­­­— BEGIN PGP MESSAGE —­­­­, а длина кодированной символами части зависит от длины сообщения. Подобные сообщения могут быть прочитаны только обладателем ключа, которому адресовано сообщение. Также можно зашифровать свое послание для нескольких ключей, что очень удобно при общении небольшой группы людей. Шифровать можно и файлы, тогда результат шифрования будет записан в файл, а не кодирован текстовыми символами.

Подписи в GPG

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

Подписи тоже можно применять на файлах. Особенно часто эта функция применяется разработчиками ПО, связанного с безопасностью. Делается это для того, чтобы предотвратить подмену файлов злоумышленниками, которые могут встроить в программы вредоносный код. Подписываются обычно архивы или сборки, сама подпись сохраняется в отдельный файл с расширением.asc или.sig. Ключ публикуется в нескольких местах и/или загружается на сервер, где его очень трудно подменить. Сам процесс проверки называется «верификация подписи».

Функция Web of Trust

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

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

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

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

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

Зачем нужно шифрование

Зачем вообще нужно все это шифрование, если человек ничего не скрывает и не нарушает? Это один из самых часто задаваемых вопросов. На него есть несколько ответов. За последние годы возможность тотальной слежки за сетевой деятельностью миллионов пользователей стала уже вопросом не технической сложности, а ресурсов. Обладатели таких ресурсов - все спецслужбы мира и десятки крупных корпораций, с помощью таких программ как PRISM и X­Keyscore могут собирать и хранить годами все письма электронной почты, SMS-сообщения и историю звонков.

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

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

Оценка GPG шифрования

Наша оценка

GPG шифрование - это отличный инструмент для шифрования электронной почты и цифровых материалов.

Оценка пользователей: 4.41 (27 оценок)

"Параноик - это человек, который кое-что понимает в происходящем"

Уильям Берроуз

Зачем это нужно?

Электронные сообщения (E-mail, ICQ) легко могут прочитать и скопировать все, кто имеет доступ к серверу интернет-провайдера или к компьютерам, через которые эти сообщения проходят.

В результате борьбы с терроризмом и отмыванием денег во многих странах, в том числе и в Украине, были приняты законы, которые обязывают интернет-провайдеров архивировать всю переписку своих клиентов. Спецслужбы крупных государств регулярно сканируют электронную почту в поиске подозрительных ключевых слов и фраз. Вот лишь несколько таких государственных программ: международная система ECHELON (США и другие), проект Carnivore (США), системы СОРМ и СОРМ-2 (Россия).

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

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

Как защититься?

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

  1. Выбирайте программы, которые существуют как можно дольше.
  2. Отдавайте предпочтение программам, исходный код которых является открытым (Open Source).
  3. Стойкость программы должна основываться на невозможности подобрать ключ, а не на секретности алгоритма шифрования.
  4. Старайтесь найти о программе как можно больше отзывов незаинтересованных лиц.

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

Самым распространенным средством защиты информации в последние годы стали программы реализации стандарта шифрования PGP (Pretty Good Privacy). Устойчивость PGP базируется на некоторых фундаментальных нерешенных математических задачах.

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

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

В качестве альтернативы еще в 1999 году Фондом свободного программного обеспечения была создана свободная реализация шифрования PGP под названием GnuPG . Данная программа имеет открытый исходный код и полностью совместима с другими версиями PGP. Проект GnuPG находится в процессе развития и группа разработчиков-энтузиастов по сей день продолжает работу над ее усовершенствованием.

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

  • Версия для Windows - Gpg4Win
  • Версия для Mac OS - GPG Suite
  • Версия для Android - GPG Guardian project
  • Версии для других операционных систем - на сайте GnuPG

Принцип шифрования PGP

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

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

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

Проиллюстрируем принцип работы PGP

1. Оба собеседника установили программу и каждый из них сгенерировал по паре ключей - один публичный и один секретный.

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

3. Алиса пишет сообщение, зашифровывает его публичным ключом Бориса и отправляет адресату. Борис получает зашифрованное сообщение и открывает его своим секретным ключом:

4. Борис пишет ответ, зашифровывает его публичным ключом Алисы и отправляет Алисе. Алиса получает зашифрованный ответ и открывает его своим секретным ключом:

Что делает PGP?

Шифрование PGP решает три задачи конфиденциального обмена информацией:

  1. Защищает текст сообщений от посторонних. То есть прочитать сообщение может только человек, у которого есть секретный ключ и который знает пароль.
  2. Подтверждает получателю целостность приходящего сообщения. То есть дает уверенность в том, что при передаче содержание сообщения не изменилось.
  3. Подтверждает личность отправителя. Встроенная в PGP электронная подпись однозначно идентифицирует отправителя, поскольку только он имеет доступ к секретному ключу и знает пароль.

Как работает PGP?

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

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

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

Ключи

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

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

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

Цифровая подпись

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

Подтверждение целостности сообщения - хэш-функция

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

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

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

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

Пароль

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

В программах реализации PGP пароль называется "парольной фразой" (Passphrase), хотя она может состоять и из одного слова. Однако помните, что использование слишком коротких паролей значительно увеличивает риск их взлома.

Существует три наиболее популярных метода взлома пароля:

  1. Метод "словарной атаки" (Dictionary Attack) - последовательный перебор всех слов языка в различных регистрах.
  2. Метод "грубой силы" (Brute Force) - последовательный перебор всех возможных комбинаций всех символов.
  3. Метод "гаечного ключа" (другие варианты названия: метод "резинового шланга" (Rubber-hose Cryptanalysis), "терморектальный криптоанализ", "бандитский криптоанализ") - использование для взлома пароля слабейшего звена системы защиты информации, коим является человеческий фактор. Применяя этот метод, "криптоаналитик" прибегает к угрозам, пыткам, шантажу, вымогательству, взяточничеству и другим некорректным мерам воздействия на человека, который знает пароль. Это можно проиллюстрировать карикатурой:

(источник карикатуры: xkcd.com)

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

Не следует:

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

Желательно:

  • Выбирать длину пароля более 8 символов (если он состоит из случайного набора буквенно-цифровых символов и знаков препинания).
  • При использовании в пароле осмысленных слов увеличить его длину до 16-20 символов. Слов при этом должно быть несколько.
  • При использовании осмысленных слов делать в них ошибки, вставлять знаки препинания, менять регистр.

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

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

Для примера возьмем отрывок из стихотворения Эмиля Верхарна "Меч":

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

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

сннмгбмнпдмврнсдпихтбповт

В итоге нашим паролем будет следующая набранная последовательность символов:

cyyvu,vyglvdhyclgb}

Интернет. Советы. Программы. Windows. Операционные системы

© 2024 ems-logistics.ru