PGP на страже электронной корреспонденции. Что такое pgp

Шифрование данных - непременный хакерский ритуал, в котором каждый применяет свой набор утилит. Если для десктопных ОС выбор предлагается большой, то в мобильных операционках пока доступны единичные приложения. Мы обратили внимание на новое творение разработчика SJ Software - PGPTools. Первая версия этой программы вышла в апреле. За полгода список поддерживаемых платформ существенно расширился. Теперь он включает Windows 10, Windows Phone, iOS (8.0 и выше), OS X (начиная с 10.9) и Android (4.0 и новее). Для тестирования была выбрана последняя версия PGPTools v.1.10 под ОС Android. Скачать программу можно зарегистрировашись на форуме 4Pda.ru в этой теме .

Еще до установки программы становит ся очевидно, что ее авторы придерживаются минималистических взглядов. В инсталляционном пакете PGPTools занимает полтора мегабайта, а после установки - всего пять с половиной. Радует и то, что список запрашиваемых разрешений состоит ровно из одного пункта - записи на карту памяти. Никакой отправки СМС, доступа в интернет и к личным сведениям ей не требуется.

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

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

ИСПОЛЬЗОВАНИЕ PGPTOOLS

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

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

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

Основная панель в PGPTools носит такое же название. Она переключается между двумя режимами: шифрованием и дешифрованием. Ее вид зависит от того, какой ключ был ранее выбран на панели key list - публичный или секретный. Зашифровать любой текст с помощью PGPTools можно в пару кликов. Для этого достаточно вставить его в поле с подсказкой Enter source из любого источника и нажать кнопку Encrypt. Шифрование будет выполнено с использованием выбранного ранее публичного ключа.

Расшифровать его чуть сложнее. Нужно выбрать секретный ключ (парный использованному для шифрования публичному) и ввести пароль, заданный при их совместной генерации. Блок зашифрованного текста также вставляется в поле источника, а результат дешифровки отображается ниже после нажатия кнопки Decrypt. Основное назначение PGPTools как программы с асимметричной схемой шифрования состоит в защите переписки (в частности, почты) с возможностью передать ключ собеседнику по ненадежному каналу. Если бы один
и тот же ключ использовался для шифрования/дешифрования сообщений, то его перехват скомпрометировал бы всю переписку. Перехват открытых ключей практически бесполезен. Обменявшись ими, можно сразу начать обмен зашифрованными сообщениями. После создания их не открыть даже отправителю. Это может сделать только получатель - своим секретным ключом и после ввода парольной фразы.

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

ПАРА (ТЫСЯЧ) СЛОВ ОБ АЛГОРИТМЕ

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

Выбор алгоритмов сейчас доступен очень широкий. Именно он в большой степени влияет на качество конкретной реализации PGP. Обычно используют AES и RSA, а из хеш-функций выбирают ту, что, по современным представлениям, наименее подвержена коллизиям (RIPEMD-160, SHA-256). В PGPTools для шифрования данных используется алгоритм IDEA, для управления ключами и цифровой подписи - RSA. Хеширование происходит с помощью функции MD5.

Сам многостадийный процесс (де)шифрования данных у любой программы реализован в одном
из наборов общедоступных криптографических библиотек. Все создаваемые PGPTools ключи содержат в названии версии BCPG, что косвенно указывает на использование Bouncy Castle OpenPGP API. При проверке этого предположения в файле com.safetyjabber.pgptools.apk было обнаружено прямое указание на библиотеки Bouncy Castle.

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

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

Повторяющиеся блоки в ключах

С четырехкилобитными ключами ситуация выглядит иначе. Отличающихся фрагментов в паре слишком мало (они выделены красным), а совпадающих -чересчур много.

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

УТЕШИТЕЛЬНЫЙ ВЫВОД

Выявленные в ходе тестирования недостатки носят общий характер. Они типичны для многих программ, поскольку касаются кода не самого приложения, а используемых в нем популярных библиотек. Криптографическое сообщество рекомендует разработчикам избегать Bouncy Castle OpenPGP. Мы надеемся, что в следующих версиях авторы PGPTools возьмут за основу более продвинутые реализации.

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

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

Last updated by at Ноябрь 18, 2016 .

ОСНОВЫ РАБОТЫ С КРИПТОГРАФИЧЕСКОЙ ПРОГРАММОЙ PGP

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

1. Основные понятия криптографической программы

1.1. Общие сведения

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

В PGP применяется принцип использования двух взаимосвязанных ключей: открытого (public key) и закрытого (private key) . Это очень большие числа, генерируемые случайным образом (1024 бита, 2048 бит и т. д.). К закрытому ключу имеет доступ только отправитель сообщения, а открытый ключ публикуется или распространяться через коммуникационные сети среди своих корреспондентов. При этом открытым ключом информация шифруется, закрытым расшифровывается.

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

1) идентификатор пользователя владельца ключа (обычно это имя пользователя);

2) временную метку, которая указывает время генерации па-ры ключей;

3) собственно ключи.

Закрытые (секретные) ключи аналогично хранятся в виде «сертификатов секретных ключей» в каталоге secring. skr . При этом каждый секретный ключ шифруется отдельным паролем.

Основные функции PGP:

Генерация пары закрытый - открытый ключ;

Шифрование файла с помощью открытого ключа;

Расшифровка файла с помощью закрытого ключа;

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

Проверка электронной подписи с помощью открытого ключа.

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

1.2. Принцип работы PGP

Процесс шифрования сообщения с помощью PGP состоит из ряда шагов (рис. 1). Сначала программа сжимает текст. Это сокращает время на отправку сообщения через модем и увеличивает надежность шифрования.

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

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

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

1) Из документа генерируется дайджест сообщения (это 160 или 128 – битная "выжимка" или контрольная сумма файла сообщения), к нему добавляется информация о том, кто подписывает документ и штамп времени.

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

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

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

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

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

Открытый ключ получателя

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

Рис.1.2. Процесс дешифрования сообщения

2. Основы работы с криптографической программой

2.1. Запуск PGP

!! Запустите Пуск/Программы/PGP/ PGP Desktop и ознакомьтесь с меню.

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

2.2. Основы работы с приложением PGP Desktop

Окно PGP Desktop содержит все стандартные элементы, присущие окну приложения Windows (заголовок, оконное меню, панели инструментов, рабочее поле программы, строку состояния).

Оконное меню состоит из следующих пунктов:

􀂃 File (файл)

New PGP Key (новый PGP ключ)

New à PGP Zip (сжатый защищённый архив).

à PGP Disk (защищенный диск. Нужны ключи!!!).

à Encrypted Whole Disk (зашифровать весь диск).

à PGP NetShare Folder (шифрование данных на сервере).

Open (открыть)

Import Personal Certificate(s).

Exit (выход)

􀂃 Edit (правка )

Copy (копировать)

Paste (вставить)

Delete (удалить)

Select All (выделить все)

􀂃 View (вид ) - определяет состояние рабочего поля программы, где можно увидеть:

􀂃 Keys (ключи)

2. Создание новых каталогов ключей

!! Запустите программу PGP Desktop .

Создайте свои каталоги ключей, назвав каталог открытых ключей mykey. pkr, каталог секретных ключей mykey. skr, следуя дальнейшим инструкциям.

В окне PGP Desktop выполнить команду File / New PGP Key

Укажите имя пользователя и его e-mail…


Рисунок. 2.2.2. Указание ФИО и адреса электронной почты.

Изучите возможности функции «Advanced» (в отчёте – описать!)

Рисунок. 2.2.3. Указываем дополнительные параметры ключа.

Настройте сжатие ключа, срок действия ключа – до 01.05.2014.

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

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

Рисунок. 2.2.3. Указываем пароль для защиты секретного ключа.

Программа начнет генерировать пару ключей. По окончании генерации ключевой пары индикатор в поле Overall progress полностью заполнится. Этим программа сообщит, что процесс генерации ключей закончен.

После этого будет предложено внести ключ в глобальный каталог ключей.

В результате в окне PGP Desktop отобразится новая ключевая пара, состоящая из трех строк:

ключевая пара;

идентификатор пользователя;

электронная подпись.

Наборы закрытых и открытых ключей хранятся в отдельных файлах, которые можно копировать как любые другие файлы, в другую папку на жестком диске или другом носителе информации. По умолчанию файлы со связками закрытых ключей (secring. pkr) и открытых ключей (pubring. pkr) хранятся в папке программы PGP (С:\Мои документы\PGP) , вместе с другими файлами этой программы, но резервные копии можно сохранять где угодно.

2.2.4. Удаление ключей

Для удаления ключа из связки (каталога ключей) следует выделить его в окне PGP Desktop , а затем воспользоваться одним из способов:

1. Нажать клавишу Delete .

2. В пункте меню Edit выбрать команду delete .

2.2.5. Обмен открытыми ключами

Экспорт ключа

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

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

1) Запустить программу PGPDesktop .

2) Выделить в окне ключевую пару.

3) Зайти в меню File , выбрать команду Export и выбрать Key .

4) В появившемся окне Export key to file проверить, чтобы надпись Include Private Key(s) не была отмечена галочкой (значит, отсылается только открытый ключ).

Рисунок 3. Файл открытого ключа

6) Нажать OK .

!! В папке Мои документы создайте папку, назвав ее своей фамилией.

!! Экспортируйте свой открытый ключ, сохранив его в созданной папке.

!! Откройте программу Блокнот (Пуск/Программы/ Стандартные/Блокнот). В программе Блокнот откройте файл с открытым ключом, установив отображение в окне тип файлов - все файлы *.* .

Импорт ключа

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

Открытый ключ можно импортировать:

1) С сервера открытых ключей,

2) Из тела почтового сообщения

3) Из файла открытого ключа.

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

1) Запустить файл ключа, нажав на него двойным щелчком мыши, в появившемся окне Select key(s) Import .

2) Из меню Keys окна PGPkeys выбрать пункт Import , в окне Select File Containing Key найти файл с ключом и выделить его, щелкнуть по кнопке Открыть , в появившемся окне Select key(s) выделить ключ и выполнить команду Import , щелкнув мышью по соответствующей кнопке.

3) Раскрыть папку, содержащую файл с ключом и перетащить его левой клавишей мыши в окно PGPkeys .

4) Открыть текстовый файл, в котором хранится ключ при помощи текстового редактора Блокнот , выделить текст Правка/Выделить все , скопировать выделенный текст в буфер обмена Правка/Копировать. Перейти в окно PGPkeys и выполнить команду Edit/Paste

Проверка подлинности ключа.

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

Примечание: на ключи ссылаются уникальные идентификационные номера ключей (Fingerprint – "отпечатки пальцев"), которые являются сокращением открытого ключа (младшие 160 бит открытого ключа). Когда этот идентификатор ключа отображается, то показываются только младшие 32 бита для краткости. Идентификаторы ключа используются РGР для определения ключа при декодировании сообщения и при определении его подлинности.

Идентификационный номер ключа можно увидеть нажав правой кнопкой по ключу и выберите Properties .

А затем – Show Singing Key Properties .

Fingerprint - полный идентификационный номер;

Щелкните в Subkeys и определите краткий номер ключа (ID).

!! Просмотрите полный и краткий идентификационные номера своего ключа и сравните их.

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

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

!! Добавьте на связку ключ, создав новую ключевую пару, в качестве имени ключа взять свое имя, адрес электронной почты написать в формате <имя>@mail. ru.

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

Существует три основных способа шифрования информации:

1. Шифрование сообщения непосредственно в почтовой программе, поддерживаемой PGP Desktop .

2. Шифрование через копирование текста сообщения в буфер обмена Windows.

3. Шифрование текстового файла, с последующим присоединением его к почтовому сообщению.

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

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

Для создания и пересылки зашифрованных сообщений можно использовать различные почтовые программы, которые поддерживаются программой PGP: Outlook Express, The Bat! , Exchange, Eudora и др. Проще всего это делается в русифицированной программе Outlook Express.

Шифрование и подпись сообщений в этой программе осуществляется следующим образом.

1) Запустить программу Outlook Express через главное меню путем выбора пункта Программы/Outlook Express.

!! Запустите программу Outlook Express. Создайте сообщение, содержащее приветствие своему лучшему другу (в качестве адреса электронной почты отправителя взять адрес компьютера, а в качестве электронного адреса получателя взять <фамилия>@mail. ru).

6) Выполнить команду Файл/Создать/Сообщение или нажать кнопку Создать сообщение на панели инструментов. Окно развернуть на весь экран.

7) В появившемся окне Создать сообщение (рис.2.5) написать текст сообщения на рабочем поле. В строке Кому - написать электронный адрес корреспондента, а в строке Тема - указать тему сообщения (можно не указывать). К сообщению можно присоединить любой файл, выполнив команду Вставка/Вложение файла , указав в окне обзора файл, который следует присоединить и нажать Вложить .

https://pandia.ru/text/80/365/images/image014_31.jpg" width="619" height="294 id=">

Рис. 2.6. Окно программы Outlook Express с подписанным сообщением 19

Рис. 2.7. Окно программы Outlook Express с зашифрованным сообщением

!! Закройте программу Outlook Express.

2.3.2. Шифрование всего файла

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

1) Написать текст сообщения в любом текстовом редакторе (например, в текстовом редакторе Блокнот) и сохранить его в файле.

!! В текстовом редакторе Блокнот напишите сообщение, содержащее свой домашний адрес. Сохраните текст в файле text. txt в папке Мои документы.

!! Зашифруйте и подпишите целиком весь файл (его имя теперь будет text. txt. pgp ).

2) Зайти в программу Проводник, выделить созданный файл и нажать на правую кнопку мышки.

3) В открывшемся контекстном меню появиться еще одна команда под названием PGP. Если поставить мышку на пункт меню PGP - раскроется меню, состоящее из нескольких команд:

􀂃 Secure with key (шифрование без цифровой подписи ключом);

􀂃 Secure with passphrase (шифрование без цифровой подписи паролем – без ключа);

􀂃 sign as (подписать цифровой подписью);

􀂃 PGP Shred – уничтожить файл (посредством нескольких перезаписей случайными или определенными данными).

!! Раскройте файлы с исходным и зашифрованным сообщением и сравните их.

!! Зашифрованный файл присоедините к сообщению электронной почты и отправьте вместе с ним.

!! Уничтожьте исходный текстовый файл.

2.4. Расшифровка сообщений

В соответствии с шифрованием сообщений есть два основных способа их расшифровки.

2.4.1. Расшифровка сообщений в программе Outlook Express

1) Открыть полученное зашифрованное сообщение в программе Outlook Express.

2) В меню PGP , раскрывающемся с Панели задач (знак – амбарный замок) выполнить команду Current Windows/Decrypt & Verify (рис. 2.10).

3) В появившемся окне программы PGP необходимо ввести пароль, защищающий секретный ключ получателя сообщения и нажать на OK . На экране появится окно Text Viewer , содержащее расшифрованное сообщение. Его можно скопировать в буфер обмена, щелкнув по кнопке Copy to clipboard, а затем вставить в текстовый редактор.

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

2.4.2. Расшифровка файла, содержащего

зашифрованное сообщение

1. Поместить полученный файл с зашифрованным текстом на Рабочий стол (файл с расширением .pgp ).

2. Щелкнуть по выделенному файлу правой кнопкой мыши.

3. В появившемся контекстном меню выбрать PGP/ Decrypt&Verify .

4. В появившемся окне PGPshall Enter Passphrase необходимо ввести пароль, защищающий секретный ключ получателя со-общения и нажать на OK . В результате расшифрованный текст сообщения сохранится в файле с тем же именем без расширения .pgp.

!! Расшифруйте сообщение, хранящееся в файле text. txt. pgp . Затем удалите этот файл.

2.6. Основы работы с приложением PGPdisk

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

Меню приложения PGP disk содержит следующие пункты:

􀂃 New Virtual Disk… (создать виртуальный новый диск)

􀂃 E ncrypt Whole Disk… (зашифровать целый диск)

􀂃 Shred free space (очистить свободное пространство)

2.6.1. Создание PGP диска

1) Запустить программу PGPdisk.

!! На диске С: создайте свой PGP диск , назвав файл, соответствующий диску, своим именем. Размер диска определить от 500 кбайт до 1 Мбайта.

2) Исполнить команду New Virtual Disk , после чего на экране появится мастер создания PGP диска.

https://pandia.ru/text/80/365/images/image018_23.jpg" width="621" height="372">

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

!! Откройте окно Мой компьютер и определите подключен ли PGP диск.

2.6.2. Работа с PGP диском

PGP диск можно подключать для работы с ним (в этом случае он будет отображаться в окне Мой компьютер вместе с остальными дисками) и отключать по окончании работы.

Подключение диска

1. В меню PGP выполнить команду Mount Disk (подключить диск).

2. В окне обзора найти файл, соответствующий вашему PGP диску и щелкнуть по нему левой клавишей мыши. Нажать Enter .

3. Ввести парольную фразу.

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

!! Из папки Знакомство с Windows 98 скопируйте три любых файла на созданный PGP диск.

Отключение диска

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

2) Зайти в Мой компьютер, выделить мышкой диск PGP.

3) Нажать на правую кнопку мышки или раскрыть меню PGP.

4) Выполните команду Unmount PGP disk в появившемся меню.

Как только диск будет отключен, то он перестанет отображаться в окне Мой компьютер.

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

Щелкните по диску правой кнопкой, выберите PGP Desktop.

– Unmount Disk – отмонтировать (отключить диск),

– Edit Disk Properties – редактировать параметры диска.

С помощью Edit Disk Properties добавьте ещё одного пользователя диска.

1. Тщательно изучить все разделы методических указаний и выполнить задания, помеченные знаком !! .

2. После разрешения преподавателя приступить к выполнению дополнительного задания.

3. Дополнительное задание.

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

3.2. Используя приложение PGPkeys, создайте ключевую пару (открытый и закрытый ключ), назвав ее своей фамилией. Адрес электронной почты взять в следующем фор-мате <фамилия>@<номер компьютера>.mail. ru (например: *****@***ru). Запишите идентификационный номер своего ключа.

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

3.4. Создайте текстовый файл в папке с номером компьютера на Рабочем столе с именем <номер компьютера>.txt при помощи текстового редактора Блокнот и запишите в нем идентификационный номер, экспортируемого открытого ключа.

3.5. Отошлите свой открытый ключ и файл с идентификационным номером на все компьютеры: скопируйте соответствующие файлы в папки Сетевое окружение/<номер компьютера>/С:/Windows/Рабочий стол/папка с номером компьютера .

3.6. Импортируйте присланные Вам открытые ключи, используя различные способы импорта, описанные в разделе Импорт ключа.

3.7. Напишите сообщение в папке с номером компьютера на Рабочем столе при помощи текстового редактора Блокнот , содержащее Вашу фамилию, адрес и любое четве-ростишие. Зашифруйте сообщение, используя копирование в буфер обмена и открытый ключ корреспондента, поставив электронную подпись. Сохраните файл под именем Address_<номер компьютера>.txt и отправьте (скопируйте) его своему корреспонденту на соседний компьютер в папку с номером компьютера, расположенную на его Рабо-чем столе.

Попробуйте расшифровать созданное Вами сообщение.

3.8. Напишите сообщение, содержащее название Вашей специальности и цель своего поступления в колледж. Сохраните файл под именем special_<номер компьютера>. txt . Зашифруйте файл, содержащий сообщение через программу Проводник , используя открытый ключ корреспондента и поставив электронную подпись. Отправьте созданный файл своему корреспонденту на соседний компьютер в папку с номером компьютера, расположенную на его Рабочем столе.

3.9. Откройте папку с номером своего компьютера. Раскройте файл address_<номер компьютера>. txt, выведите на принтер зашифрованный текст сообщения, расшифруйте его содержимое при помощи копирования в буфер обмена, сравните идентификационные номера ключей и электронную подпись корреспондента и расшифрованного сообщения. Выведите на принтер расшифрованный текст сообщения.

3.10. Откройте папку с номером своего компьютера. Расшифруйте файл с расширением special_<номер компьютера>. txt .pgp, расшифруйте его через программу Проводник , сравните идентификационные номера ключей и электронную подпись Вашего корреспондента и расшифрованного сообщения.

3.11. С разрешения преподавателя удалите свою ключевую пару из каталога ключей Ии импортированные ключи корреспондентов.

3.12. Удалите папку с номером компьютера

2. Листинг открытого ключа.

3. Листинги зашифрованных и расшифрованных сообщений.

4. Анализ различных способов шифрования сообщений.

5. Краткие выводы о проделанной работе.

Контрольные вопросы

1. Какие основные функции выполняет программа PGP?

2. Что такое ключ?

3. Поясните назначение открытого и закрытого ключей.

4. Поясните принцип шифрования и дешифрования информации с помощью PGP.

5. Каким образом ставится электронная подпись?

6. Как можно обменяться открытыми ключами со своими корреспондентами?

7. Где можно увидеть идентификатор ключа и идентификатор пользователя?

8. Назовите основные способы шифрования сообщений при помощи PGP.

9. Назовите основные способы дешифрования сообщений при помощи PGP.

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

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

12. Для чего нужна электронная подпись?

13. Что такое PGP диск?

14. Как можно работать с PGP диском?

15. Поясните процедуру отключения PGP диска.

  • Перевод

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

Здесь будут раскрыты следующие темы:

  • Основы PGP и рекомендации по работе с соответствующим ПО.
  • Использование PGP с Git.
  • Защита учётной записи разработчика.

О структуре материалов

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

Особенности контрольного списка

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

Базовые концепции и инструменты PGP

▍Контрольный список

Вот темы, в которых нужно ориентироваться после успешного освоения материала этого раздела:
  1. Роль PGP в разработке свободного ПО (Важно).
  2. Основы криптографии с открытым ключом (Важно).
  3. Различия между шифрованием и подписыванием материалов (Важно).
  4. Идентификационные данные ключей PGP (Важно).
  5. Достоверность ключей PGP (Важно).
  6. Установка утилит GnuPG (версии 2.x) (Важно).

▍Пояснения

Сообщество открытого ПО уже давно полагается на PGP для обеспечения аутентичности и целостности разрабатываемых программных продуктов. Вы можете об этом не знать, но работаете ли вы в среде Linux, Mac или Windows, вы уже пользовались PGP для того, чтобы обеспечить целостность вашего вычислительного окружения.
  • Дистрибутивы Linux используют PGP для обеспечения неизменности бинарных пакетов или пакетов с исходным кодом с момента их создания до момента их установки конечным пользователем.
  • Проекты свободного ПО обычно предлагают отдельные подписи PGP для выпущенных программных архивов, таким образом, проекты, полагающиеся на них, могут проверить целостность загруженных релизов перед интеграцией их в собственные дистрибутивы.
  • Проекты свободного ПО обычно полагаются на подписи PGP в самом коде для того, чтобы отслеживать происхождение и обеспечивать целостность кода, вносимого в проект его разработчиками.
Это очень похоже на механизмы сертификатов разработчиков и подписывания кода, используемые программистами, работающими на платформах с закрытым кодом. На самом деле, базовые концепции, лежащие в основе этих двух технологий во многом совпадают. Они различаются, в основном, техническими деталями реализации, и тем, как они делегируют доверие. PGP не полагается на централизованную службу сертификации, вместо этого данная система позволяет пользователям самостоятельно назначать уровень доверия каждому сертификату.

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

▍Обзор работы PGP

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

▍Шифрование

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

Процесс шифрования выглядит так:

  1. Отправитель создаёт случайный ключ шифрования (сеансовый ключ).
  2. Отправитель шифрует содержимое сообщения, применяя этот сеансовый ключ (с использованием симметричного шифра).
  3. Отправитель шифрует сеансовый ключ, используя открытый ключ PGP получателя.
  4. Отправитель отправляет зашифрованные данные и зашифрованный сеансовый ключ получателю.
Для расшифровки зашифрованного сообщения выполняются следующие действия:
  1. Получатель расшифровывает сеансовый ключ, используя свой закрытый ключ PGP.
  2. Получатель использует сеансовый ключ для расшифровки содержимого сообщения.

▍Подписывание

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

▍Совместное использование шифрования и подписывания

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

▍Идентификационные данные ключа

С каждым PGP-ключом должны быть ассоциированы идентификационные данные владельца ключа. Обычно это - полное имя человека и адрес электронной почты в следующем формате:

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

Bob Designer (obsolete 1024-bit key)
Так как люди, владельцы ключей, могут играть множество профессиональных и персональных ролей, в одном и том же ключе могут присутствовать несколько наборов идентификационных данных:

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

▍Достоверность ключа

Для того чтобы иметь возможность использовать чей-нибудь открытый ключ для шифрования или верификации, вам нужно убедиться в том, что он действительно принадлежит этому человеку (Alice в данном случае), а не мошеннику (пусть мошенника зовут Eve). В PGP это называется достоверностью ключа:
  • Полная достоверность ключа означает, что имеется очень высокий уровень уверенности в том, что данный ключ принадлежит Alice.
  • Граничная достоверность ключа означает, что мы до некоторой степени уверены в том, что ключ принадлежит Alice.
  • Неизвестная достоверность ключа означает, что у нас абсолютно нет уверенности в том, что этот ключ принадлежит Alice.

▍Сеть доверия и механизм «доверие при первом использовании»

PGP включает в себя механизм делегирования доверия, известный как сеть доверия (Web of Trust, WOT). В своей основе - это попытка заменить необходимость в централизованных службах сертификации вроде тех, что используются в HTTPS/TLS. При таком подходе пользователь самостоятельно принимает решения о том, кому можно доверять.

К сожалению, очень немногие понимают, как работает сеть доверия, и ещё меньше людей заботится об этой технологии. И хотя сети доверия остаются важным аспектом спецификации OpenPGP, существующие версии GnuPG (2.2 и выше) реализовали альтернативный подход, представленный механизмом «доверие при первом использовании» (Trust on First Use, TOFU).

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

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

В этом руководстве мы будем использовать модель доверия TOFU.

▍О терминологии

Тут нам хотелось бы отметить важность понимания различий между такими терминами, как PGP, OpenPGP, GnuPG и gpg:
  • PGP (Pretty Good Privacy) - это название коммерческой программы, вышедшей в 1991-м году.
  • OpenPGP - это стандарт IETF, совместимый с PGP.
  • GnuPG (Gnu Privacy Guard) - это бесплатное ПО, которое реализует стандарт OpenPGP.
  • Инструмент командной строки для GnuPG называется gpg.
Сегодня термин PGP почти универсально используется в смысле «стандарт OpenPGP», а не как название программы, и таким образом, PGP и OpenPGP взаимозаменяемы. Термины GnuPG и gpg следует использовать только когда имеются в виду конкретные инструменты, а не стандарты и прочие понятия, которыми мы оперируем. Например:
  • Ключ PGP (не GnuPG или GPG)
  • Подпись PGP (не GnuPG или GPG)
  • Сервер ключей PGP (не GnuPG или GPG)
Понимание этих различий должно помочь вам в общении с другими пользователями PGP.

▍Установка GnuPG

Если вы используете Linux, это значит, что в вашей системе уже установлено ПО GnuPG. На Mac вам надо установить GPG-Suite , или воспользоваться командой brew install gnupg2 . Если вы пользователь Windows, то вам подойдёт GPG4Win , и вам, вероятно, потребуется изменить некоторые команды из этого руководства. Если же вы пользуетесь в Windows Unix-подобным окружением, то команды менять не придётся. Если вы пользуетесь какими-то другими платформами, то вам понадобится самостоятельно подобрать подходящую реализацию GnuPG.

▍GnuPG версий 1 и 2

И GnuPG v.1, и GnuPG v.2 реализуют один и тот же стандарт, но они предоставляют несовместимые библиотеки и инструменты командной строки, в результате многие дистрибутивы поставляются и с устаревшей версией 1, и с более новой версией 2. Вам нужно удостовериться в том, что вы всегда пользуетесь GnuPG v.2.

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

$ gpg --version | head -n1
Если вы видите нечто вроде gpg (GnuPG) 1.4.x , это значит, что по команде gpg вызывается GnuPG v.1. Попробуйте в таком случае команду gpg2:

$ gpg2 --version | head -n1
Если вы видите что-то вроде gpg (GnuPG) 2.x.x , значит, всё в порядке. Тут мы полагаем, что у вас есть версия GnuPG 2.2 или более поздняя. Если вы используете версию GnuPG 2.0, некоторые из команд, которые будут здесь приведены, работать не будут, поэтому вам стоит рассмотреть возможность установки самой свежей версии 2.2 GnuPG.

▍Псевдоним для GnuPG v.2

Если в вашей системе есть и команда gpg , и команда gpg2 , хорошо бы настроить всё так, чтобы по команде gpg вызывалась GnuPG v.2, а не старая версия ПО. Сделать это можно, создав псевдоним:

$ alias gpg=gpg2
Эту команду можно поместить в.bashrc для того, чтобы на команду gpg откликалась программа GnuPG v.2.

Итоги

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

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

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

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

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

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

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.

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

В продолжение темы:
Интернет

Как создать пассивный доход – 14 работающих способов + 12 советов начинающим бизнесменам. Чтобы ответить на вопрос: как создать пассивный доход , нужно понять, как действуют...