Оглавление

Что такое PGP и зачем это надо

Приватность не беспокоит только тех, кто не пользуется интернетом. Остальные либо понимают, что их могут взломать, либо занимают позицию «а мне нечего скрывать, пусть смотрят». Не надо так

PGP (Pretty Good Privacy — достаточно хорошая приватность) — программа, которая обеспечивает приватность переписки. И больше ничего. Однако она это делает так мощно, что взломать ее шифрование не удалось даже АНБ США. Именно этой программой пользовался Эдвард Сноуден, когда общался с журналистами, которым передавал документы, раскрывающие слежку спецслужбами США за интернет-пользователями. Как заявлял Сноуден, американцы могут перехватить и проанализировать любой трафик во всем мире.

Какие задачи решает PGP



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


Как все работает



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

PGP — это набор из трех компонентов: GnuPG, Mozilla Thunderbird и Enigmail. Первый реализует шифрование, второй — принимает и отправляет сообщения, третий — связывает компоненты между собой. Есть решение для Windows, Mac OS, iOS, Android, Linux, а также плагины для браузеров.

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



Кроме указанных компонентов для переписки нужны два ключа — открытый и закрытый.

Открытый ключ доступен всем желающим, он дает возможность написать письмо тому, кто создал открытый ключ. Создается открытый и закрытый ключ в компоненте Enigmail. Открытый ключ надо распространить или передать тем, с кем планируется вести переписку. Закрытый ключ надо хранить в секретном месте, подальше от серверов и интернета. Например — на флешке. Еще создается специальный сертификат отзыва закрытого ключа, в случае, если окончен срок его действия или он скомпрометирован.

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

Все так безоблачно?



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

Другая проблема — подделка секретных ключей, а если быть точным — подделка не самих ключей, а их коротких идентификаторов — short ID. Дело в том, что запоминать длинный секретный ключ неудобно, поэтому используют его короткий идентификатор. В частности удалось подделать short ID Линуса Торвальдса, который все новые релизы ядра Linux подписывает своим PGP ключом.

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

Какие еще проблемы есть



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

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

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

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

Обсудить