PGP и PMmail


Признаюсь честно, это часть руководства полностью срисованного мной с какой-то страницы в интернет, url которой благополучно потерялся. Итак, будем считать, что слова и музыка - народные. :)

Что такое PGP

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

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

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

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

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

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

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

Можно провести аналогию конверта с PGP, которое действует как дополнение к нашей E-Mail. PGP не позволяет никому прочитать сообщение, это может сделать только тот, кому оно предназначено; это одно из многих преимуществ PGP.

Как работает криптография с открытым ключем

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

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

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

Как было сказано во вступлении, помимо защиты, PGP дает возможность Авторизировать информацию. Рассмотрим почему:

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

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

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

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

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

Закрытый ключ защищен паролем, который предотвращает его несанкционированное использование.

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

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

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

Установка PGP 5.0

Забираем файл pgp50ios2GA.zip (международная версия) или pgp50os2GA.zip (версия для США, которую нельзя оттуда экспортировать :) с сервера OpenPGP. Для установки PGP Вам также понадобятся библиотеки GNU EMX Runtime, если они у Вас еще не установлены. Вы можете найти их на сервере Hobbes.

Распакуйте PGP в какой нибудь каталог на своей машине, например c:\pgp. Добавьте путь к PGP в оператор SET PATH файла CONFIG.SYS. Добавьте также в файл CONFIG.SYS переменную SET PGPPATH=C:\PGP (или какой там у Вас путь). Я очень сожалею, но теперь придется перегрузиться :)

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

Выполните команду "pgpk -g". Ваш диалог будет примерно следующего плана:
  Choose the type of your public key:
    1)  DSS/Diffie-Hellman - New algorithm for 5.0 (default)
    2)  RSA
  Choose 1 or 2:
Я выбрал "1", default так default :)
  Pick your public/private keypair key size:
  (Sizes are Diffie-Hellman/DSS; Read the user's guide for more information)
   1)   768/768  bits- Commercial grade, probably not currently breakable
   2)  1024/1024 bits- High commercial grade, secure for many years
   3)  2048/1024 bits- "Military" grade, secure for forseeable future(default)
   4)  3072/1024 bits- Archival grade, slow, highest security
  Choose 1, 2, 3 or 4, or enter desired number of Diffie-Hellman bits
  (768 - 4096):
Опять же по вышеприведенным соображениям - "3"
  You need a user ID for your public key.  The desired form for this
  user ID is your FULL name, followed by your E-mail address enclosed in
  , if you have an E-mail address.  For example:
    Joe Smith 
  If you violate this standard, you will lose much of the benefits of
  PGP 5.0's keyserver and email integration.
  
  Enter a user ID for your public key:
Введите тут свой ник, что ли. :) Вообще вам все равно придется добавлять имена для каждого почтового ящика, который Вы используете. Хотя можно сразу указать e-mail. Я ввел просто "glass".
  Enter the validity period of your key in days from 0 - 999
  0 is forever (and the default):
Ну "0" опять же :)
  You need a pass phrase to protect your private key(s).
  Your pass phrase can be any sentence or phrase and may have many
  words, spaces, punctuation, or any other printable characters.
  Enter pass phrase:
Введите какой нибудь пароль и постарайтесь его не забыть :)
  Enter again, for confirmation:
  Enter pass phrase:
Если Вы его еще не забыли, повторите пароль еще раз :)
  We need to generate 1080 random bits.  This is done by measuring the
  time intervals between your keystrokes.  Please enter some random text
  on your keyboard until you hear the beep:
  1080
Нажимайте на клавиши, осмысленно или бессмысленно, пока оно удовлетворенно не пискнет :)
     0 * -Enough, thank you.
  ...******* ..******* .
  ******** ...............*******
  Keypair created successfully.
Количество точечек может быть различным - как и время генерации ключа :)
  If you wish to send this new key to a server, enter the URL of the server,
  below.  If not, enter nothing.
Я ничего никуда посылать не собирался и, поэтому, просто нажал на ENTER.

Ну вот Вы и создали свои первые ключи :) В каталоге появилось два файла: pubring.pkr и secring.skr - кольцо открытых и закрытых ключей соответственно. Попробуем взглянуть на них с помощью команды "pgpk -ll":

  Type Bits KeyID      Created    Expires    Algorithm       Use
  sec+ 1024 0x0B783E22 1999-05-18 ---------- DSS             Sign & Encrypt
  f20    Fingerprint20 = B822 8347 9567 B564 CAA7  3455 7662 4730 045B 3132
  sub  2048 0xB3D6339D 1999-05-18 ---------- Diffie-Hellman
  f20    Fingerprint20 = F690 5660 6459 1B4B FACB  4DF4 0F60 A11D BBD6 E67D
  uid  glass
  SIG       0x086B3E31 1999-05-18 glass
Такс... теперь важный нюанс, для каждого почтового ящика в PmMail Вам нужно иметь ключи с user ID, совпадающим с Вашим почтовым адресом для этого адреса. Если у Вас один почтовый ящик, то это совершенно несложно, просто укажите e-mail в качестве ответа на вопрос:
  Enter a user ID for your public key:
на стадии генерации ключа. Если же у Вас несколько ящиков, добавим к ключу нужные ID с помощью команды "pgpk -e user-id". В моем случае это будет "pgpk -e glass".
  sec+ 1024 0x086B3E31 1999-05-18 ---------- DSS             Sign & Encrypt
  sub  2048 0xBBD6E67D 1999-05-18 ---------- Diffie-Hellman
  uid  glass
  
    1024 bits, Key ID 0x086B3E31, created 1999-05-18
     "glass"
  
  
  Do you want to unset this key as axiomatic [y/N]? n
  
  Do you want to add a new user ID [y/N]? y
  Enter the new user ID: glass@skib.ru
  Enter pass phrase: ************
  
  Do you want to change your pass phrase (y/N)? n
  
  Do want to set this as your default key [y/N]? y
  Keyrings updated.
Добавьте ID для всех своих адресов. После этого, "pgpk -ll" будет выводит примерно следующее:
  Type Bits KeyID      Created    Expires    Algorithm       Use
  Type Bits KeyID      Created    Expires    Algorithm       Use
  sec+ 1024 0x0B783E22 1999-05-18 ---------- DSS             Sign & Encrypt
  f20    Fingerprint20 = B822 8347 9567 B564 CAA7  3455 7662 4730 045B 3132
  sub  2048 0xB3D6339D 1999-05-18 ---------- Diffie-Hellman
  f20    Fingerprint20 = F690 5660 6459 1B4B FACB  4DF4 0F60 A11D BBD6 E67D
  uid  glass
  SIG       0x086B3E31 1999-05-18 glass
  uid  glass@skib.ru
  SIG       0x086B3E31 1999-05-18 glass
  uid  glassman_ru@geocities.com
  SIG       0x086B3E31 1999-05-18 glass
Уфф. Теперь пора запускать PMMail :)

Работа с PMMail

В диалоге настройки аккаунта (Accounts/Account Settings...) у Вас теперь должна появиться закладка "Security".

Сначала идут настройки для ввода пароля. Если Вы выберете радиокнопку "Use The Following Passphrase" и введете в поле пониже свой пароль для закрытого ключа, PMMail будет молча работать со всеми пришедшими к Вам письмами. Если же Вы выберете кнопку "Prompt Me For My Passphrase", PMMail будет запрашивать у Вас пароль каждый раз, когда Вы будете просматривать зашифрованное или подписанное с помощью PGP письмо. Чтобы это не было совсем противно, там есть переключатель "Remember Passphrase For The Remainder Of The Session", что означает "помнить пароль до окончания работы программы".

Пониже идут умолчания для работы с PGP:

Sign Every Outgoing Message - Подписывать каждое исходящее сообщение
Include Public Key in Each Outgoing Message - Включать открытый ключ в каждое исходящее сообщение
Warn About Security Issues - Предупреждать о проблемах с секретностью

Ok. Как же теперь жить то дальше :) Очень просто, для начала, отправьте свой открытый ключ своим приятелям (Options/Security/Include Public Key в окне New Message). Когда они его примут и подвесят на свое открытое кольцо ключей, они смогут отправлять Вам шифрованные сообщения и проверять Вашу подпись (Options/Security/Sign).

Для того чтобы отправить зашифрованное сообщение своему приятелю, Вам нужно получить его открытый ключ. Получив его, занесите его в свое кольцо открытых ключей (Tools/Add Public Key To Keyring в окне входящего сообщения). Сделав это, Вы можете отправлять своему приятелю письма, которые сможет прочитать только он! (Options/Security/Encrypt в окне New Message).

Вот, собственно, и все.

Если у кого есть какие дополнения, пишите: GlassMan(RU)


Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ