Как снять шифрование на андроиде. Android и шифрование данных. О том, как все плохо и почему вряд ли станет лучше. Альтернативное шифрование данных на карте памяти

ФБР попыталось через суд выкрутить руки компании Apple, не желающей создавать код для обхода собственной системы безопасности. Обнаружена критическая уязвимость в ядре Android, позволяющая получить доступ суперпользователя в обход всех защитных механизмов. Эти два события хоть и не связаны между собой, но совпали по времени, явным образом демонстрируя различия в системе безопасности двух популярных мобильных ОС. Отложим на минуту вопрос с критической уязвимостью ядра Android, которая вряд ли будет когда-либо исправлена большинством производителей в уже выпущенных моделях, и рассмотрим механизмы шифрования данных в Android и Apple iOS. Но прежде поговорим, зачем вообще нужно шифрование в мобильных устройствах.

Зачем шифровать телефон?

Честному человеку скрывать нечего - популярнейшей лейтмотив, который звучит после каждой публикации на тему защиты данных. «Мне скрывать нечего», - говорят многие пользователи. Увы, но гораздо чаще под этим подразумевается всего лишь уверенность в том, что уж в данные конкретного Васи Пупкина никто не потрудится залезть, ибо кому они вообще интересны? Практика показывает, что это не так. Далеко ходить не станем: буквально на прошлой неделе увольнением завершилась карьера школьной учительницы, которая на минутку оставила телефон на столе. Ученики мгновенно разблокировали аппарат и извлекли из него фотографии учительницы в виде, который осуждается пуританской моралью американского общества. Инцидент послужил достаточным основанием для увольнения учительницы. Подобные истории происходят чуть ли не ежедневно.

Как взламываются незашифрованные телефоны

Не будем углубляться в детали, просто имей в виду: данные с незашифрованного телефона можно извлечь почти в ста процентах случаев. «Почти» здесь относится скорее к случаям, когда телефон попытались физически повредить или уничтожить непосредственно перед снятием данных. Во многих устройствах Android и Windows Phone есть сервисный режим, позволяющий слить все данные из памяти аппарата через обычный USB-кабель. Это касается большинства устройств на платформе Qualcomm (режим HS-USB, работающий даже тогда, когда загрузчик заблокирован), на китайских смартфонах с процессорами MediaTek (MTK), Spreadtrum и Allwinner (если разблокирован загрузчик), а также всех смартфонов производства LG (там вообще удобный сервисный режим, позволяющий слить данные даже с «окирпиченного» устройства).

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

А если шифрование было включено? В старых версиях Android (до 4.4 включительно) и это можно было обойти (за исключением, правда, аппаратов производства Samsung). А вот в Android 5.0 наконец появился режим стойкого шифрования. Но так ли он полезен, как полагает Google? Попробуем разобраться.

Android 5.0–6.0

Первым устройством под управлением Android 5.0 стал Google Nexus 6, выпущенный в 2014 году компанией Motorola. В то время уже активно продвигались 64-разрядные мобильные процессоры с архитектурой ARMv8, но у компании Qualcomm не было готового решения на этой платформе. В результате в Nexus 6 был использован набор системной логики Snapdragon 805, основанный на 32-разрядных ядрах собственной разработки Qualcomm.

Почему это важно? Дело в том, что в процессоры на архитектуре ARMv8 встроен набор команд для ускорения потокового шифрования данных, а в 32-битных процессорах ARMv7 таких команд нет.

Итак, следи за руками. Инструкций для ускорения крипто в процессоре нет, поэтому Qualcomm встроил в набор системной логики выделенный аппаратный модуль, призванный выполнять те же функции. Но что-то у Google не сложилось. То ли драйверы на момент выпуска не допилили, то ли Qualcomm не предоставил исходные коды (или не разрешил публиковать их в AOSP). Детали публике неизвестны, но известен результат: Nexus 6 шокировал обозревателей чрезвычайно медленной скоростью чтения данных. Насколько медленной? Примерно вот так:

Причина восьмикратного отставания от «младшего брата», смартфона Motorola Moto X 2014, проста: насильно включенное шифрование, реализованное компанией на программном уровне. В реальной жизни пользователи Nexus 6 на оригинальной версии прошивки жаловались на многочисленные лаги и фризы, заметный нагрев устройства и относительно слабую автономность. Установка ядра, отключающего насильственно активированное шифрование, разом решала эти проблемы.

Впрочем, прошивка - дело такое, ее ведь можно и допилить, не так ли? Особенно если ты Google, располагаешь неограниченными финансами и имеешь в штате самых квалифицированных разработчиков. Что ж, посмотрим, что было дальше.

А потом был Android 5.1 (спустя полгода), в котором нужные драйверы для работы с аппаратным ускорителем сначала добавили в предварительной версии прошивки, а потом снова убрали в финальной из-за серьезных проблем со спящим режимом. Потом был Android 6.0, на момент выхода которого пользователи уже успели потерять интерес к этой игре и стали любыми способами отключать шифрование, пользуясь сторонними ядрами. Или не отключать, если скорости чтения в 25–30 Мбайт/с достаточно.

Android 7.0

Хорошо, но уж в Android 7 можно было исправить серьезную проблему флагманского устройства, которой уже почти два года? Можно, и ее исправили! В лаборатории «Элкомсофт» сравнили производительность двух идентичных Nexus 6, на одном из которых была установлена версия Android 6.0.1 с ядром ElementalX (и отключенным шифрованием), в то время как второе работало под управлением первой предварительной версии Android 7 с настройками по умолчанию (шифрование включено). Результат налицо:

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

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

Можно ли отключить на планшете шифрование?

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

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

На более ранних версиях Android, вплоть до 2.3.4., шифрование нужно запускать вручную. Эта опция находится в меню настроек: Безопасность->Шифрование->Зашифровать устройство . Необходимо иметь в виду, что после этого расшифровать зашифрованные данные невозможно, поскольку разработчик не предусмотрел такой возможности. Таким образом, если вам понадобится расшифровать информацию, её утрата неизбежна. Чтобы это сделать, потребуется выполнить сброс устройства к заводским настройкам из режима "recovery".

Чтобы выполнить такой сброс, нужно в выключенном состоянии планшета зажать на нём одновременно клавиши увеличения и уменьшения громкости, также клавишу включения. Будет выполнена загрузка в инженерное меню, где при помощи кнопок регулировки громкости нужно найти пункт меню "wipe data/factory reset" и, выбрав его, нажать на клавишу питания. Когда операция сброса будет завершена, необходимо перезагрузиться, выбрав "reboot". После загрузки в рабочий режим на планшете следует восстановить личные данные, после чего больше не запускать шифрование.

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

Шифрование устройства и что оно делает?
Прежде чем зашифровать своё устройство, имеет смысл понять, что представляет собой шифрование, каковы плюсы и минусы этого решения.

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

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

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

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

Во-вторых, только некоторые смартфоны будут предлагать возможность удаления шифрования с вашего смартфона. Шифрование представляет собой одностороннее решение для большинства смартфонов и планшетов. Если ваш телефон не предлагает возможности дешифровать весть телефон, единственный вариант выполнить полный откат – вернуться к заводским настройкам, что приведет к удалению всех ваших личных данных. Проверьте этот момент заранее.
Разобравшись в ситуации, давайте посмотрим, как включить шифрование.

Шифрование моего устройства

Шифрование устройства работает одинаково на всех Android-устройствах, хотя методы его реализации могут немного меняться с течением времени. Некоторые устройства из коробки приходят с активным шифрованием, среди них, например, Nexus 6 и Nexus 9, а если ваше устройство не зашифровано, сделать это с помощью Android очень просто.

Android 5.0 или выше…

Для Android-смартфонов и планшетов под управлением Android 5.0 или более поздней версии, вы можете перейти к меню «Безопасность» в разделе «Настройки». Путь сюда может незначительно отличаться в зависимости от вашего ОЕМ, но с чистым Android вы найдете шифрование в разделе Настройки – Личное – Безопасность (Settings > Personal > Security).


Здесь вы должны увидеть опцию «Зашифровать смартфон» (Encrypt Phone) или «Зашифровать планшет» (Encrypt Tablet). Вам будет предложено подключить устройство к зарядке, пока будет происходить шифрование, чтобы убедиться, что смартфон не отключится в процессе, что обернется ошибками. Если вы ещё не сделали этого, вам будет предложено установить PIN-код блокировки экрана или пароль, который вам нужно будет вводить при включении смартфона, чтобы получить доступ к вашим зашифрованным файлам. Обязательно запомните пароль!

Android 4.4 и старше…

Если вы используете смартфон с Android 4.4 KitKat или старше, вы должны установить PIN-код или пароль до запуска процесса шифрования. К счастью, это не сложно, перейдите Настройки – Безопасность – Блокировка экрана (Settings > Security > Screen Lock). Здесь вы сможете либо выбрать шаблон, набрать PIN-код или смешанный пароль для блокировки экрана. Тот же самый пароль вы будете использовать после шифрования, поэтому уделите ему внимание.

Закончив с этим, вы можете вернуться в меню Безопасность (Security) и нажать «Зашифровать телефон». Вам нужно будет подключить устройство к зарядке и прочесть предупреждающие сообщения, практически всегда придется подтвердить PIN-код или пароль в последний раз для того, чтобы начался процесс шифрования.


Шифрование вашего телефона может занять час и более, в зависимости от того, насколько мощный у вас смартфон и большой объем данных, хранимых на устройстве. После того, как процесс наконец завершится, вы сможете ввести свой PIN-код и продолжить работу с зашифрованным устройством как ни в чем не бывало.

Вернувшись в меню «Безопасность», вы также, вероятно, узнаете о возможности шифровать файлы на карте памяти MicroSD. Это рекомендуемый шаг, если вы хотите хранить все ваши данные в безопасности, но на самом деле не обязательный, если вы используете MicroSD только для хранения музыки или фильмов, которые не имеют личной ценности.

С этим решением приходит несколько предостережений. Во-первых, вы больше не будете иметь возможности использовать MicroSD карты с другими устройствами, без полного удаления шифрованных данных, поскольку другие компьютеры / устройства не будут знать ключа шифрования. И хотя зашифрованная MicroSD карта до сих пор может быть использована для перемещения файлов, это будет продолжаться только до тех пор, пока вы получаете доступ к зашифрованным файлам с телефона, используемого для их шифрования. Кроме того, если вы сбросите устройство, прежде чем расшифровать файлы, ключ будет потерян, и вы не сможете получить доступ к защищенным файлам на карте памяти MicroSD. Так что продумайте ситуацию тщательно.

Когда вы закончили…

Вот и всё, что на самом деле нужно, чтобы зашифровать Android-устройство. Это отличный способ защитить ваши данные гораздо надежнее. Существует незначительный компромисс в плане производительности, но любые различия должно быть очень сложно заметить на современных мобильных телефонах.


Дополнительные опции с приложениями сторонних разработчиков

Если вы не хотите пройтись катком шифрования по всем данным вашего устройства, есть небольшое количество Android-приложений в магазине Google Play, которые предлагают разнообразные выборочные функции, в том числе шифрование одного файла, текста или папки.

SSE – Универсальное приложение шифрования
версия: 1.7.0 (Pro) (cкачиваний: 163)
SSE существует на этом рынке весьма продолжительное время и до сих пор, кажется, получает небольшие обновления. Вместо того, чтобы реализовать массовое шифрование вашего телефона, SSE можно использовать для защиты и расшифровки отдельных файлов или каталогов, которые вам нужны, если вы хотите защитить выборочно несколько элементов. Вы можете установить пароль, который будет служить в качестве ключа расшифровки, есть также возможность создавать зашифрованные копии файлов или полностью подменить их.

Приложение также имеет текстовый шифратор и хранилище под паролем. Текстовый редактор может быть использован для хранения зашифрованных заметок, которые могут быть разделены между платформами. Хранилище предназначено для хранения и управления всеми паролями, PIN-кодами и заметками в одном надежном месте, защищенном мастер-паролем. Функция работает подобно LastPass.

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

Шифрование данных в ОС Android тесно связано с двумя проблемами: контролем доступа к картам памяти и переносом на них приложений. Многие программы содержат данные активации, платежную и конфиденциальную информацию. Ее защита требует управления правами доступа, которые не поддерживаются типичной для карточек файловой системой FAT32. Поэтому в каждой версии Android подходы к шифрованию кардинально менялись - от полного отсутствия криптографической защиты сменных носителей до их глубокой интеграции в единый раздел с шифрованием на лету.

WARNING

У каждого гаджета с ОС Android есть свои существенные отличия - как в прошивке, так и на аппаратном уровне. Даже разные версии одной модели могут сильно отличаться. Карты памяти тоже имеют свои особенности. Поэтому детальные руководства по использованию шифрования на одном устройстве часто не работают без модификаций на другом. Универсальных методов здесь не существует. Есть лишь общие подходы, которые и описаны в данной статье.

Особая роль карты памяти

Изначально разработчики Android предполагали использование карты памяти только как отдельного хранилища пользовательских файлов. Это был просто склад мультимедиа без каких-либо требований к его защите и надежности. Карточки microSD(HC) с FAT32 вполне справлялись с ролью простейшей хранилки, освобождая внутреннюю память от фоток, видеороликов и музыки.

Возможность переносить на карту памяти не только мультимедийные файлы, но и приложения впервые появилась в Android 2.2 Froyo. Реализована она была с помощью концепции зашифрованных контейнеров на каждое приложение, но защищало это исключительно от попадания не в те руки карты - но не смартфона.

К тому же это была полумера: многие программы переносились частично, оставляя часть данных во внутренней памяти, а некоторые (например, системные или содержащие виджеты) не переносились на карточку вовсе. Сама возможность переноса приложений зависела от их типа (предустановленное или стороннее) и внутренней структуры. У одних каталог с пользовательскими данными сразу располагался отдельно, а у других - в подкаталоге самой программы.


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

С четвертой версии в Android появилась возможность выбрать, где разместить приложение. Можно было назначить карту памяти как диск для установки программ по умолчанию, но не все прошивки корректно поддерживали эту функцию. Как она работает в конкретном устройстве - удавалось выяснить лишь опытным путем.

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

Адаптируй это!

В Android Marshmallow появился компромисс под названием «Адаптируемое хранилище» - Adoptable Storage. Это попытка Google сделать так, чтобы и овцы остались целы, и солдаты удовлетворены.

Функция Adoptable Storage позволяет объединить пользовательский раздел во встроенной памяти с разделом на карточке в один логический том. Фактически она создает на карточке раздел ext4 или F2FS и добавляет его к пользовательскому разделу внутренней памяти. Это чисто логическая операция объединения, отдаленно напоминающая создание составного тома из нескольких физических дисков в Windows.


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

В качестве альтернативы можно зарезервировать на карточке место под второй раздел с FAT32. Хранимые на нем файлы будут видны на всех устройствах, как прежде.

Способ разделения карточки задается либо через меню Adoptable Storage, либо через отладочный мост для Android (Android Debug Bridge - ADB). Последний вариант используется в тех случаях, когда производитель скрыл Adoptable Storage из меню, но не удалил эту функцию из прошивки. Например, она скрыта в Samsung Galaxy S7 и топовых смартфонах LG. В последнее время вообще появилась тенденция убирать Adoptable Storage из флагманских устройств. Она считается костылями для бюджетных смартфонов и планшетов, которые не комплектуются достаточным объемом встроенной Flash-памяти.

Впрочем, не маркетологам решать, как нам использовать свои устройства. Через ADB на компьютере с Windows функция Adoptable Storage включается следующим образом.

  1. Делаем бэкап всех данных на карточке - она будет переформатирована.
  2. Java SE Development kit с сайта Oracle.
  3. Устанавливаем последнюю версию Android SDK Manager .
  4. Включаем на смартфоне отладку по USB.
  5. Запускаем SDK Manager и в командной строке пишем: $ adb shell $ sm list-disks
  6. Записываем номер диска, под которым определяется карта памяти (обычно он выглядит как 179:160, 179:32 или подобным образом).
  7. Если хочешь добавить к внутренней памяти весь объем карточки, то пиши в командной строке: $ sm partition disk: x:y private

    где x:y - номер карты памяти.

  8. Если хочешь оставить часть для тома FAT32, то измени команду из п. 7 на такую: $ sm partition disk:x:y mixed nn

    где nn - остаток объема в процентах для тома FAT32.

Например, команда sm partition disk:179:32 mixed 20 добавит к встроенной памяти 80% объема карточки и оставит на ней том FAT32 в 1/5 ее объема.

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

Некоторые смартфоны не имеют слота для карты памяти (например, серия Nexus), но поддерживают подключение USB-Flash-носителей в режиме OTG. В таком случае флешку также можно использовать для расширения объема встроенной памяти. Делается это следующей командой:

$ adb shell sm set-force-adoptable true

По умолчанию возможность использовать USB-OTG для создания адаптированного хранилища отключена, поскольку его неожиданное извлечение может привести к потере данных. Вероятность внезапного отключения карты памяти гораздо ниже из-за ее физического размещения внутри устройства.

Если с добавлением объема сменного носителя или его разбиением на разделы возникают проблемы, то сначала удали с него всю информацию о прежней логической разметке. Надежно это можно сделать с помощью линуксовой утилиты gparted , которая на компьютере с Windows запускается с загрузочного диска или в виртуальной машине.

Согласно официальной политике Google приложения могут сразу быть установлены в адаптируемое хранилище или перенесены в него, если разработчик указал это в атрибуте android:installLocation . Ирония в том, что далеко не все собственные приложения Google пока позволяют это делать. Каких-то практических лимитов у «адаптированного хранилища» в Android нет. Теоретический предел для Adoptable Storage составляет девять зеттабайт. Столько нет даже в дата-центрах, а уж карты памяти большего объема тем более не появятся в ближайшие годы.

Сама процедура шифрования при создании адаптированного хранилища выполняется с помощью dm-crypt - того же модуля ядра Linux, которым производится полнодисковое шифрование встроенной памяти смартфона (см. предыдущую статью « »). Используется алгоритм AES в режиме сцепления блоков шифртекста (CBC). Для каждого сектора генерируется отдельный вектор инициализации с солью (ESSIV). Длина свертки хеш-функции SHA составляет 256 бит, а самого ключа - 128 бит.

Такая реализация, хотя и уступает в надежности AES-XTS-256, работает гораздо быстрее и считается достаточно надежной для пользовательских устройств. Любопытный сосед вряд ли вскроет зашифрованное адаптированное хранилище за разумное время, а вот спецслужбы давно научились использовать недостатки схемы CBC. К тому же реально не все 128 бит ключа оказываются совершенно случайными. Невольное или намеренное ослабление встроенного генератора псевдослучайных чисел - самая часто встречающаяся проблема криптографии. Она затрагивает не столько гаджеты с Android, сколько все потребительские устройства в целом. Поэтому самый надежный способ обеспечения приватности - вообще не хранить конфиденциальные данные на смартфоне.

INFO

Если после объединения памяти с помощью Adoptable Storage выполнить сброс до заводских настроек, то данные на карточке также пропадут. Поэтому предварительно стоит сделать их бэкап, а лучше - сразу назначить облачную синхронизацию.

Альтернативное шифрование данных на карте памяти

Теперь, когда мы разобрались с особенностями хранения файлов на карте памяти в разных версиях Android, перейдем непосредственно к их шифрованию. Если у тебя девайс с шестым Андроидом и новее, то с большой вероятностью в нем так или иначе можно активировать функцию Adoptable Storage. Тогда все данные на карточке будут зашифрованы, как и во встроенной памяти. Открытыми останутся лишь файлы на дополнительном разделе FAT32, если ты захотел его создать при переформатировании карточки.

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

Цель данной статьи - сравнить три Android-приложения для шифрования данных - LUKS Manager, Cryptonite и CyberSafe Mobile. Сразу нужно отметить, что сравнение будет честное, а не с целью выделить преимущества той или иной программы. У каждой программы есть свои достоинства и недостатки, в этой статье они будут раскрыты в полном объеме.

Чем обусловлен выбор приложений?

Прежде всего, хочется отметить, почему в обзоре участвуют именно эти приложения. С программой CyberSafe Mobile , думаю, все ясно, ведь вы читаете блог компании Киберсофт , поэтому вполне логично увидеть нашу программу в обзоре. А вот остальные программы были выбраны так называемым методом Коши , он же метод научного тыка, то есть случайным образом. Конечно, при выборе программ учитывалась их популярность и рейтинги. Так, у программы Cryptonite на данный момент более 50 тысяч загрузок и ее рейтинг составляет 4.3, а у программы LUKS Manager такой же рейтинг, но в пять раз меньше загрузок - более 10 тысяч.
Для Android было разработано множество программ шифрования данных, поэтому мы физически не сможем рассмотреть все из них. Возможно, в будущем будет написан аналогичный обзор других программ и их сравнение с программой CyberSafe Mobile. Пока же ограничимся ранее упомянутыми программами.

LUKS Manager

LUKS Manager - это одна из первых настоящих программ для шифрования в Android. До нее программы «шифрования» на самом деле шифрованием то и не занимались, а делали всякую ерунду вроде присваивания файлу атрибута скрытого.
Программа LUKS Manager оставила двойственное впечатление. Начну по порядку - с самой установки программы. Программа требует, чтобы у вас был root-доступ, а также были установлены SuperSU и BusyBox. Требование root-доступа - характерная особенность всех серьезных программ шифрования в Android, поскольку без максимальных привилегий мало что можно сделать. А вот требование SuperSU и BusyBox натолкнули меня на мысль, что программа, по сути, ничего сама не делает, а вместо использования системных вызовов Android, использует утилиты BusyBox. Другими словами, программа является лишь оболочкой для системных команд. Ну да ладно, начинающие пользователи вряд ли будут разбираться со всеми этими командами, поэтому оболочка как раз то, что нужно - главное, чтобы она работала.
У меня уже был root-доступ к моему устройству, был установлен SuperSU, а вот BusyBox пришлось доустановить из Play Market. Однако после установки BusyBox программа все равно радостно сообщила мне, что не видит его (рис. 1).


Рис. 1. Программа LUKS Manager не видит установленный BusyBox

Не буду описывать, что я делал, чтобы программа его «увидела», скажу лишь только, что помогла перезагрузка планшета. Как-то попахивает Windows даже, а не UNIX, коим, как ни крути, является Android. Кстати, издевательства происходили над планшетом Acer B1 с Android 4.1.2. Ни один планшет в результате экспериментов не пострадал:)
После перезагрузки программа все-таки запустилась (рис. 2). Интерфейс программы очень прост. Я бы даже сказал спартанский. Скриншоты я обрезаю, чтобы не уменьшать их размер и чтобы вам было их лучше видно.


Рис. 2. Программа LUKS Manager

Функционал программы также спартанский. Вы можете просмотреть, какой контейнер смонтирован (кнопка Status ), создать контейнер (кнопка Create ), подмонтировать (кнопка Mount ) и размонтировать его (кнопка Unmount ), размонтировать все контейнеры (Unmount All ), удалить контейнер (Remove ). То, что программа может создавать зашифрованные контейнеры и монтировать их - хорошо. Но в наше время хочется видеть возможность облачного шифрования, возможность монтирования сетевых папок, чтобы можно было работать с удаленным контейнером. Также хотелось видеть встроенный файловый менеджер на случай, если у пользователя такой программы не установлено. Ведь и так для работы LUKS Manager мне пришлось рутировать устройство, установить SuperSu и BusyBox. Получается, что еще нужен и файловый менеджер. Базовый функционал (отображение файлов и папок) в программе есть, неужели было трудно добавить функции копирования/перемещения/удаления файлов и папок? Для доступа к «проводнику», встроенному в программу, нажмите кнопку вызова меню программы и выберите команду Explore . Впрочем, об этом мы еще поговорим.
Посмотрим на программу в работе. Нажмите кнопку Create для создания контейнера. Программа предложит выбрать каталог, в котором будет храниться контейнер (рис. 3, рис. 4).


Рис. 3. Нажмите OK


Рис. 4. Выберите каталог и нажмите Select This Directory

Далее нужно ввести название контейнера (рис. 5), пароль для доступа (рис. 6) к нему и размер контейнера (рис. 7). Программа не отображает введенный пароль и не предлагает ввести подтверждение пароля, поэтому есть вероятность ошибки при вводе пароля - тогда подмонтировать созданный контейнер не получится и это нужно учитывать при работе с программой.


Рис. 5. Название контейнера


Рис. 6. Пароль для доступа к контейнеру


Рис. 7. Размер контейнера

Следующий вопрос - как форматировать контейнер: как FAT (будет совместимость с FreeeOTFE) или как ext2 (рис. 8). LUKS Manager создает контейнеры, совместимые с Windows-программой . Как по мне, лучше бы программа поддерживала TrueCrypt. Однако нужно отметить, что наконец-то у FreeOTFE появилась поддержка 64-битных версий Windows, что позволяет более полноценно использовать связку LUKS Manager + FreeOTFE на современных компьютерах. Было бы неплохо, если у LUKS Manager была возможность удаленного монтирования контейнера, который находится на Windows-компьютере. Тогда бы вы могли на ПК с помощью FreeOTFE создать контейнер и удаленного подмонтировать его на вашем Android-устройстве. Преимущество такого решения - не нужно захламлять память устройства, да и сами бы данные физически не хранились бы на Android-устройстве, шансов потерять которое гораздо больше, чем обычный ПК.


Рис. 8. Как форматировать контейнер?

Далее программа сообщит вам, что контейнер создан и подмонтирован к папке /mnt/sdcard/<название контейнера>, в нашем случае - это /mnt/sdcard/photos (рис. 9). В настройках программы можно будет изменить название этой папки.


Рис. 9. Контейнер подмонтирован

Осталось запустить какой-то сторонний файловый менеджер и скопировать в созданный контейнер файлы (рис. 10).


Рис. 10. Файлы скопированы

Пробуем размонтировать контейнер (кнопка Unmount ), при этом программа показывает окошко, позволяющее выбрать, какой именно контейнер нужно размонтировать (рис. 11).


Рис. 11. Размонтирование контейнера

После этого запускаем файловый менеджер и переходим в /mnt/sdcard/. Папка photos есть и она почему-то не удалена, но доступ к ней запрещен (рис. 12). Обычно такие временные папки должны удаляться после размонтирования. Но это мелочи, в принципе.


Рис. 12. Доступ к /mnt/sdcard/photos запрещен

Теперь посмотрим, что у программы есть в настройках. Нажмите кнопку вызова меню и выберите команду Preferences (рис. 13). Вот, что есть полезного мы видим (рис. 14):

  • Encryption keysize - размер ключа шифрования, по умолчанию 256 бит.
  • Mount directory - папка, к которой будут монтироваться контейнеры.
  • Explore on mount - если этот параметр включен, после монтирования контейнера его содержимое будет отображено во встроенном «проводнике» (рис. 15). Однако, встроенный файловый менеджер позволяет лишь просматривать содержимое контейнера, он не позволяет управлять файлами. Максимум, что есть полезного в нем - это окошко с информацией о файле, которое появляется, если нажать на файле в контейнере и удерживать палец некоторое время (рис. 16).


Рис. 13. Меню программы


Рис. 14. Настройки программы


Рис. 15. Встроенный файловый менеджер


Рис. 16. Окошко с информацией о файле

Теперь подытожим. К преимуществам программы LUKS Manager можно отнести:

  • Программа бесплатная, но требует платного BusyBox (впрочем, есть и его ограниченная бесплатная версия)
  • Шифрование осуществляется «на лету»
  • Работа с подмонтированным контейнером осуществляется, как с обычной папкой. Все довольно просто.

А вот недостатков у программы множество:

  • Кроме программы необходимо устанавливать дополнительные приложения SuperSU и BusyBox (который, между прочим, не бесплатный, хотя сама LUKS Manager бесплатна).
  • Ограниченная функциональность программы: нет возможности монтирования удаленных контейнеров, нет возможности облачного шифрования, нет поддержки монтирования сетевых папок.
  • Неудобный встроенный файловый менеджер, позволяющий лишь просматривать файлы и папки.
  • Нет возможности выбрать внешний файловый менеджер.
  • Папки, к которым монтируется контейнер, автоматически не удаляются после размонтирования контейнера.
  • Нет поддержки русского языка.

Cryptonite

Программа Cryptonite довольно молода и находится на стадии тестирования, поэтому вряд ли ее можно использовать для шифрования каких-то особо важных данных. Справедливости ради, нужно отметить, что об этом честно предупреждают разработчики при первом запуске программы (рис. 17).


Рис. 17. Первый запуск Cryptonite

Что касается системных требований, то программе нужен root-доступ и ядро с поддержкой FUSE (Filesystem in Userspace, Файловая система в пользовательском пространстве). Требование поддержки FUSE можно смело отнести к недостаткам программы, поскольку далеко не все устройства поддерживают FUSE. Доустанавливать какие-либо дополнительные программы не нужно (если не считать файлового менеджера).
Функционал программы уже несколько лучше, чем у LUKS Manager. Она умеет создавать не только локальные контейнеры, но и шифровать ваши файлы на DropBox. Поддержка DropBox автоматически означает поддержку облачного шифрования, поэтому уже эта программа стоит на голову выше, чем LUKS Manager.
На рис. 18 представлена программа Cryptonite после закрытия надоедающего сообщения о том, что вы используете экспериментальную версию программы. Вкладка Dropbox позволяет зашифровать файлы на вашем Dropbox, вкладка Local используется для создания локального контейнера, а на вкладке Expert обычному пользователю делать нечего.


Рис. 18. Программа Cryptonite

Для создания локального контейнера нужно нажать кнопку Create local volume , после чего вы опять увидите предупреждение о том, что данная функция экспериментальна (рис. 19). Далее, как обычно, нужно выбрать метод шифрования (рис. 20), расположение контейнера, ввести пароль и его подтверждение (рис. 21). Мне понравилось, что программа предлагает ввести подтверждение пароля, что исключает его неправильный ввод при создании контейнера.


Рис. 19. Опять надоедающее предупреждение


Рис. 20. Выбор метода шифрования


Рис. 21. Ввод подтверждения пароля

Смонтировать созданный контейнер можно командой Mount EncFS на вкладке Local . Программа предложит выбрать контейнер. Контейнер после ввода пароля к нему будет подмонтирован к каталогу /mnt/sdcard/csh.cryptonite/mnt (рис. 22). Каталог для монтирования задается в настройках программы (рис. 23).


Рис. 22. Контейнер подмонтирован


Рис. 23. Настройки программы

В настройках нет особо ничего интересного, кроме папки для монтирования (Mount point ), а также режима Чака Норриса, позволяющего отключить надоедающие и бессмысленные предупреждения. Также можно включить использование встроенного файлового менеджера при монтировании контейнера (Use built-in file browser ), но учитывая традиционно скудный функционал этой части программы (рис. 24), я не рекомендую включать этот параметр. Данный «файловый менеджер» не может даже открыть файл. Он позволяет только просмотреть содержимое контейнера и ничего больше.


Рис. 24. Встроенный просмоторщик контейнера

Преимущества программы:

  • Поддержка облачного шифрования (Dropbox).
  • Шифрование на лету.
  • Поддержка контейнеров TrueCrypt, что пригодится, если с контейнером нужно будет работать на стационарном ПК.

Недостатки:

  1. Требует поддержки FUSE, что есть не у каждого устройства.
  2. Очень скудный файловый менеджер, позволяющий только просмотреть содержимое контейнера и ничего больше
  3. Нет поддержки сетевых папок (хотя этот недостаток слегка скрашен поддержкой Dropbox)
  4. Программа до сих пор экспериментальная (хотя появилась довольно давно, и с тех пор ее закачало более 50 000 человек). Использовать ее или нет, решать только вам, но для защиты важных данных я бы не стал ее использовать. Лучше поискать другую программу.
  5. Нет поддержки русского языка.

CyberSafe Mobile

Программу CyberSafe Mobile мы уже неоднократно рассматривали в нашем блоге, поэтому подробного ее описания не будет. Настоятельно рекомендую прочитать статью «Совместное использование криптодисков на ПК и Android» , в которой описан один из случаев использования программы.
Поэтому вместо обзора программы, дабы не повторяться, будет приведено ее сравнение с ранее описанными в этой статье программами.
Первым делом нужно отметить, что для работы с программой не нужны права root. Да, в этом случае функционал программы будет ограничен, и вы не сможете подмонтировать созданный сейф (так в CyberSafe Mobile называется зашифрованный контейнер), но зато ваш смартфон не «слетит» с гарантии, если вы получите root-доступ. Однако, учитывая, что программа обладает полноценным файловым менеджером, это не проблема. Вы можете работать с файлами в сейфе без его монтирования и установки стороннего файлового менеджера. Из соображений безопасности программа не позволяет делать некоторые скриншоты, поэтому окно встроенного файлового менеджера, в котором отображается содержимое сейфа, удалось лишь сфотографировать обычным фотоаппаратом (рис. 25). Как видите, программа обладает полноценным файловым менеджером. Пусть это и не ES Проводник, но зато, в отличие от ранее описанных программ, встроенный файловый менеджер Cybersafe Mobile умеет управлять файлами - копировать, перемещать, удалять, создавать новые файлы и папки. Прошу прощения за качество снимка, но чтобы не было блика, планшет фотографировался без вспышки, поэтому фотография немного темновата.


Рис. 25. Встроенный файловый менеджер CyberSafe

В настройках монтирования программы можно выбрать (рис. 26):

  • Метод монтирования - как уже отмечалось, если ваше устройство не имеет root-доступа или не поддерживает FUSE, то можно не монтировать сейф, а работать с ним через встроенный файловый менеджер.
  • Базовый путь для монтирования - каталог, к которому будут монтироваться сейфы.
  • Сторонний файловый менеджер - программа позволяет, как использовать встроенный, так и внешний файловый менеджер, причем она обнаруживает уже установленные на вашем устройстве менеджеры и позволяет выбрать один из них.


Рис. 26. Опции монтирования

Также стоит отметить русскоязычный интерфейс программы CyberSafe Mobile, что облегчает работу с программой пользователям, не владеющим английским языком (рис. 27).


Рис. 27. Интерфейс программы. Создание сейфа

Только уже благодаря всему этому (возможность работы без root и FUSE, полноценный файловый менеджер и русскоязычный интерфейс) программа на голову выше LUKS Manager и Cryptonite. Но это еще не все. У программы есть ряд функций, которые приводят к нокауту конкурентов.
Во-первых, это поддержка алгоритма ГОСТ - в отличие от остальных программ, в которых используется только AES или Blowfish (рис. 28).


Рис. 28. Выбор алгоритма шифрования при создании сейфа

Во-вторых, программа поддерживает монтирование сетевых папок, что позволяет использование удаленного сейфа, находящегося на удаленном ПК (рис. 29). Принцип прост: сам контейнер хранится на ПК, к нему предоставляется общий доступ по сети. Выходит, что контейнер открывается на смартфоне, на ПК он всегда хранится в зашифрованном виде, данные по сети передаются также зашифрованными, что исключает их перехват. Все действия по шифрованию и расшифровке данных осуществляются на мобильном устройстве. Даже если вы потеряете свое устройство, никто не получит доступ даже к зашифрованным данным, поскольку они хранятся на удаленном компьютере.


Рис. 29. Работа с сетевыми папками

Создать сейф можно, как с помощью программы CyberSafe Mobile, так и с помощью настольной версии программы - CyberSafe Top Secret . Нужно отметить, что для полноценной работы с сейфом программа CyberSafe Top Secret не нужна - вы можете создать сейф на мобильном устройстве и скопировать его на ПК. Другими словами, вам не нужно покупать программу CyberSafe Top Secret для удаленного использования сейфа на смартфоне. Но если вам нужно организовать совместное использование сейфа на ПК и Android , тогда, конечно же, вам понадобится программа CyberSafe Top Secret.
При установке бесплатной программы URSafe Media Redirector возможно автоматически перенаправлять создаваемые вами фотоснимки (и другие файлы, например, документы) в сейф, который физически находится на удаленном компьютере. Подробно об этом вы можете прочитать в статье «Защита личных фотоснимков на телефонах Android» . А в статье «Хранение данных в криптоконтейнере на удаленном сервере и работа с ними с Android-устройств» показано, как хранить контейнеры на удаленном сервере, а не на ПК, подключенном к вашей локальной беспроводной сети.
У всего есть недостатки. Однако у CyberSafe Mobile их практически нет. К недостаткам можно отнести необходимость поддержки FUSE, однако этот недостаток нивелируется тем, что созданные сейфы можно открывать и без монтирования, но только во встроенном файловом менеджере. Также нужно отметить, что программа платная, однако ее цена невысока для программы такого класса (не забываем, какой у программы функционал и не забываем, что она поддерживает кроме алгоритма AES еще и ГОСТ). Ну и мне не очень нравится невозможность создания некоторых скриншотов программы, но так лучше с точки зрения безопасности:)
Теперь подытожим. Достоинства программы CyberSafe Mobile:

  • Возможность работы без root-доступа и поддержки FUSE (просто сейфы не будут монтироваться).
  • Прозрачное шифрование «на лету»
  • Собственный полноценный файловый менеджер
  • Русскоязычный интерфейс
  • Поддержка алгоритма шифрования ГОСТ
  • Возможность выбора стороннего файлового менеджера, в котором будет открываться содержимое сейфа
  • Поддержка монтирования сетевых папок
  • Возможность работы с удаленными контейнерами (VPN-сейф)
  • Возможность совместного использования одного и того же контейнера на смартфоне и на ПК (с помощью программы CyberSafe Top Secret).
  • Нет необходимости устанавливать (покупать) сторонние приложения (как в случае с LUKS Manager)

Недостатки:

  • Программа не бесплатная, но есть ее Lite-версия, не поддерживающая монтирование и сетевые папки. Если вы не планируете использовать удаленные сейфы, и ваше устройство не поддерживает FUSE или же вы не хотите получать root-доступ, чтобы не «слететь» с гарантии, тогда Lite-версия - как раз то, что вам нужно. Для вас CyberSafe Mobile будет бесплатной, а функционал Lite-версии будет даже лучше, чем у бесплатной LUKS Manager, учитывая полноценный файловый менеджер.
  • Для полноценной работы программы нужна поддержка FUSE (однако, на современных устройствах - это уже не проблема).

Как видите, таковых недостатков у программы нет и их выделение - больше мои придирки к программе, дабы никто не обвинил меня в предвзятости. Думаю, ни у кого не возникло сомнений, что победителем нашего сравнения сегодня оказалась программа CyberSafe Mobile. Если у вас остались вопросы, мы с радостью ответим на них в комментариях к этой статье.

Теги: Добавить метки