Программа шифрования pgp

Содержание:

PGP шифрование в действии

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

Вы хотите донести сообщение до журналистов, но вы в ужасе от собственной безопасности. Что, если правительство узнает, что вы слили информацию, и они отправят людей за вами??

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

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

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

Вы импортируете открытый ключ журналиста, а затем используете электронную почту, совместимую с OpenPGP, чтобы начать. Вы печатаете сообщение:

Дорогая Сьюзан Петерсон,

У меня есть информация об огромном коррупционном скандале в Соединенных Штатах Мозамбабве. Дайте мне знать, если вы заинтересованы, и я вышлю вам более подробную информацию.

Добавление вашей цифровой подписи

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

Шифрование сообщения

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

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

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

wcBMA97wCTWE / j6yAQf9EIv17btMUCL8BwIn4bAf / gE3GVdPmpfIQLSpOa1yN9d8

KI9K8xs9MAEF7fgl94 / nXg0h9e1KcTjgi81ULMRMkDjIoYd33TQTMqXnRQu4b5mU

hOKn + BGJ2LNeWI / tLLCXHfN27x3RkDHZR7q8UupnukVlArCt + 1ck + Fph0xE9G3UG

JF5KmQWm9n + 1fWMzynj9vy4CBERtOgc5ktVNJOek4Mr + 14vz9NykbBwgJthpDaFK

HtRgVimokTCxVckIc3aLK9dXPUBCh9D3GpUw6ruEn17 / PWvveAnLDmbsfpGxizlF

uC8OWRgaKSdgZhZBqyFS0Wb6B39gWgoK9xh4 / Ma90dLADAEbDAN6eRqvhYhADWW +

fLkFU3q8If0CYZY1tIeXLa46IxqiQaBPQfOQ7MfG5gAWAV5AHdd6ehWMKfy1Yoye

K3ikc18BZMRCLMmEilI + pDrIpcii5LJSTxpzjkX4eGaq1 / gyJIEbpkXRLr5OSKmN

м / pS1ylm5XvapQCpDo7DAAFZ13QpLmGf54gMZOTFYGZzg7EMcShL5nZ4y16GJ2DK

qlpLCcVluNzJDEBnlYaVEGzrHJNgpNldNDjYn2NN780iJuronSwzyMP7NPTm0A ==

= iO3p

Расшифровка сообщения

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

Дорогая Сьюзан Петерсон,

У меня есть информация об огромном коррупционном скандале в Соединенных Штатах Мозамбабве. Дайте мне знать, если вы заинтересованы, и я вышлю вам более подробную информацию.

Проверка цифровой подписи

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

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

Развитие хэш-функций

На той же неделе, когда была обнаружена уязвимость в SHA-1, появилось альтернативное решение — BLAKE3. Четыре криптоаналитика, в том числе создатель Zcash Зуко Уилкокс (Zooko Wilcox), представили BLAKE3 в качестве еще одной альтернативы множеству хэш-функций, доступных сегодня для коммерческого использования.

Уилкокс рассказал CoinDesk, что использование деревьев Меркла стало стимулом для разработки нового стандарта. Впервые запатентованные в 1979 году Ральфом Мерклом и используемые в криптовалютах деревья Меркла эффективно хранят проверенные данные и позволяют устройствам одновременно выполнять одни и те же вычисления в так называемом «параллелизме».

Как отмечается в документе по BLAKE3, использование деревьев Меркла «поддерживает неограниченную степень параллелизма». Иными словами, это очень быстрая хэш-функция.

Скорость хэш-функции BLAKE3

В основном предназначенная для проверки видеопотоков, хэш-функция основана на семействе функций BLAKE, таких как BLAKE1 и BLAKE2. SHA-1 также имеет свое семейство: SHA-2 и SHA-3. Однако, в отличие от BLAKE, семейство SHA было создано из-за необходимости исправления SHA-1 после того, как в 2004 году было взломано сразу несколько хэш-функций. Фактически, хэш-функция Биткоина SHA2-256 — член того же семейства.

После взлома 2004 года эксперты ожидали, что SHA-2, созданную тремя годами ранее, постигнет та же участь, что и SHA-1. Однако годы спустя SHA-2 все еще активно используется, тогда как SHA-1 продолжает исчезать. Стоимость запуска атаки на приложения, использующие SHA-1, продолжает снижаться, согласно исследованиям Лорана и Пейрина.

Продолжительность жизни хэш-функций от программиста Валери Авроры (Valerie Aurora)

Так что насчет BLAKE3 и других хэш-функций, например, SHA-256? Всем ли функциям суждено пойти по пути SHA-1? Не совсем, как утверждает ведущий автор BLAKE3 Джек О’Коннор (Jack O’Connor).

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

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

Как работает шифрование на открытых ключах

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

Ограничение доступа к сообщению

В некоторых случаях право на чтение сообщения должно быть только у получателя (особенно если сообщения содержат конфиденциальные данные).

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

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

Подтверждение подлинности отправителя

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

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

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

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

Чтобы создать пару ключей на эллиптических кривых, переходим в дополнительные параметры. Пункт ECDSA/EdDSA — то, что нам надо. Дополнительный чекбокс (галочка) «+ECDH» даст ключу возможность шифровать, без нее сертификат можно будет использовать только для подписи и идентификации, так как ECDSA/EdDSA — алгоритмы подписи, а не шифрования. В выпадающих списках предлагается выбрать один из алгоритмов: ed25519, brainpool и NIST.

  1. ed25519 (Curve25519) — эталонная и непатентованной реализация криптографии на эллиптической кривой, имеет 128-битную длину. Является ключом EdDSA — самым актуальным алгоритмом цифровой подписи (считается, что без закладок от силовых структур каких-либо стран).

  2. brainpool — алгоритм, разработанный немецким сообществом криптографоф, в число которых входят университеты, государственные ведомства и коммерческие организации, например, компания Bosch. Поддерживает длины в 256, 384 и 512 бит. При подписи использует несколько устаревший алгоритм ECDSA.

  3. NIST — американский алгоритм, разработанный Национальным Институтом Стандартов и Технологий. Рекомендован для использования государственными органами США. Поддерживает длины в 256, 384 и 521 бит. По оценке некоторых специалистов, NIST лучше brainpool по производительности. При подписи использует несколько устаревший алгоритм ECDSA.

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

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

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

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

Эту операцию в дальнейшем можно произвести в любой момент

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

Открыв экспортированный ключ в текстовом редакторе, мы увидим специфичный фрагмент текста, начинающийся словами «BEGIN PGP PRIVATE KEY BLOCK». Будьте внимательны, не отправьте его кому-то по ошибке! Открытые ключи, предназначенные для передачи вторым лицам, начинаются со слов «BEGIN PGP PUBLIC KEY BLOCK».

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

Повторим: использование шифрования с открытым ключом Anchor link

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

Если другим людям известен ваш открытый ключ:

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

Если вы знаете чей-то открытый ключ:

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

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

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

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

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

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

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

Другая проблема: если злоумышленник захочет выдать себя за вашего собеседника? Anchor link

В нашем примере с Юлией и Сезаром посредники постоянно способны получать метаданные.

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

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

Злоумышленник может даже изменить содержимое сообщения (файла) перед тем, как передать его Сезару.

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

Это называется «атакой посредника», где посредником может оказаться человек либо компьютер.

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

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

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

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

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

Напомним:

  • Атака посредника – перехват злоумышленником сообщения, предназначенного вашему собеседнику. Атакующий может внести изменения в это сообщение, а может переслать его дальше, просто ознакомившись с содержимым.
  • Криптография (шифрование) с открытым ключом позволяет противостоять атаке посредника с помощью проверки личностей отправителя и получателя. Это делается с помощью проверки отпечатков ключей.
  • Открытый ключ вашего собеседника используется для шифрования сообщений, отправляемых ему. У каждого открытого ключа есть сокращенная версия — так называемый «отпечаток открытого ключа». Вы можете использовать его для проверки личности вашего собеседника.
  • Закрытый ключ используется для шифрования сообщений в качестве цифровой подписи, подтверждающей ваше авторство.

Отделение и импорт подключей

А теперь самое главное. Поскольку мы не хотим подвергать главный ключ новой ключевой пары риску компрометации, то должны хранить и применять его особо безопасным образом, в отличие от подключей подписи и шифрования, операционные условия которых могут быть значительно шире. Таким образом, нам необходимо «отделить» подключи от главного ключа, экспортировав их в отдельный файл. Этой цели служит специальная команда --export-secret-subkeys, реализованная в GnuPG 1.4.2.

Выполним (в DOS/Windows не забудьте скорректировать путь к каталогу на брелоке):

gpg -o /mnt/pen/.gnupg/subkeys.gpg —export-secret-subkeys 0x1234ABCD

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

gpg —import /mnt/pen/.gnupg/subkeys.gpg
gpg —import /mnt/pen/.gnupg/pubkey.gpg

Проверим результат:

gpg —list-keys 0x1234ABCD

pub 4096R/1234ABCD 2007-01-12
uid test key
uid test key <something@somewhere.net>
sub 1024R/12121212 2007-01-12
sub 1024R/ABABABAB 2007-01-12

gpg —list-secret-keys 0x1234ABCD

sec# 4096R/1234ABCD 2007-01-12
uid test key
uid test key <something@somewhere.net>
ssb 1024R/12121212 2007-01-12
ssb 1024R/ABABABAB 2007-01-12

Обратите внимание на второй листинг. В первой строке после обозначения закрытой части главного ключа стоит знак решетки: sec#

Это означает, что секретный материал данного ключа недоступен на связке (ведь мы импортировали только отделенные подключи), а есть лишь его сертификат. Если же вы не видите значка решетки, то что-то прошло не так, и закрытая часть главного ключа тоже как-то попала на связку (возможные причины: вы по ошибке импортировали файл seckey.gpg или забыли восстановить настройки в gpg.conf). В этом случае удалите ключ со связки и начните всё , включая генерацию нового ключевого материала.

Если полученный результат верен, можете спокойно удалить только что импортированные файлы pubkey.gpg и subkeys.gpg с USB-брелока или иного носителя, где производили все действия. Файл seckey.gpg, содержащий закрытую часть главного ключа, обязательно сохраните и не резервируйте на основной системе, иначе вы потеряете все преимущества подобной схемы разделения ключа.

В чем проблема с вашей обычной электронной почтой??

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

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

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

Какое решение?

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

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

Какой провайдер электронной почты вы должны использовать?

Мы будем загружать Gpg4win, Thunderbird и Enigmail через мгновение, но для начала вам также понадобится адрес электронной почты. Вы можете использовать тот, который вы обычно делаете, но бесплатные письма, такие как Gmail и Yahoo, вероятно, плохая идея. Многие из этих услуг бесплатны только потому, что эти компании извлекают ваши данные и продают их рекламодателям..

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

Так какой почтовый сервис вы должны использовать? Если у вас высокий уровень риска, вы можете обратиться к поставщику услуг электронной почты, который особое внимание уделяется безопасной и приватной электронной почте, такие как Tutanota или ProtonMail. Они оба предлагают бесплатные планы с ограниченной функциональностью, а также премиум-аккаунты с большим объемом памяти и функциями

Это будет стоить вам несколько долларов в месяц, но во многих случаях это может стоить того

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

Установка GPG

Программа GPG должна быть установлена на Ubuntu 12.04 по умолчанию. Если это не так, установите ее с помощью apt-get:

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

Чтобы настроить ключи, программа задаст несколько вопросов:

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

Теперь полезно открыть новое окно терминала и установить ssh-подключение к VPS. Установите новое ПО, выполните какие-нибудь задачи, то есть, просто максимально используйте машину, чтобы создать необходимую энтропию.

Данный процесс может занять много времени, в зависимости от активности системы.

Шифрование и дешифровка сообщений при помощи GPG

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

Шифрование сообщений

Для шифрования сообщений используется флаг –encrypt. Базовый синтаксис выглядит так:

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

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

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

Дешифровка сообщений

Получив сообщение, просто вызовите GPG на файл сообщения:

В случае необходимости программа запросит пароль.

Если сообщение имеет вид чистого текста, то его можно скопировать и вставить, перед этим набрав gpg безо всяких аргументов. Можно нажать «CTRL-D», чтобы обозначить конец сообщения, и GPG расшифрует его.

Публичные и приватные серверы ключей

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

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

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

Загрузка ваш ключ к Launchpad — всего лишь несколько кликов.

Откройте приложение «Пароли и ключи» (Seahorse). Появится этот экран.

Откройте приложение «Пароли и ключи (Seahorse)»

Пароли и клавиши (Seahorse)

Этот экран появится.

на File → New в глобальном меню или нажмите Ctrl + N

Либо перейдите в File → New в глобальном меню, либо нажмите Ctrl + N

В окне «Создать новый …» выберите «PGP-ключ» и нажмите «Продолжить»

. В окне «Создать новый …» выберите «PGP-ключ» и нажмите «Продолжить»

Нажмите «Ключ-серверы» Кнопка Выберите сервер ключей hkp://keyserver.ubuntu.com:XXXXX из ключей «Опубликовать» для списка и нажмите «Закрыть» Введите свое полное имя и ваш адрес электронной почты, комментарий является необязательным

Введите свое полное имя и адрес электронной почты, Комментарий необязателен

Введите надежный пароль, который вы запомните

Введите надежный пароль, который вы запомните

▍Настройка, установка GPG (GnuPG):

На странице со списком свободных OS можно выбрать приглянувшуюся —

www.gnu.org/distros/free-distros.html#for-pc я установил Dragora как основную Linux систему. У вас это может быть любая OS на ядре Linux. Самая распространенная Ubuntu, но это не значит, что самая безопасная. В Ubuntu на уровне ядра есть проприетарные компоненты, которые противоречат философии свободного программного обеспечения.

Итак, открываем терминал. Обновим репозитории и установим gpg и gnupg:

sudo apt up && sudo apt upgrade -y sudo apt install gpg sudo apt install gnupg

Смотрим версию установленного GPG:

gpg —version

У меня версия gpg (GnuPG) 2.2.12

Для того чтобы посмотреть публичный и приватный ключи:

gpg -k #публичный ключ gpg -K #приватный ключ

Убеждаемся, что ключей нет

Теперь давайте их создадим. Делается это командой:

gpg —full-generate-key

Выбираем — 1 (default)

Ставим максимальную длину — 4096

Не ограничиваем валидность ключа временем: ставим 0

Подтверждаем свой выбор.

Вводим Имя, Фамилию, . Подтверждаем выбор.

Далее Вас спросят придумать мастер-пароль

Это главный пароль для доступа в Вашей связке ключей! Делайте его максимально сложным и запомните, запишите в надежном месте.

Введя легкий пароль, вы увидите сообщение:

Ваш ключ создался!

Отделенная подпись

Применение подписанных документов ограниченно. Получатель
должен восстанавливать документ из подписанной версии, и даже в случае
прозрачной подписи, подписанный документ должен быть отредактирован для
получения оригинала. Поэтому имеется третий метод подписи документов,
который создает отделенную подпись (detached signature). Отделенная подпись
создается при использовании команды
.

alice% gpg --output doc.sig --detach-sign doc

You need a passphrase to unlock the secret key for
user: "Alice (Judge) <alice@cyb.org>"
1024-bit DSA key, ID BB7576AC, created 1999-06-04

Enter passphrase: 

Для проверки подписи необходимы и отделенная подпись, и документ.
Для проверки используется команда
--verify.

blake% gpg --verify doc.sig doc
gpg: Signature made Fri Jun  4 12:38:46 1999 CDT using DSA key ID BB7576AC
gpg: Good signature from "Alice (Judge) <alice@cyb.org>"

Шифрование с открытым ключом: сказание о двух ключах Anchor link

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

Криптография с открытым ключом (именуемая также асимметричной криптографией) имеет изящное решение этой проблемы. Шифрование с открытым ключом предполагает создание каждым собеседником пары ключей – открытого ключа (public key) и закрытого ключа (private key). Эти два ключа связаны друг с другом и являются очень большими числами с определёнными математическими свойствами. Если вы зашифруете сообщение, используя открытый ключ собеседника, расшифровать это сообщение можно лишь с помощью соответствующего закрытого ключа.

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

Юлия и Сезар не против того, чтобы посредники знали, что они общаются, но хотели бы оставить содержание своего общения в тайне.

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

Юлия получает файл, содержащий открытый ключ Сезара. И теперь она может зашифровать своё сообщение Сезару этим ключом! Она пишет в сообщении: «Встретимся в саду».

Она отправляет зашифрованное сообщение. И оно зашифровано лишь для Сезара.

И Юлия и Сезар смогут прочесть сообщение, но для всех остальных оно будет выглядеть как бред. Посредники смогут видеть метаданные письма, например строку «тема», дату и время отправки, адреса отправителя и получателя сообщения.

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

Сезар может прочитать это сообщения, используя свой закрытый ключ.

Подведём итог:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector