Главная
Архив новостей
Безопасность в Unix
Безопасность в Windows
Сборник FAQ'ов
Телефония, фрикинг
Кредитные карты
Криптография
Истории о хакерах
Программы, утилиты
_el@sp.sz.ru

RB2 Network

Что такое PGP?


Итак, что такое PGP? Это сокращение от 'Pretty Good Privacy' - названия
популярной системы шифрования с _открытым_ ключом.

Что такое система шифрования с открытым ключом? Hу, ты наверняка знаешь системы
с _закрытым_ ключом - например, это все архиваторы и большинство шифровщиков.
Для расшифровки в них используется тот же ключ (пароль), который был использован
для шифровки. Если этот ключ станет известен ещ| кому-то - вс|, нужно срочно его
менять, он больше не обеспечивает секретности.

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

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

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

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

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

Таким образом, ты хранишь у себя первый - _секретный_ - ключ, и никому его не
показываешь. Второй ключ - _публичный_ - ты разда|шь всем друзьям, рассылаешь по
FIDO, вставляешь в комментарии к своим архивам...

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

Вот это и есть тот самый 'PGP public key', который ты видел.

Кроме того, таким же образом можно организовывать _электронную_подпись_ (это
некоторое подобие Authenticity verification, реализованной в большинстве
архиваторов). В этом случае по содержимому твоей информации (архива, мессаги
etc.) рассчитывается специальная контрольная сумма, которая затем шифруется
твоим _секретным_ ключом. После этого каждый, у кого есть твой _публичный_ ключ,
может рассчитать такую же сумму и сравнить е| с результатом расшифровки. Если не
совпад|т - значит, кто-то копался в информации и что-то в ней изменил.
(Authenticity verification работает аналогично, но там просто рассчитывается
контрольная сумма содержимого архива, и все данные для сравнения содержатся в
том же архиве; получателю не нужно иметь твоего ключа, зато, в принципе, AV
достаточно (относительно, конечно) легко подделать).

Это называется 'PGP signature', которую ты, возможно, тоже видел.

Hо у этого метода есть свои недостатки.

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

Во-вторых - и это самое серь|зное - опасность скрыта в возможности подделки
_публичного_ ключа. Что, если кто-то начн|т распространять _свой_ публичный
ключ, подписываясь _твоим_ именем? Тогда он сможет получать письма, которые люди
будут посылать тебе, думая, что ключ передал ты. Правда, ты сам эти письма
расшифровать не сможешь - соответствующего секретного ключа у тебя нет. Или он
сможет рассылать всякую гадость, прикрываясь твоим именем и якобы твоим
публичным ключом. Вот откуда взялись фразы:

EP> "...если увидете несовпадения - бейте тревогу..."

именно для пpедотвpащения этого пpедусмотpены во-пеpвых возможность
сеpтификации публичного ключа и во-втоpых пpесловутый pgp public key
fingerprint, позволяющий, скажем, голосом по телефону по контpольным
цифpам пpовеpить подлинность ключа.

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

          
<== Back to main page