В наше время шифрование актуально как никода. Общение перемещается в мессенджеры, люди продолжают шифровать электронные сообщения цифровыми сертификатами, но иногда это может потребовать дополнительных усилий, включая обмен ключами через сеть доверия. В таких условиях даже некоторые давние приверженцы криптографии вынуждены отказаться от PGP. Для защищённого обмена сообщениями гораздо удобнее мессенджеры с открытым исходным кодом и надёжным end-to-end шифрованием, такие как Signal (см. руководство от Фонда электронных рубежей).

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

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

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

Затем, проблема неудобства. Легко допустимые критические ошибки. Путаные листинги серверов с ключами многолетней давности. «Я не могу прочитать это письмо на своём телефоне». «Или на ноутбуке, я оставил ключи, которые никода не использую, на другой машине».

Но настоящие проблемы, которые я увидел, гораздо более тонкие. Я никогда не чувствовал, что мои долговременные ключи находятся в безопасности. Чем больше проходило времени, тем меньше была уверенность в каждом конкретном из них. Ключи YubiKey могут перехватить в номере гостиницы. Офлайновые ключи могут остаться в далёком ящике или сейфе. Могут объявить о новых уязвимостях. К USB-устройствам могут подключиться.

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

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

Это довольно ёмкое объяснение. Но возникает вопрос: если не PGP, то что тогда использовать? С электронной почтой понятно, её можно заменить на мессенджеры с надёжным end-to-end шифрованием. Но что использовать для подписи пакетов и программных обновлений и шифрования файлов? К счастью, здесь тоже есть современные альтернативы.

Подписи пакетов


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

Для подписи пакетов есть простые альтернативы, например, signify (sign and verify) от OpenBSD и minisign. Это экстремально простые утилиты, но благодаря этому исключительно надёжные. Обе работают с единственным алгоритмом Ed25519 (ErDSA): это схема цифровой подписи использующая вариант схемы Шнорра на эллиптической кривой Эдвардса. Она спроектирована с расчётом на максимальную скорость и работает гораздо быстрее RSA. Поскольку обе утилиты основаны на одном алгоритме, то их цифровые подписи совместимы между собой, то есть signify может проверять подписи, сгенерированные minisign, и наоборот.

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



Разработчики пишут, что TUF используется в продакшне такими компаниями как Cloudflare, Docker, DigitalOcean, Flynn, IBM, Microsoft, LEAP, Kolide и Vmware, а вариант TUF под названием Uptane широко применяется для обновлений автомобильного программного обеспечения по сети.

Реализация TUF для пакетной инфраструктуры Python: PEP 458, PEP 480. На TUF основан проект Notary с готовой к использованию и проверенной клиент-серверной реализацией.



Шифрование файлов


Современные альтернативы nacl/box и nacl/secretbox — универсальные программы для шифрования любых данных. Поддерживают симметричное и асимметричное шифрование, современные шифры и протоколы.

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


Файловая система KBFS, смонтированная Keybase

В целом, это вполне функциональная альтернатива PGP для шифрования данных.

Передача зашифрованных файлов


В прошлом веке было принято шифровать файл, защищать его паролем и передавать как вложение по электронной почте. Такой вариант возможен и сегодня, но есть более современные альтернативы. Например, совсем недавно вышел из беты сервис Firefox Send для обмена шифрованными файлами. Файлы шифруются на компьютере отправителя, а расшифровываются на компьютере получателя (JS в браузере). Сервис генерирует ссылку на файл с ограничением на время жизни или количество скачиваний.



Если вы не доверяете JS, то шифровать файлы можно, например, с помощью программы magic-wormhole. Программа устанавливается на компьютерах отправителя и получателя, использует современную криптографическую технику PAKE (password-authenticated key agreement) и генерирует пароли из нескольких слов, пробивает файрволы и поддерживает Tor.



Мы живём в 21 веке. Есть гораздо лучшие варианты, чем отправлять зашифрованные файлы по почте.



Сертификаты подписи документов Microsoft Office, Adobe PDF, LibreOffice и др.

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

Комментарии (5)


  1. Revertis
    02.04.2019 17:22
    +2

    Ну так а какие альтернативы для основной задачи — почты?


    1. pfg21
      03.04.2019 10:45

      signal :)
      и другие криптованные месенджеры.


      1. Revertis
        03.04.2019 10:48

        Всё-таки, мессенджеры предполагают быстрые ответы и скудное оформление сообщений.


        1. pfg21
          03.04.2019 11:18

          пиши медленнее и подробнее. это всего лишь система связи :)
          хотя согласен — в месенджере автоматически включается другой стиль поведения.


  1. Gamliel_Fishkin
    05.04.2019 13:05

    Проблемы OpenPGP — не в нём само?м, а в том, как о нём рассказывают. Проблем две.

    Первая проблема. Если Алиса согласна начать использовать OpenPGP, как только это сделает Боб, а Боб согласен начать использовать OpenPGP, как только это сделает Алиса, то проблема курицы и яйца кажется неразрешимой. Решение существует: если некий сайт, на котором зарегистрированы Алиса и Боб, умеет применять OpenPGP для подписывания и шифрования писем сайта пользователям, то каждый из этой парочки может настроить получение писем от сайта именно в таком виде — и тогда они смогут посылать PGP-зашифрованные и PGP-подписанные письма друг другу.

    Большой и популярный сайт, умеющий посылать PGP-письма своим пользователям, существует; это Фейсбук. Нет, я не считаю Фейсбук лучшим другом приватности. Но точно так же я не считаю лучшим другом приватности Гугл, однако то, что удалось пересадить большинство сайтов на HTTPS — заслуга именно Гугла, точнее его броузера Chrome. Так что, рассказывая о PGP, надо в первую очередь говорить о возможности получения зашифрованных писем от Фейсбука — иначе мы не будем услышаны.

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

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

    Итак, вот руководство по PGP/GPG, не страдающее вышеописанными недостатками.