InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте



Купить грибы цены на свежие грибы.



Размещение сквозной ссылки

 

Что такое 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> "...если увидете несовпадения - бейте тревогу..."

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

EP> Hо "то это", "зачем это", "и где мне тоже взять" для меня не ясно :)

Что и зачем - я рассказал. Где - как обычно, поищи на BBS файл PGP*.*


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua