Как расшифровать pgp сообщение
Перейти к содержимому

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

  • автор:

Расшифровка файлов с помощью PGP

Поддержка этой версии Orchestrator завершена. Рекомендуется выполнить обновление до Orchestrator 2019.

Действие PGP Decrypt File расшифровывает файл или все дерево папок с помощью созданного файла ключа PGP и парольной фразы. При расшифровке всей папки дерево папок сохраняется ниже корневой папки. Например, при расшифровке C:\Documents and Settings\Administrator\My Documents\*.* и всех вложенных папок будут расшифрованы все файлы в папке «Мои документы», а также все файлы в папке «Мои документы». Все файлы во вложенных папках будут находиться в одной вложенной папке в папке Output.

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

Установка GnuPG

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

Установка GnuPG версии 1.x и 2.0.x

Выполните указанные ниже действия.

  1. Загрузите файлы gpg.exe и iconv.dll версии 1.4.10 или более поздней из GnuPG.
  2. Сохраните gpg.exe и iconv.dll в папку :\Program Files (x86)\Common Files\Microsoft System Center \Orchestrator\Extensions\Support\Encryption на каждом сервере Runbook и компьютере с Designer Runbook.

Установка GnuPG версии 2.x

Выполните указанные ниже действия.

  1. Загрузите файлы gpg.exe, gpg-agent.exe, iconv.dll, libassuan-0.dll, libgcrypt-20.dll, libgpg-error-0.dll, libnpth-0.dll, libsqlite3-0.dll и zlib1.dll версии 2.x или более поздней из GnuPG.
  2. Сохраните gpg.exe, gpg-agent.exe, iconv.dll, libassuan-0.dll, libgcrypt-20.dll, libgpg-error-0.dll, libnpth-0.dll, libsqlite3-0.dll и zlib1.dll в папку :\Program Files(x86)\Common Files\Orchestrator\Extensions\Support\Encryption на каждом сервере Runbook и компьютере, на котором запущена Designer Runbook.

Настройка действия расшифровки с помощью PGP

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

Вкладка «Подробные сведения»

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

Вкладка «Дополнительно»

Параметры Инструкции по настройке
Папка набора ключей Введите расположение папки keyring, содержащей файл секрета, который будет использоваться для расшифровки файлов. Файл секретных ключей (*.skr) можно переименовать с расширением *.gpg.
Парольная фраза Введите парольную фразу, связанную с файлом keyring.

Опубликованные данные

В следующей таблице перечислены опубликованные элементы данных.

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

Обратная связь

Были ли сведения на этой странице полезными?

Шифрование с помощью PGP

Эта статья родилась из простой задачи, мне нужно было передать файл с паролями с одного компьютера на другой через интернет. Можно сколько угодно говорить о шифровании в мессенджере и безопасных сервисах, которые “упрощают” нашу жизнь. Но факт остается фактом, если вы хотите действительно безопасно передать данные через интернет, придется погрузиться в шифрование. Я не специалист по информационной безопасности, мой интерес чисто обывательский. Первое правило здесь — каналы передачи данных всегда небезопасны. Второе — любой сервис с пользователями всегда будет целью для взломов и поиска уязвимостей.

PGP (Pretty Good Privacy) — одна из первых популярных реализаций шифрования с открытым ключом. У нее интересная история, особенно в части как правительство США пыталось запретить её экспорт. В итоге PGP стала коммерческим продуктом. Доступна бесплатная версия, основанная на том же стандарте, что и PGP. Она называется GnuPG (или GPG). Поскольку стандарт одинаковый, пользователи часто говорят «PGP-ключ» и «PGP-сообщение», хотя на самом деле используют GnuPG.

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

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

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

Шифрование и Дешифрование

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

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

Отпечатки

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

Чтобы справиться с этой проблемой, в PGP существует механизм отпечатков. Отпечатки (Fingerprints) — это уникальный идентификатор, они генерируются в результате односторонней математической функции называемой хэширование. Односторонней значит что из отпечатка нельзя получить исходный ключ выполнив обратную процедуру (хэшировать можно любые данные, не только ключи). Результатом является цифробуквенная строка фиксированной длинны. Пользователи публикуют свои отпечатки на различных платформах. Например в социальных сетях, email подписях или даже печатают на визитках. Одним из способов также является публикация на специальном сервере-справочнике (например keybase.io).

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

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

Подпись сообщений

Другой компонент PGP — подпись сообщений. Это процесс удостоверения сообщения уникальной цифровой подписью.

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

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

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

  • Конфиденциальность — гарантия того, что ни одна сторона, кроме предполагаемого получателя, не сможет получить доступ к содержимому сообщения
  • Целостность — гарантия того, что сообщение не было изменено при передаче
  • Аутентификация — гарантия того, что личность отправителя может быть проверена
  • Неотрицание — гарантия того, что отправитель не сможет обоснованно отрицать факт отправки сообщения

Как генерировать PGP ключи

Как я уже упоминал, существует бесплатная библиотека и ПО, которые реализуют PGP протокол — GnuPG. Есть несколько способов как ими пользоваться, я предпочитаю использовать терминал. Команды, приведенные ниже, подходят для операционных систем MacOS и Linux, а также, скорее всего, Linux подсистемы в Windows — WSL.

Если работать с PGP в терминале вам некомфортно, я советую посмотреть в сторону инструкций Surveillance Self-Defense от Electronic Frontier Foundation. Они доступны в том числе на русском языке.

На MacOS GnuPG может быть установлен через Homebrew.

Сначала выбираем тип ключа, который хотим создать. Можно нажать Enter чтобы выбрать тип по умолчанию, на MacOS это ECC (sign and encrypt) . Если вы не видите такой тип в списке, а по умолчанию предлагается RSA, воспользуйтесь параметром —expert , чтобы увидеть больше опций.

Дальше нам предлагается выбрать эллептическую кривую. Берем Curve 25519 и переходим к сроку действия. Можно создать ключи с ограниченным сроком действия, это хорошая, но продвинутая практика, придется перегенерировать ключи до даты истечения, чтобы начать работать с PGP это не нужно, поэтому выбираем key does not expire .

Для RSA будет предложен выбор размера, если вы, по какой-то причине не можете использовать ECC, а доступен только RSA, я бы рекомендовал как минимум 4096.

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

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

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

А чтобы посмотреть доступные приватные ключи, команду:

Используйте параметр —fingerprint чтобы отобразить отпечатки ключей. Это длинная строка из 10 блоков с 4 цифрами и буквами в каждом.

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

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

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

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

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

Если вы уверены в каком-то конкретном ключе, вы можете изменить его уровень доверия в GnuPG и тогда предупреждения не будет. Для этого можно воспользоваться параметром —edit-key .

gpg --edit-key KEY_ID> gpg> trust

Далее вам будет предложен выбор уровня доверия.

1 = I don't know or won't say 2 = I do NOT trust 3 = I trust marginally 4 = I trust fully 5 = I trust ultimately m = back to the main menu

После подтверждения выбора можно выйти из редактирования ключа командой quit .

Дополнительные материалы

Примеры критики PGP:

  • Operational PGP
  • Using OpenPGP subkeys in Debian development
  • signify: Securing OpenBSD From Us To You
  • Поблагодарить автора
  • Telegram канал

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

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

Голосование за лучший ответ
Чтобы расшифровать, нужны ДВА ключа, открытый и закрытый.
Как бэ тут используется ДВА ключа, отправитель-получатель.

«как их расшифровать.»
Никак. Расшифровывают сообщение, а не ключи.

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

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

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

Расшифровка.

Открываем полученное зашифрованное сообщение и нажимаем на второй справа значок на панели Outlook Express, либо на команду меню PGP decrypt message. Через несколько секунд сообщение будет расшифровано и появится в окошке.

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

Создаем сообщение в Outlook Express, затем выделяем его через команды edit — select all и копируем в буфер Windows через команду copy.

После этого ставим мышку на значок PGP в панели задач, нажимаем на мышку и исполняем команду encrypt clipboard.

Появляется окно диалога с PGP под названием key selection dialog.

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

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

В результате зашифрованное содержимое clipboard заменяет предыдущее сообщение и на этом процесс шифровки закончился. Теперь можно отправлять сообщение обычным образом.

Расшифровывать полученные сообщения можно таким же образом: т.е. выделяем полученный зашифрованный текст, копируем его в буфер Windows clipboard, заходим мышкой в меню PGP через панель задач Windows и выбираем команду decrypt and verify clipboard.

Появляется окно программы PGP, в которое необходимо ввести пароль, вводим пароль в это окно, нажимаем на OK и перед нами предстает расшифрованное сообщение.

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

Также кроме этого способа можно применить еще один способ шифрования (третий способ).

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

• encrypt and sing

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

После этого рекомендуется выполнить еще одну команду в меню PGP: wipe (стереть, уничтожить оригинальный файл). Иначе, какой смысл шифровать файл, если на диске компьютера остался первоначальный файл?

После этой операции у файла остается то же самое имя, но меняется тип расширения на

Теперь этот файл можно прикрепить к сообщению и отправить вместе с ним.

В результате мы узнали, что существует три основных способа шифрования информации:

• Первый — самый удобный, напрямую в почтовой программе;

• Второй — через копирование текста в буфер обмена Windows;

• Третий — через шифрование всего файла, который затем прикрепляется к сообщению.

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

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

Для этого надо щелкнуть мышкой по символу PGP на панели задач, исполнить команду PGP preferences, зайти в General и поставить галочку напротив команды Always encrypt to default key.

Кроме этого нужно зайти в PGP keys, выбрать мышкой свой ключ, зайти в меню keys и исполнить команду set as default key.

Здесь же можно изменить свою парольную фразу: выделить мышкой свой ключ, нажать на правую кнопку мышки, исполнить команду key properties , change passphrase и поменять свою парольную фразу.

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

Кроме того, там же (в key properties) можно увидеть fingerprint или своеобразные «отпечатки пальцев», состоящие из комбинации цифр и букв.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *