Настройка шифрования GPG в Psi

Введение.

В Jabber-клиенте Psi предусмотрена возможность настройки шифрования GnuPG для всех сообщений между клиентами собеседников. Это рекомендуется сделать всем, кто пользуется Psi и передаёт (или получает) конфиденциальную информацию по протоколу XMPP (Jabber), т.к. администраторы Jabber-серверов могут настроить запись логов всех сообщений, отправляемых или получаемых пользователями. После включения шифрования, в логи сервера ничего не запишется, т.к. шифрование осуществляется по типу клиент (открытый ключ для отправки) — клиент (закрытый ключ для получения). Шифрование GnuPG является полностью свободным и может использоваться на любых компьютерах.

Настройка шифрования в оригинальной версии Psi.

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

  1. Заходим на официальный сайт Psi и скачиваем дистрибутив программы для свой операционной системы (поддерживаются Windows, Linux и Mas OS).
  2. Если у Вас ОС Microsoft Windows любой версии, то нужно скачать и установить систему шифрования и управления ключами GnuPG — GPG4Win с официального сайта. Скачивайте Light версию 1.1.4 (это последняя стабильная версия на момент написания статьи) или новее. P.S. Если у Вас Linux, то скачивать ничего не нужно, т.к. свободная реализация GPG уже имеется в Вашем дистибутиве.
  3. Сначала устанавливаем GPG4Win, запустив скачанный файл вида gpg4win-light-1.1.4.exe на исполнение. Внимание! Установить GPG4Win необходимо строго в папку по умолчанию: C:\Program Files\GNU\GnuPG, где C:\ — системный диск, на котором установлена ОС Windows.
  4. Настраиваем GPG4Win:
    1. Нажимаем «Пуск» — «(Все) Программы» — «GnuPG For Windows» — «GPA«.
    2. В открывшемся окне, предлагающем сгенерировать новую ключевую пару, нажимаем «Generate key now«. Запустится мастер, который сделает несколько шагов:
      1. В поле «Your name» вводите своё имя латинскими буквами (можно ник) и жмите «Forward«.
      2. В «Your Email Address» вводите свой JID (Jabber ID вида имя@jabber-сервер, например, имя@jabber.ru, имя@jabber.org и т.п.).
      3. В «Passphrase» и «Repeat Passphrase» нужно придумать и ввести собственный пароль. Пароль будет спрашиваться каджый раз при подключении к Jabber-серверу.
      4. Делаем («Create Backup copy«) или отказываемся делать («Do it later«) резервную копию ключа шифрования GPG. Лучше сделать копию ключей и поместить на сменный носитель.
      5. Жмём «Apply» и ждём примерно 1-2 минуты (зависит от мощности центрального процессора и сложности пароля) до окончания генерации ключевой пары. По окончании, если Вы выбрали создание резервной копии, то можете её сохранить на сменном носителе.
    3. После успешного создания новой ключевой пары, в окне «GNU Privacy Assistant«, Вы увидите свой ключ. Теперь нужно получить его открытый ключ чтобы в дальнейшем передать собеседникам в Psi. Выделите его щелчком левой кнопки мыши и нажмите на панели инструментов кнопку «Export» и сохраните ключ с любым именем, но с расширением asc.
    4. Передайте свой открытый ключ, сохранённый на этапе 3, собеседникам, с которыми Вы хотите общаться по защищённому каналу в Psi любым способом (через электронную почту, jabber, icq и т.д.).
    5. Импортируйте ключ собеседника, который сгенерировал его таким же способом (пункты 4.1 — 4.3) кнопкой «Import» и указанием файла с открытым ключом собеседника.
    6. Если ключ собеседника также появился в списке, жмите «File» — «Quit» для выхода из оболочки.
  5. Устанавливаем и запускаем программу Psi, скачанную на 1 шаге (если она ещё не установлена), подключаем уже имеющуюся учётную запись для того JID, для которого мы создали ключевую пару.
  6. Открываем настройки аккаунта через меню Пси (находится внизу окна с эмблемой программы) — «Аккаунты» — выбираем имя своего аккаунта и жмём кнопку «Изменить» (эти же настройки откроются автоматически после выбора опции «Использовать имеющуюся учётную запись» во время первого запуска), переходим на страницу «Подробности» и жмём кнопку «Выбрать ключ…«. Выбираем из списка свой закрытый ключ и жмём OK. Если будет запрошен пароль для этого ключа, то вводим. Теперь для этой учётной записи ключ шифрования задан.
  7. Подключаемся к Jabber-серверу и вводим пароль на свой закрытый ключ GnuPG (пароль будет спрашиваться при каждом подключении).
  8. Выбираем в своём ростере (списке контактов) собеседника, с которым нужно настроить защищённый канал, жмём по нему правой кнопкой мыши и выбираем «Присвоить ключ OpenPGP«. Если появится предупреждение, то жмём на «Выбрать ключ вручную» (обычно предупреждений быть не должно). Выбираем из списка открытый ключ собеседника, который был импортирован на этапе 4.5 данного HOWTO и жмём «OK«.
  9. Открываем окно беседы с этим собеседником и жмём кнопку с замком «Переключить шифрование» (находится возле кнопки для вставки смайликов в сообщение) и отправляем любое сообщение собеседнику. После этого в беседе появится сообщение «Шифрование включено». Теперь вся беседа с этим человеком зашифрована и никто её не сможет расшифровать и прочитать. Внимание! После каждого перезапуска клиента Psi кнопку «Переключить шифрование» нужно нажимать повторно, т.к. она почему-то отключается.

Настройка шифрования в Psi Portable.

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

  1. Выполняем шаги 2 — 4 (с подпунктами) из «Настройка шифрования в оригинальной Psi».
  2. В Windows 2000/XP/2003 заходим в папку %APPDATA%\gnupg\ и копируем всё её содержимое в PsiData\gpg\ Portable-версии.
  3. В Windows Vista и Windows 7 нажимаем «Пуск» — «Выполнить» и вводим «%APPDATA%\gnupg\» (без кавычек). Копируем всё содержимое в PsiData\gpg\ Portable-версии.
  4. Выполняем шаги 6 — 9 из «Настройка шифрования в оригинальной Psi».

38 commentaries to post

  1. сделал портабельную psi сгенерировал ключ , но когда делаешь выбрать ключ в psi ни чего не находит

  2. @adelnatoli
    Вам необходимо скопировать содержимое каталога %APPDATA%\gpg\ в PsiData\gpg\ Portable-версии. После этого Вы сможете выбрать свой ключ из списка.

  3. @s3w3
    Нет, Вы не правы. PGP и GPG — это немного разные вещи. GNU Privacy Guard, GnuPG, GPG — свободная альтернатива набору криптографического ПО PGP, выпущенная под лицензией General Public License.

    Подробнее на Википедии: PGP и GPG.

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

  5. Ppingry :

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

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

    Ppingry :

    Кстати, если таки заработает — голосовой траф у пис тоже закриптуется?

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

  6. подскажите как быть если в окне чата не показывает ни смаилики ни замок

  7. @vova
    Если смайлы анимированные, то они отображаться не будут. Чтобы отображался символ шифрования с обеих сторон должны быть получены зашифрованные сообщения. Если хотя бы одна сторона не использует шифрование, значок отображаться также не будет.

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

  9. Здравстуйте! Я скачал и установил GPG4Win как было написано здесь, после успешно добавил ключевую пару, сделал экспорт и импорт, после запустил psi подключил имеющуюся учётную запись для того JID, для которого создал ключевую пару, но в аккаунте когда пытаюсь выбрать ключ, в списке мой ключ ОТСУТСТВУЕТ! Подскажите в чём может быть проблема. у меня виндос7.

  10. @marat
    Путь к установленному GnuPG должен быть прописан в системной или пользовательской переменной окружения %PATH%. После этого Psi его увидит.

  11. user :

    @Vitaly
    а как это сделать?

    Раньше программа установки GnuPG делала это автоматически. Вручную можно сделать так: нажмите правой кнопкой по Мой компьютер — Свойства — страница Дополнительно — кнопка Переменные среды — найдите в списке PATH, выделите её и нажмите Изменить, далее через точку с запятой пропишите путь к установленному GnuPG без закрывающего слэша на конце. Внимание! В конце строки точка с запятой не ставится! Теперь нажмите OK во всех окнах.

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

  12. user :

    @Vitaly
    изменил путь переменной: C:\Program Files (x86)\GNU\GnuPG\pub, верно?

    Не нужно было удалять всё, что там написано. Нужно было поставить точку с запятой (;) и дописать путь к установленному GnuPG. В указанном каталоге должен находиться файл gpg.exe, который ищет и использует Psi.

  13. @Vitaly
    здравствуйте ещё раз. дописал путь к установленному GnuPG, но ключи всё равно не появляются, устанавли всё тоже самое на другом компе и всё работает, а здесь ни как не могу. может что-нибудь ещё подскажите?

  14. user :

    @Vitaly
    здравствуйте ещё раз. дописал путь к установленному GnuPG, но ключи всё равно не появляются, устанавли всё тоже самое на другом компе и всё работает, а здесь ни как не могу. может что-нибудь ещё подскажите?

    Откройте консоль Windows (ПускВыполнитьcmd.exe) и пропишите:

    gpg --list-keys

    Будет ли выдан список установленных ключей?

  15. Запускаю GPG создать ключ,имя, сервер,создать копию и выдаёт ошибку прекращена работа программы»pinentry.exe» подскажите что это?

  16. Люди!
    ВНИМАНИЕ!
    Помогите пожалуйста. Как прикрутить OTR к Psi 0.14 ??

  17. Aol :

    Как прикрутить OTR к Psi 0.14 ??

    Только накладывать патчи от третьих сторон. Штатно OTR не поддерживается (и не будет, т.к. автор считает GPG достаточным). В большинстве популярных дистрибутивов GNU/Linux например есть пакет psi-otr, который устанавливает уже пропатченную версию Psi.

  18. Vitaly :

    user :
    @Vitaly
    здравствуйте ещё раз. дописал путь к установленному GnuPG, но ключи всё равно не появляются, устанавли всё тоже самое на другом компе и всё работает, а здесь ни как не могу. может что-нибудь ещё подскажите?

    Откройте консоль Windows (ПускВыполнитьcmd.exe) и пропишите:
    1gpg --list-keys
    Будет ли выдан список установленных ключей?

    У меня таким образом виден, а в PSI захожу, все ровно не видит ни чего.
    В пользовательской переменной окружения %PATH% все прописано как нужно.
    Что не так?

  19. SeniorEgor :

    У меня таким образом виден, а в PSI захожу, все ровно не видит ни чего.
    В пользовательской переменной окружения %PATH% все прописано как нужно.
    Что не так?

    Посмотрите в отладочном журнале что ему конкретно не нравится. Есть альтернативный способ — поместить файлы gpg.exe, gpgkeys_curl.exe, gpgkeys_finger.exe, gpgkeys_hkp.exe, gpgkeys_ldap.exe, gpgsplit.exe, gpgv.exe и iconv.dll прямо в каталог установки Psi.

  20. The recipient or server understands the request but is refusing to process it because it does not meet criteria defined by the recipient or server (e.g., a local policy regarding acceptable words in messages).
    Unable to decrypt

    вот такая хня

  21. @sanger
    К описанному в статье это не имеет никакого отношения. Скорее всего, XMPP сервер, к которому вы подключаетесь, настроен некорректно. Обратитесь к его администраторам.

  22. Проблема следующая. Убунту 12.04 psi + 0.16 — не активна кнопка выбрать ключ во вкладке подробности в настройках аккаунта. Ключи были созданы, они отображаются в плагине gpg-manager, но присвоить ключ не могу никому, правой кнопкой мыши на контакт нажимаю а там нет функции присвоить ключ… на винде все работает по описанию

  23. @krakov
    Ключи отображаются в выводе следующих команд?

    gpg --list-keys
    gpg --list-secret-keys

    Если да, то проблема в Psi+ и нужно писать им в баг-трекер.

  24. Здравствуйте! Помогите пожалуйста решить проблему. Итак:
    задача настроить шифрование gpg в Psi+
    По порядку: Операционка Win7 64, прога gpg4win — 2.3.0, psi-plus-0.16.469-all-in-one-setup.

    Делаю все по инструкции ставлю gpg4win в каталог как указанно C:\Program Files (х86)\GNU\GnuPG, проверяю системные переменные path путь к файлу прописявается правильно. Запускаю kleopatra генерирую новый ключ, делаю экспорт (кстати вычислил что kleo нужно обязательно закрыть и запустить заново, тогда Psi+ ключи видит без проблем). Ставлю Psi+ в каталог C:\Program Files\Psi+, создаю аккуант на сервере у которого нет проблем с сертификатами. Плагин gpu… включаю. Ключ присваиваю. Тоже самое делаю на др.компе. Обмениваюсь и присваиваю откр.ключи.
    И вот дальше пытаюсь никак не могу включить значек шифрованное соединение, он су….ка тупо не активный. Че за ху….. не знаю уже 20 раз все удалил и заново поставил. Никак. Подскажите плииз наверника решение какое то простое. Буду безгранично благодарен

  25. при входе в Psi+ не запрашивает пароль ключа.

  26. feat :

    Ставлю Psi+ в каталог C:\Program Files\Psi+, создаю аккуант на сервере у которого нет проблем с сертификатами. Плагин gpu… включаю. Ключ присваиваю. Тоже самое делаю на др.компе.

    Он вообще видит ключи? Старый оригинальный Psi, ЕМНИП, мог работать только с gpg старой версии (GPG 1.0), который сейчас уже не поддерживается.

    feat :

    при входе в Psi+ не запрашивает пароль ключа.

    В настройках аккаунта Psi он задан?

  27. очень часто вылетает запрос фразы пароля к ключу …pinentry.exe….ввожу ключ до меня доходят сообщения с шифрованием..но раньше было так- один раз ввел и все… а сейчас через каждые 20 минут..приходится заново вводить..как решить проблему?

  28. @ИВан
    Это нормально. По умолчанию gpg-agent кэширует пароль закрытого ключа на 20 минут. Если нужно больше, в конфиге пропишите другое значение.

    1. Это нормально. По умолчанию gpg-agent кэширует пароль закрытого ключа на 20 минут. Если нужно больше, в конфиге пропишите другое значение.

      а как и где это сделать?

      1. а как и где это сделать?

        В файле конфигурации gpg-agent.conf измените значение переменной default-cache-ttl, указав время кэширования пароля закрытого ключа (значение задаётся в секундах).

  29. подскажите, как сделать так чтоб ключ gpg не требовал ввести пароль при каждом открытии psi+. Если можно подробную инструкцию, заранее спасибо!

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

Обсуждение закрыто.