Как зашифровать переписку на смартфоне и планшете с помощью PGPTools

Как зашифровать переписку на смартфоне и планшете с помощью PGPTools


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

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

Встречают по интерфейсу

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

Только необходимые разрешения

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

Использование PGPTools

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

Создание ключа длиной 4096 бит

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

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

INFO

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

Основная панель в PGPTools носит такое же название. Она переключается между двумя режимами: шифрованием и дешифрованием. Ее вид зависит от того, какой ключ был ранее выбран на панели key list — публичный или секретный.

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

Шифрование в PGPTools открытым ключом

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

Report Page