Война в Украине

Все мы знаем, какой пиздец сейчас происходит с Украиной и одной известной вам страной-победительницей-фашизма. Если вы хотите почитать об этом, помочь актуализировать информацию или высказать свое мнение — можете сделать это в статье Война в Украине и в обсуждении.

PGP

Материал из Urbanculture
Перейти к: навигация, поиск

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

Pgp1.jpg
Людям необходима конфиденциальность. PGP распространяется как огонь в прериях, раздуваемый людьми, которые беспокоятся о своей конфиденциальности в этот информационный век. Сегодня организации по охране прав человека используют программу PGP для защиты своих людей за рубежом. Организация Amnesty International также использует ее.

Филлип Ципперман

PGP — криптографическая система, использующая в основе алгоритм шифрования с открытым ключем или так называемую публичную криптографию. Представляет собой программу и библиотеку функций для шифрования. Считается в настоящее время одним из самых надежных средств шифрования информации. Существуют как бесплатные версии, так и версии, распространяемые на коммерческой основе. Изначально программа была бесплатной, исходный код был открыт. Проанализировав код, ведущие криптоаналитики признали эффективность применения данного средства шифрования. Кроме самой pgp существуют аналоги в виде filecrypt, gnupg, использующие те же алгоритмы. Все реализации полностью совместимы между собой, то есть то, что зашифровано одной программой может быть расшифровано другой при наличии ключа. Первые версии программы созданы Филлипом Ципперманом в 1991 году. В настоящее время технологии шифрования данных на основе pgp или совместимые с ней реализованы на всех имеющихся ОС.

Основные понятия

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

Асимметричное шифрование

Метод шифрования, использующий пару ключей, публичный и секретный, для обмена шифрованными сообщениями. Программа генерирует пару ключей, связанных между собой. Публичный ключ используется только для шифрования, секретный ключ только для расшифровки. Ключи связаны между собой так, что невозможно создать еще один публичный ключ не имея секретного. Но невозможно воссоздать секретный ключ имея публичный, даже при наличии образцов исходного и шифрованного текстов. Публичный ключ вместе с данными о его владельце распространяется среди корреспондентов, секретный ключ хранится в тайне. Отправитель шифрует сообщение публичным (или как его еще называют открытым) ключом, но расшифровать его может только получатель. Метод имеет ряд преимуществ перед симметричным шифрованием. При использовании одного ключа для кодирования и декодирования нужно быть уверенным, что он не попадет в чужие руки. Следовательно возникает множество проблем с его хранением и передачей. Пользователь может быть уверен в себе, но не уверен в своих корреспондентах, или каналах связи, через которые он передаёт ключ. Асимметричное шифрование решает проблему сохранности секретного ключа однозначно, так как при его использовании нет необходимости передавать секретный ключ всем собеседникам. Публичный ключ может передаваться и даже попасть в руки злоумышленника, но расшифровать он им ничего не сможет.

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

Pgp2.jpg
Pgp3.gif

В современных версиях используется гибридное шифрование на основе обоих способов. Информация в начале сжимается, затем шифруется одноразовым симметричным ключом, затем симметричный ключ шифруется асимметричным. Сжатие нужно для устранения избыточности текста, позволяющей проводить анализ на основе наиболее часто встречающихся фрагментов. Расшифровка идет в обратном порядке: с помощью секретного ключа расшифровывается сеансовый, а затем, уже с помощью сеансового расшифровывается весь текст[1]. Преимущество такого метода в том, что асимметричные алгоритмы менее стойки, чем симметричные при большом объеме данных легче подвераются анализу[2], шифрование симметричным способом идет быстрее. Надежность сеансового ключа по умолчанию является высокой, так как он создается не человеком, а генератором псевдослучайных чисел. Также симметричный ключ в данном случае не может быть скомпрометирован, из-за того, что он используется только один раз и не показывается ни отправителю, ни получателю. Симметричный ключ в этом случае знает только программа шифрования, которая его в зашифрованном виде передает программе вашего корреспондента внутри всего сообщения. При этом симметричный ключ не содержит количества информации, достаточной для успешного взлома или подбора ключа асимметричного алгоритма. Также такой сеансовый ключ не может быть подобран по словарю, в отличие от придуманных человеком.

Применяемые алгоритмы

  • RSA
  • DSA
  • схема Эль-Гамаля

Практическое применение

Тут понятно и ежу. Все, что не должно быть известно третьим лицам подлежит шифрованию. PGP и ее аналоги дают достаточную (но не абсолютную) защиту конфиденциальности передаваемой информации, делая невозможным её анализ программами, собирающими персональные данные и системами контроля типа eshelon и СОРМ. Кроме шифрования pgp используется еще и для простановки электронной подписи документа. Электронная подпись представляет собой хэш на основе всего документа и секретного ключа его владельца. Таким образом обладатель публичного ключа может проверить, не был ли изменен документ при пересылке и в действительности ли он составлен обладателем секретного ключа. При этом по имеющемуся хэшу невозможно установить сам секретный ключ, но и невозможно создать хэш (подпись), аналогичную обладателю секретного ключа. Электронная подпись позволяет обеспечить целостность документа, а также точно установить его владельца.

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

Несмотря на все преимущества описанных алгоритмов, некоторые проблемы все-таки остаются. Основная — это возможность подмены публичного ключа. Если вы получаете ключ не непосредственно от его владельца, то вероятность подмены велика. Допустим существует третья, заинтересованная сторона, которая предоставит вам свой ключ вместо ключа вашего корреспондента, а ему в свою очередь такой же фиктивный свой ключ вместо вашего. Тогда эта третья сторона сможет расшифровать ваше сообщение, подменить его тем же самым исходным текстом, только зашифрованным настоящим публичным ключом вашего корреспондента и переслать ему. Он же обладая вашим фиктивным ключом (который ему заботливо подсунули) шифрует для вас ответ, который также достается третьей стороне, а она в свою очередь добывает исходный текст и шифрует его вашим настоящим ключом. В результате хитрых манипуляций окажется, что вся сложность перехвата сводится не к криптоанализу и созданию идентичных хэшей электронной подписи, что почти невозможно [3], а к банальной подмене, что вполне реализуемо, было бы сильное желание. Поэтому публичный ключ также имеет защиту от подмены. При его созданиии необходимо указать имя и адрес электронной почты (можно ник, если переписка анонимная), с помощью которых ваш корреспондент сможет проверить принадлежность имеющегося у него вашего ключа вам. Также у ключа имеется id (номер) и фингерпринт (отпечаток, также хэш, но уже самого ключа, представляющий собой короткую комбинацию, которую нетрудно проверить). Злоумышленник может сгенерировать свою пару ключей и вписать в публичный ваше имя и адрес электронной почты, но его фингерпринт будет отличаться от вашего. Получив чей-либо ключ из ненадежного источника, можно легко проверить его, попросив корреспондента прислать его фингерпринт, используя альтернативный способ связи (по телефону или через im). После чего достоверность владения соответствующим секретным ключом будет равна достоверности выбранного альтернативного способа связи. Существуют сети доверия, когда проверив публичный ключ, вы подписываете его, и все кто доверяет вам будут считать, что подписанный вами ключ принадлежит именно тому с кем они хотят иметь дело, а не третьей стороне. При этом они сами могут проверить этот ключ вышеуказанным способом. Существуют и государственные сертификационные центры, где можно регистрировать ключи. За некоторую сумму они согласятся выдавать ваш публичный ключ и персональные данные любой, требующей подтверждения стороне. Система сертификационных центров использует набор программного обеспечения X.509, работающий на основе тех же алгоритмов. Но их программное обеспечение является коммерческим и закрытым. Система сертификационных центров широко используется на государственном уровне и в интернет-торгах. Их основной задачей является создание и заверение электронных подписей нежели криптография.

Ссылки

Примечания

  1. по материалам https://www.pgpru.com/biblioteka/osnovy/vvedenievkripto/glava1/kakdejjstvuetpgp
  2. по надежности 1024-битный асимметричный ключ сравним с 128-битным симметричным
  3. даже при слабом ключе очень долго, очень дорого, при длине асимметричного ключа более 1024 бит пока не реализуемо, ведущие криптоаналитики гарантируют это