Что такое пгп ключ

Что такое пгп ключ

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

Содержание

Общие сведения [ править | править код ]

PGP имеет множество реализаций, совместимых между собой и рядом других программ (GnuPG, FileCrypt и др.) благодаря стандарту OpenPGP (RFC 4880), но имеющих разный набор функциональных возможностей. Существуют реализации PGP для всех наиболее распространённых операционных систем. Кроме свободно распространяемых реализаций, есть ещё и коммерческие.

Совместимость [ править | править код ]

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

Защищённость [ править | править код ]

В 1996 году криптограф Брюс Шнайер охарактеризовал раннюю версию PGP как «ближайшую к криптосистемам военного уровня». На данный момент не известно ни одного случая взлома данных, зашифрованных PGP, при помощи полного перебора или уязвимости криптоалгоритма. Ранние версии PGP обладали теоретическими уязвимостями, поэтому рекомендуется пользоваться современными версиями [ источник не указан 1826 дней ] .

Криптографическая стойкость PGP основана на предположении, что используемые алгоритмы устойчивы к криптоанализу на современном оборудовании. Например, в PGP первых версий для шифрования ключей сессии использовался алгоритм RSA, основанный на односторонней функции (факторизация). В PGP версии 2 дополнительно можно использовать алгоритм IDEA. В последующем были добавлены дополнительные алгоритмы шифрования. Ни у одного используемого алгоритма нет известных уязвимостей.

В 2010 году группе учёных из Швейцарии, Японии, Франции, Нидерландов, Германии и США удалось разложить на множители 768-битный 232-значный RSA-ключ. Нахождение простых сомножителей осуществлялось общим методом решета числового поля. [6] На первый шаг (выбор пары полиномов степени 6 и 1) было потрачено около полугода вычислений на 80 процессорах, что составило около 3 % времени, потраченного на главный этап алгоритма (просеивание), который выполнялся на сотнях компьютеров в течение почти двух лет. Если интерполировать это время на работу одного процессора AMD Opteron 2,2 ГГц с 2 ГБ оперативной памяти, то получилось бы порядка 1500 лет. Обработка данных после просеивания для следующего ресурсоёмкого шага (линейной алгебры) потребовала несколько недель на малом количестве процессоров. Заключительный шаг после нахождения нетривиальных решений ОСЛУ занял не более 12 часов.

Решение ОСЛУ проводилось с помощью метода Видемана на нескольких раздельных кластерах и длилось чуть менее 4 месяцев. При этом размер разрежённой матрицы составил 192 796 550×192 795 550 при наличии 27 795 115 920 ненулевых элементов. Для хранения матрицы на жёстком диске понадобилось около 105 гигабайт. В то же время понадобилось около 5 терабайт сжатых данных для построения данной матрицы.

В итоге группе удалось вычислить оба простых сомножителя, каждый из которых является 384-битным 116-значным числом.

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

По словам исследователей, после их работы в качестве надёжной системы шифрования можно рассматривать только RSA-ключи длиной 1024 бита и более. Причём от шифрования ключом длиной в 1024 бита стоит отказаться в ближайшие три-четыре года. [7] .

Зная разложение модуля на произведение двух простых чисел, противник может легко найти секретную экспоненту и тем самым взломать RSA. Однако на сегодняшний день самый быстрый алгоритм факторизации — решето обобщённого числового поля (General Number Field Sieve), скорость которого для k-битного целого числа составляет exp ⁡ ( ( c + o ( 1 ) ) k 1 3 log 2 3 ⁡ k ) <displaystyle exp((c+o(1))k^<frac <1><3>>log ^<frac <2><3>>k)> для некоторого c 2 <displaystyle c , не позволяет разложить большое целое за приемлемое время.

Механизм работы PGP [ править | править код ]

Шифрование PGP осуществляется последовательно хешированием, сжатием данных, шифрованием с симметричным ключом, и, наконец, шифрованием с открытым ключом, причём каждый этап может осуществляться одним из нескольких поддерживаемых алгоритмов. Симметричное шифрование производится с использованием одного из семи симметричных алгоритмов (AES, CAST5, 3DES, IDEA, Twofish, Blowfish, Camellia) на сеансовом ключе. Сеансовый ключ генерируется с использованием криптографически стойкого генератора псевдослучайных чисел. Сеансовый ключ зашифровывается открытым ключом получателя с использованием алгоритмов RSA или Elgamal (в зависимости от типа ключа получателя). Каждый открытый ключ соответствует имени пользователя или адресу электронной почты. Первая версия системы называлась Сеть доверия и противопоставлялась системе X.509, использовавшей иерархический подход, основанной на удостоверяющих центрах, добавленный в PGP позже. Современные версии PGP включают оба способа.

Ключи [ править | править код ]

Пользователь PGP создаёт ключевую пару: открытый и закрытый ключ. При генерации ключей задаются их владелец (имя и адрес электронной почты), тип ключа, длина ключа и срок его действия. Открытый ключ используется для шифрования и проверки цифровой подписи. Закрытый ключ — для декодирования и создания цифровой подписи.

PGP поддерживает три типа ключей: RSA v4, RSA legacy (v3) и Diffie-Hellman/DSS (Elgamal в терминологии GnuPG).

Для ключей RSA legacy длина ключа может составлять от 1024 до 2048 бит, а для Diffie-Hellman/DSS и RSA — от 1024 до 4096. Ключи RSA legacy содержат одну ключевую пару, а ключи Diffie-Hellman/DSS и RSA могут содержать один главный ключ и дополнительные ключи для шифрования. При этом ключ электронной подписи в ключах Diffie-Hellman/DSS всегда имеет размер 1024. Срок действия для каждого из типов ключей может быть определён как неограниченный или до конкретной даты. Для защиты ключевого контейнера используется секретная фраза.

Цифровая подпись [ править | править код ]

PGP поддерживает аутентификацию и проверку целостности посредством цифровой подписи. По умолчанию она используется совместно с шифрованием, но также может быть применена и к открытому тексту. Отправитель использует PGP для создания подписи алгоритмом RSA или DSA. При этом сначала создаётся хеш открытого текста (также известный как дайджест), затем — цифровая подпись хеша при помощи закрытого ключа отправителя. Для формирования хеша могут использоваться алгоритмы MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512. В новых версиях PGP поддержка MD5 осуществляется для сохранения совместимости с ранними версиями. Для подписи используются алгоритмы RSA или DSA (в зависимости от типа ключа).

Сжатие данных [ править | править код ]

В целях уменьшения объёма сообщений и файлов и, возможно, для затруднения криптоанализа PGP производит сжатие данных перед шифрованием. Сжатие производится по одному из алгоритмов ZIP, ZLIB, BZIP2. Для сжатых, коротких и слабосжимаемых файлов сжатие не выполняется.

Сеть доверия [ править | править код ]

Как при шифровании сообщений, так и при проверке цифровой подписи необходимо, чтобы принятый получателем открытый ключ действительно принадлежал отправителю. При простом скачивании открытого ключа он может быть подменён. С первых версий PGP поддерживает сертификаты открытых ключей, с помощью которых подмены (или случайные ошибки передачи) легко распознаются. Однако недостаточно просто создать сертификат, защищённый от модификации, так как при этом гарантируется лишь целостность сертификата после его создания. Пользователи также должны каким-нибудь способом проверить, что открытый ключ в сертификате действительно принадлежит отправителю. С первых версий продукты PGP включают в себя внутреннюю схему проверки сертификатов, названную сеть доверия (англ. web of trust ). Заданная пара «имя пользователя — открытый ключ» может быть подписана третьим лицом, удостоверяющим соответствие ключа и владельца. В таких подписях может быть несколько вложенных уровней доверия. Хотя многие программы читают и пишут эту информацию, очень немногие учитывают этот уровень сертификата, принимая решение о принятии или отклонении сертификата.

Протокол сети доверия был впервые описан Циммерманном в 1992 году в руководстве PGP версии 2.0: «С течением времени вы будете накапливать ключи других людей, которых вы можете назвать доверенными рекомендателями. Кто-нибудь ещё может выбрать своих доверительных рекомендателей. И все будут постепенно накапливать и распространять со своими ключами набор заверенных подписей других людей, ожидая, что любой получатель доверяет по крайней мере одной или двум подписям. Это позволяет создать децентрализованную устойчивую к сбоям сеть всех открытых ключей.»

Читайте также:  Как поменять озвучку в фоллаут 4

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

Сертификаты [ править | править код ]

В последних спецификациях OpenPGP доверенные подписи могут использоваться для поддержки создания центров сертификации. Доверенность сертификата означает, что ключ действительно принадлежит указанному владельцу и может использоваться для подписи сертификатов одним уровнем ниже. Сертификат уровня 0 означает обычную подпись. Уровень 1 означает, что при помощи подписанного ключа можно создавать сертификаты уровня 0. При помощи сертификата уровня 2 можно создавать сертификаты уровня 1. Уровень 2 практически идентичен степени доверия, с которой полагаются пользователи на списки доверенных сертификатов, встроенные в браузеры.

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

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

История [ править | править код ]

Ранняя история [ править | править код ]

В 1991 году Филипп Циммерман создал первую версию PGP. Первая версия включала в себя симметричный алгоритм шифрования BassOmatic, созданный самим Циммерманом. Циммерман участвовал в движении против ядерной энергии и создал PGP для защищённого использования BBS и хранения файлов и сообщений. Для некоммерческого использования не требовалось лицензии, со всеми копиями распространялся весь исходный код. PGP распространилась в Usenet, а затем и в Интернете.

Уголовное расследование [ править | править код ]

Вскоре после выпуска PGP стала использоваться за пределами США, и в 1993 году правительство США начало расследование против Циммермана по подозрению в нарушении экспортного законодательства, которое регулирует распространение криптографических систем с длиной ключа более 40 бит. В PGP использовались ключи длиной 128 бит и более.

Циммерман остроумно обошёл ограничения законодательства США. Он опубликовал исходный код в книге, изданной MIT Press [8] [9] . Код можно было отсканировать, распознать и скомпилировать. Экспорт книг не может быть запрещён, так как защищён первой поправкой к Конституции США (сходная схема использовалась в системе шифрования Snuffle, см дело Bernstein v. United States).

В 1996 году расследование было закрыто [10] [11] [12] .

OpenPGP [ править | править код ]

PGP Inc. была обеспокоена по поводу патентов. В компании был создан внутренний стандарт Unencumbered PGP («необременённый PGP»), не использующий алгоритмов, имеющих проблемы с лицензиями. Так как PGP широко использовалась во всём мире, многие хотели создавать собственное ПО, совместимое с PGP 5. В 1997 году PGP Inc. предложила IETF-стандарт, названный OpenPGP. В IETF были созданы стандарты RFC 2440 (1998 год) и RFC 4880 (2007 год).

В 1999 году силами Фонда свободного программного обеспечения была создана свободная реализация OpenPGP под названием GNU Privacy Guard (GnuPG).

Поглощение Network Associates [ править | править код ]

В декабре 1997 года PGP Inc. была поглощена Network Associates Inc (ныне McAfee). NAI продолжила экспорт посредством печати исходных текстов. В составе NAI команда PGP разработала средства для шифрования дисков, брандмауэр, средства для обнаружения вторжений и IPsec VPN. После легализации экспорта криптографического ПО в 2000 году NAI прекратила публикацию исходных текстов, несмотря на возражения команды PGP.

В 2001 году Циммерман покинул NAI, NAI объявила о продаже PGP и остановке разработки PGP. В 2002 году NAI прекратила поддержку всех продуктов PGP PGP E-Business Server (исходной консольной версии PGP).

Современное состояние [ править | править код ]

В 2002 году несколько бывших разработчиков PGP основали PGP Corporation и выкупили PGP (кроме консольной версии). В 2003 году PGP Corporation разработала новый серверный продукт, PGP Universal.

В 2010 году Symantec Corp. выкупил PGP за 300 млн долларов.

Криптографические приложения PGP Corporation [ править | править код ]

PGP изначально разрабатывалась для шифрования электронной почты на стороне клиента, но с 2002 года включает также шифрование жёстких дисков переносных компьютеров, файлов и каталогов, сессий программ мгновенного обмена сообщениям, пакетной передачи файлов, защиту файлов и каталогов в сетевых хранилищах, а в современных версиях — ещё и шифрование HTTP-запросов и ответов на стороне сервера (mod openpgp) и клиента (Enigform).

Клиентские программы объединены в семейство PGP Desktop (включает в себя PGP Desktop EMail, PGP Whole Disk Encryption и PGP NetShare).

PGP Universal Server позволяет из командной строки централизованно администрировать клиенты на основе PGP Desktop.

В 2010 году права на приложение были приобретены компанией Symantec за 300 млн долларов. [13]

Правовые аспекты использования в России [ править | править код ]

На сегодняшний день прямых законодательных запретов на использование PGP в России нет. Законодательно ограничивается использование криптографии только в государственных и муниципальных учреждениях. ФСБ предписывает всем государственным структурам использовать только сертифицированные средства криптографии. Физические лица и компании сами устанавливают, какая информация является для них коммерческой тайной, методы хранения и передачи такой информации [14] Информационный ресурс Helpdesk24 в статье «Правомерность использования криптографических средств защиты информации» приводит выдержки из федеральных законов, поясняющие данный вопрос.[1] Также авторы проекта «openPGP в России» утверждают, что не существует законов, запрещающих использование PGP [15] . Электронная подпись, генерируемая с помощью PGP и её несертифицированных аналогов, имеет юридическую силу в Российской Федерации, так как, согласно пункту 3 статьи 5 63-ФЗ «Об электронной подписи» [16] , попадает под определение усиленной неквалифицированной электронной подписи. [17] Согласно пункту 2 статьи 6 этого ФЗ, для признания такой ЭП необходимо соглашение между участниками электронного взаимодействия.

PGP (Pretty Good Privacy) — криптографическое приложение для обеспечения защиты и аутентификации данных. Используя его можно быть уверенным, что никто не сможет прочитать или изменить Вашу информацию. Подробнее о программе и истории ее создания можно прочитать на сервере www.pgpi.org. Защита гарантирует, что только получатель информации сможет воспользоваться ей. Оказавшись в чужих руках, она будет совершенно бесполезной, поскольку ее невозможно декодировать.

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

В 1999 году силами Фонда свободного программного обеспечения была создана свободная реализация OpenPGP под названием GNU Privacy Guard (GnuPG), а сам PGP был куплен McAfee, а поздгнее — Symantec. Проект GnuPG жив и здоров, о нем читайте в отдельной статье.

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

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

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

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

Читайте также:  Как самому сделать этикетку на бутылку

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

На наших машинах установлены две версии PGP:

PGP 2.6.3ia — /usr/local/bin/pgp
PGP 6.5.1i — /usr/local/bin/pgp6

В PGP версии 2.6.3ia для криптования используется алгоритм RSA, а в версии 6.5.1i добавлен алгоритм DSS/DH.

Сначала необходимо зайти в unix shell и в своей домашней директории создать подкаталог .pgp командой:

После этого командой "/usr/local/bin/pgp -kg" создаем ключи и защищаем свой закрытый ключ паролем. Обязательно запишите этот пароль. При утере восстановить его будет невозможно и придется создавать новые ключи. В каталоге .pgp созданы два файла:

pubring.pgp — набор открытых ключей
secring.pgp — набор закрытых ключей

Теперь можете приступать к использованию PGP

Создание пары ключей

Чтобы начать использовать PGP, нужно создать собственную пару ключей (открытый/закрытый). Чтобы это сделать, выполните команду:

Вас попросят выбрать максимальный размер ключа (512, 768 или 1024 байт). Чем больше ключ, тем более надежным он будет, правда ценой небольшого снижения быстродействия при шифровании.

После выбора размера нужно задать идентификатор открытого ключа. Обычно здесь указывают свои имена и/или e-mail адрес. Например:

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

/.pgp в виде файлов: pubring.pgp и secring.pgp. Первый, pubring.pgp, является файлом с открытыми ключами, secring.pgp — файл с закрытыми ключами На данный момент эти файлы содержат только открытый и закрытый ключи их создателя. Необходимо помнить, что безопасность методов открытого ключа опирается на безопасности закрытого ключа, поэтому обязательно хранить его в надежном месте и следить за тем, чтобы никто не смог его получить. Установите такие права доступа к файлу secring.pgp, чтобы только Вы могли читать и записывать в него. Редактировать и изменять, и идентификаторы ключей и пароли закрытых ключей можно с помощью команды:

pgp -ke идентификатор [файл с ключами]

Добавление ключей в файл

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

pgp -ka somekey [файл с ключами]

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

Удаление ключа из файла

Удалить ненужный ключ из файла можно командой

pgp -kr идентификатор [файл с ключами]

Например: "pgp -kr alex" удалит любой ключ, у которого в идентификаторе содержится "alex". По умолчанию исследуется файл открытых ключей.

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

pgp -kx идентификатор файл [файл с ключами]

Например: "pgp -kx alex mykey" выделяет открытый ключ, идентифицированный подстрокой "alex" в файле mykey.

Созданный файл mykey.pgp будет не в формате ASCII. Однако, если потребуется создать файл ключа в формате ASCII чтобы послать, к примеру, по e-mail или добавить дополнительную информацию к базе данных, потребуется использовать команду:

pgp -kxa идентификатор файл [файл с ключами]

Например: "pgp -kxa alex mykey" выделяет открытый ключ, идентифицированный подстрокой "alex", в файл "mykey.asc".

Вместе с ключом также выделяются все сертификаты, которые его подтверждают.

Содержание файлов с ключами

Чтобы просмотреть ключи, содержащиеся в файле, наберите команду:

pgp -kv [идентификатор] [файл с ключами]

Еще раз заметим, что файлом по умолчанию является pubring.pgp. Если идентификатор не указан явно, то показываются все ключи из файла. Чтобы просмотреть все сертификаты каждого ключа, необходимо набрать:

pgp -kvv [идентификатор] [кольцо]

Теперь попробуем зашифровать файл. Сделать это можно командой:

pgp -e файл идентификатор

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

Помните, что созданный файл, не является ASCII файлом, поэтому для отправки его по E-Mail может потребоваться добавить еще одну опцию -a для того, чтобы выходной закодированный файл был в формате ASCII, например так:

pgp -ea файл идентификатор

Кодирование сообщения для нескольких получателей

Допустим, необходимо зашифровать и отправить письмо для нескольких получателей. В этом случае поступим так:

pgp -ea файл идентификатор1 идентификатор2 идентификатор3

Как подписывается сообщение

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

pgp -s файл идентификатор

Если у нас есть несколько закрытых ключей в нашем secring.pgp, мы можем выбрать один из них при помощи идентификатора. Эта команда создает файл, который не является ASCII-текстом, потому что PGP пытается сжать файл. Если, с другой стороны, Вы хотите подписать файл, оставив текст читабельным и с подписью в конце, то процедура будет выглядеть так :

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

Кроме того, можно подписать документ и затем закодировать его при помощи следующей команды:

pgp -es файл идентификатор_получателя мой_идентификатор

Для кодирования файла используется открытый ключ, идентифицируемый подстрокой "идентификатор_получателя", поэтому только этим ключом можно декодировать этот файл. Затем идентифицируем закрытый ключ строкой "мой_идентификатор", так как в нашем наборе есть несколько ключей. Даже в этом случае можно создать файл в формате ASCII, используя опцию -a.

Для расшифровки файла и/или проверки его подписи используется команда:

pgp входной_файл [-o выходной_файл]

По умолчанию предполагается, что входной файл имеет расширение .pgp. Имя файла, который получится в результате декодирования, является необязательным параметром. Если выходной файл не указан, расшифрованный файл будет сохранен в файле входной_файл без расширения .pgp.

Также можно просто просмотреть расшифрованный файл без сохранения:

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

Читайте также:  Драйвера imagerunner 1133 series

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

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

Как работает PGP шифрование

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

Еще одна вкусная функция криптографии — подтверждение права собственности. Допустим, вы предоставили документ в общественный доступ, но хотите быть уверенными, что никто не присвоит себе ваш труд. PGP сгодится и для этого.

Чтобы понять, как именно это происходит, разложим сложное на простые составляющие.

А ларчик просто открывался: ключи для секретных замков

Как сделать так, чтобы информация от персонажа А попала к персонажу Б, но не досталась прочим буквам алфавита? Все довольно просто: нужно запаковать сообщение в сейф, код к которому знают двое. Функцию такого кода в PGP выполняют ключи.

Ключ — это большое число. Это ОЧЕНЬ большое число, которое занимает 1024 бита. Чем больше в нем символов, тем сложнее подобрать аналог, то есть взломать.

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

И это вопрос правильный, позволяющий продвинуться дальше и рассмотреть виды и применения ключей. Итак, наш «секретный пароль» при PGP-кодировании может иметь две формы:

  1. открытый ключ — тот, что попадает в (вы не поверите) открытый доступ и может быть скачан любым желающим;
  2. закрытый ключ — тот, который есть только у владельца и ни за что не разглашается.

Как происходит это жонглирование ключами? Технически — сложно, а по сути элементарно. Допустим, в сети выложен открытый ключ, и вы хотите отправить сообщение его создателю. Используя кодирующую программу, вы отправляете зашифрованное послание. Расшифровать его может только тот, у кого есть закрытый ключ. Все остальные, кто, как и вы, владеют только открытым — увидят все тот же невнятный набор знаков.

Кстати, вы тоже уже не можете прочитать то, что только что отправили — сообщение уже зашифровано, и без закрытого ключа вам его не просмотреть.

Цифровая подпись: железное доказательство

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

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

Следовательно, если персонаж А пишет, например, крутое рыночное исследование и делится им с владельцами открытых ключей, все будут точно знать, кому принадлежит текст.

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

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

Ключевая пара: что может пойти не так

Главное правило, которое нужно выучить для безопасного использования PGP звучит так: ХРАНИ ЗАКРЫТЫЙ КЛЮЧ В НАДЕЖНОМ МЕСТЕ. Таковым, как вы понимаете, не является ни одно третье лицо, облачное хранилище или нечто, вам не принадлежащее. Если ключ существует в одном экземпляре — на вашем ПК — никто не сможет забрать его без конфискации самого компьютера (хотя, конечно, не стоит забывать о вероятности взлома). Так что, если вы хотите использовать криптографические программы и быть уверенными в своей безопасности — перенесите ключ на физический носитель, например, блокнот, который хранится в верхнем ящике стола.

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

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

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

Почему прекрасным PGP не пользуются поголовно все

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

Сегодня крутая технология остается где-то в зоне обитания гиков хотя бы потому, что интерфейс нельзя назвать user-friendly. Команды отдаются вручную, прописываются в командной строке, их нужно запоминать или всегда хранить гайд перед глазами. Написание скриптов необходимо для:

  • создания ключей закрытого и открытого (в генерации тоже есть разница);
  • добавления/удаления/выделения ключа;
  • создания безопасного пространства на жестком диске для хранения ключей;
  • кодирования сообщений для одного или нескольких получателей;
  • размещения подписи в сообщении;
  • расшифровки полученных данных.

Немного не то, к чему привык пользователь Windows или MacOS.

Кстати, нечто подобное удерживает многих «рядовых» пользователей от использования криптовалюты. Там нужно что-то понимать в циферках, буквочках и командах. Отлично, если крипто-кошелек предлагает понятный интерфейс и любой процесс автоматизирован. А если нет? Мало кто полезет в эти дебри. Так же с и PGP — если бы нужно было нажать кнопочку «зашифровать» перед отправкой послания, и «раскодировать» в момент получения, приложение (и все его аналоги) набрало бы значительно большую популярность.

Где шифрование применяется сегодня и где станет применяться в будущем

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

Уже сейчас некоторые сервисы электронной почты (например, Mozilla Thunderbird) используют дополнительную защиту сообщений. Правда, для этого все равно приходится устанавливать приложения и всячески их настраивать. Но при дальнейшей оптимизации мы просто не будем замечать, как происходит кодирование.

Да, да, мы все — избалованные пользователи, которые не слишком заморачиваются вопросами «как и почему работает так или иная штука». В действительности нам важно, чтобы оно просто работало — эффективно и безопасно.

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

Крипто — это не только про валюты и инвестиции. Это — про функционал, безопасность, подтверждение собственности, свободу от посредников и многое другое.

Ссылка на основную публикацию
Что значит спящий режим компьютера
В операционной системе Windows есть несколько режимов выключения компьютера – это обыкновенный режим, (который полностью выключает PC), режим гибернации и...
Чем открыть файл с расширением dat
После установки каких-нибудь программ, получения почты при помощи почтовых клиентов, на компьютере создаются .dat файлы. Чаще всего они почти не...
Чем отличается frontend от backend
Переводы , 13 апреля 2017 в 19:58 Мая Устинова Вы наверняка уже слышали эти модные в сфере программирования слова «фронтенд»...
Что значит сторнировать документ
Сто́рно (итал. storno — перевод на другой счёт, отвод; от stornare — поворачивать обратно) — в общем смысле возврат к...
Adblock detector