Как расшифровать pgp сообщение hydra

Обновлено: 02.07.2024

Шифрование PGP

Внимание - в настоящее время статья устарела. Актуальная замена PGP - это GnuPG (GNU Privacy Guard, https://www.gnupg.org). Пример работы с GnuPG в Windows смотрите в статье "Шифрование GPG (GnuPG, ex PGP)".

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

В 1999 году силами Фонда свободного программного обеспечения была создана свободная реализация OpenPGP под названием GNU Privacy Guard (GnuPG), а сам PGP был куплен McAfee, а поздгнее - Symantec. Проект GnuPG жив и здоров, о нем читайте в отдельной статье.

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

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

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

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

Аутентификация

На наших машинах установлены две версии PGP:

PGP 2.6.3ia - /usr/local/bin/pgp
PGP 6.5.1i - /usr/local/bin/pgp6

В PGP версии 2.6.3ia для криптования используется алгоритм RSA, а в версии 6.5.1i добавлен алгоритм DSS/DH.

Генерация ключей

Сначала необходимо зайти в unix shell и в своей домашней директории создать подкаталог .pgp командой:

После этого командой "/usr/local/bin/pgp -kg" создаем ключи и защищаем свой закрытый ключ паролем. Обязательно запишите этот пароль. При утере восстановить его будет невозможно и придется создавать новые ключи. В каталоге .pgp созданы два файла:

pubring.pgp - набор открытых ключей
secring.pgp - набор закрытых ключей

Теперь можете приступать к использованию PGP

Использование PGP

Создание пары ключей

Чтобы начать использовать PGP, нужно создать собственную пару ключей (открытый/закрытый). Чтобы это сделать, выполните команду:

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

После выбора размера нужно задать идентификатор открытого ключа. Обычно здесь указывают свои имена и/или e-mail адрес. Например:

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

Добавление ключей в файл

pgp -ka somekey [файл с ключами]

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

Удаление ключа из файла

Удалить ненужный ключ из файла можно командой

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

Например: "pgp -kr alex" удалит любой ключ, у которого в идентификаторе содержится "alex". По умолчанию исследуется файл открытых ключей.

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

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

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 -es файл идентификатор_получателя мой_идентификатор

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

Расшифровка

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

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

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

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

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

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

Двухфакторная аутентификация (2FA) — это дополнительная защита аккаунта при входе на какой-либо интернет-ресурс.


Как пользоваться 2FA на HYDRA?

На сайтах, которые заботятся о безопасности пользователей, вкладку "двухфакторная авторизация" (или "двухфакторная аутентификация") обычно можно найти в личном кабинете. Чтобы включить 2FA на площадке HYDRA, войдите в свою учётную запись и кликните на свой никнейм в правом верхнем углу.


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

Нас интересует следующая вкладка под названием "Двухфакторная аутентификация".


HYDRA предлагает 2 варианта управления 2FA: с помощью PGP-ключа (что такое PGP, читайте здесь) и с помощью специальных приложений (например, Authy или Google Autenticator).

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

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


1. 2FA с помощью PGP-ключа.

Чтобы использовать PGP-ключ, необходимо для начала ознакомиться с этой статьёй, а затем ввести свой публичный PGP-ключ на странице "Мои настройки".

Потом выбираем вкладку "Двухфакторная аутентификация", PGP-верификация и вводим свой PGP-ключ в ответ на запрос сайта.

Однако большинство пользователей предпочитает способ подтверждения через приложение

2. 2FA с помощью приложения.

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



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

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

Сразу после установки приложения на смартфон или планшет появляется выбор, каким способом добавить аккаунт:


Из приложения Google Autenticator

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


Такая надпись появляется после успешного скана кода

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


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


Вводим код, который в данный момент актуален в приложении и нажимаем "Продолжить". Если код введён правильно, попадаем в свою учётную запись.

Итак, краткая инструкция:

  • Установить приложение на смартфон (работает как на Android, так и на iOC)
  • Выбрать на сайте HYDRA способ аутентификации
  • Отсканировать с помощью приложения QR-код или ввести указанный там же код вручную
  • Ввести полученный в приложении код на сайт HYDRA

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

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

Плюсы PGP-верификации практически те же: код известен только вам и хранится в надёжном месте.

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

Мы рекомендуем всем пользоваться 2FA для работы с сайтом HYDRA и другими ресурсами, чтобы защитить и деньги, и приватные данные.

DronVR

Безопасность: как пользоваться PGP-ключом

PGP — это дополнительная защита переписки. Чтобы лучше понимать принцип работы PGP, рекомендуем сначала ознакомиться со статьёй Дополнительная безопасность при общении в сети.

Вкратце, это способ шифрования и расшифровки информации. Для функционирования PGP необходимо, чтобы оба участника переписки им пользовались. Для этого на компьютер устанавливается одна из программ, которая позволяет шифровать способом PGP. Рекомендуем gpg4usb (под Linux или Windows) или программу GnuPG (возможные операционные системы указаны на скриншоте ниже).

a2fbdbce346bfbe8cc37e.jpg

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

Как этим пользоваться
Рассмотрим установку на примере программы gpg4usb.

00c36c9c8953cbe8eca03.jpg

Программа скачивается в zip формате: разархивируем её, устанавливаем на компьютер и запускаем. Автоматически появляется "мастер первого запуска". Если аккаунта и PGP-ключей ещё нет, выбираем верхний вариант: создать новую ключевую пару.

db242f6268884633b1b7a.jpg

Нажимаем Создать новый ключ и попадаем в окно введения личных данных.

Можно задать срок годности ключа на любой период времени или поставить галочку "без срока годности" — тогда ключ будет вечным. Длина ключа выставляется по умолчанию 2048 бит.

a0cf8b1503b1366a25998.jpg

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

b4b13e583ac946c75885c.jpg

8a7966e78c3ed8e29547d.jpg

Пишем любой текст, потом во вкладке "Вид" отмечаем галочкой "Зашифровать для:", и поверх основного окна (или справа от него) появляется список ваших контактов (то есть список сохранённых ключей). На данный момент есть только один контакт — вы сами.

1d8a1ccc158b608ac141d.jpg

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

254a64b3668817b2a3b43.jpg

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


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

pgptools

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

ИСПОЛЬЗОВАНИЕ PGPTOOLS

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

https://i.gyazo.com/28696099bf810ab3963802b058e31889.jpg

Упрощенно говоря, публичным ключом письмо шифруют перед отправкой, а секретным дешифруют после получения. Это как бы цифровая реализация замка с защелкой: захлопнуть дверь с ним может любой, а вот открыть — только владелец ключа. Мы сделали на пробу две пары ключей: минимально (1024 бита) и максимально (4096 бит) возможной длины.

Основная панель в PGPTools носит такое же название. Она переключается между двумя режимами: шифрованием и дешифрованием. Ее вид зависит от того, какой ключ был ранее выбран на панели key list — публичный или секретный. Зашифровать любой текст с помощью PGPTools можно в пару кликов. Для этого достаточно вставить его в поле с подсказкой Enter source из любого источника и нажать кнопку Encrypt. Шифрование будет выполнено с использованием выбранного ранее публичного ключа.

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

ПАРА (ТЫСЯЧ) СЛОВ ОБ АЛГОРИТМЕ

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

Выбор алгоритмов сейчас доступен очень широкий. Именно он в большой степени влияет на качество конкретной реализации PGP. Обычно используют AES и RSA, а из хеш-функций выбирают ту, что, по современным представлениям, наименее подвержена коллизиям (RIPEMD-160, SHA-256). В PGPTools для шифрования данных используется алгоритм IDEA, для управления ключами и цифровой подписи — RSA. Хеширование происходит с помощью функции MD5.

Сам многостадийный процесс (де)шифрования данных у любой программы реализован в одном
из наборов общедоступных криптографических библиотек. Все создаваемые PGPTools ключи содержат в названии версии BCPG, что косвенно указывает на использование Bouncy Castle OpenPGP API. При проверке этого предположения в файле com.safetyjabber.pgptools.apk было обнаружено прямое указание на библиотеки Bouncy Castle.

PGP Tools использует Bouncy Castle OpenPGP API

PGP Tools использует Bouncy Castle OpenPGP API

Они реализуют схему OpenPGP согласно RFC 4880, но имеют свои особенности. Одна из них состоит в том, что (в зависимости от выбранной версии) в них может не применяться подключ шифрования. Также в этих библиотеках замечены ограничения эффективной длины ключа. Это означает, что выше некоего предела (обычно 1024 бита) попытка создать ключ большей длины не будет иметь практического смысла. Алгоритм не сможет обеспечить высокое качество ключей, поскольку в парах появится слишком много совпадающих блоков.

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



Повторяющиеся блоки в ключах

С четырехкилобитными ключами ситуация выглядит иначе. Отличающихся фрагментов в паре слишком мало (они выделены красным), а совпадающих —чересчур много.


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

УТЕШИТЕЛЬНЫЙ ВЫВОД

Выявленные в ходе тестирования недостатки носят общий характер. Они типичны для многих программ, поскольку касаются кода не самого приложения, а используемых в нем популярных библиотек. Криптографическое сообщество рекомендует разработчикам избегать Bouncy Castle OpenPGP. Мы надеемся, что в следующих версиях авторы PGPTools возьмут за основу более продвинутые реализации.

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

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

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