Что такое PGP? Замечательные шифры от PGP

Инструмент шифрования PGP почти на сто процентов гарантирует защиту вашей переписки и данных, которые вы передаете онлайн.

Пользователь

PGP - аббревиатура названия программы «Pretty Good Privacy» - или «Хорошей защиты личной информации ». PGP позволяет двум пользователям безопасно обмениваться сообщениями и данными в режиме онлайн.

Пользователь B

Из-за того, что Интернет - структура децентрализованная, заинтересованные лица с не лучшими намерениями могут получить доступ к переписке многих пользователей.


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

Индивидуальный ключ

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

Сеансовый ключ

Ключ заново выбирается для каждой новой сессии общения из базы открытых ключей

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

Индивидуальные ключи должны храниться в защищенном паролем пространстве

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

PGP был разработан в начале 90-х инженером Филом Зиммерманном (Phil Zimmermann), и с тех пор несколько раз обновлялась и дополнялась. Сегодня это – мощный криптографический инструмент.

Шифрование онлайн – это процесс перевода текста сообщения в секретный код, вскрыть которой можно только с помощью электронного «ключа». Для посторонних лиц это сообщение будет выглядеть непонятным набором символов, для того чтобы понять которые необходимо будет взломать код. Чем сложнее шифр, тем сложнее его взломать.

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

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

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

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

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

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

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

При применении самых сложных кодов PGP взломать такой документ без помощи суперкомпьютера и целой команды хакеров почти невозможно.

Если вы располагаете данными, которые вам необходимо отправить онлайн так, чтобы никто кроме адресата не мог увидеть, PGP дает вам необходимый уровень безопасности.

Минусы PGP

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

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

Итоги

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

Вот способ GUI для создания нового ключа PGP.

Вы можете найти свой ключ на вкладке Мои личные ключи приложения « Пароли и ключи ».

Загрузка вашего ключа в Launchpad


Создание ключей OpenPGP с помощью gpg

Шаг 1. Откройте терминал и введите:

Gpg --gen-key

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

Шаг 3: Убедитесь, что ваш ключ был создан, набрав gpg --list-keys и, в случае успеха.

pub 1024D / 12345678 -> это важное число

Шаг 4: Launchpad не сохраняет ваш ключ напрямую , поэтому вам нужно экспортировать свой открытый ключ на ключевой сервер, например, keyerver.ubuntu.com:

Gpg --keyserver keyserver.ubuntu.com --send-keys 12345678

Замените 12345678 паб-идентификатором, который вы отметили на шаге 3.

В случае успеха GPG отобразит сообщение, подобное:

Gpg: sending key 12345678 to hkp server keyserver.ubuntu.com

Импорт вашего ключа в Launchpad с gpg

Шаг 1: Launchpad идентифицирует ваш ключ OpenPGP своим отпечатком . В терминале вы можете запросить GPG для отпечатка вашего ключа, набрав:

Gpg --fingerprint

GPG отобразит сообщение, подобное:

Key fingerprint = `0464 39CD 2486 190A 2C5A 0739 0E68 04DC 16E7 CB72`

скопируйте только числовой отпечаток: 0464 39CD 2486 190A 2C5A 0739 0E68 04DC 16E7 CB72 .

Шаг 2. Посетите OpenPGP

Шаг 3: Вставьте отпечаток пальца, который вы скопировали на шаге 1, в текстовое поле Fingerprint, затем нажмите кнопку «Импортировать ключ». Launchpad будет использовать отпечаток пальца для проверки сервера ключей Ubuntu для вашего ключа и, в случае успеха, отправить вам зашифрованное письмо с просьбой подтвердить импорт ключа.

Примечание: это краткий … из процесса запуска панели … оба процесса занимают некоторое время, поэтому просто не торопитесь …

В некоторых системах, таких как lubuntu, где недоступен пароль и ключи (seahorse), хорошим и простым способом сделать ключ PGP является использование gpa (помощник по конфиденциальности GNU). Это графический интерфейс для gpg. Этот метод также применяется к другим производным ubuntu.

  1. установить gpa

sudo apt install gpg gpa

2.launch gpa из меню ваших приложений

3. В меню « Ключи» выберите « Новый ключ» . вам представлено новое окно

4. Введите в своем полном имени, нажмите вперед , затем введите свой адрес электронной почты geniune. Нажмите вперед . Теперь выберите вариант для резервного копирования позже .

    введите ключевую фразу (может быть слово или фразу) для защиты вашего ключа PGP

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

    Чтобы использовать PGP в устной корреспонденции, например, для безопасного обмена электронной почтой, вам нужно предоставить другой стороне ваш открытый ключ. Поэтому сначала экспортируйте свой открытый ключ, затем вы можете отправить его им. Чтобы экспортировать, откройте gpa и выберите свой ключ. Теперь нажмите клавишу « Клавиши», а затем клавиши экспорта . Дайте вашему открытому ключу имя и сохраните его

tip: чтобы вы экспортировали открытый ключ, откройте его текстовым редактором и проверьте, есть ли стартовая строка

`-----BEGIN PGP PUBLIC KEY BLOCK-----`

13. Информационная безопасность в Internet

13.5. Использование программы PGP для шифрования сообщений электронной почты

PGP

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

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

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

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

Когда пользователь шифрует сообщение с помощью PGP, то программа сначала сжимает текст, что сокращает время на отправку сообщения (например, через модем) и увеличивает надежность шифрования. Большинство приемов криптоанализа (взлома зашифрованных сообщений) основаны на исследовании "рисунков", присущих текстовым файлам, что помогает взломать ключ. Сжатие ликвидирует эти "рисунки" и таким образом повышает надежность зашифрованного сообщения.
Затем PGP генерирует сессионный ключ, который представляет собой случайное число, созданное за счет движений вашей мышки и нажатий на клавиши клавиатуры.

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

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

Ключи

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

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

Ключи хранятся на жестком диске вашего компьютера в зашифрованном состоянии в виде двух файлов: одного для открытых ключей, а другого - для закрытых. Эти файлы называются "кольцами" (keyrings). В течение работы с программой PGP вы, как правило, будете вносить открытые ключи ваших корреспондентов в открытые "кольца". Ваши закрытые ключи хранятся в вашем закрытом "кольце".

Цифровая подпись

Огромным преимуществом публичной криптографии также является возможность использования цифровой подписи, которая позволяет получателю сообщения удостовериться в личности отправителя сообщения, а также в целостности (верности) полученного сообщения.
Цифровая подпись исполняет ту же самую функцию, что и ручная подпись. Однако ручную подпись легко подделать. Цифровую же подпись почти невозможно подделать.
Для определения целостности полученного сообщения используется хеш-функция. В чем-то она похожа на "контрольную сумму", или код проверки ошибок CRC, который компактно представляет сообщение и используется для проверки сообщения на наличие изменений.

Хеш-функция

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

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

Парольная фраза

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

Генерация ключей

1. Нажмите кнопку "ПУСК" и выберете команду "Выполнить". Выберете программу PGPKEYS.

2. Зайдите в меню KEYS и выполните команду NEW KEY.
Нажмите на «Далее»
Введите свое имя и электронный адрес
Нажмите на «Далее»
Выберите размер ключа 2048 или 1024 и нажмите на «Далее»
Выделите фразу key pair never expires (срок действия ключевой пары никогда не истекает) и нажмите на «Далее»
Два раза введите секретный пароль и нажмите на «Далее»

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

Затем программа сообщит, что процесс генерации ключей закончен.
Нажмите на «Далее»
Потом еще раз нажмите на «Далее»
Затем нужно нажать на команду Done

На этом процесс создания пары ключей закончился и можно начинать пользоваться программой.

3. Обменяйтесь со своими корреспондентами открытыми ключами. Для этого необходимо исполнить команду LAUNCH PGP KEYS, выделить свой ключ (файл со своим именем) в окошке, нажать на правую кнопку мышки и выбрать команду EXPORT.

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

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

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

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

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

Как послать зашифрованное сообщение

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

Существует три основных способа шифрования информации:
- напрямую в почтовой программе;
- через копирование текста в буфер обмена Windows;
- через шифрование всего файла, который затем прикрепляется к сообщению.

Рассмотрим второй способ.

1. Составить сообщение в почтовой программе.

2. Выделить сообщение и скопировать в буфер Windows.

3. Запустить PGP. Появляется окно диалога с PGP под названием PGPkeys.

4. Выделить адрес (открытый ключ) корреспондента (ключ получателя сообщения) и щелкнуть по нему мышкой два раза, чтобы он появился внизу, потом нажать OK и программа зашифрует все содержимое clipboard.

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

В результате зашифрованное содержимое clipboard заменяет предыдущее сообщение, и на этом процесс шифровки закончился. Теперь можно отправлять сообщение обычным образом.

Рассмотрим третий способ.

1. Создать текст в каком-либо редакторе, например, Блокноте, и сохранить его в виде файла.

2. В проводнике выделить файл и нажать на правую кнопку мышки. В нижней части команды опций появится команда под названием PGP. Поставив мышку на PGP, увидим раскрывающееся меню, состоящее из 4 команд:
encrypt
sign
encrypt and sign
wipe

3. Выбрать команду encrypt. Появится диалог выбора открытого ключа корреспондента.

4. Выбрать ключ, нажать на OK, ввести пароль. В результате получим зашифрованный файл.
После этого рекомендуется выполнить еще одну команду в меню PGP: wipe (стереть, уничтожить оригинальный файл).
После этой операции у файла остается то же самое имя, но меняется тип расширения на.
Теперь этот файл можно прикрепить к сообщению и отправить вместе с ним.

Как расшифровать полученное сообщение

Расшифровать полученное сообщение можно так. Выделить полученный зашифрованный текст, скопировать его в буфер Windows clipboard, зайти мышкой в меню PGP через панель задач Windows и выбрать команду decrypt and verify clipboard. Появляется окно программы PGP, в которое необходимо ввести пароль и нажать на OK. Сообщение будет расшифровано.

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

В настройках PGP есть опция, позволяющая зашифровывать свои исходящие сообщения таким образом, чтобы их можно было потом прочитать (взять из архива и прочитать).
Для этого надо щелкнуть мышкой по символу PGP на панели задач, исполнить команду PGP preferences, зайти в General и поставить галочку напротив команды Always encrypt to default key.
Кроме этого нужно зайти в PGPkeys, выбрать мышкой свой ключ, зайти в меню keys и исполнить команду set as default key.

Здесь же можно изменить свою парольную фразу:
- выделить мышкой свой ключ,
- нажать на правую кнопку мышки, исполнить команду key properties, change passphrase и поменять свою парольную фразу.

Краткий справочник команд PGP

Зашифровать текстовый файл с открытым ключом получателя:
pgp -e textfile her_userid

Подписать текстовый файл вашим секретным ключом:
pgp -s textfile [-u your_userid]

Подписать текстовый файл вашим секретным ключом и, затем, зашифровать его с открытым ключом получателя:
pgp -es textfile her_userid [-u your_userid]

Для шифрования текстового файла стандартным криптографическим методом:
pgp -c textfile

Для расшифровки зашифрованного файла или для проверки целостности подписи подписанного файла:
pgp ciphertextfile [-o plaintextfile]

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

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

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

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

Выделение ключа

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

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 -sta файл

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

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

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

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

Расшифровка

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

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

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

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

Об инвестициях и блокчейне, для среднестатистического потребителя все понятно, но к чему здесь шифрование 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) используют дополнительную защиту сообщений. Правда, для этого все равно приходится устанавливать приложения и всячески их настраивать. Но при дальнейшей оптимизации мы просто не будем замечать, как происходит кодирование.

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

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

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