Формат файла ключа pgp
GnuPG - инструмент для защиты коммуникаций. Эта глава коротко описывает основы работы с GnuPG, включая создание пар ключей, обмен ключами и их проверку, зашифровку и расшифровку документов, заверение документов цифровой подписью. Она не описывает в деталях принципы криптографии с открытым ключом, шифрования и цифровых подписей. Эти вопросы рассматриваются в главе 2 . Здесь, также, не рассматриваются тонкости использования GnuPG. Эти вопросы рассматриваются в главах 3 и 4 .
alice% gpg --gen-key gpg (GnuPG) 0.9.4; Copyright (C) 1999 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (4) ElGamal (sign and encrypt) Your selection?
GnuPG может создавать несколько разных типов ключей, но первичный ключ должен быть пригоден для создания подписи (signature). Поэтому есть только три варианта. Вариант 1 создает две пары ключей. DSA - первичная, используемая только для подписи. ElGamal - подчиненная, используемая для шифрования. Вариант 2 похож, но создает только пару DSA. Вариант 4[1] создает только пару ElGamal, используемую и для подписи и для шифрования. В любом случае, позже можно создать дополнительные пары ключей для подписи и шифрования. Большинству пользователей подойдет вариант 1.
Также Вы должны выбрать размер ключа. Размер ключа DSA должен быть между 512 и 1024 бит. Ключ ElGamal может быть любого размера. Обычно, GnuPG требует ключи не короче 768 бит. Таким образом, если Вы выбрали вариант 1 и размер ключа больше 1024 бит, то ключ ElGamal будет иметь указанный размер, а ключ DSA - 1024 бита.
About to generate a new ELG-E keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024)
Больший размер ключа дает большую защиту от взлома, но размер по умолчанию достаточен практически для любых целей. Большая длина ключа замедляет зашифровку и расшифровку и может отразиться на длине сигнатуры. Размер ключа нельзя будет впоследствии изменить.
Наконец, Вы должны указать срок действия ключа. В случае варианта 1, указанный срок используется для обоих ключей.
Большинству пользователей подойдет бессрочный ключ. Срок действия следует выбирать с осторожностью; хотя можно изменить срок действия после создания ключа, не исключены проблемы с передачей изменений тем пользователям, у которых уже имеется Ваш открытый ключ.
В дополнение к параметрам ключа, Вы должны указать идентификатор пользователя. Идентификатор нужен, чтобы связать созданный ключ с конкретным лицом.
При генерации ключа создается только один идентификатор пользователя, но возможно создание дополнительных идентификаторов, если Вы хотите использовать ключ в нескольких контекстах; например, как инженер на работе и как политический деятель после нее. Идентификатор пользователя не может быть отредактирован после создания.
GnuPG запросит пароль для защиты первичного и подчиненного секретных ключей, которые Вы будете держать в недоступном для других месте.
You need a Passphrase to protect your private key. Enter passphrase:
На длину пароля нет ограничений, и его следует выбирать тщательно. С точки зрения безопасности, пароль для защиты ключа очень важен в GnuPG (и других системах с открытым ключом), т.к. это Ваша единственная защита в случае, если Ваш секретный ключ попадет в чужие руки. Не следует брать слова из БСЭ, чередуйте регистр букв и используйте неалфавитные символы. Хороший пароль критичен для надежности GnuPG.
alice% gpg --output revoke.asc --gen-revoke mykey [. ]
Аргумент mykey - идентификатор Вашей первичной пары ключей или любая часть идентификатора пользователя Вашей пары ключей. Сгенерированный сертификат будет сохранен в файле revoke.asc . Если опция --output опущена, результат помещается в стандартный вывод. Вы можете вывести сертификат на принтер и хранить его где-нибудь в надежном месте (банковский сейф подойдет). Если сертификат попадет в чужие руки и будет опубликован, то открытый ключ утратит свое действие.
Для общения с кем-либо, вы должны обменяться ключами. Просмотреть список имеющихся открытых ключей, можно используя команду --list-keys .
Перед тем как послать открытый ключ кому-либо, Вы должны его экспортировать. Для этого используйте команду --export . Ей требуется, дополнительно, аргумент, идентифицирующий экспортируемый открытый ключ, как и --gen-revoke .
Открытый ключ может быть добавлен к множеству Ваших открытых ключей при помощи команды --import .
Достоверность импортированного ключа должна быть подтверждена. GnuPG использует гибкую и мощную модель проверки подлинности, не требующую, чтобы Вы лично проверяли достоверность каждого импортированного ключа. Тем не менее, достоверность некоторых ключей Вам придется проверить самому. Сначала проверяются отпечатки(fingerprint) ключа, затем он заверяется подписью, для подтверждения того, что ключ достоверен. Отпечатки ключа можно быстро просмотреть командой --fingerprint , но для заверения ключа Вы должны отредактировать его.
Отпечатки ключа проверяются его владельцем. Это может быть сделано при личной встрече, по телефону, или любым другим способом, гарантирующим, что Вы общаетесь с владельцем ключа. Если отпечатки полученные Вами совпадают с указанными владельцем ключа, то можете быть уверены, что обладаете достоверной копией ключа.
После проверки отпечатков Вы можете подписать ключ. Так как проверка ключа слабое звено в криптографии с открытым ключом, то Вы должны быть совершенно уверены в ключе перед тем, как его подписывать, и всегда проверяйте отпечатки.
Подписав ключ, Вы можете просмотреть список подписей на ключе и увидеть там добавленную Вами. Каждый идентификатор пользователя ключа подписан этим ключом и каждым пользователем, заверившим этот ключ.
Документы, также, можно зашифровывать без открытого ключа. Вместо этого используется симметричный шифр для зашифровки документа. Ключ, используемый при зашифровании, образуется из ключевой фразы, запрашиваемой перед зашифрованием. Для большей безопасности этот пароль не должен совпадать с тем, который Вы используете для защиты секретного ключа. Симметричный шифр применим, когда нет необходимости обмениваться ключевой фразой. Для использования симметричного шифра применяется команда --symmetric .
alice% gpg --output doc.gpg --symmetric doc Enter passphrase:
Цифровая подпись удостоверяет создателя и дату создания документа. Если документ будет каким-либо образом изменен, то проверка цифровой подписи выдаст ошибку. Цифровая подпись может использоваться в тех же целях, что и обычная подпись. Исходные тексты GnuPG, например, подписаны, и Вы можете убедиться, что они дошли до Вас неизмененными.
Создание и проверка подписей отличается от зашифрования/расшифрования. При подписи документа используется закрытый ключ подписывающего, а проверяется подпись с использованием его открытого ключа. Например, Alice использует свой секретный ключ, чтобы подписать свою новую статью в журнал. Редактор, получив письмо, использует открытый ключ Alice, чтобы проверить, что письмо действительно от Alice и не было изменено за время пересылки.
Документ сжимается перед подписью и выводится в двоичном формате.
Имея подписанный документ, Вы можете либо проверить подпись, либо проверить подпись и восстановить исходный документ. Для проверки подписи используется команда --verify . Для проверки подписи и извлечения документа используется команда --decrypt . Подписанный документ на входе и проверенный и восстановленный на выходе.
Применение подписанных документов ограниченно. Получатель должен восстанавливать документ из подписанной версии, и даже в случае прозрачной подписи, подписанный документ должен быть отредактирован для получения оригинала. Поэтому имеется третий метод подписи документов, который создает отделенную подпись (detached signature). Отделенная подпись создается при использовании команды --detach-sign .
Для проверки подписи необходимы и отделенная подпись, и документ. Для проверки используется команда --verify .
Вариант 3 генерирует пару ElGamal, которая не пригодна для подписи.
Многие, часто используемые, опции командной строки могут быть установлены в файле конфигурации .
Эта версия Orchestrator достигла конца поддержки, мы рекомендуем выполнить обновление до Orchestrator 2019.
Действие шифрования файлов с помощью PGP шифрует файл или все дерево папок, используя созданный файл ключа PGP. При шифровании всей папки дерево папок сохраняется ниже корневой папки. например, если вы шифруете C:\Documents и Параметры \администратор\ми documents \ *. * и все вложенные папки, все файлы в папке "мои документы" шифруются, а также все файлы в папках в папке "мои документы". Все файлы во вложенных папках будут находиться в одной вложенной папке в папке выходных данных. Используйте действие шифрования файлов с помощью PGP для шифрования файлов перед резервным копированием.
Чтобы использовать это действие, необходимо установить исполняемый файл gpg.
Это действие поддерживает ключи DSS и RSA4.
Ключи RSA не поддерживаются.
Установка GnuPG
GnuPG — это программа с открытым исходным кодом, используемая в стандартных действиях шифрования и расшифровки с помощью PGP для шифрования и расшифровки файлов. Следующие процедуры описывают способы установки этого исполняемого файла и связанного файла на сервер Runbook или компьютер, на котором выполняется Runbook Designer.
Установка GnuPG версии 1.x и 2.0.x
Выполните указанные ниже действия.
- Загрузите файлы gpg.exe и iconv.dll версии 1.4.10 или более поздней из GnuPG.
- сохраните gpg.exe и iconv.dll в папке: \program files (x86) \Common Files\Microsoft System Center < version > \орчестратор\екстенсионс\суппорт\енкриптион на каждом сервере runbook и на компьютере, где работает Runbook Designer.
Установка GnuPG версии 2.x
Выполните указанные ниже действия.
Загрузите файлы gpg.exe, gpg-agent.exe, iconv.dll, libassuan-0.dll, libgcrypt-20.dll, libgpg-error-0.dll, libnpth-0.dll, libsqlite3-0.dll и zlib1.dll версии 2.x или более поздней из GnuPG.
сохраните gpg.exe, gpg-agent.exe, iconv.dll, libassuan-0.dll, libgcrypt-20.dll, libgpg-error-0.dll, libnpth-0.dll, libsqlite3-0.dll и zlib1.dll в папку: \program files (x86) \Common files < Microsoft System Center Orchestrator < версии > \орчестратор\екстенсионс\суппорт\енкриптион на каждом сервере runbook и на компьютере, на котором работает Runbook Designer.
Настройка действия шифрования файлов с помощью PGP
Перед настройкой действия шифрования файлов с помощью PGP необходимо определить следующее:
Путь к файлам, которые необходимо зашифровать.
Папка выходных данных, где будут храниться зашифрованные файлы.
Используйте следующие сведения для настройки действия шифрования файлов с помощью PGP.
Криптоинженеры уже несколько десятилетий кричат о недостатках PGP. Когда это слышат обычные разработчики, то бывают крайне удивлены. Как, PGP никуда не годится? Зачем же тогда его советуют использовать? Ответ в том, PGP действительно никуда не годится, и никому никогда не следует его рекомендовать. Он должен исчезнуть.
Как вы скоро увидите, у PGP много проблем. Если не вдаваться в подробности, основная причина в том, что программа разработана в 90-е годы, до появления серьёзной современной криптографии. Ни один компетентный криптоинженер сегодня не станет разрабатывать систему в таком виде и не потерпит большинства её дефектов ни в какой другой системе. Серьёзные криптографы в основном отказались от PGP и больше не тратят на неё времени (за некоторыми заметными исключениями). Поэтому хорошо известные проблемы в PGP остаются нерешёнными более десяти лет.
Два небольших примечания. Во-первых, статья написана для инженеров, а не для юристов и активистов. Во-вторых, “PGP” может означать множество вещей, от стандарта OpenPGP до эталонной реализации в GnuPG. Мы используем термин “PGP” для всего этого.
Абсурдная сложность
И это только кодировка. Реальная система гораздо сложнее. Есть ключи и подключи. Идентификаторы ключей, серверы ключей и подписи ключей. Ключи только для подписи и только для шифрования. Многочисленные «связки ключей». Аннулирование сертификатов. Три различных формата сжатия. Это мы ещё не добрались до поддержки смарт-карт.
Дизайн швейцарского армейского ножа
Если вы заблудились в лесу и… не знаю, например, вам нужно обрезать отвороты на джинсах — да, очень удобно, что на вашем ножике есть ножницы. Но для серьёзной работы никто не будет регулярно использовать такие ножнички.
Болото обратной совместимости
Мы многому научились с тех пор, как ботан Стив Уркель украсил прайм-тайм в эфире ABC. Мы узнали, что зашифрованные тексты следует аутентифицировать (и избегать режима CFB), что 64-битные блочные шифры плохи, что RSA не идеален, что сочетание сжатия и шифрования опасно и что KDF'ы должны строго генерироваться и по времени, и по памяти.
Или у вас обратная совместимость с программой 90-х годов, или у вас хорошая криптография; нельзя получить и то, и другое.
Неприятный UX
Трудно сформулировать это лучше, чем Тед Унангст:
Несколько лет назад было проведено исследование юзабилити PGP, в котором группу технических специалистов поместили в комнату с компьютером и попросили настроить PGP. Через два часа никто из них ещё не отозвался.
Если вам нужны собственные эмпирические данные, чтобы подтвердить это, вот эксперимент, который вы можете провести: найдите какого-нибудь далёкого от компьютеров юриста и по телефону помогите ему установить Signal. Наверное, он справится без истерики. А теперь попробуйте сделать это с PGP.
Долговременные секреты
PGP просит пользователей практически навсегда сохранять корневой ключ, привязанный к их личности. Генерации и обмен ключами обременительны с этими «вечеринками подписи ключей» и «сетью доверия», где ключи зависят от других ключей.
Долговременные ключи почти всегда неудобны. Если вы продолжаете использовать ключ, он в конечном итоге становится открытым. С точки зрения грамотного дизайна системы нужно минимизировать ущерб и гарантировать, что пользователь не будет ни секунды колебаться при мысли о генерации нового ключа, если есть хоть какие-то опасения по поводу безопасности текущего.
Фанаты PGP сразу ответят: «Вот почему нужно держать ключи на Yubikey». Но по беглой приблизительной оценке, почти никто в мире не использует дорогие Yubikey, и вряд ли это изменится в будущем (мы едва можем развернуть U2F, а те ключи одноразовые). Мы не можем принимать плохие криптосистемы только для того, чтобы ботанам Unix было приятнее играться со своими игрушками.
Сломанная аутентификация
Наконец, даже если всё пойдёт правильно, эталонная реализация PGP выдаст по запросу неаутентифицированный открытый текст, даже если MDC не совпадает.
Непоследовательные идентити
PGP — это и приложение, и набор интеграций с другими приложениями, и формат файла, и социальная сеть, и субкультура.
PGP выдвигает понятие криптографической идентичности (identity). Вы создаёте ключ, сохраняете его в связке ключей, печатаете его фингерпринт на визитке и публикуете на сервере ключей. Вы подписываете чужие ключи. Они, в свою очередь, могут полагаться или не полагаться на ваши подписи для проверки других ключей. Некоторые люди стараются встретиться с другими пользователями PGP лично, чтобы обменяться ключами и более надёжно прописаться в этой «сети доверия». Другие организуют «вечеринки подписи ключей». Если представить всю эту активность, то становится понятно, как трудно преданным фанатам PGP переключиться на новые технологии.
Но вся эта система не работает на практике. Ни сеть доверия с подписями ключей, ни серверы ключей, ни вечеринки. Обычные люди будут доверять всему, что выглядит как ключ PGP, независимо от того, откуда он взялся — как они могут не доверять, если даже эксперту трудно сформулировать, как оценить ключ? Эксперты не доверяют ключам, которые не получили лично. Все остальные полагаются на централизованные сервисы для распространения ключей. Механизмы распространения ключей PGP — это цирк.
Утечки метаданных
Нет прямой секретности
Чтобы на практике обеспечить прямую секретность, вы обычно храните два секретных ключа: краткосрочный сеансовый ключ и долгосрочный доверенный ключ. Ключ сеанса эфемерен (обычно продукт обмена DH), и доверенный ключ подписывает его, так что человек посередине не может применить собственный ключ. Теоретически, прямую секретность можно реализовать инструментами PGP. Конечно, почти никто этого не делает.
Топорные ключи
Вы можете подумать, что это не имеет значения, но это важно; на порядки больше людей используют SSH и управляют SSH-ключами, чем PGP. Ключи SSH тривиальны для обработки; PGP — нет.
Согласование
PGP поддерживает ElGamal, RSA, p-кривые NIST, Brainpool, Curve25519, SHA-1, SHA-2, RIPEMD160, IDEA, 3DES, CAST5, AES. Это не полный список того, что поддерживает PGP.
Если за последние 20 лет мы узнали три важные вещи о криптографии, по крайней мере, две из них, это то, что согласование и совместимость — зло. Как правило, недостатки криптосистем появляются в реализациях, а не примитивах, и экспансивная криптосовместимость увеличивает количество реализаций. Современные протоколы, такие как TLS 1.3, стремятся избавиться от обратной совместимости с архаизмами вроде RSA, а не добавляют её. Новые системы поддерживают только один набор примитивов и простой номер версии. Если один из этих примитивов проваливается, вы избавляетесь от этой версии и бросаете сразу весь старый протокол.
Если нам не повезёт и через 20 лет люди всё ещё будут использовать PGP, он останется единственной причиной, по которой хоть где-то применяется стандарт CAST5. Мы не можем сказать это яснее, и это нужно многократно повторять: или у вас обратная совместимость с программой 90-х годов, или у вас хорошая криптография; нельзя получить и то, и другое.
Мусорный код
GnuPG является и эталонной реализацией для PGP, и основой для большинства других инструментов, интегрирующих криптографию PGP. Он никуда не денется. Полагаться на PGP — значит, полагаться на GPG.
Чтобы убедить человека отказаться от PGP, важно объяснить ему, что PGP нечем заменить, и это нормально. Альтернативный инструмент зависит от задачи.
Разговоры
Используйте Signal. Или Wire, или WhatsApp, или какой-то другой безопасный мессенджер на основе протокола Signal.
Шифрование электронной почты
Не делайте этого.
Если вам нужна другая причина, прочитайте статью об уязвимости Efail. Сообщество GnuPG, которое провалилось с раскрытием информации о Efail, бурно критикует эту статью, но её приняли в Usenix Security (один из лучших академических центров по безопасности программного обеспечения), а также на конференцию Black Hat USA (ведущая конференция по безопасности программного обеспечения). Это одна из лучших криптографических атак за последние пять лет — и довольно разрушительная бомба против экосистемы PGP. Как вы увидите из статьи, S/MIME не лучше.
Это никогда не исправят. Чтобы сделать реально безопасную электронную почту, вам придётся туннелировать по электронной почте другой протокол (вы всё равно будете уязвимы для атаки с анализом трафика). В том-то и дело, зачем прикидываться?
Шифровать электронную почту — это кликать беду. Рекомендовать пользователям шифровать электронную почту, если им что-то угрожает, — исключительная халатность. Любой, кто говорит вам о безопасности общения по электронной почте с PGP-шифрованием, ставит свои странные предпочтения выше вашей безопасности.
Отправка файлов
Используйте Magic Wormhole. Клиенты Wormhole используют одноразовый обмен ключами с парольной аутентификацией (PAKE) для шифрования файлов. Это легко (по крайней мере, для ботаников), безопасно и весело: всякий, кому мы показывали «кротовую нору», сразу начинал пропускать через неё все файлы подряд, как это делаем мы.
Кто-то сразу запускает инсталлятор под Windows на Rust или Go, это слишком классная программа, чтобы ею не пользоваться.
Если вы общаетесь с юристами, а не с инженерами, Signal отлично справляется с передачей файлов. Для получения отчётов об ошибках публикуйте номер Signal, а не ключ PGP.
Шифрование бэкапов
Используйте Tarsnap. Колин объяснит, как Tarsnap оптимизирован для защиты резервных копий. Или действительно, возьмите любой другой инструмент шифрования бэкапов; он не будет так хорош, как Tarsnap, но всё равно будет лучше PGP.
Нужны офлайновые бэкапы? Используйте шифрование образов дисков; оно встроено в современные версии Windows, Linux и macOS. Полное шифрование диска не очень хорошо, но отлично справляется с этой задачей, и оно проще и безопаснее, чем PGP.
Подпись пакетов
Шифрование данных приложений
Используйте libsodium: это универсальная библиотека с интерфейсом, в котором трудно допустить ошибку, а для работы не нужен бинарник.
Шифрование файлов
Это действительно проблема. Если у вас /не/ бэкап, /не/ архив для долгосрочного хранения в офлайне, /не/ шифрование файла для передачи и /не/ шифрование виртуальных дисков, которые вы монтируете/отмонтируете по мере необходимости, то нет ни одного хорошего инструмента, чтобы зашифровать файлы. Для других целей Филиппо Вальсорда разрабатывает инструмент age, он кажется многообещающим, но пока не готов.
Надеюсь, ясно, что это довольно узкий случай использования. Мы работаем в области безопасности программного обеспечения и обрабатываем конфиденциальные данные, включая отчёты об ошибках (ещё один очень распространённый случай, когда кричат «Нам нужен PGP!»), но почти никогда не используем PGP.
Шифрование PGP
Аутентификация гарантирует, что если некоторая информация была создана Вами и выложена для публичного доступа, то она действительно поступила от Вас и не была никем фальсифицирована или изменена в пути.
В 1999 году силами Фонда свободного программного обеспечения была создана свободная реализация OpenPGP под названием GNU Privacy Guard (GnuPG), а сам PGP был куплен McAfee, а поздгнее - Symantec. Проект GnuPG жив и здоров, о нем читайте в отдельной статье.
PGP основана на криптографической системе, известной как открытый ключ, которая может быть использована на ненадежных каналах. Это делает ее идеальной для обеспечения защиты информации, передаваемой по таким сетям, как Internet.
В системах с открытым ключом каждый из участников информационного обмена имеет два ключа, взаимно дополняющих друг друга; один является открытым ключом, а другой закрытым. Открытый ключ может и должен быть свободно доступным, так как он является именно тем ключом, который отправитель использует для шифрования передаваемой Вам информации. Закрытый ключ ни в коем случае не должен распространяться. Именно он гарантирует безопасность передаваемых данных.
Как это работает
Возьмем для примера двух друзей - Сергея и Максима. У Сергея есть открытый ключ Максима. Он шифрует письмо с помощью этого ключа и отправляет. Теперь только Максим сможет прочитать это письмо, потому что закрытый ключ находится только у него. Даже Сергей уже не может прочитать свое собственное, но уже зашифрованное письмо.
Аутентификация
На наших машинах установлены две версии PGP:
PGP 2.6.3ia - /usr/local/bin/pgp
PGP 6.5.1i - /usr/local/bin/pgp6
В PGP версии 2.6.3ia для криптования используется алгоритм RSA, а в версии 6.5.1i добавлен алгоритм DSS/DH.
Генерация ключей
Сначала необходимо зайти в unix shell и в своей домашней директории создать подкаталог .pgp командой:
После этого командой "/usr/local/bin/pgp -kg" создаем ключи и защищаем свой закрытый ключ паролем. Обязательно запишите этот пароль. При утере восстановить его будет невозможно и придется создавать новые ключи. В каталоге .pgp созданы два файла:
pubring.pgp - набор открытых ключей
secring.pgp - набор закрытых ключей
Теперь можете приступать к использованию PGP
Использование PGP
Создание пары ключей
Чтобы начать использовать PGP, нужно создать собственную пару ключей (открытый/закрытый). Чтобы это сделать, выполните команду:
Вас попросят выбрать максимальный размер ключа (512, 768 или 1024 байт). Чем больше ключ, тем более надежным он будет, правда ценой небольшого снижения быстродействия при шифровании.
После выбора размера нужно задать идентификатор открытого ключа. Обычно здесь указывают свои имена и/или e-mail адрес. Например:
/.pgp в виде файлов: pubring.pgp и secring.pgp. Первый, pubring.pgp, является файлом с открытыми ключами, secring.pgp - файл с закрытыми ключами На данный момент эти файлы содержат только открытый и закрытый ключи их создателя. Необходимо помнить, что безопасность методов открытого ключа опирается на безопасности закрытого ключа, поэтому обязательно хранить его в надежном месте и следить за тем, чтобы никто не смог его получить. Установите такие права доступа к файлу secring.pgp, чтобы только Вы могли читать и записывать в него. Редактировать и изменять, и идентификаторы ключей и пароли закрытых ключей можно с помощью команды:
pgp -ke идентификатор [файл с ключами]
Добавление ключей в файл
pgp -ka somekey [файл с ключами]
По умолчанию расширение .pgp указывает на файл с ключем и имена pubring.pgp и secring.pgp даются файлам, содержащим наборы открытых и закрытых ключей, соответственно. После добавления ключа PGP может сообщить, что добавленный ключ не полностью сертифицирован, это означает, что данный ключ не обязательно может принадлежать заявленному владельцу. Если есть уверенность, что ключ действительно принадлежит этому человеку, то сами можете подтвердить его приемлемость для использования.
Удаление ключа из файла
Удалить ненужный ключ из файла можно командой
pgp -kr идентификатор [файл с ключами]
Например: "pgp -kr alex" удалит любой ключ, у которого в идентификаторе содержится "alex". По умолчанию исследуется файл открытых ключей.
Выделение ключа
После сохранения ключей друзей в файле необходимо послать им свой открытый ключ. Прежде всего его необходимо выделить из собственного файла открытых ключей:
pgp -kx идентификатор файл [файл с ключами]
Например: "pgp -kx alex mykey" выделяет открытый ключ, идентифицированный подстрокой "alex" в файле mykey.
Созданный файл mykey.pgp будет не в формате ASCII. Однако, если потребуется создать файл ключа в формате ASCII чтобы послать, к примеру, по e-mail или добавить дополнительную информацию к базе данных, потребуется использовать команду:
pgp -kxa идентификатор файл [файл с ключами]
Например: "pgp -kxa alex mykey" выделяет открытый ключ, идентифицированный подстрокой "alex", в файл "mykey.asc".
Вместе с ключом также выделяются все сертификаты, которые его подтверждают.
Содержание файлов с ключами
Чтобы просмотреть ключи, содержащиеся в файле, наберите команду:
pgp -kv [идентификатор] [файл с ключами]
Еще раз заметим, что файлом по умолчанию является pubring.pgp. Если идентификатор не указан явно, то показываются все ключи из файла. Чтобы просмотреть все сертификаты каждого ключа, необходимо набрать:
pgp -kvv [идентификатор] [кольцо]
Теперь попробуем зашифровать файл. Сделать это можно командой:
pgp -e файл идентификатор
Эта команда создает файл с именем файл.pgp, содержащий исходный файл, зашифрованный так, что только получатель может его расшифровать с помощью своего закрытого ключа.
Помните, что созданный файл, не является ASCII файлом, поэтому для отправки его по E-Mail может потребоваться добавить еще одну опцию -a для того, чтобы выходной закодированный файл был в формате ASCII, например так:
pgp -ea файл идентификатор
pgp -ea файл идентификатор1 идентификатор2 идентификатор3
pgp -s файл идентификатор
Если у нас есть несколько закрытых ключей в нашем secring.pgp, мы можем выбрать один из них при помощи идентификатора. Эта команда создает файл, который не является ASCII-текстом, потому что PGP пытается сжать файл. Если, с другой стороны, Вы хотите подписать файл, оставив текст читабельным и с подписью в конце, то процедура будет выглядеть так :
Кроме того, можно подписать документ и затем закодировать его при помощи следующей команды:
pgp -es файл идентификатор_получателя мой_идентификатор
Для кодирования файла используется открытый ключ, идентифицируемый подстрокой "идентификатор_получателя", поэтому только этим ключом можно декодировать этот файл. Затем идентифицируем закрытый ключ строкой "мой_идентификатор", так как в нашем наборе есть несколько ключей. Даже в этом случае можно создать файл в формате ASCII, используя опцию -a.
Расшифровка
Для расшифровки файла и/или проверки его подписи используется команда:
pgp входной_файл [-o выходной_файл]
По умолчанию предполагается, что входной файл имеет расширение .pgp. Имя файла, который получится в результате декодирования, является необязательным параметром. Если выходной файл не указан, расшифрованный файл будет сохранен в файле входной_файл без расширения .pgp.
Также можно просто просмотреть расшифрованный файл без сохранения:
wcDMA7xplHHtIa35AQwAoT7ouxEVN2BYHZ0jxZVSZvwPzV6+oXYKMBQY05GmCzo0TeVO7DQzjWAiELxGWdocxxV0O9jRXVH4wvdjXaY1nQTCZVLGZDUdJCB4tJw/e/06
Sf2RC4pezSgmJmEp2+iXfjG0PDJG7tqYG9MczKPIcd2ML2gQRt46hj4UjgTbuJdD
FB3Yi9AQDfUZ93qOlPRGD98NB3pw4z07XkXXq+VkgzvKmR+mlOj94529lOQpWzfm
tgUnMT/8evj/9hQ7hsMh6DkzEOZcab2Z4fu1PtSMysMQsziuMJa5O8znjymmi1C/
o2lnBzlUsm99DYhAPs3vyjRFdyFzrhthybhkyiP+svZ3Lv8pUB7NCDto2CvvvFJZ
yIs9Lj94d+DGE8XrWq94ChCak5ghbnTPv/HZm/O46oIIkIrMjSz+/kNFbj1iMmzU
8j8vvYg5CkRChg01N9bpE2EPmH3dJOxkVdiZh7dahSbtYLSD2BQhQldgRL4dr17t
GR2F55flWi4jkZp5FvF60uAB5FlB8MVz/Xzlwxmsua53ArzhBXLg/OA04ZxW4D/i
jgjQUOBC530JrJ8HvwbXODFqzRKn1a21fv+YYYKty1yCMIRnHJgkNkteGJVA+G3v
r0hZPlKXm736Bh1C0FMG8qFQCCJrDxDvRvxTpbTL4+evT+WU4juIpO+wAc53eqoI
0ZFd3ugLL//jArM0Ma4CE4Btl3j86fGmaM5UzCSzsLQ8+9z+28BG4P/hzSvgDOSf
Wx8bIOJFC0NrRSVJn+ZS4tNuVQbhVUQA
=LKLW
Если вы не шифруете свои электронные письма или файлы, то оставляете их в открытом доступе. Любой, кто шпионит за вашим трафиком, может прочитать их. Стоит узнать, что такое шифрование PGP и как оно может улучшить вашу конфиденциальность в интернете.
Что такое PGP?
Это признанный стандарт шифрования, который обеспечивает конфиденциальность и гарантирует подлинность отправляемых или получаемых данных. PGP может использоваться для шифрования и дешифрования текста, электронных писем, файлов или целых разделов диска, а также для создания цифровых подписей.
Как работает шифрование?
Шифрование PGP
Является ли шифрование PGP безопасным?
Чтобы атака была успешной, хакеру понадобится компьютер, способный запускать миллиард ключей каждую секунду. Даже если бы такой суперкомпьютер существовал, все равно потребовалось бы более 10 000 000 000 000 лет, чтобы опробовать все возможности. Таким образом, пользователи PGP могут чувствовать себя довольно безопасно, используя этот стандарт шифрования.
Зачем использовать PGP?
2. Использование цифровых подписей
Ваш ключ также может быть использован для цифровой подписи документов, которые вы отправляете через интернет, чтобы доказать, что они являются подлинно вашими.
Биткоин-кошельки также могут быть подписаны с помощью закрытого ключа разработчика. Цифровая подпись гарантирует, что эти предварительно скомпилированные кошельки не скрывают никакого вредоносного кода, который может украсть вашу криптовалюту или другую конфиденциальную информацию.
Как использовать PGP?
Продвинутые пользователи смогут настроить свое собственное шифрование PGP, но большинство пользователей должны искать службы, которые предоставляют шифрование PGP в качестве функции. Как и большинство протоколов, он не доступен в качестве отдельного приложения.
На видео: Как создать PGP-ключ и шифровать свою почту?
Читайте также: