Защита данных на телефонах и планшетах на базе Android. Шифрование android телефона Что такое шифрование карты памяти sd

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

Введение

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

Программисты Google научили Android использовать dm-crypt, начиная с версии 3.0 Honeycomb, где появилась опция, позволяющая быстро включить шифрование и задать PIN-код на доступ к данным. Со стороны пользователя все смотрится очень просто и беспроблемно: подключил телефон к заряднику, дождался полной зарядки и нажал на заветную кнопку. Система начала шифрование уже имеющихся данных. Гораздо интереснее все это выглядит изнутри.

Особый подход Android

В любом дистрибутиве Linux за управление dm-crypt отвечает утилита cryptsetup, создающая зашифрованный по стандарту LUKS том, к которому можно получить доступ и с помощью сторонних инструментов из Windows или OS X. Обычно cryptsetup запускается на этапе инициализации ОС из загрузочного initramfs-образа и подключает dm-crypt к дисковому накопителю, который затем монтируется.

В Android все происходит иначе. Из-за требований к лицензированию всех компонентов выше ядра с помощью Apache-совместимой лицензии, cryptsetup, распространяемая на условиях GPL2, не включена в состав Android. Вместо нее используется разработанный с нуля модуль cryptfs для местного менеджера томов vold (не путать с родными Linux-инструментами: vold и cryptfs, это совсем другие разработки).

По умолчанию Android использует cryptfs для шифрования пользовательских данных, настроек и приложений (каталог /data). Он должен быть запущен на раннем этапе загрузки ОС еще до запуска графической среды и базовых приложений, так, чтобы более высокоуровневые компоненты системы смогли привести систему к нужному состоянию, прочитав настройки, и вытащить нужные данные из кеша.

В автоматическом режиме сделать это невозможно, так как система должна запросить у пользователя пароль для расшифровки, для чего нужен запуск графической среды, а ее, в свою очередь, невозможно запустить без подключения каталога /data, который невозможно подключить без пароля. Чтобы выйти из этой ситуации, в Android применили необычный трюк, заставив ОС запускаться «дважды». Первый запуск минимальной системы происходит перед запуском cryptfs, чтобы запросить пароль для расшифровки с подключением к /data временной файловой системы, после чего система, по сути, завершается, подключается зашифрованный раздел /data, и запускается уже окончательный вариант ОС.

Включение шифрования

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

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

  1. Сначала vold/cryptfs генерирует 128-битный мастер-ключ на основе случайных данных из /dev/urandom и с помощью этого ключа отображает раздел, содержащий каталог /data, в новое виртуальное криптоустройство, запись в которое приведет к автоматическому шифрованию данных с помощью мастер-ключа, а чтение - к расшифровке.
  2. Мастер-ключ шифруется с помощью PIN-кода пользователя и помещается в конец раздела. Отныне при загрузке система будет спрашивать пользователя PIN-код, читать из раздела зашифрованный мастер-ключ, расшифровывать его с помощью PIN-кода и подключать зашифрованный раздел /data.
  3. Чтобы зашифровать уже имеющиеся на разделе данные, система последовательно читает блоки данных из раздела и пишет их в криптоустройство, так что, по сути, происходит последовательная операция «чтение блока -> шифрование -> запись обратно» до тех пор, пока не будет зашифрован весь раздел, кроме последних 16 Кб, в которых хранится мастер-ключ.
  4. В конце операции смартфон перезагружается, и при следующей загрузке система спрашивает PIN-код для расшифровки данных.

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

Один пароль для разблокировки и расшифровки?

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

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

$ su -c vdc cryptfs changepw пароль

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

Откат и совместимость с прошивками

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

Но здесь может возникнуть вопрос: «А что будет, если я обновлю Android или установлю кастомную прошивку?» В этом случае все зависит от способа установки. В большинстве случаев при обновлении прошивки или установке альтернативной прошивки примерно той же версии (например, замена CyanogenMod 10.1 на Paranoid Android 3 или MIUI 5) вайп делать не требуется. Это значит, что установленная прошивка при попытке примонтировать раздел /data «сообразит», что имеет дело с зашифрованным разделом, запросит у тебя пароль и преспокойно расшифрует данные.

Если же для установки требуется полный вайп, что обычно бывает необходимо при переходе на новые версии Android, то здесь ситуация еще проще. Во время вайпа раздел /data будет переформатирован и автоматически превратится в незашифрованный. Главное, сделать перед обновлением бэкап с помощью Titanium Backup или Carbon.

SD-карта

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

Среди шифрующего стороннего софта мы имеем выбор из трех разных классов приложений:

  1. Вещь в себе. Приложение, способное создавать и открывать криптоконтейнеры, но не позволяющее подключать их к файловой системе. Своего рода файловый менеджер с поддержкой зашифрованных томов. Вещь малополезная, так как годится только для ведения дневника и заметок.
  2. ПсевдоФС. В Linux-ядрах многих стоковых и альтернативных прошивок есть поддержка драйвера файловых систем пространства пользователя FUSE, на основе которой в свое время было разработано несколько шифрующих ФС. Одна из них - EncFS. В Android она есть в виде приложения Cryptonite, Encdroid и других. Такие софтины позволяют зашифровать любой каталог так, чтобы к нему имели доступ абсолютно все приложения.
  3. Основанные на dm-crypt. Схожи по функциональности и реализации с предыдущими, но используют для шифрования родной dm-crypt. LUKS Manager - лучший представитель класса таких софтин. Позволяет создать на карте памяти файл-образ, который в любой момент можно подключить к любому каталогу для доступа к данным. То же самое можно сделать из Linux с помощью cryptsetup или из Windows, используя FreeOTFE.

Cryptonite

Cryptonite представляет собой обертку вокруг шифрующей файловой системы EncFS и позволяет создавать и просматривать зашифрованные тома на карте памяти и внутри Dropbox, а также подключать тома к каталогам карты памяти так, чтобы они были видны всем приложениям. Нас в первую очередь интересует последний вариант использования как единственный приемлемый для повседневного применения, но он требует прав root, а также наличия поддержки FUSE в ядре.

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

По этой причине для Cryptonite необходимо наличие двух каталогов: первый - для хранения зашифрованных данных и второй - пустой каталог, куда будет отображаться содержимое первого в расшифрованном виде. Для простоты назовем их crypt и decrypt. Создаем эти два каталога на карте памяти с помощью любого файлового менеджера. Запускаем Cryptonite, идем в «Настройки -> Mount point» и выбираем каталог decrypt. Теперь он всегда будет использоваться как точка доступа к зашифрованным данным. Возвращаемся обратно, переходим на вкладку LOCAL и нажимаем кнопку «Create local volume», чтобы инициализировать зашифрованный каталог. Выбираем каталог crypt и вводим пароль. Теперь осталось вернуться на главный экран и нажать кнопку «Mount EncFS» (и вновь ввести пароль). С этого момента все, что ты скопируешь в каталог decrypt, автоматически попадет в каталог crypt в зашифрованном виде, и после отключения decrypt никто не сможет прочитать его содержимое (можешь проверить, скопировав несколько файлов в decrypt, а затем просмотрев содержимое crypt).

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

Чтобы обойти эту проблему, можно установить сервис Dropsync, который висит в фоне и периодически синхронизирует содержимое выбранных каталогов с Dropbox. Достаточно настроить его на синхронизацию каталога crypt (но не decrypt), и данные в зашифрованном виде будут автоматически попадать в Dropbox. Чтобы получить доступ к данным с большого брата, можно воспользоваться версией EncFS для Linux или Windows. О том, как ими пользоваться, не писал только ленивый.


LUKS Manager

Второе приложение из нашего списка - это LUKS Manager, по сути аналогичное по функциональности приложение, использующее в своей основе dm-crypt вместо EncFS и бинарные зашифрованные образы вместо каталогов. С практической точки зрения этот вариант лучше предыдущего тем, что зашифрованные с его помощью образы можно будет просматривать или изменять практически в любой ОС, включая Linux, Windows и OS X. Недостаток же в том, что его неудобно использовать для шифрования файлов в Dropbox, так как Dropbox-клиенту придется каждый раз синхронизировать целый образ, который может быть очень велик, в противовес отдельных файлов, как в случае с EncFS.


Для корректной работы LUKS Manager необходимо ядро с поддержкой dm-crypt и loopback, но если первое есть даже в ядрах Android 2.3, то второе доступно далеко не во всех стоковых ядрах. Поэтому, скорее всего, понадобится прошивка с альтернативным ядром, такая как CyanogenMod, AOKP или MIUI.

В остальном все просто. Интерфейс программы состоит всего из шести кнопок: Status, Unmount All, Mount, Unmount, Create и Remove. Чтобы создать новый образ и получить к нему доступ, достаточно нажать «Create», выбрать каталог для подключения, размер и указать пароль и файловую систему (FAT32 для совместимости с Windows или ext2 для Linux). Одновременно на карте памяти могут существовать и быть подключенными сразу несколько образов, которые можно отключать кнопками «Unmount» или удалять с помощью «Remove».

Ничего сложного в управлении приложением нет, скажу лишь, что в пакет с LUKS Manager входит также собранная для Android версия утилиты cryptsetup, которую можно использовать для ручного управления и подключения образов.


Другое применение

Dm-crypt и cryptfs используются в Android не только для защиты каталога /data от посторонних глаз. С их помощью здесь реализована, как это ни странно, система установки приложений на карту памяти. В ее основе лежит идея шифрованных образов, по одному на каждое установленное приложение. Сделано так для защиты конфиденциальных данных, возможно хранимых приложением, от других приложений, которые в Android имеют полный доступ к SD-карте на чтение, а также от тех, кто завладеет SD-картой.

Запустив терминал и выполнив команду df, ты сам сможешь убедиться, как это реализовано. На скриншоте «Galaxy Nexus и df» показан вывод этой команды на моем смартфоне. Хорошо видно, что кроме псевдокриптоустройства /dev/block/dm–0, которое подключено к каталогу /data и отвечает за шифрование данных на смартфоне, здесь есть еще 15 подобных устройств, подключенных к разным каталогам внутри /mnt/asec. Это и есть приложения, установленные на карту памяти. Сами приложения при этом хранятся в зашифрованных образах в каталоге.asec на карте памяти, а ключи шифрования хранятся в основной памяти смартфона.


Ты можешь также заметить, что здесь есть и псевдоустройство /dev/fuse, подключенное к /storage/emulated/legacy, а также некоторым другим каталогам. Это не что иное, как «эмулятор» карты памяти, реализованный с использованием описанного ранее драйвера FUSE (сам Galaxy Nexus карты памяти не поддерживает). По сути, это простое зеркалирование каталога /storage/emulated/legacy в /data/media/0. При этом каталог /sdcard - это ссылка на /storage/emulated/legacy. Запустив команду ps, можно заметить, что зеркалирование реализуется с помощью приложения /system/bin/sdcard, использующего FUSE в качестве базы. По сути, это альтернативная реализация знакомой всем линуксоидам unionfs.

WARNING

Модуль dm-crypt не может быть использован для шифрования разделов с файловой системой YAFFS, так как последняя использует низкоуровневые операции при обращении к NAND-памяти.

Выводы

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

INFO

Подробности реализации стандартной системы шифрования Android для параноиков: 128-битный AES в режиме CBC и ESSIV: SHA–256. Мастер-ключ шифруется другим 128-битным AES-ключом, полученным из пользовательского пароля при помощи 2000 итераций по стандарту PBKDF2 с 128 битами случайной соли.

Впервые 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-код, или графический ключ, так как с помощью них можно разблокировать устройство при первой загрузке.

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

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

Что и от кого защищаем?

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

Список последних звонков также очень важен.

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

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

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

Итак? что надо защищать в телефоне, планшете:

1. Учетные записи. Сюда входит, например, доступ к вашему почтовому ящику gmail. Если вы настроили синхронизацию с facebook, dropbox, twitter. Логины и пароли для этих систем хранятся в открытом виде в папке профиля телефона /data/ system/accounts.db.

2. История SMS-переписки и телефонная книжка иногда содержат конфиденциальные данные.

3. Web-браузер. Весь профайл браузера должен быть защищен. Известно, что Web-браузер (встроенный либо сторонний) запоминает для вас все пароли и логины. Это все храниться в открытом виде в папке профиля программы в памяти планшета. Мало того, обычно сами сайты (с помощью cookies) помнят вас и оставляют доступ к аккуанту открытым, даже если вы не указывали запоминать пароль.

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

4. Карта Памяти. Если вы храните на карте памяти конфиденциальные файлы либо загружаете документы из Интернета. Обычно на карте памяти хранятся фотоснимки и снятые видео.

От чего следует защищать планшет и телефон

1. От случайного человека, который найдет потерянный вами телефон либо от «случайной» кражи телефона или планшета.

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

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

3. От целенаправленной кражи вашего телефона.

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

Способы защиты персональных данных на устройствах Android

Существуют встроенные программы защиты, а также средства, предоставленные сторонними разработчиками.

Встроенные средства защиты

Экран блокировки с Графическим Ключом

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

Экран можно заблокировать паролем, PIN-кодом и Графическим Ключом . Выбрать способ блокировки можно, запустив настройки и выбрав раздел Security -> Screen lock.
Графический Ключ (Pattern) — самый удобный и одновременно надежный способ защиты телефона.

None — отсутствие защиты,

Slide — для разблокировки необходимо провести пальцем по экрану в определенном направлении.

Pattern — это Графический Ключ, выглядит это примерно так:

Можно повысить уровень безопасности двумя способами.

1. Увеличить поле ввода Графического ключа. Оно может варьировать от 3×3 точки на экране до 6×6 (Android 4.2 встречается в некоторых моделях, зависит от сборки, версии телефона).

2. Скрыть отображение точек и «пути» графического ключа на экране смартфона.

Внимание!!! Что случится, если Вы забыли графический ключ:

1. Количество неверных попыток рисования Графического Ключа ограниченно до 5 раз (в различных моделях планшетов количество попыток может доходить до 10 раз).

2. После того как вы использовали все попытки, но так и не нарисовали правильно Графический Ключ устройство блокируется на 30 секунд.

3. Телефон, планшет запрашивает логин и пароль вашего Gmail-аккаунта.

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

PIN — это пароль состоящий из нескольких цифр.

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

Шифрование памяти телефона

Функция входит в пакет Android версии 4.0* и выше, для планшетов. Но эта функция может отсутствовать во многих бюджетных телефонах.

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

Обязательное условие для использования шифрования — установка блокировки экрана с помощью пароля.

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

Программа не шифрует при этом SD-карту. Шифрование может занять до часа времени в зависимости от объема памяти устройства.

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

Недостатком этой функции:

1. Присутствует, только начиная с Android OS 4.0 — 4.1 и то не на всех моделях.

Чаще всего встречается в телефонах от Samsung, HTC, Philips. Некоторые китайские модели также имеют функцию шифрования. У Телефонов от HTC эта функция расположена в разделе «Память». У Lenovo- в разделе Безопасность.

2. Требование постоянно вводить довольно сложный пароль (6-10 символов), даже если вы хотите просто позвонить или сделать фото.

3. Невозможно отключить эту функцию, если вы хотите снять защиту. Шифрование отключается только ресетом и возвратом заводских настроек телефона.

Шифрование внешней SD-карты

Функция входит в стандартный пакет Android 4.1.1 для планшетов. Отсутствует во многих бюджетных сборках.

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

Позволяет зашифровать файлы на SD-карте, не изменяя их названий, файловой структуры, с сохранением предварительного просмотра графических файлов(иконки). Функция требует установки блокировочного пароля на дисплей длиной не менее 6 символов.

Имеется возможность отмены шифрования. При смене пароля происходит автоматическая перешифровка.

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

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

Если через card-reader на карту записать какие-то другие незашифрованные файлы, они тоже будут зашифрованы после вставки карты в планшет.

При наличии зашифрованной карты отменить пароль блокировки нельзя.

Данные шифруются на уровне файлов (при этом видны названия файлов, но содержимое файла зашифрованно).

Недостаток программы: отсутствие в большинстве сборок Android.

Следует подчеркнуть, что лучшая сохранность данных — это полная их копия на ПК. Смартфон или планшет достаточно хрупкое устройство, а значит всегда есть вероятность его поломки или потери.

Итак, подведем итоги

Встроенные средства защиты Android являются весьма надежными и удобными инструментами защиты данных на мобильных телефонах и планшетах.

Они способны защитить от посторонних глаз контакты пользователя, его переписку и звонки, аккуанты в различных программах и сетях, а также файлы и папки, расположенные как в памяти телефона, так и на съемной SD-карте.

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

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

Важно! Убедитесь что в случае, если Вы забыли пароль либо Графический Ключ, Вы сможете восстановить доступ к девайсу либо сможете легко восстановить настройки планшета или телефона и информацию в случае если придется сделать hard reset (сброс планшета в заводские настройки с потерей всех данных).

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

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

Что такое шифрование?

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

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

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

Шифруем Ваш Android

Шифрование Android - очень простая процедура. Примите во внимание, что на разных устройствах меню для шифрования данных могут находиться в разных местах. К тому же кастомные прошивки и UI, например Samsung TouchWiz UX, могут иметь разные требования.

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

Некоторые производители устройств устанавливают дополнительные требования к безопасности, например на Galaxy S3 и Galaxy S4.

После установки PIN или пароля, переходим в подраздел главного меню “Безопасность” и выбираем “Зашифровать телефон” или “Зашифровать планшет” (Encrypt Phone or Encrypt Tablet). На разных устройствах меню для шифрования данных может находится в разных местах, например, в HTC One оно находится в разделе “Память” в главном меню.

Меню для шифрования будет выглядеть как-то так:

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

Если всё готово, нажмите кнопку внизу экрана “Зашифровать телефон” или “Зашифровать планшет” (Encrypt Phone или Encrypt Tablet). Здесь ваш телефон спросит пароль или PIN код, введите его для подтверждения. Снова появится предупреждающее сообщение, нажмите кнопку “Зашифровать телефон”.

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

Как только шифрование закончилось, телефон (планшет) перезагрузиться, и вы должны будете ввести пароль или PIN, чтобы расшифровать все данные. После ввода пароля все данные расшифруются и загрузиться обычный Android.

Шифрование внешней SD карты

Некоторые устройства, например Galaxy S3 и Galaxy S4, разрешают шифровать данные даже на внешних накопителях - SD картах памяти.

Шифрование данных в ОС 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. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!