admin / 14.09.2018

Pgp

.

главная — Статьи — Разное

Шифрование PGP

Теги: Шифрование

PGP (Pretty Good Privacy) — криптографическое приложение для обеспечения защиты и аутентификации данных. Используя его можно быть уверенным, что никто не сможет прочитать или изменить Вашу информацию. Подробнее о программе и истории ее создания можно прочитать на сервере www.pgpi.org. Защита гарантирует, что только получатель информации сможет воспользоваться ей. Оказавшись в чужих руках, она будет совершенно бесполезной, поскольку ее невозможно декодировать.

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

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

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

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

 

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

Шифрование

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

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

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

Версии PGP

На наших машинах установлены две версии 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 командой:

mkdir .pgp

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

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

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

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

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

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

pgp -kg

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

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

Ivan Petrov <ivan@zmail.ru>

Далее нужно задать пароль, который будет защищать закрытый ключ. Это необходимо для защиты закрытого ключа. Например, если кто-нибудь украдет его, ключ будет бесполезен без пароля. Наконец, программа попросит в произвольном порядке нажать несколько клавиш на клавиатуре чтобы она могла создать последовательность случайных чисел. Через несколько секунд PGP создаст ключи и известит об этом соответствующим сообщением. После того, как ключи были сгенерированы должным образом, они сохраняются в каталоге ~/.pgp в виде файлов: pubring.pgp и secring.pgp. Первый, pubring.pgp, является файлом с открытыми ключами, secring.pgp — файл с закрытыми ключами На данный момент эти файлы содержат только открытый и закрытый ключи их создателя. Необходимо помнить, что безопасность методов открытого ключа опирается на безопасности закрытого ключа, поэтому обязательно хранить его в надежном месте и следить за тем, чтобы никто не смог его получить.

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

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

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

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

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?

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

pgp -sta файл

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

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

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

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

Расшифровка

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

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

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

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

pgp -m файл

Источник: http://www.host.ru/support/hosting/pgp.html

Авторизуйтесь для добавления комментариев!

.

Frequently Asked Questions

Here are the answers to some frequently asked questions we receive.

Is it safe for me to generate my PGP keys through your website?

Yes, it is as safe as generating your keys using a local application. The key generation on our website is done client-side only. This means the key pairs are generated entirely in your web browser and they never leave your computer. Our website never sees any key related data or the key itself.

Can you tell me more about the keys you generate?

Sure. For starters, we enforce using a passphrase with each key generated. This ensures some level of protection if your key is ever stolen.

This site requires JavaScript. Please enable your JavaScript on your Browser.

We also automatically generate two subkeys for you, one for signing and the other for encryption. You can use your subkeys to sign and encrypt data and keep your private key safe. The bit length of generated subkeys will be identical to the length you specified for the primary key. The primary key we generate for you never expires. You can, however, set the expiration date on the generated subkeys using the ‘Expire’ option in the key generation form.

What is Elliptic Curve Cryptography?

Elliptic Curve Cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. One of the main benefits in comparison with non-ECC cryptography (with plain Galois fields as a basis) is the same level of security provided by keys of smaller size. For example, a 256-bit ECC public key should provide comparable security to a 3072-bit RSA public key. ECC is still not widely supported in many PGP client applications so we advise that you generate ECC keys only if you know what you’re doing. You can read more about it at RFC 6637.

I’m concerned about my privacy. Do you keep or gather logs of any sort?

Our website is hosted entirely on Amazon’s S3 and CloudFront platforms. All of our code is client-side. We have NO backend servers. Since we don’t have a backend server we don’t keep any logs. The only logging that occurs when you visit our website is performed by Google Analytics, which helps us keep track of the number of people visiting the site monthly.

Why does my web browser or computer slow down when I’m generating keys?

PGP key generation is a resource intensive process. As a result, your may experience increased CPU and memory usage on your device, which can result in performance issues. The performance impact depends on the hardware capabilities of your device.

About

A bit of information about us.

We wanted to make an easy to use, accessible, tool for people to generate PGP keys with. Today, the common methods for generating keys still involve going to a command prompt of a Linux/Unix machine and using the GPG utility , or installing a PGP compatible application on your desktop. We wanted to provide an easier way to generate keys. None of this would be possible without the awesome Open Source software we’re utilizing. We’re using KeyBase’s awesome JavaScript implementation of PGP (kbpgp). For file saving capabilities we are utilizing Eli Grey’s wonderful FileSaver.js interface.

Please note that this project is still a work in progress and that we’ll making improvements and introducing more functionality in the near future. As a work in progress there are a number of issues we are aware of that we will resolve:

Currently we can only support ECC keys with length of 384 bits. We will support more sizes soon.

Setting expiration date of subkeys to ‘Never’ results in an expiration date of 8 years.

To generate multiple key pairs you’ll have to refresh the page after each run; there is no way to reset the form.

If you have any questions, comments or would simply like to chat with us feel free to reach out at moc.edocnoegip@tcatnoc.

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*