Перейти к содержимому



Фотография

Что такое PGP?


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 Admin

Admin

    Системный администратор.

  • GARANT
  • 691 сообщений
  • ГородИнтернет сити

Отправлено 23 Ноябрь 2015 - 11:28

Итак, что такое 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-сигнатурой.

С Уважением Администрация.Форум хакеров xakeram.ru



Яндекс.Метрика Top.Mail.Ru Analysis Счетчик ИКС
Добавить Vkontakte Добавить в Facebook Добавить в Twitter Добавить в LiveJournal