Домой / Видео / Как отключить шифрование карты памяти. Что значит зашифровать устройство на самсунг. Android и шифрование данных. О том, как все плохо и почему вряд ли станет лучше. Шифрование моего устройства

Как отключить шифрование карты памяти. Что значит зашифровать устройство на самсунг. Android и шифрование данных. О том, как все плохо и почему вряд ли станет лучше. Шифрование моего устройства

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

Что представляет собой процесс шифрования на Android

Для начала процесса шифровки необходимо перейти в Параметры системы- Безопасность- Зашифровать устройство. После шифрования данных потребуется при каждой загрузке телефона вводить установленный буквенно-цифровой пароль или PIN. В случае необходимости существует возможность зашифровать не все устройство, а лишь выбранные файлы и каталоги. В таких случаях отлично подходит приложение SSE Universal Encription, в состав которого входят все популярные алгоритмы шифрования, в том числе и Blowfish-256, AES-256 и Sarpent-256. В приложение включены также три модуля: Password Vault, для безопасного хранения паролей в различных папках, Message Encryptor, позволяющий шифровать, как целый текст, так и его фрагменты, и, как более интересный и полезный модуль- это File/Dir Encryptor, который через окно встроенного браузера позволяет выбрать, как отдельные файлы, так и каталоги, которые, впоследствии, надёжно шифруются по выбранному пользователем алгоритму. Скачать приложение можно с Google Play или же через компьютер.

Интернет-каталог товаров MagaZilla предоставляет возможность сравнения товаров и магазинок. Если понадобилась компьютерная мышка, цены на сайте http://m.ua/ доступны каждому посетителю. Заходите и ознакомьтесь с каталогом компаний, где можно купить товар.

Также для более качественной защиты данных на мобильных устройствах можно использовать Cyanogen Mod, который можно поставить только при помощи компьютера с операционной системой Windows. Вместо Cyanogen Mod можно также установить дистрибутив Replicant, который основан на Cyanogen Mod, но является свободным и открытым и заменяет все проприетарные драйвера устройства Android на альтернативные драйвера с открытыми исходными кодами.

Google представила полное шифрование данных на телефоне под управлением Android Gingerbread (2.3.x), но оно претерпело некоторые кардинальные изменения с тех пор. как на некоторых более дорогих телефонах, работающих под управлением Lollipop (5.x) и выше, оно включено изначально, в то время, как на некоторых старых или более ранних устройствах, вы должны включить его самостоятельно. Как шифровать флешки, вы можете почитать .

Зачем вам может понадобиться шифрование телефона

Шифрование хранит данные вашего телефона в нечитаемой, почти зашифрованной форме. (Для того, чтобы фактически выполнять функции шифрования низкого уровня, Android использует DM-crypt, который является стандартной системой шифрования диска в ядре Linux. Это та же технология, используемая различными дистрибутивами Linux.) При вводе PIN-кода, пароля, или рисунка на экране блокировки, телефон расшифровывает данные, делая их читаемыми. Если кто-то не знает PIN-код или пароль, он не сможет получить доступ к данным. (На Android 5.1 и выше, для шифрования не требуется устанавливать PIN-код или пароль, но настоятельно рекомендуется, так как без наличия PIN-кода или пароля снижается эффективность шифрования.)

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

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

Что необходимо учесть перед включением шифрования

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

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

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

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

Еще одно предупреждение (серьезно, мы хотим убедиться, что вы понимаете, что собираетесь сделать), ни в коем случае не прерывайте процесс. Если вы все еще не испугались, то нажмите на кнопку «» и начните процесс.

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

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

Если вы не установили PIN-код или пароль, сейчас самое время, чтобы сделать это. Отправляйтесь в меню Настройки> Безопасность вашего устройства. Далее, выберите опцию «Lock Screen» (блокировка экрана) (имейте в виду, что название пунктов меню может быть немного отличаться для разных телефонов Android, и даже для линейки устройств Samsung Galaxy).

Статьи и Лайфхаки

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

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

Для чего нужно шифрование

  • Современные сотовые устройства весьма незащищены перед такой популярной программой, как троянский конь. Смартфон с таким своеобразным шпионом открывается любопытным ушам.
  • Что важно, распознать программу человеку, далекому от интернет технологий, вряд ли удастся. Особенно уязвимы для таких прослушивающих программ телефоны Apple iPhone.
  • Следует справедливо заметить, что существует и множество иных вариантов прослушки сотовых телефонов, в том числе и через СИМ-карты.
  • Однако стоит отметить и возможность шифрования телефонных бесед. Самой популярной программой, которая способна защитить информацию пользователей сотовых телефонов, является утилита под названием Cellcrypt Mobile.
  • Она была разработана британскими учеными. Преимущество данного ресурса заключается в том, что его можно установить одновременно на оба телефона, по которым планируется совершать звонки.
  • Вся информация проходит по каналу CSD. Получается, что звонки оцениваются не как связь по телефону, а через модем.

Самые известные программы шифрования

  • Для шифрования существуют и иные специальные программы. Например, SecureGSM является весьма недешевым, но эффективным программным обеспечением, которое работает не только вкупе с сотовым устройством, но и системой Micrososft Windows Mobile.

    Что примечательно, программа может работать не только на распространенных сенсорных устройствах, но и на кнопочных телефонах.

  • Замечательно справляется с шифрованием телефонных бесед и ресурс Crytogic. Данное программное обеспечение обойдется весьма недорого. Однако утилита ориентирована только на смартфоны Nokia.

    Поэтому использование даже недорогой утилиты может быть вполне надежным и эффективным. Однако программа не может защитить SMS-сообщения.

  • Среди прочих эффективных шифровок можно выделить 5pro software secure voice, которая отличается невероятно простым интерфейсом.

Впервые Google позволила зашифровать Android устройства в Android Gingerbread (2.3.х), но данная функция претерпела некоторые значительные изменения с тех пор. На некоторых смартфонах под управлением lollipop (5.X) и выше можно пользоваться функцией шифрования, что называется, из коробки, в то время как на некоторых старых или бюджетных устройствах Вам придется включать ее самостоятельно.

Зачем может потребоваться зашифровать Android устройство

Шифрование хранит данные Вашего телефона в не читаемой форме. Для выполнения низкоуровневых функций шифрования, Android использует dm-crypt, который представляет собой стандартную систему шифрования диска в ядре Linux. Эта же технология используется в различных дистрибутивах Linux. Когда вы вводите PIN-код, пароль или графический ключ на экране блокировки, телефон расшифровывает данные, что делает их понятными. Кто не знает PIN код или пароль, тот не сможет получить доступ к Вашим данным. На Android 5.1 и выше шифрование не требует наличие PIN-кода или пароля, но настоятельно рекомендуется, так как при их отсутствии снижается эффективность шифрования.

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

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

Что нужно знать перед тем как зашифровать Android устройство

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

  • Более медленная работа : Один раз зашифровав данные, их нужно будет расшифровывать каждый раз, когда потребуется доступ к данным. Поэтому Вы можете увидеть небольшое падение производительности, хотя это вообще не заметно для большинства пользователей (особенно если у вас мощный телефон).
  • Отключение шифрования : Если Вы включите шифрование, то единственный способ его выключить — это сброс к заводским настройкам .
  • Если у на устройстве получены root права , то их нужно удалить : Если Вы попытаетесь зашифровать Android устройство, на котором есть права суперпользователя, то Вы столкнетесь с некоторыми проблемами. Вам нужно сначала удалить root права , зашифровать устройство и снова получить права суперпользователя.

Это не означает, что мы отговариваем Вас от шифрования, мы пытаемся объяснить все нюансы этого процесса.

Как включить шифрование в Android

Прежде чем начать, есть несколько вещей, которые стоит знать:

  • Шифрование устройства может занять час или больше.
  • Устройство должно быть заряжено не меньше, чем на 80%, иначе Android просто не будет выполнять процесс шифрования.
  • Ваше устройство должно быть включено в течение всего процесса.
  • Если на устройстве получены root права, обязательно удалите их перед продолжением!

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

Откройте меню, перейдите в настройки и нажмите на пункт «Безопасность». Имейте ввиду, что на различных устройствах этот пункт может иметь различные названия. Некоторые устройства позволяют также зашифровать SD карту, но по-умолчанию зашифруется только внутренняя память.

Если устройство еще не зашифровано Вы можете нажать на пункт «Зашифровать устройство» для начала процесса шифрования.

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

Появится еще одно предупреждение, которое спросит действительно ли Вы хотите зашифровать устройство. Если Вы не передумали, то нажимайте на «Зашифровать устройство».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


    где x:y - номер карты памяти.
  6. Если хочешь оставить часть для тома FAT32, то измени команду из п. 7 на такую:

    $ sm partition disk:x:y mixed nn

    $ sm partition disk : x : y mixed nn


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

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

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

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

$ adb shell sm set-force-adoptable true

$ adb shell sm set - force - adoptable true

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

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

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

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

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

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

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

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

В более ранних выпусках Android все гораздо сложнее, поскольку до версии 5.0 криптографическая защита не затрагивала карты памяти вообще (за исключением данных перенесенных приложений, разумеется). «Обычные» файлы на карточке оcтавались открытыми. Чтобы закрыть их от посторонних глаз, понадобятся сторонние утилиты (которые часто оказываются лишь графической оболочкой для встроенных средств). При всем разнообразии существующих способов принципиально разных получается четыре:

  • использование универсального криптоконтейнера - файла с образом зашифрованного тома в популярном формате, с которым умеют работать приложения для разных ОС;
  • прозрачное шифрование файлов в указанном каталоге через драйвер FUSE и стороннюю утилиту для создания/монтирования зашифрованного раздела в виде файла;
  • шифрование всей карты памяти через dm-crypt;
  • использование «черного ящика» - отдельного приложeния, которое хранит зашифрованные данные в собственном формате и не пpедоставляет доступ к ним для сторонних программ.

Первый вариант хорошо знaком всем, кто пользуется TrueCrypt или одним из его форков на компьютере. Для Android есть приложeния с поддержкой контейнеров TrueCrypt, но ограничения у них разные.

Второй вариант позволяет организовать «прозрачное шифрование», то есть хранить все данные зашифрованными и расшифровывать их при обращении из любого приложения. Для этого все данные из выбранного каталога представляются как содержимое виртуальной файловой системы с пoддержкой шифрования на лету. Обычно используется EncFS, подробнее о которой мы поговорим ниже.

Третий вариант - встроенный dm-crypt. Использовать его можно, к примеру, через LUKS Manager. Приложению требуется рут и установленный BusyBox. Интерфейс у него - на любителя.


LUKS Manager создает на карточке криптоконтейнер в виде файла. Этот контейнер можно подключить к произвольному каталогу и работать с ним, как с обычным. Плюс в том, что у этого решения есть кросс-платформенная поддержка. Работать с контейнером можно не только на гаджете с Android, но и на десктопе: в Linux - через cryptsetup, а в Windows - через программу или ее форк LibreCrypt . Минус - нeудобство использования совместно с облачными сервисами. Каждый раз в облаке приходится повторно сохранять весь контейнер, даже если изменился один байт.

Четвертый вариант в целом малоинтересен, поскольку сильно ограничивает сценарии использования зашифрованных файлов. Их можно будет открыть только каким-то специализированным приложением и уповать на то, что его разработчик преуспел в изучении криптографии. К сожалению, большинство таких приложений не выдерживает никакой критики. Многие из них вообще не имеют никакого отношения к криптографии, поскольку просто маскируют файлы вмeсто того, чтобы шифровать их. При этом в описании могут упоминаться стойкие алгоритмы (AES, 3DES…) и приводиться цитаты из «Прикладной криптографии» Шнайера. В лучшем случае у таких программ будет очень плохая реализация шифрования, а в худшем его не будет вовсе.

Официального клиента под Android для VeraCrypt нет и не планируется, однако его авторы рекомендуют использовать приложение EDS (Encrypted Data Store). Это российская разработка, существующая в полнофункциональном и облегченном варианте. Полная версия EDS стоит 329 рублей. Она поддерживает криптоконтейнеры формата TrueCrypt, VeraCrypt, CyberSafe, а также LUKS и EncFS. Умеет работать с локальными, сетевыми и облачными хранилищами, обеспeчивая другим приложениям прозрачное шифрование. Шифрование на лету требует поддержки ядром ОС фреймворка FUSE и прав рут. Обычная работа с криптоконтейнерами возможна на любых прошивках.


Версия EDS Lite распространяется бесплатно и имеет функциональные ограничения. Например, она может работать исключительно с контейнерами, содержащими внутри том с файловой системой FAT, зашифрованной по алгоритму AES c длинoй ключа 256 бит и с использованием хеш-функции SHA-512. Другие варианты ею не поддерживаются. Поэтому стоит ориентироваться на платную версию.

Криптоконтейнер - самый надежный и универсальный способ. Его можно хранить в любой файловой системе (хоть FAT32) и использовать на любом устройстве. Все данные, которые ты зашифровал на десктопе, станут доступными на смартфоне, и наоборот.

EncFS

В 2003 году Валиент Гоф (Valient Gough - инженер-программист из Сиэтла, писавший софт для NASA, а позже работавший на Google и Amazon) выпустил первый релиз свободной файловой системы со встроенным механизмом прозрачного шифрования - EncFS . Она взаимодействует с ядром ОС благодаря слою обратного вызова, получая запросы через интерфейс libfuse фреймворка FUSE. По выбору пользовaтеля EncFS использует один из симметричных алгоритмов, реализованных в библиотеке OpenSSL, - AES и Blowfish.

Поскольку в EncFS используется принцип создания виртуальной файловой системы, для нее не потребуется отдельного раздела. В ОС Android достаточно установить приложение с поддержкой EncFS и просто указать ему пару каталогов. Один из них будет хранить зашифрованное содержимое (пусть он называется vault ), а втоpой - временно расшифрованные файлы (назовем его open ).

После ввода пароля файлы считываются из каталога vault и сохраняются расшифрованными в open (как в новой точке монтирования), где доступны всем приложениям. После окончания работы жмем в приложении кнопку Forget Decryption (или ее аналог). Каталог open размонтируется, а все расшифрованные файлы из него исчезнут.

Недостатки: EncFS не поддерживает жесткие ссылки, так как данные имеют привязку не к inode, а к имени файла. По этой же причине поддерживаются имена файлов длиной до 190 байт. В каталоге vault будут скрыты имена файлов и их содержимое, но останутся доступными метаданные. Можно узнать число зашифрованных файлов, их разрешения, пoследнее время доступа или модификации. Также существует явный признак использования EncFS - это файл настроек с префиксом encfs и указанием номера версии в его названии. Внутри файла записаны параметры шифрования, включая алгоритм, длину ключа и размер блоков.


Платный аудит EncFS был выполнен в феврале 2014 года. В его заключении говорится, что «EncFS, вероятно, надежна до тех пор, пока атакующая сторона имеет только один набор зашифрованных файлов и ничего более». Если же атакующему доступно больше данных (например, два снапшота файловой системы, снятые в разное время), то EncFS не может считаться надежной.

После установки EncFS будет видна как отдельная файловая система пространства пользователя через драйвер FUSE. Доступ к ней будет реализовaн через какое-то стороннее приложение - напримeр, файловый менеджер Encdroid или Cryptonite . Последний базируется на исходном кoде EncFS, поэтому остановимся на нем.

Cryptonite

Последняя версия приложeния Cryptonite - 0.7.17 бета от 15 марта 2015 года. Ее можно установить на любое устройство с Android 4.1 и выше, однако часть функций работает более стабильно в Android 4.3 и более свежих версиях.

Большинство операций в Cryptonite не требуют root и каких-то специфических компонентов. Создание томов EncFS и синхронизация с Dropbox может выполняться как на официальных, так и на кастомных прошивках.

Облaчная синхронизация зашифрованных файлов

Однако для ряда операций потребуется монтирование томов EncFS, для чего нужны права root и поддержка фреймворка FUSE ядром ОС. Использование FUSE необходимо для организации «прозрачного шифрования», то есть для того, чтобы другие приложения имели возможность обращаться к зашифрованным данным и получать их уже расшифрованными. В большинстве старых прошивок поддержка FUSE отсутствует, но она есть в CyanogenMod, MIUI, AOKP и других кастомных. Начиная с Android 4.4 FUSE штатно используется для эмуляции SD-карты во встроенной памяти.

Недостатки: при нажатии «Расшифровать» и успeшном вводе пароля Cryptonite создает временную копию дешифрованного файла в /data/data/csh.cryptonite/app_open/. Копия файла помечается как world readable (читаемая и исполняемая для всех). Удалить расшифрованные файлы можно нажатием кнопки Forget Decryption.

Выводы

Способ шифрования данных на карте памяти стоит выбирать, исходя из двух основных критериев: сценария использования и версии Android. На современных гаджетах с Android 6.0 и выше самый простой вариант - воспользоваться Adoptable Storage, присоединить карточку к внутренней памяти и выполнить прозрачное шифрование всего логического тома. Если надо сделать файлы доступными на других устройствах или добавить шифрование данных на карточке в старых девайcах - подойдут криптоконтейнеры проверенных форматов. Сторонних утилит по типу «вещь в себе» лучше избегать вовсе, поскольку вместо реальной защиты данных они часто лишь имитируют ее.