Android: Oversec — утилита, которая добавляет поддержку шифрования в любое приложение

Представь себе ситуацию: у тебя есть некая конфиденциальная информация, которую необходимо передать по открытым источникам второму лицу. Логичный выход: загнать сообщение в OpenPGP, зашифровать, скопировать, отправить, передать адресату ключ. Удобно? А если речь о телефоне? А если все необходимо сделать быстро? Но что, если я скажу, что ты можешь легко добавить поддержку шифрования в любое из установленных приложений и отправлять зашифрованные сообщения как обычный текст?

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

Простой пример: шифрованное СМС. Устанавливаем Oversec, сразу после установки даем ему права Accessibility-сервиса (появится окно настроек, в котором надо найти приложение, далее выбираем приложения, для которых будет активировано шифрование (по умолчанию в списке есть СМС, Gmail и Skype, но можно выбрать любое другое) и мы готовы.

Первичная настройка Oversec Первичная настройка Oversec
Первичная настройка Oversec

Теперь открываем приложение СМС/ММС и видим изменения, а именно три круглых кнопки: две сверху и одну поверх кнопки "Отправить". Вводим сообщение, нажимаем «Отправить», видим окно выбора типа шифрования. Для примера выбираем Simple (шифрование на основе пароля), добавляем новый пароль и нажимаем кнопку со значком замка, приложение вновь возвращает нас на экран отправки СМС и теперь сообщение можно отправить в зашифрованном виде.

Отправляем шифрованное СМС Отправляем шифрованное СМС
Отправляем шифрованное СМС

Удобно?

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

Естественно, принимающая сторона тоже должна установить приложение и добавить в него твой пароль. Иначе для нее все твои сообщения будут выглядеть как непонятный набор символов. Для пущей надежности вместо пароля можно использовать шифрование на основе ключа, а если ты совсем не доверяешь механизмам шифрования Oversec, он умеет использовать OpenPGP. Достаточно установить его открытую и проверенную реализацию —OpenKeyChain. В этом случае ты получишь преимущество еще и в том, что принимающая сторона сможет расшифровать сообщение с помощью любой реализации OpenPGP.

В целом Oversec это действительно очень интересное, даже с точки зрения концепции, приложение. Реализация используемых в нем алгоритмов шифрования находится в открытом доступе (для интересующихся это поточный шифр ChaCha20). Oversec можно использовать для шифрования заметок Google Keep, причем с расшифровкой строк только пока они видны на экране. Ну и в целом он оставляет ощущение достаточно грамотно проработанного, хоть и немного подглючивающего, приложения. Однако есть в Oversec одна особенность, которая доставляет проблемы.

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